aboutsummaryrefslogtreecommitdiffstats
path: root/drivers
diff options
context:
space:
mode:
authorMichael Krufky <mkrufky@linuxtv.org>2007-12-21 09:34:45 -0500
committerMauro Carvalho Chehab <mchehab@infradead.org>2008-01-25 16:04:11 -0500
commit2426a27e4d25cf932ce73aa84a085ee94b4189a8 (patch)
tree606bd863f412ba2c11e6afb40857a7e055394cad /drivers
parentbc3e5c7fc20d3c09667067878fb7a55dd9fc041d (diff)
V4L/DVB (6882): dvb_frontend: release analog demod in dvb_frontend_detach
Signed-off-by: Michael Krufky <mkrufky@linuxtv.org> Signed-off-by: Mauro Carvalho Chehab <mchehab@infradead.org>
Diffstat (limited to 'drivers')
-rw-r--r--drivers/media/dvb/dvb-core/dvb_frontend.c6
1 files changed, 6 insertions, 0 deletions
diff --git a/drivers/media/dvb/dvb-core/dvb_frontend.c b/drivers/media/dvb/dvb-core/dvb_frontend.c
index 445f02665577..925cfa6221ad 100644
--- a/drivers/media/dvb/dvb-core/dvb_frontend.c
+++ b/drivers/media/dvb/dvb-core/dvb_frontend.c
@@ -1202,6 +1202,10 @@ void dvb_frontend_detach(struct dvb_frontend* fe)
1202 fe->ops.tuner_ops.release(fe); 1202 fe->ops.tuner_ops.release(fe);
1203 symbol_put_addr(fe->ops.tuner_ops.release); 1203 symbol_put_addr(fe->ops.tuner_ops.release);
1204 } 1204 }
1205 if (fe->ops.analog_ops.release) {
1206 fe->ops.analog_ops.release(fe);
1207 symbol_put_addr(fe->ops.analog_ops.release);
1208 }
1205 ptr = (void*)fe->ops.release; 1209 ptr = (void*)fe->ops.release;
1206 if (ptr) { 1210 if (ptr) {
1207 fe->ops.release(fe); 1211 fe->ops.release(fe);
@@ -1215,6 +1219,8 @@ void dvb_frontend_detach(struct dvb_frontend* fe)
1215 fe->ops.release_sec(fe); 1219 fe->ops.release_sec(fe);
1216 if (fe->ops.tuner_ops.release) 1220 if (fe->ops.tuner_ops.release)
1217 fe->ops.tuner_ops.release(fe); 1221 fe->ops.tuner_ops.release(fe);
1222 if (fe->ops.analog_ops.release)
1223 fe->ops.analog_ops.release(fe);
1218 if (fe->ops.release) 1224 if (fe->ops.release)
1219 fe->ops.release(fe); 1225 fe->ops.release(fe);
1220} 1226}