summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorbalrog <balrog@c046a42c-6fe2-441c-8c8c-71466251a162>2007-07-30 23:54:51 +0000
committerbalrog <balrog@c046a42c-6fe2-441c-8c8c-71466251a162>2007-07-30 23:54:51 +0000
commit724d3a8f2932f90e3527752f4b59f3607ceeb863 (patch)
tree586dfb1ac150c6858528d4ddefde682536519685
parent330c4d61a65801b994e7498163cec3ca74c4ece4 (diff)
downloadqemu-724d3a8f2932f90e3527752f4b59f3607ceeb863.tar.gz
Re-add clearing of the APP_CMD flag that somehow got lost.
git-svn-id: svn://svn.savannah.nongnu.org/qemu/trunk@3094 c046a42c-6fe2-441c-8c8c-71466251a162
-rw-r--r--hw/sd.c5
-rw-r--r--hw/sd.h4
2 files changed, 5 insertions, 4 deletions
diff --git a/hw/sd.c b/hw/sd.c
index 799c945335..7974564ecb 100644
--- a/hw/sd.c
+++ b/hw/sd.c
@@ -1151,9 +1151,10 @@ int sd_do_command(SDState *sd, struct sd_request_s *req,
return 0;
}
- if (last_status & APP_CMD)
+ if (last_status & APP_CMD) {
rtype = sd_app_command(sd, *req);
- else
+ sd->card_status &= ~APP_CMD;
+ } else
rtype = sd_normal_command(sd, *req);
sd->current_cmd = req->cmd;
diff --git a/hw/sd.h b/hw/sd.h
index cc05dbf179..2851e729fb 100644
--- a/hw/sd.h
+++ b/hw/sd.h
@@ -56,8 +56,8 @@
typedef enum {
sd_none = -1,
sd_bc = 0, /* broadcast -- no response */
- sd_bcr, /* broadcast with response */
- sd_ac, /* addressed -- no data transfer */
+ sd_bcr, /* broadcast with response */
+ sd_ac, /* addressed -- no data transfer */
sd_adtc, /* addressed with data transfer */
} sd_cmd_type_t;