From e30d59388bab90418b414c1f29d5779361d31ffe Mon Sep 17 00:00:00 2001 From: Peter Maydell Date: Sun, 18 Dec 2011 21:37:54 +0100 Subject: [PATCH] hw/sd.c: When setting ADDRESS_ERROR bit, don't clear everything else Fix a typo that meant that ADDRESS_ERRORs setting or clearing write protection would clear every other bit in the status register. Signed-off-by: Peter Maydell Signed-off-by: Andrzej Zaborowski --- hw/sd.c | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/hw/sd.c b/hw/sd.c index e57852e19d..dd280610f2 100644 --- a/hw/sd.c +++ b/hw/sd.c @@ -999,7 +999,7 @@ static sd_rsp_type_t sd_normal_command(SDState *sd, switch (sd->state) { case sd_transfer_state: if (addr >= sd->size) { - sd->card_status = ADDRESS_ERROR; + sd->card_status |= ADDRESS_ERROR; return sd_r1b; } @@ -1019,7 +1019,7 @@ static sd_rsp_type_t sd_normal_command(SDState *sd, switch (sd->state) { case sd_transfer_state: if (addr >= sd->size) { - sd->card_status = ADDRESS_ERROR; + sd->card_status |= ADDRESS_ERROR; return sd_r1b; }