Kaynağa Gözat

[i2c] fix the return value of rt_i2c_master_send/recv

fix the related PR: #7029
Wayne 2 yıl önce
ebeveyn
işleme
3291882b38
1 değiştirilmiş dosya ile 2 ekleme ve 2 silme
  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;
 }