소스 검색

[i2c] fix the return value of rt_i2c_master_send/recv

fix the related PR: #7029
Wayne 2 년 전
부모
커밋
3291882b38
1개의 변경된 파일2개의 추가작업 그리고 2개의 파일을 삭제
  1. 2 2
      components/drivers/i2c/i2c_core.c

+ 2 - 2
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;
 }