diff options
Diffstat (limited to 'drivers/mmc/host')
-rw-r--r-- | drivers/mmc/host/at91_mci.c | 5 | ||||
-rw-r--r-- | drivers/mmc/host/au1xmmc.c | 3 |
2 files changed, 3 insertions, 5 deletions
diff --git a/drivers/mmc/host/at91_mci.c b/drivers/mmc/host/at91_mci.c index e37943c314cb..5b00c194b628 100644 --- a/drivers/mmc/host/at91_mci.c +++ b/drivers/mmc/host/at91_mci.c | |||
@@ -417,7 +417,7 @@ static unsigned int at91_mci_send_command(struct at91mci_host *host, struct mmc_ | |||
417 | blocks = 0; | 417 | blocks = 0; |
418 | } | 418 | } |
419 | 419 | ||
420 | if (cmd->opcode == MMC_STOP_TRANSMISSION) | 420 | if (host->flags & FL_SENT_STOP) |
421 | cmdr |= AT91_MCI_TRCMD_STOP; | 421 | cmdr |= AT91_MCI_TRCMD_STOP; |
422 | 422 | ||
423 | if (host->bus_mode == MMC_BUSMODE_OPENDRAIN) | 423 | if (host->bus_mode == MMC_BUSMODE_OPENDRAIN) |
@@ -563,8 +563,7 @@ static void at91mci_completed_command(struct at91mci_host *host) | |||
563 | if (status & (AT91_MCI_RINDE | AT91_MCI_RDIRE | AT91_MCI_RCRCE | | 563 | if (status & (AT91_MCI_RINDE | AT91_MCI_RDIRE | AT91_MCI_RCRCE | |
564 | AT91_MCI_RENDE | AT91_MCI_RTOE | AT91_MCI_DCRCE | | 564 | AT91_MCI_RENDE | AT91_MCI_RTOE | AT91_MCI_DCRCE | |
565 | AT91_MCI_DTOE | AT91_MCI_OVRE | AT91_MCI_UNRE)) { | 565 | AT91_MCI_DTOE | AT91_MCI_OVRE | AT91_MCI_UNRE)) { |
566 | if ((status & AT91_MCI_RCRCE) && | 566 | if ((status & AT91_MCI_RCRCE) && !(mmc_resp_type(cmd) & MMC_RSP_CRC)) { |
567 | ((cmd->opcode == MMC_SEND_OP_COND) || (cmd->opcode == SD_APP_OP_COND))) { | ||
568 | cmd->error = MMC_ERR_NONE; | 567 | cmd->error = MMC_ERR_NONE; |
569 | } | 568 | } |
570 | else { | 569 | else { |
diff --git a/drivers/mmc/host/au1xmmc.c b/drivers/mmc/host/au1xmmc.c index f967226d7505..52b63f11ddd6 100644 --- a/drivers/mmc/host/au1xmmc.c +++ b/drivers/mmc/host/au1xmmc.c | |||
@@ -76,8 +76,7 @@ const struct { | |||
76 | #endif | 76 | #endif |
77 | }; | 77 | }; |
78 | 78 | ||
79 | #define AU1XMMC_CONTROLLER_COUNT \ | 79 | #define AU1XMMC_CONTROLLER_COUNT (ARRAY_SIZE(au1xmmc_card_table)) |
80 | (sizeof(au1xmmc_card_table) / sizeof(au1xmmc_card_table[0])) | ||
81 | 80 | ||
82 | /* This array stores pointers for the hosts (used by the IRQ handler) */ | 81 | /* This array stores pointers for the hosts (used by the IRQ handler) */ |
83 | struct au1xmmc_host *au1xmmc_hosts[AU1XMMC_CONTROLLER_COUNT]; | 82 | struct au1xmmc_host *au1xmmc_hosts[AU1XMMC_CONTROLLER_COUNT]; |