Re: [patch] [media] em28xx-i2c: rt_mutex_trylock() returns zero on failure

From: Mauro Carvalho Chehab
Date: Sat May 07 2016 - 09:02:10 EST


Em Fri, 11 Mar 2016 11:13:01 +0300
Dan Carpenter <dan.carpenter@xxxxxxxxxx> escreveu:

> 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 <dan.carpenter@xxxxxxxxxx>
> ---
> Is -EBUSY correct? -EAGAIN?

I guess -EAGAIN would be better.

Regards,
Mauro

>
> diff --git a/drivers/media/usb/em28xx/em28xx-i2c.c b/drivers/media/usb/em28xx/em28xx-i2c.c
> index a19b5c8..f80dd3a 100644
> --- a/drivers/media/usb/em28xx/em28xx-i2c.c
> +++ b/drivers/media/usb/em28xx/em28xx-i2c.c
> @@ -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 majordomo@xxxxxxxxxxxxxxx
> More majordomo info at http://vger.kernel.org/majordomo-info.html


--
Thanks,
Mauro