} else { u8 tmp[] = { buf[0], buf[1] }; struct i2c_msg msg = { .addr = addr, .flags = 0, .buf = tmp,  .len = 2 }; int err; int i;  for (i=1; i<len; i++) { tmp[1] = buf[i]; if ((err = i2c_transfer(state->i2c, &msg, 1)) != 1) { printk(KERN_WARNING "lgdt3302: %s error (addr %02x <- %02x, err == %i)\n", __FUNCTION__, addr, buf[0], err); if (err < 0) return err; else return -EREMOTEIO; } tmp[0]++; } 
tmp[0]++; 
static int i2c_writebytes (struct lgdt3302_state* state,			   u8 addr, /* demod_address or pll_address */			   u8 *buf, /* data bytes to send */			   int len  /* number of bytes to send */ ){	if (addr == state->config->pll_address) {		struct i2c_msg msg =			{ .addr = addr, .flags = 0, .buf = buf,  .len = len };		int err;		if ((err = i2c_transfer(state->i2c, &msg, 1)) != 1) {			printk(KERN_WARNING "lgdt3302: %s error (addr %02x <- %02x, err == %i)\n", __FUNCTION__, addr, buf[0], err);			if (err < 0)				return err;			else				return -EREMOTEIO;		}	} else {		u8 tmp[] = { buf[0], buf[1] };		struct i2c_msg msg =			{ .addr = addr, .flags = 0, .buf = tmp,  .len = 2 };		int err;		int i;		for (i=1; i<len; i++) {			tmp[1] = buf[i];			if ((err = i2c_transfer(state->i2c, &msg, 1)) != 1) {				printk(KERN_WARNING "lgdt3302: %s error (addr %02x <- %02x, err == %i)\n", __FUNCTION__, addr, buf[0], err);				if (err < 0)					return err;				else					return -EREMOTEIO;			}			tmp[0]++;		}	}	return 0;}
10457	/local/tlutelli/issta_data/temp/c/2005_temp/2005/10457/b6aef071bdef0cd9f69113bb3575aa45fafdbbbf/lgdt3302.c/buggy/drivers/media/dvb/frontends/lgdt3302.c