mirror of
https://github.com/AuxXxilium/linux_dsm_epyc7002.git
synced 2024-12-21 08:46:49 +07:00
[media] lgdt330x: fix signedness error in i2c_read_demod_bytes()
The error handling in lgdt3303_read_status() and lgdt330x_read_ucblocks() doesn't work, because i2c_read_demod_bytes() returns a u8 and (err < 0) is always false. err = i2c_read_demod_bytes(state, 0x58, buf, 1); if (err < 0) return err; Change the return type of i2c_read_demod_bytes() to int. Also change the return value on error to -EIO to make (err < 0) work. Signed-off-by: Xi Wang <xi.wang@gmail.com> Cc: stable@vger.kernel.org Signed-off-by: Mauro Carvalho Chehab <mchehab@redhat.com>
This commit is contained in:
parent
bdb2c41fc1
commit
34817174fc
@ -104,8 +104,8 @@ static int i2c_write_demod_bytes (struct lgdt330x_state* state,
|
||||
* then reads the data returned for (len) bytes.
|
||||
*/
|
||||
|
||||
static u8 i2c_read_demod_bytes (struct lgdt330x_state* state,
|
||||
enum I2C_REG reg, u8* buf, int len)
|
||||
static int i2c_read_demod_bytes(struct lgdt330x_state *state,
|
||||
enum I2C_REG reg, u8 *buf, int len)
|
||||
{
|
||||
u8 wr [] = { reg };
|
||||
struct i2c_msg msg [] = {
|
||||
@ -118,6 +118,8 @@ static u8 i2c_read_demod_bytes (struct lgdt330x_state* state,
|
||||
ret = i2c_transfer(state->i2c, msg, 2);
|
||||
if (ret != 2) {
|
||||
printk(KERN_WARNING "lgdt330x: %s: addr 0x%02x select 0x%02x error (ret == %i)\n", __func__, state->config->demod_address, reg, ret);
|
||||
if (ret >= 0)
|
||||
ret = -EIO;
|
||||
} else {
|
||||
ret = 0;
|
||||
}
|
||||
|
Loading…
Reference in New Issue
Block a user