i2c: eg20t: pass on return value in i2c_xfer
authorWolfram Sang <wolfram@the-dreams.de>
Thu, 19 Apr 2012 15:01:59 +0000 (17:01 +0200)
committerWolfram Sang <w.sang@pengutronix.de>
Sat, 12 May 2012 12:28:13 +0000 (14:28 +0200)
smatch says:
drivers/i2c/busses/i2c-eg20t.c:702 pch_i2c_xfer() info: why not propagate 'ret' from mutex_lock_interruptible() instead of -512?

which is especially true since for -ENORESTARTSYS it is said in
linux/errno.h "signal_pending() MUST be set" which is not done here. So
just pass on the return value we got.

Signed-off-by: Wolfram Sang <wolfram@the-dreams.de>
Cc: Tomoya MORINAGA <tomoya.rohm@gmail.com>
drivers/i2c/busses/i2c-eg20t.c

index 6e9e075..93926a7 100644 (file)
@@ -699,7 +699,7 @@ static s32 pch_i2c_xfer(struct i2c_adapter *i2c_adap,
 
        ret = mutex_lock_interruptible(&pch_mutex);
        if (ret)
-               return -ERESTARTSYS;
+               return ret;
 
        if (adap->p_adapter_info->pch_i2c_suspended) {
                mutex_unlock(&pch_mutex);