]> err.no Git - linux-2.6/blobdiff - drivers/mmc/mmci.c
Merge AT91, EP93xx, General devel, PXA, S3C, V6+ and Xscale trees
[linux-2.6] / drivers / mmc / mmci.c
index e9b80e9202664bbfa8cd84a6b302b48ae9154560..ccfe6561be240ec65dadbbab2ea56ce0166cd001 100644 (file)
@@ -42,6 +42,8 @@ mmci_request_end(struct mmci_host *host, struct mmc_request *mrq)
 {
        writel(0, host->base + MMCICOMMAND);
 
+       BUG_ON(host->data);
+
        host->mrq = NULL;
        host->cmd = NULL;
 
@@ -198,6 +200,8 @@ mmci_cmd_irq(struct mmci_host *host, struct mmc_command *cmd,
        }
 
        if (!cmd->data || cmd->error != MMC_ERR_NONE) {
+               if (host->data)
+                       mmci_stop_data(host);
                mmci_request_end(host, cmd->mrq);
        } else if (!(cmd->data->flags & MMC_DATA_READ)) {
                mmci_start_data(host, cmd->data);