|
@@ -898,8 +898,13 @@ static void sdhci_set_transfer_mode(struct sdhci_host *host,
|
|
|
u16 mode;
|
|
|
struct mmc_data *data = cmd->data;
|
|
|
|
|
|
- if (data == NULL)
|
|
|
+ if (data == NULL) {
|
|
|
+ /* clear Auto CMD settings for no data CMDs */
|
|
|
+ mode = sdhci_readw(host, SDHCI_TRANSFER_MODE);
|
|
|
+ sdhci_writew(host, mode & ~(SDHCI_TRNS_AUTO_CMD12 |
|
|
|
+ SDHCI_TRNS_AUTO_CMD23), SDHCI_TRANSFER_MODE);
|
|
|
return;
|
|
|
+ }
|
|
|
|
|
|
WARN_ON(!host->data);
|
|
|
|