diff --git a/components/drivers/sdio/block_dev.c b/components/drivers/sdio/block_dev.c index 70159af30c..59eb56cdcd 100644 --- a/components/drivers/sdio/block_dev.c +++ b/components/drivers/sdio/block_dev.c @@ -303,7 +303,7 @@ static rt_size_t rt_mmcsd_read(rt_device_t dev, while (remain_size) { req_size = (remain_size > blk_dev->max_req_size) ? blk_dev->max_req_size : remain_size; - err = rt_mmcsd_req_blk(blk_dev->card, pos + offset, rd_ptr, req_size, 0); + err = rt_mmcsd_req_blk(blk_dev->card, part->offset + pos + offset, rd_ptr, req_size, 0); if (err) break; offset += req_size; @@ -344,7 +344,7 @@ static rt_size_t rt_mmcsd_write(rt_device_t dev, while (remain_size) { req_size = (remain_size > blk_dev->max_req_size) ? blk_dev->max_req_size : remain_size; - err = rt_mmcsd_req_blk(blk_dev->card, pos + offset, wr_ptr, req_size, 1); + err = rt_mmcsd_req_blk(blk_dev->card, part->offset + pos + offset, wr_ptr, req_size, 1); if (err) break; offset += req_size;