Showing error 767

User: Jiri Slaby
Error type: Invalid Pointer Dereference
Error type description: A pointer which is invalid is being dereferenced
File location: drivers/media/dvb/frontends/l64781.c
Line in file: 58
Project: Linux Kernel
Project version: 2.6.28
Tools: Stanse (1.2)
Entered: 2011-11-07 22:22:22 UTC


Source:

 28#include "dvb_frontend.h"
 29#include "l64781.h"
 30
 31
 32struct l64781_state {
 33        struct i2c_adapter* i2c;
 34        const struct l64781_config* config;
 35        struct dvb_frontend frontend;
 36
 37        /* private demodulator data */
 38        unsigned int first:1;
 39};
 40
 41#define dprintk(args...) \
 42        do { \
 43                if (debug) printk(KERN_DEBUG "l64781: " args); \
 44        } while (0)
 45
 46static int debug;
 47
 48module_param(debug, int, 0644);
 49MODULE_PARM_DESC(debug, "Turn on/off frontend debugging (default:off).");
 50
 51
 52static int l64781_writereg (struct l64781_state* state, u8 reg, u8 data)
 53{
 54        int ret;
 55        u8 buf [] = { reg, data };
 56        struct i2c_msg msg = { .addr = state->config->demod_address, .flags = 0, .buf = buf, .len = 2 };
 57
 58        if ((ret = i2c_transfer(state->i2c, &msg, 1)) != 1)
 59                dprintk ("%s: write_reg error (reg == %02x) = %02x!\n",
 60                         __func__, reg, ret);
 61
 62        return (ret != 1) ? -1 : 0;
 63}
 64
 65static int l64781_readreg (struct l64781_state* state, u8 reg)
 66{
 67        int ret;
 68        u8 b0 [] = { reg };
Show full sources