diff options
| author | Cédric Le Goater <clg@kaod.org> | 2021-05-11 13:58:47 +0200 |
|---|---|---|
| committer | Philippe Mathieu-Daudé <philmd@linaro.org> | 2024-07-16 20:27:16 +0200 |
| commit | 7851548485671a7dc298cdf9fbcd852b08572fd4 (patch) | |
| tree | 2fc3ed37bd135bd5f68646997e11e3da7fa18fa6 /hw/sd/sd.c | |
| parent | 3007fa1156222a564b5311663644101ae76135f2 (diff) | |
| download | focaccia-qemu-7851548485671a7dc298cdf9fbcd852b08572fd4.tar.gz focaccia-qemu-7851548485671a7dc298cdf9fbcd852b08572fd4.zip | |
hw/sd/sdcard: Fix SET_BLOCK_COUNT command argument on eMMC (CMD23)
The number of blocks is defined in the lower bits [15:0]. Reviewed-by: Philippe Mathieu-Daudé <philmd@linaro.org> Signed-off-by: Cédric Le Goater <clg@kaod.org> Tested-by: Andrew Jeffery <andrew@codeconstruct.com.au> Signed-off-by: Philippe Mathieu-Daudé <philmd@linaro.org> Tested-by: Cédric Le Goater <clg@redhat.com> Message-Id: <20240712162719.88165-6-philmd@linaro.org>
Diffstat (limited to 'hw/sd/sd.c')
| -rw-r--r-- | hw/sd/sd.c | 3 |
1 files changed, 3 insertions, 0 deletions
diff --git a/hw/sd/sd.c b/hw/sd/sd.c index ab502d19b8..09077f0154 100644 --- a/hw/sd/sd.c +++ b/hw/sd/sd.c @@ -1533,6 +1533,9 @@ static sd_rsp_type_t sd_cmd_SET_BLOCK_COUNT(SDState *sd, SDRequest req) } sd->multi_blk_cnt = req.arg; + if (sd_is_emmc(sd)) { + sd->multi_blk_cnt &= 0xffff; + } trace_sdcard_set_block_count(sd->multi_blk_cnt); return sd_r1; |