diff options
Diffstat (limited to 'drivers/i2c/i2c-dev.c')
-rw-r--r-- | drivers/i2c/i2c-dev.c | 14 |
1 files changed, 12 insertions, 2 deletions
diff --git a/drivers/i2c/i2c-dev.c b/drivers/i2c/i2c-dev.c index df6e14c192d6..5a15e50748de 100644 --- a/drivers/i2c/i2c-dev.c +++ b/drivers/i2c/i2c-dev.c | |||
@@ -354,9 +354,19 @@ static int i2cdev_ioctl(struct inode *inode, struct file *file, | |||
354 | return -EFAULT; | 354 | return -EFAULT; |
355 | } | 355 | } |
356 | return res; | 356 | return res; |
357 | 357 | case I2C_RETRIES: | |
358 | client->adapter->retries = arg; | ||
359 | break; | ||
360 | case I2C_TIMEOUT: | ||
361 | client->adapter->timeout = arg; | ||
362 | break; | ||
358 | default: | 363 | default: |
359 | return i2c_control(client,cmd,arg); | 364 | /* NOTE: returning a fault code here could cause trouble |
365 | * in buggy userspace code. Some old kernel bugs returned | ||
366 | * zero in this case, and userspace code might accidentally | ||
367 | * have depended on that bug. | ||
368 | */ | ||
369 | return -ENOTTY; | ||
360 | } | 370 | } |
361 | return 0; | 371 | return 0; |
362 | } | 372 | } |