summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorAngryProton <[email protected]>2026-01-12 17:14:59 +0800
committerGitHub <[email protected]>2026-01-12 17:14:59 +0800
commitf4566f14dc926c580c8fc81540b7805f57eaf201 (patch)
tree70b019a01be5bda2d5a899f6317743ea777fb7e0
parent68a5c6a83b2b944d23dbcec1e6f31d846814b753 (diff)
[drivers/blk] 解决块设备写入不对齐数据失败的问题 #11103
-rw-r--r--components/drivers/block/blk_dfs.c6
1 files changed, 4 insertions, 2 deletions
diff --git a/components/drivers/block/blk_dfs.c b/components/drivers/block/blk_dfs.c
index 96800e1564..1b5797b0a3 100644
--- a/components/drivers/block/blk_dfs.c
+++ b/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;
}
/*