summaryrefslogtreecommitdiff
path: root/components/drivers/i2c
diff options
context:
space:
mode:
authorWayne <[email protected]>2023-05-09 13:13:02 +0800
committerGitHub <[email protected]>2023-05-09 01:13:02 -0400
commit3291882b38f30d75c94a8f4bec8db578f56d6f43 (patch)
tree03d3434508215d66c0f25bbb9ad4af974300c63f /components/drivers/i2c
parent538158bf2048b93253e42719d1839d7a87c6a951 (diff)
[i2c] fix the return value of rt_i2c_master_send/recv
fix the related PR: #7029
Diffstat (limited to 'components/drivers/i2c')
-rw-r--r--components/drivers/i2c/i2c_core.c4
1 files changed, 2 insertions, 2 deletions
diff --git a/components/drivers/i2c/i2c_core.c b/components/drivers/i2c/i2c_core.c
index 21213b1b1c..17671ea241 100644
--- a/components/drivers/i2c/i2c_core.c
+++ b/components/drivers/i2c/i2c_core.c
@@ -122,7 +122,7 @@ rt_ssize_t rt_i2c_master_send(struct rt_i2c_bus_device *bus,
ret = rt_i2c_transfer(bus, &msg, 1);
- return ret;
+ return (ret == 1) ? count : ret;
}
rt_ssize_t rt_i2c_master_recv(struct rt_i2c_bus_device *bus,
@@ -142,5 +142,5 @@ rt_ssize_t rt_i2c_master_recv(struct rt_i2c_bus_device *bus,
ret = rt_i2c_transfer(bus, &msg, 1);
- return ret;
+ return (ret == 1) ? count : ret;
}