static int simple_get_status(struct dvb_frontend *fe, u32 *status)
 {
        struct tuner_simple_priv *priv = fe->tuner_priv;
-       int tuner_status = tuner_read_status(fe);
+       int tuner_status;
+
+       if (priv->i2c_props.adap == NULL)
+               return -EINVAL;
+
+       tuner_status = tuner_read_status(fe);
 
        *status = 0;
 
 static int simple_get_rf_strength(struct dvb_frontend *fe, u16 *strength)
 {
        struct tuner_simple_priv *priv = fe->tuner_priv;
-       int signal = tuner_signal(tuner_read_status(fe));
+       int signal;
+
+       if (priv->i2c_props.adap == NULL)
+               return -EINVAL;
+
+       signal = tuner_signal(tuner_read_status(fe));
 
        *strength = signal;
 
        struct tuner_simple_priv *priv = fe->tuner_priv;
        int ret = -EINVAL;
 
+       if (priv->i2c_props.adap == NULL)
+               return -EINVAL;
+
        switch (params->mode) {
        case V4L2_TUNER_RADIO:
                ret = simple_set_radio_freq(fe, params);