diff options
author | Antti Palosaari <crope@iki.fi> | 2012-09-22 20:46:24 +0400 |
---|---|---|
committer | Mauro Carvalho Chehab <mchehab@redhat.com> | 2012-09-27 22:18:24 +0400 |
commit | f6068764573d2f29529c8835126dabe3f2096c1f (patch) | |
tree | 8c3ae9a5706f96ddf7e3b218eaef3a4cdf19a57f /drivers | |
parent | 36f647bad3d35546892c3639328479355da8690d (diff) | |
download | linux-f6068764573d2f29529c8835126dabe3f2096c1f.tar.xz |
[media] anysee: do not remove CI when it is not attached
Signed-off-by: Antti Palosaari <crope@iki.fi>
Signed-off-by: Mauro Carvalho Chehab <mchehab@redhat.com>
Diffstat (limited to 'drivers')
-rw-r--r-- | drivers/media/usb/dvb-usb-v2/anysee.c | 8 | ||||
-rw-r--r-- | drivers/media/usb/dvb-usb-v2/anysee.h | 1 |
2 files changed, 5 insertions, 4 deletions
diff --git a/drivers/media/usb/dvb-usb-v2/anysee.c b/drivers/media/usb/dvb-usb-v2/anysee.c index 6705d81f0cb2..ec540140c810 100644 --- a/drivers/media/usb/dvb-usb-v2/anysee.c +++ b/drivers/media/usb/dvb-usb-v2/anysee.c @@ -1217,6 +1217,8 @@ static int anysee_ci_init(struct dvb_usb_device *d) if (ret) return ret; + state->ci_attached = true; + return 0; } @@ -1225,7 +1227,7 @@ static void anysee_ci_release(struct dvb_usb_device *d) struct anysee_state *state = d_to_priv(d); /* detach CI */ - if (state->has_ci) + if (state->ci_attached) dvb_ca_en50221_release(&state->ci); return; @@ -1257,10 +1259,8 @@ static int anysee_init(struct dvb_usb_device *d) /* attach CI */ if (state->has_ci) { ret = anysee_ci_init(d); - if (ret) { - state->has_ci = false; + if (ret) return ret; - } } return 0; diff --git a/drivers/media/usb/dvb-usb-v2/anysee.h b/drivers/media/usb/dvb-usb-v2/anysee.h index 4ab467679a43..c1a4273f14ff 100644 --- a/drivers/media/usb/dvb-usb-v2/anysee.h +++ b/drivers/media/usb/dvb-usb-v2/anysee.h @@ -56,6 +56,7 @@ struct anysee_state { u8 seq; u8 fe_id:1; /* frondend ID */ u8 has_ci:1; + u8 ci_attached:1; struct dvb_ca_en50221 ci; unsigned long ci_cam_ready; /* jiffies */ }; |