diff options
author | Hans de Goede <hdegoede@redhat.com> | 2012-08-11 05:34:52 -0400 |
---|---|---|
committer | Mauro Carvalho Chehab <mchehab@redhat.com> | 2012-08-12 12:49:19 -0400 |
commit | 820ddfa6ca87fc12bf202907b77f635df2098e66 (patch) | |
tree | d48d93625176dce006814733846a24f9531027f4 | |
parent | ac6eb458f5f9d45dd3bbfe8a91683c09860910c5 (diff) |
[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>
-rw-r--r-- | drivers/media/radio/radio-shark.c | 9 | ||||
-rw-r--r-- | drivers/media/radio/radio-shark2.c | 9 |
2 files changed, 0 insertions, 18 deletions
diff --git a/drivers/media/radio/radio-shark.c b/drivers/media/radio/radio-shark.c index d0b6bb507634..e35b8d938a30 100644 --- a/drivers/media/radio/radio-shark.c +++ b/drivers/media/radio/radio-shark.c | |||
@@ -286,15 +286,6 @@ static int usb_shark_probe(struct usb_interface *intf, | |||
286 | if (!shark->transfer_buffer) | 286 | if (!shark->transfer_buffer) |
287 | goto err_alloc_buffer; | 287 | goto err_alloc_buffer; |
288 | 288 | ||
289 | /* | ||
290 | * Work around a bug in usbhid/hid-core.c, where it leaves a dangling | ||
291 | * pointer in intfdata causing v4l2-device.c to not set it. Which | ||
292 | * results in usb_shark_disconnect() referencing the dangling pointer | ||
293 | * | ||
294 | * REMOVE (as soon as the above bug is fixed, patch submitted) | ||
295 | */ | ||
296 | usb_set_intfdata(intf, NULL); | ||
297 | |||
298 | shark->v4l2_dev.release = usb_shark_release; | 289 | shark->v4l2_dev.release = usb_shark_release; |
299 | v4l2_device_set_name(&shark->v4l2_dev, DRV_NAME, &shark_instance); | 290 | v4l2_device_set_name(&shark->v4l2_dev, DRV_NAME, &shark_instance); |
300 | retval = v4l2_device_register(&intf->dev, &shark->v4l2_dev); | 291 | retval = v4l2_device_register(&intf->dev, &shark->v4l2_dev); |
diff --git a/drivers/media/radio/radio-shark2.c b/drivers/media/radio/radio-shark2.c index b9575de3e7e8..fc0289d5da4e 100644 --- a/drivers/media/radio/radio-shark2.c +++ b/drivers/media/radio/radio-shark2.c | |||
@@ -258,15 +258,6 @@ static int usb_shark_probe(struct usb_interface *intf, | |||
258 | if (!shark->transfer_buffer) | 258 | if (!shark->transfer_buffer) |
259 | goto err_alloc_buffer; | 259 | goto err_alloc_buffer; |
260 | 260 | ||
261 | /* | ||
262 | * Work around a bug in usbhid/hid-core.c, where it leaves a dangling | ||
263 | * pointer in intfdata causing v4l2-device.c to not set it. Which | ||
264 | * results in usb_shark_disconnect() referencing the dangling pointer | ||
265 | * | ||
266 | * REMOVE (as soon as the above bug is fixed, patch submitted) | ||
267 | */ | ||
268 | usb_set_intfdata(intf, NULL); | ||
269 | |||
270 | shark->v4l2_dev.release = usb_shark_release; | 261 | shark->v4l2_dev.release = usb_shark_release; |
271 | v4l2_device_set_name(&shark->v4l2_dev, DRV_NAME, &shark_instance); | 262 | v4l2_device_set_name(&shark->v4l2_dev, DRV_NAME, &shark_instance); |
272 | retval = v4l2_device_register(&intf->dev, &shark->v4l2_dev); | 263 | retval = v4l2_device_register(&intf->dev, &shark->v4l2_dev); |