It should be changed as belows:
err = wait_for_completion_interruptible_timeout(&dev->cmd_complete, msecs_to_jiffies(1000));
if (err == 0) {
mxs_i2c_reset(dev);
printk("I2C timeout\n");
return -ETIMEDOUT;
}
else if (err==(-ERESTARTSYS)) {
printk("I2C ERESTARTSYS\n");
for (i = 0; i < _NSIG_WORDS ; i++) printk("I2C signal:%d\n",current->pending.signal.sig[i]);
return -ETIMEDOUT;
}
else if (err<0){
printk("I2C unknown err:%d\n",err);
return -ETIMEDOUT;
}