aboutsummaryrefslogtreecommitdiffstats
path: root/drivers/media/video/cx231xx/cx231xx-cards.c
diff options
context:
space:
mode:
Diffstat (limited to 'drivers/media/video/cx231xx/cx231xx-cards.c')
-rw-r--r--drivers/media/video/cx231xx/cx231xx-cards.c5
1 files changed, 2 insertions, 3 deletions
diff --git a/drivers/media/video/cx231xx/cx231xx-cards.c b/drivers/media/video/cx231xx/cx231xx-cards.c
index 1f2fbbfebc76..7577e6e50136 100644
--- a/drivers/media/video/cx231xx/cx231xx-cards.c
+++ b/drivers/media/video/cx231xx/cx231xx-cards.c
@@ -1337,6 +1337,8 @@ static void cx231xx_usb_disconnect(struct usb_interface *interface)
1337 if (!dev->udev) 1337 if (!dev->udev)
1338 return; 1338 return;
1339 1339
1340 dev->state |= DEV_DISCONNECTED;
1341
1340 flush_request_modules(dev); 1342 flush_request_modules(dev);
1341 1343
1342 /* wait until all current v4l2 io is finished then deallocate 1344 /* wait until all current v4l2 io is finished then deallocate
@@ -1354,16 +1356,13 @@ static void cx231xx_usb_disconnect(struct usb_interface *interface)
1354 /* Even having users, it is safe to remove the RC i2c driver */ 1356 /* Even having users, it is safe to remove the RC i2c driver */
1355 cx231xx_ir_exit(dev); 1357 cx231xx_ir_exit(dev);
1356 1358
1357 dev->state |= DEV_MISCONFIGURED;
1358 if (dev->USE_ISO) 1359 if (dev->USE_ISO)
1359 cx231xx_uninit_isoc(dev); 1360 cx231xx_uninit_isoc(dev);
1360 else 1361 else
1361 cx231xx_uninit_bulk(dev); 1362 cx231xx_uninit_bulk(dev);
1362 dev->state |= DEV_DISCONNECTED;
1363 wake_up_interruptible(&dev->wait_frame); 1363 wake_up_interruptible(&dev->wait_frame);
1364 wake_up_interruptible(&dev->wait_stream); 1364 wake_up_interruptible(&dev->wait_stream);
1365 } else { 1365 } else {
1366 dev->state |= DEV_DISCONNECTED;
1367 } 1366 }
1368 1367
1369 cx231xx_close_extension(dev); 1368 cx231xx_close_extension(dev);