Merge branch 'hwmon-for-linus' of git://jdelvare.pck.nerim.net/jdelvare-2.6
[powerpc.git] / drivers / media / dvb / bt8xx / dst.c
index 52b6fb2..9f72b70 100644 (file)
@@ -1715,6 +1715,15 @@ static int dst_get_frontend(struct dvb_frontend *fe, struct dvb_frontend_paramet
 static void dst_release(struct dvb_frontend *fe)
 {
        struct dst_state *state = fe->demodulator_priv;
+       if (state->dst_ca) {
+               dvb_unregister_device(state->dst_ca);
+#ifdef CONFIG_DVB_CORE_ATTACH
+               symbol_put(dst_ca_attach);
+#endif
+       }
+#ifdef CONFIG_DVB_CORE_ATTACH
+       symbol_put(dst_attach);
+#endif
        kfree(state);
 }
 
@@ -1752,11 +1761,6 @@ struct dst_state *dst_attach(struct dst_state *state, struct dvb_adapter *dvb_ad
        }
        state->frontend.demodulator_priv = state;
 
-       /*      Attach other DST peripherals if any             */
-       /*      Conditional Access device                       */
-       if (state->dst_hw_cap & DST_TYPE_HAS_CA)
-               dst_ca_attach(state, dvb_adapter);
-
        return state;                           /*      Manu (DST is a card not a frontend)     */
 }