RE: [PATCH v1 1/4] drm/hyperv: Unregister pci driver in error path before module unload

Michael Kelley <[email protected]>
Newsgroups org.kernel.vger.linux-hyperv,org.freedesktop.lists.dri-devel,org.kernel.vger.linux-kernel
Message-ID <SN6PR02MB4157A80CB2D95AEFC6F33A89D4F52@SN6PR02MB4157.namprd02.prod.outlook.com>
From: Uwe Kleine-König (The Capable Hub) <[email protected]> Sent: Wednesday, July 1, 2026 10:05 AM
> 
> The pci driver must not kept registered if the module is unloaded after
> vmbus_driver_register() fails. So check the return value of
> vmbus_driver_register() and unregister the pci driver on failure.
> 
> Fixes: 76c56a5affeb ("drm/hyperv: Add DRM driver for hyperv synthetic video device")
> Signed-off-by: Uwe Kleine-König (The Capable Hub) <[email protected]>
> ---
>  drivers/gpu/drm/hyperv/hyperv_drm_drv.c | 6 +++++-
>  1 file changed, 5 insertions(+), 1 deletion(-)
> 
> diff --git a/drivers/gpu/drm/hyperv/hyperv_drm_drv.c
> b/drivers/gpu/drm/hyperv/hyperv_drm_drv.c
> index 20f35c48c0b8..2e75fb793495 100644
> --- a/drivers/gpu/drm/hyperv/hyperv_drm_drv.c
> +++ b/drivers/gpu/drm/hyperv/hyperv_drm_drv.c
> @@ -249,7 +249,11 @@ static int __init hv_drm_init(void)
>  	if (ret != 0)
>  		return ret;
> 
> -	return vmbus_driver_register(&hv_drm_hv_driver);
> +	ret = vmbus_driver_register(&hv_drm_hv_driver);
> +	if (ret)
> +		pci_unregister_driver(&hv_drm_pci_driver);
> +
> +	return ret;
>  }
> 
>  static void __exit hv_drm_exit(void)
> --
> 2.55.0.11.g153666a7d9bb
> 

Reviewed-by: Michael Kelley <[email protected]>
lmpx.com only provides a reader for public news (NNTP) servers. It is not affiliated with the servers or forums shown here and is not responsible for the content of articles, which is written by their respective authors.