From patchwork Sun Dec 18 20:37:54 2011 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit Subject: [04/10] hw/sd.c: When setting ADDRESS_ERROR bit, don't clear everything else Date: Sun, 18 Dec 2011 10:37:54 -0000 From: Peter Maydell X-Patchwork-Id: 132120 Message-Id: <1324240680-26905-5-git-send-email-peter.maydell@linaro.org> To: qemu-devel@nongnu.org Cc: patches@linaro.org 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 --- hw/sd.c | 4 ++-- 1 files changed, 2 insertions(+), 2 deletions(-) diff --git a/hw/sd.c b/hw/sd.c index e57852e..dd28061 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; }