Showing error 1633

User: Jiri Slaby
Error type: Invalid Pointer Dereference
Error type description: A pointer which is invalid is being dereferenced
File location: drivers/media/common/tuners/tda9887.c
Line in file: 691
Project: Linux Kernel
Project version: 2.6.28
Tools: Smatch (1.59)
Entered: 2013-09-10 07:54:05 UTC


Source:

661static struct analog_demod_ops tda9887_ops = {
662        .info                = {
663                .name        = "tda9887",
664        },
665        .set_params     = tda9887_set_params,
666        .standby        = tda9887_standby,
667        .tuner_status   = tda9887_tuner_status,
668        .get_afc        = tda9887_get_afc,
669        .release        = tda9887_release,
670        .set_config     = tda9887_set_config,
671};
672
673struct dvb_frontend *tda9887_attach(struct dvb_frontend *fe,
674                                    struct i2c_adapter *i2c_adap,
675                                    u8 i2c_addr)
676{
677        struct tda9887_priv *priv = NULL;
678        int instance;
679
680        mutex_lock(&tda9887_list_mutex);
681
682        instance = hybrid_tuner_request_state(struct tda9887_priv, priv,
683                                              hybrid_tuner_instance_list,
684                                              i2c_adap, i2c_addr, "tda9887");
685        switch (instance) {
686        case 0:
687                mutex_unlock(&tda9887_list_mutex);
688                return NULL;
689        case 1:
690                fe->analog_demod_priv = priv;
691                priv->mode = T_STANDBY;
692                tuner_info("tda988[5/6/7] found\n");
693                break;
694        default:
695                fe->analog_demod_priv = priv;
696                break;
697        }
698
699        mutex_unlock(&tda9887_list_mutex);
700
701        memcpy(&fe->ops.analog_ops, &tda9887_ops,
Show full sources