summaryrefslogtreecommitdiffstats
path: root/drivers/media/dvb/dvb-usb/dvb_usb_init.c
diff options
context:
space:
mode:
authorAntti Palosaari2012-06-15 05:52:42 +0200
committerMauro Carvalho Chehab2012-08-04 12:56:33 +0200
commitad2618393168a72f079265023ddc68f2a89ccc9f (patch)
tree2c5e44ec71f0b8d2ffc86159672da9e500de4f24 /drivers/media/dvb/dvb-usb/dvb_usb_init.c
parent[media] dvb_usb_v2: try to remove all adapters on exit (diff)
downloadkernel-qcow2-linux-ad2618393168a72f079265023ddc68f2a89ccc9f.tar.gz
kernel-qcow2-linux-ad2618393168a72f079265023ddc68f2a89ccc9f.tar.xz
kernel-qcow2-linux-ad2618393168a72f079265023ddc68f2a89ccc9f.zip
[media] dvb_usb_v2: simplify remote init/exit logic
Signed-off-by: Antti Palosaari <crope@iki.fi> Signed-off-by: Mauro Carvalho Chehab <mchehab@redhat.com>
Diffstat (limited to 'drivers/media/dvb/dvb-usb/dvb_usb_init.c')
-rw-r--r--drivers/media/dvb/dvb-usb/dvb_usb_init.c11
1 files changed, 6 insertions, 5 deletions
diff --git a/drivers/media/dvb/dvb-usb/dvb_usb_init.c b/drivers/media/dvb/dvb-usb/dvb_usb_init.c
index cea334331508..5da4233501f0 100644
--- a/drivers/media/dvb/dvb-usb/dvb_usb_init.c
+++ b/drivers/media/dvb/dvb-usb/dvb_usb_init.c
@@ -137,6 +137,8 @@ static int dvb_usbv2_remote_init(struct dvb_usb_device *d)
int ret;
struct rc_dev *dev;
+ pr_debug("%s:\n", __func__);
+
if (dvb_usbv2_disable_rc_polling || !d->props->get_rc_config)
return 0;
@@ -190,8 +192,6 @@ static int dvb_usbv2_remote_init(struct dvb_usb_device *d)
msecs_to_jiffies(d->rc.interval));
}
- d->state |= DVB_USB_STATE_REMOTE;
-
return 0;
err:
pr_debug("%s: failed=%d\n", __func__, ret);
@@ -200,13 +200,14 @@ err:
static int dvb_usbv2_remote_exit(struct dvb_usb_device *d)
{
- if (d->state & DVB_USB_STATE_REMOTE) {
+ pr_debug("%s:\n", __func__);
+
+ if (d->rc_dev) {
cancel_delayed_work_sync(&d->rc_query_work);
rc_unregister_device(d->rc_dev);
+ d->rc_dev = NULL;
}
- d->state &= ~DVB_USB_STATE_REMOTE;
-
return 0;
}