xc5000: properly report i2c write failures
Hi,
Sorry for response about the past post.
Quoted 13 lines
The logic as written would *never* actually return an error condition, since the loop would run until the counter hit zero but the check was for a value less than zero.
Signed-off-by Devin Heitmueller <[email protected]>--- drivers/media/common/tuners/xc5000.c | 2 +- 1 files changed, 1 insertions(+), 1 deletions(-)drivers/media/common/tuners/xc5000.c +0
-0
drivers/media/common/tuners/xc5000.c static int xc_write_reg(struct xc5000_priv *priv, u16 regAddr, u16 i2cData) · line 344
Quoted 5 lines
drivers/media/common/tuners/xc5000.c +1
-1@@ -341,7 +341,7 @@ static int xc_write_reg(struct xc5000_priv *priv, u16 regAddr, u16 i2cData) } } } -if (WatchDogTimer <0 ) +if (WatchDogTimer <=0 )
I can't load firmware like error of below link.
https://bugs.launchpad.net/ubuntu/+source/linux-firmware-nonfree/+bug/1263837 <https://bugs.launchpad.net/ubuntu/+source/linux-firmware-nonfree/+bug/1263837>
This error is related with this patch. This fix is right but above error is created after this fix because my device makes WatchDogTimer to 0 when load firmware.
Maybe it will be related with XREG_BUSY register but i can't check it.
I removed this fix, but i have faced at other error with "xc5000: PLL not running after fwload" So i have commented like below.
static const struct xc5000_fw_cfg xc5000a_1_6_114 = {
.name = XC5000A_FIRMWARE,
.size = 12401,
//.pll_reg = 0x806c,
};Then, xc5000 device works well.
I don't have xc5000 datasheet so i can't debug xc5000 driver anymore.
Any help?
Thanks.
Quoted 4 lines
drivers/media/common/tuners/xc5000.c +0
-0result =XC_RESULT_I2C_WRITE_FAILURE ;return result;