RE: [PATCH] media: smsusb: Use usb_get_dev() for the reference count of udev

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

 



Hello, Salah
the same
may I add "Reported-by: Salah Triki <salah.triki@xxxxxxxxx>"
ask for your comfirmation
if not, I will remove it.

> -----Original Message-----
> From: Cai,Huoqing <caihuoqing@xxxxxxxxx>
> Sent: 2021年8月2日 14:59
> To: mchehab@xxxxxxxxxx; hverkuil-cisco@xxxxxxxxx; sakari.ailus@xxxxxxxxxxxxxxx;
> gustavoars@xxxxxxxxxx
> Cc: linux-media@xxxxxxxxxxxxxxx; Cai,Huoqing <caihuoqing@xxxxxxxxx>
> Subject: [PATCH] media: smsusb: Use usb_get_dev() for the reference count of
> udev
> 
> Use usb_get_dev() to increment the reference count of the usb device structure
> in order to avoid releasing the structure while it is still in use. And use
> usb_put_dev() to decrement the reference count and thus, when it will be equal
> to 0 the structure will be released.
> 
> Reported-by: Salah Triki <salah.triki@xxxxxxxxx>
> Signed-off-by: Cai Huoqing <caihuoqing@xxxxxxxxx>
> ---
>  drivers/media/usb/siano/smsusb.c | 3 ++-
>  1 file changed, 2 insertions(+), 1 deletion(-)
> 
> diff --git a/drivers/media/usb/siano/smsusb.c
> b/drivers/media/usb/siano/smsusb.c
> index df4c5dcba39c..86e0a25f8dba 100644
> --- a/drivers/media/usb/siano/smsusb.c
> +++ b/drivers/media/usb/siano/smsusb.c
> @@ -351,6 +351,7 @@ static void smsusb_term_device(struct usb_interface
> *intf)
>  	}
> 
>  	usb_set_intfdata(intf, NULL);
> +	usb_put_dev(dev->udev);
>  }
> 
>  static void *siano_media_device_register(struct smsusb_device_t *dev, @@ -
> 398,7 +399,7 @@ static int smsusb_init_device(struct usb_interface *intf, int
> board_id)
> 
>  	memset(&params, 0, sizeof(params));
>  	usb_set_intfdata(intf, dev);
> -	dev->udev = interface_to_usbdev(intf);
> +	dev->udev = usb_get_dev(interface_to_usbdev(intf));
>  	dev->state = SMSUSB_DISCONNECTED;
> 
>  	for (i = 0; i < intf->cur_altsetting->desc.bNumEndpoints; i++) {
> --
> 2.25.1





[Index of Archives]     [Linux Input]     [Video for Linux]     [Gstreamer Embedded]     [Mplayer Users]     [Linux USB Devel]     [Linux Audio Users]     [Linux Kernel]     [Linux SCSI]     [Yosemite Backpacking]

  Powered by Linux