diff options
author | mav <mav@FreeBSD.org> | 2008-10-08 21:10:55 +0000 |
---|---|---|
committer | mav <mav@FreeBSD.org> | 2008-10-08 21:10:55 +0000 |
commit | 9f45d71ed9ee52529a458ce00ba729a91c28653b (patch) | |
tree | ad030b4f0f3e2c3e84df6ddb1d023e8c3ead3081 /sys/dev/mmc/mmc.c | |
parent | 3092a6ddfc3a0324418b8cf815bb9eb11eb9dc4f (diff) | |
download | FreeBSD-src-9f45d71ed9ee52529a458ce00ba729a91c28653b.zip FreeBSD-src-9f45d71ed9ee52529a458ce00ba729a91c28653b.tar.gz |
Only voltage bits should be zero in send_op_cond argument to ignore busy.
Diffstat (limited to 'sys/dev/mmc/mmc.c')
-rw-r--r-- | sys/dev/mmc/mmc.c | 6 |
1 files changed, 4 insertions, 2 deletions
diff --git a/sys/dev/mmc/mmc.c b/sys/dev/mmc/mmc.c index 2f5aad9..c99b366 100644 --- a/sys/dev/mmc/mmc.c +++ b/sys/dev/mmc/mmc.c @@ -428,7 +428,8 @@ mmc_send_app_op_cond(struct mmc_softc *sc, uint32_t ocr, uint32_t *rocr) err = mmc_wait_for_app_cmd(sc, 0, &cmd, CMD_RETRIES); if (err != MMC_ERR_NONE) break; - if ((cmd.resp[0] & MMC_OCR_CARD_BUSY) || ocr == 0) + if ((cmd.resp[0] & MMC_OCR_CARD_BUSY) || + (ocr & MMC_OCR_VOLTAGE) == 0) break; err = MMC_ERR_TIMEOUT; mmc_ms_delay(10); @@ -454,7 +455,8 @@ mmc_send_op_cond(struct mmc_softc *sc, uint32_t ocr, uint32_t *rocr) err = mmc_wait_for_cmd(sc, &cmd, CMD_RETRIES); if (err != MMC_ERR_NONE) break; - if ((cmd.resp[0] & MMC_OCR_CARD_BUSY) || ocr == 0) + if ((cmd.resp[0] & MMC_OCR_CARD_BUSY) || + (ocr & MMC_OCR_VOLTAGE) == 0) break; err = MMC_ERR_TIMEOUT; mmc_ms_delay(10); |