Эх сурвалжийг харах

[drivers/blk] 解决块设备写入不对齐数据失败的问题 #11103

AngryProton 1 сар өмнө
parent
commit
f4566f14dc

+ 4 - 2
components/drivers/block/blk_dfs.c

@@ -175,14 +175,16 @@ _goon:
     if ((count - wsize) / bytes_per_sector != 0)
     {
         res = rt_device_write(dev, blk_pos, buf + wsize, (count - wsize) / bytes_per_sector);
-        wsize += res * bytes_per_sector;
-        blk_pos += res;
 
         if (res != (count - wsize) / bytes_per_sector)
         {
+            wsize += res * bytes_per_sector;
             *pos += wsize;
             return wsize;
         }
+
+        wsize += res * bytes_per_sector;
+        blk_pos += res;
     }
 
     /*