em28xx-i2c: rt_mutex_trylock() returns zero on failure
Subsystems (3)
PATCH 1/1 em28xx-i2c: rt_mutex_trylock() returns zero on failure
The code is checking for negative returns but it should be checking for zero.
---
Is -EBUSY correct? -EAGAIN?
drivers/media/usb/em28xx/em28xx-i2c.c +2 -3
@@ -507,9 +507,8 @@ static int em28xx_i2c_xfer(struct i2c_adapter *i2c_adap,if (dev->disconnected)return -ENODEV ; - rc =rt_mutex_trylock (&dev->i2c_bus_lock); -if (rc <0 ) -return rc; +if (!rt_mutex_trylock (&dev->i2c_bus_lock)) +return -EBUSY ;/* Switch I2C bus if needed */ if (bus != dev->cur_i2c_bus &&
Em Fri, 11 Mar 2016 11:13:01 +0300
Dan Carpenter <[email protected]> escreveu:
Quoted 7 lines
The code is checking for negative returns but it should be checking for zero.
Fixes aab3125c43d8 ('[media] em28xx: add support for registering multiple i2c buses')Signed-off-by Dan Carpenter <[email protected]>---
Is-EBUSYcorrect?-EAGAIN?
I guess -EAGAIN would be better.
Regards,
Mauro
Quoted 21 lines
drivers/media/usb/em28xx/em28xx-i2c.c +2
-4@@ -507,9 +507,8 @@ static int em28xx_i2c_xfer(struct i2c_adapter *i2c_adap,if (dev->disconnected)return -ENODEV ; - rc =rt_mutex_trylock (&dev->i2c_bus_lock); -if (rc <0 ) -return rc; +if (!rt_mutex_trylock (&dev->i2c_bus_lock)) +return -EBUSY ;/* Switch I2C bus if needed */ if (bus != dev->cur_i2c_bus && --To unsubscribe from this list: send the line "unsubscribe linux-media" in the body of a message to [email protected]
More majordomo info at http://vger.kernel.org/majordomo-info.html
Signature · 2 lines
Thanks, Mauro
PATCH v2 1/1 em28xx-i2c: rt_mutex_trylock() returns zero on failure
The code is checking for negative returns but it should be checking for zero.
---
Use different error code.
drivers/media/usb/em28xx/em28xx-i2c.c +2 -3
@@ -507,9 +507,8 @@ static int em28xx_i2c_xfer(struct i2c_adapter *i2c_adap,if (dev->disconnected)return -ENODEV ; - rc =rt_mutex_trylock (&dev->i2c_bus_lock); -if (rc <0 ) -return rc; +if (!rt_mutex_trylock (&dev->i2c_bus_lock)) +return -EAGAIN ;/* Switch I2C bus if needed */ if (bus != dev->cur_i2c_bus &&