| Index: drivers/mmc/host/sdhci.c | 
| diff --git a/drivers/mmc/host/sdhci.c b/drivers/mmc/host/sdhci.c | 
| index 3c6358f0d0524275116840e11ca9f4709dba04db..68d2e3635cb1b70d7ec8e7fe6c4173ad7e5ac3d0 100644 | 
| --- a/drivers/mmc/host/sdhci.c | 
| +++ b/drivers/mmc/host/sdhci.c | 
| @@ -1654,6 +1654,8 @@ int sdhci_suspend_host(struct sdhci_host *host, pm_message_t state) | 
| if (mmc->card && (mmc->card->type != MMC_TYPE_SDIO)) | 
| ret = mmc_suspend_host(host->mmc); | 
|  | 
| +	/* Save the original intmask to restore later */ | 
| +	host->save_intmask = sdhci_readl(host, SDHCI_INT_ENABLE); | 
| sdhci_mask_irqs(host, SDHCI_INT_ALL_MASK); | 
|  | 
| if (host->vmmc) | 
| @@ -1695,6 +1697,9 @@ int sdhci_resume_host(struct sdhci_host *host) | 
|  | 
| sdhci_enable_card_detection(host); | 
|  | 
| +	/* Restore the original intmask */ | 
| +	sdhci_unmask_irqs(host, host->save_intmask); | 
| + | 
| return ret; | 
| } | 
|  | 
|  |