mirror of https://gitee.com/openkylin/linux.git
[media] radio-shark*: Remove work-around for dangling pointer in usb intfdata
Recent kernels properly clear the usb intfdata pointer when another driver fails to bind (in the radio-shark* case the usbhid driver would try to bind first. Signed-off-by: Hans de Goede <hdegoede@redhat.com> Signed-off-by: Mauro Carvalho Chehab <mchehab@redhat.com>
This commit is contained in:
parent
ac6eb458f5
commit
820ddfa6ca
|
@ -286,15 +286,6 @@ static int usb_shark_probe(struct usb_interface *intf,
|
||||||
if (!shark->transfer_buffer)
|
if (!shark->transfer_buffer)
|
||||||
goto err_alloc_buffer;
|
goto err_alloc_buffer;
|
||||||
|
|
||||||
/*
|
|
||||||
* Work around a bug in usbhid/hid-core.c, where it leaves a dangling
|
|
||||||
* pointer in intfdata causing v4l2-device.c to not set it. Which
|
|
||||||
* results in usb_shark_disconnect() referencing the dangling pointer
|
|
||||||
*
|
|
||||||
* REMOVE (as soon as the above bug is fixed, patch submitted)
|
|
||||||
*/
|
|
||||||
usb_set_intfdata(intf, NULL);
|
|
||||||
|
|
||||||
shark->v4l2_dev.release = usb_shark_release;
|
shark->v4l2_dev.release = usb_shark_release;
|
||||||
v4l2_device_set_name(&shark->v4l2_dev, DRV_NAME, &shark_instance);
|
v4l2_device_set_name(&shark->v4l2_dev, DRV_NAME, &shark_instance);
|
||||||
retval = v4l2_device_register(&intf->dev, &shark->v4l2_dev);
|
retval = v4l2_device_register(&intf->dev, &shark->v4l2_dev);
|
||||||
|
|
|
@ -258,15 +258,6 @@ static int usb_shark_probe(struct usb_interface *intf,
|
||||||
if (!shark->transfer_buffer)
|
if (!shark->transfer_buffer)
|
||||||
goto err_alloc_buffer;
|
goto err_alloc_buffer;
|
||||||
|
|
||||||
/*
|
|
||||||
* Work around a bug in usbhid/hid-core.c, where it leaves a dangling
|
|
||||||
* pointer in intfdata causing v4l2-device.c to not set it. Which
|
|
||||||
* results in usb_shark_disconnect() referencing the dangling pointer
|
|
||||||
*
|
|
||||||
* REMOVE (as soon as the above bug is fixed, patch submitted)
|
|
||||||
*/
|
|
||||||
usb_set_intfdata(intf, NULL);
|
|
||||||
|
|
||||||
shark->v4l2_dev.release = usb_shark_release;
|
shark->v4l2_dev.release = usb_shark_release;
|
||||||
v4l2_device_set_name(&shark->v4l2_dev, DRV_NAME, &shark_instance);
|
v4l2_device_set_name(&shark->v4l2_dev, DRV_NAME, &shark_instance);
|
||||||
retval = v4l2_device_register(&intf->dev, &shark->v4l2_dev);
|
retval = v4l2_device_register(&intf->dev, &shark->v4l2_dev);
|
||||||
|
|
Loading…
Reference in New Issue