Patchwork [10/10] hw/sd.c: Clear status bits when read via response r6

login
register
mail settings
Submitter Peter Maydell
Date Dec. 18, 2011, 8:38 p.m.
Message ID <1324240680-26905-11-git-send-email-peter.maydell@linaro.org>
Download mbox | patch
Permalink /patch/132109/
State New
Headers show

Comments

Peter Maydell - Dec. 18, 2011, 8:38 p.m.
Response format r6 includes a subset of the status bits;
clear the clear-on-read bits which are read by an r6 response.

Signed-off-by: Peter Maydell <peter.maydell@linaro.org>
---
 hw/sd.c |    1 +
 1 files changed, 1 insertions(+), 0 deletions(-)

Patch

diff --git a/hw/sd.c b/hw/sd.c
index 6614cbf..2b8ebe4 100644
--- a/hw/sd.c
+++ b/hw/sd.c
@@ -371,6 +371,7 @@  static void sd_response_r6_make(SDState *sd, uint8_t *response)
     status = ((sd->card_status >> 8) & 0xc000) |
              ((sd->card_status >> 6) & 0x2000) |
               (sd->card_status & 0x1fff);
+    sd->card_status &= ~(CARD_STATUS_C & 0xc81fff);
 
     response[0] = (arg >> 8) & 0xff;
     response[1] = arg & 0xff;