diff options
author | Sebastian Huber <sebastian.huber@embedded-brains.de> | 2015-07-23 09:00:31 +0200 |
---|---|---|
committer | Sebastian Huber <sebastian.huber@embedded-brains.de> | 2015-07-23 09:12:42 +0200 |
commit | 0ad8a336500515c8a906c1f4574fa0a4a67b2af3 (patch) | |
tree | 997197b4e08a13e0deee94fe9411efc7e789e62e /cpukit/dev/i2c/i2c-dev.c | |
parent | doc: Add SMP section to CPU Arch Supplement (diff) | |
download | rtems-0ad8a336500515c8a906c1f4574fa0a4a67b2af3.tar.bz2 |
i2c: Fix return status of i2c dev read/write
Diffstat (limited to '')
-rw-r--r-- | cpukit/dev/i2c/i2c-dev.c | 16 |
1 files changed, 10 insertions, 6 deletions
diff --git a/cpukit/dev/i2c/i2c-dev.c b/cpukit/dev/i2c/i2c-dev.c index 6710632e87..b00a9bdf21 100644 --- a/cpukit/dev/i2c/i2c-dev.c +++ b/cpukit/dev/i2c/i2c-dev.c @@ -43,11 +43,13 @@ static ssize_t i2c_dev_read( ssize_t n; n = (*dev->read)(dev, buffer, count, iop->offset); - if (n > 0) { + if (n >= 0) { iop->offset += n; - } - return n; + return n; + } else { + rtems_set_errno_and_return_minus_one(-n); + } } static ssize_t i2c_dev_write( @@ -60,11 +62,13 @@ static ssize_t i2c_dev_write( ssize_t n; n = (*dev->write)(dev, buffer, count, iop->offset); - if (n > 0) { + if (n >= 0) { iop->offset += n; - } - return n; + return n; + } else { + rtems_set_errno_and_return_minus_one(-n); + } } static int i2c_dev_ioctl( |