diff options
Diffstat (limited to 'drivers/media/dvb/b2c2/flexcop-i2c.c')
| -rw-r--r-- | drivers/media/dvb/b2c2/flexcop-i2c.c | 6 | 
1 files changed, 5 insertions, 1 deletions
diff --git a/drivers/media/dvb/b2c2/flexcop-i2c.c b/drivers/media/dvb/b2c2/flexcop-i2c.c index 43a112ec6d4..f13783f08f0 100644 --- a/drivers/media/dvb/b2c2/flexcop-i2c.c +++ b/drivers/media/dvb/b2c2/flexcop-i2c.c @@ -47,9 +47,13 @@ static int flexcop_i2c_read4(struct flexcop_i2c_adapter *i2c,  	int len = r100.tw_sm_c_100.total_bytes, /* remember total_bytes is buflen-1 */  		ret; -	r100.tw_sm_c_100.no_base_addr_ack_error = i2c->no_base_addr;  	ret = flexcop_i2c_operation(i2c->fc, &r100);  	if (ret != 0) { +		deb_i2c("Retrying operation\n"); +		r100.tw_sm_c_100.no_base_addr_ack_error = i2c->no_base_addr; +		ret = flexcop_i2c_operation(i2c->fc, &r100); +	} +	if (ret != 0) {  		deb_i2c("read failed. %d\n", ret);  		return ret;  	}  |