aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorBin Meng <bin.meng@windriver.com>2020-10-24 09:49:54 +0800
committerPhilippe Mathieu-Daudé <f4bug@amsat.org>2020-10-26 09:23:47 +0100
commit89c6700fe7eed9195f10055751edbc6d5e7ab940 (patch)
treead5edc1709cb49b4dc82f65257fa2f5537afbd9b
parent692fb0ef31af680632c84bc18bc639cba4a0e24b (diff)
downloadqemu-89c6700fe7eed9195f10055751edbc6d5e7ab940.zip
qemu-89c6700fe7eed9195f10055751edbc6d5e7ab940.tar.gz
qemu-89c6700fe7eed9195f10055751edbc6d5e7ab940.tar.bz2
hw/sd/sdcard: Zero out function selection fields before being populated
The function selection fields (399:376) should be zeroed out to prevent leftover from being or'ed into the switch function status data structure. This fixes the boot failure as seen in the acceptance testing on the orangepi target. Fixes: b638627c723a ("hw/sd: Fix incorrect populated function switch status data structure") Reported-by: Michael Roth <mdroth@linux.vnet.ibm.com> Signed-off-by: Bin Meng <bin.meng@windriver.com> Reviewed-by: Philippe Mathieu-Daudé <f4bug@amsat.org> Message-Id: <20201024014954.21330-1-bmeng.cn@gmail.com> Signed-off-by: Philippe Mathieu-Daudé <f4bug@amsat.org>
-rw-r--r--hw/sd/sd.c1
1 files changed, 1 insertions, 0 deletions
diff --git a/hw/sd/sd.c b/hw/sd/sd.c
index fcbc1fd..3091382 100644
--- a/hw/sd/sd.c
+++ b/hw/sd/sd.c
@@ -827,6 +827,7 @@ static void sd_function_switch(SDState *sd, uint32_t arg)
sd->data[12] = 0x80; /* Supported group 1 functions */
sd->data[13] = 0x03;
+ memset(&sd->data[14], 0, 3);
for (i = 0; i < 6; i ++) {
new_func = (arg >> (i * 4)) & 0x0f;
if (mode && new_func != 0x0f)