V4L/DVB (6882): dvb_frontend: release analog demod in dvb_frontend_detach
authorMichael Krufky <mkrufky@linuxtv.org>
Fri, 21 Dec 2007 14:34:45 +0000 (11:34 -0300)
committerMauro Carvalho Chehab <mchehab@infradead.org>
Fri, 25 Jan 2008 21:04:11 +0000 (19:04 -0200)
Signed-off-by: Michael Krufky <mkrufky@linuxtv.org>
Signed-off-by: Mauro Carvalho Chehab <mchehab@infradead.org>
drivers/media/dvb/dvb-core/dvb_frontend.c

index 445f0266557754f739b5b406abf8f5e5f55a63a0..925cfa6221ad09d73e2831a6cadb2435a3747290 100644 (file)
@@ -1202,6 +1202,10 @@ void dvb_frontend_detach(struct dvb_frontend* fe)
                fe->ops.tuner_ops.release(fe);
                symbol_put_addr(fe->ops.tuner_ops.release);
        }
+       if (fe->ops.analog_ops.release) {
+               fe->ops.analog_ops.release(fe);
+               symbol_put_addr(fe->ops.analog_ops.release);
+       }
        ptr = (void*)fe->ops.release;
        if (ptr) {
                fe->ops.release(fe);
@@ -1215,6 +1219,8 @@ void dvb_frontend_detach(struct dvb_frontend* fe)
                fe->ops.release_sec(fe);
        if (fe->ops.tuner_ops.release)
                fe->ops.tuner_ops.release(fe);
+       if (fe->ops.analog_ops.release)
+               fe->ops.analog_ops.release(fe);
        if (fe->ops.release)
                fe->ops.release(fe);
 }