summaryrefslogtreecommitdiff
path: root/drivers
diff options
context:
space:
mode:
authorMauro Carvalho Chehab <mchehab@osg.samsung.com>2015-12-10 15:58:04 +0300
committerMauro Carvalho Chehab <mchehab@osg.samsung.com>2016-01-11 17:18:56 +0300
commit7e9a8ad57c097b7fe7ed9ba514f78789363aa6b8 (patch)
tree1a2eb056be0ca11abee5f6c3581973a6524d8be9 /drivers
parent04bf12c2d313478a3e5c9ff59a7ba92ce418bee6 (diff)
downloadlinux-7e9a8ad57c097b7fe7ed9ba514f78789363aa6b8.tar.xz
[media] au0828: postpone call to au0828_unregister_media_device()
The DVB core needs to unregister the media device. So, we can't call au0828_unregister_media_device() before calling au0828_dvb_unregister(), otherwise the DVB MC free code (that will be implemented on the next patch) will fail. Signed-off-by: Mauro Carvalho Chehab <mchehab@osg.samsung.com>
Diffstat (limited to 'drivers')
-rw-r--r--drivers/media/usb/au0828/au0828-core.c6
1 files changed, 4 insertions, 2 deletions
diff --git a/drivers/media/usb/au0828/au0828-core.c b/drivers/media/usb/au0828/au0828-core.c
index ee20f4354ba2..e7ebb5e638be 100644
--- a/drivers/media/usb/au0828/au0828-core.c
+++ b/drivers/media/usb/au0828/au0828-core.c
@@ -178,8 +178,6 @@ static void au0828_usb_disconnect(struct usb_interface *interface)
*/
dev->dev_state = DEV_DISCONNECTED;
- au0828_unregister_media_device(dev);
-
au0828_rc_unregister(dev);
/* Digital TV */
au0828_dvb_unregister(dev);
@@ -193,6 +191,10 @@ static void au0828_usb_disconnect(struct usb_interface *interface)
au0828_analog_unregister(dev);
v4l2_device_disconnect(&dev->v4l2_dev);
v4l2_device_put(&dev->v4l2_dev);
+ /*
+ * No need to call au0828_usb_release() if V4L2 is enabled,
+ * as this is already called via au0828_usb_v4l2_release()
+ */
return;
}
#endif