diff options
Diffstat (limited to 'drivers/mmc')
| -rw-r--r-- | drivers/mmc/host/omap.c | 1 | ||||
| -rw-r--r-- | drivers/mmc/host/pxamci.c | 4 | 
2 files changed, 3 insertions, 2 deletions
diff --git a/drivers/mmc/host/omap.c b/drivers/mmc/host/omap.c index e7a331de573..b8fd7af1cee 100644 --- a/drivers/mmc/host/omap.c +++ b/drivers/mmc/host/omap.c @@ -1529,6 +1529,7 @@ static int mmc_omap_remove(struct platform_device *pdev)  		host->pdata->cleanup(&pdev->dev);  	mmc_omap_fclk_enable(host, 0); +	free_irq(host->irq, host);  	clk_put(host->fclk);  	clk_disable(host->iclk);  	clk_put(host->iclk); diff --git a/drivers/mmc/host/pxamci.c b/drivers/mmc/host/pxamci.c index b00d6731905..9fb480bb0e0 100644 --- a/drivers/mmc/host/pxamci.c +++ b/drivers/mmc/host/pxamci.c @@ -760,6 +760,8 @@ static int pxamci_remove(struct platform_device *pdev)  	if (mmc) {  		struct pxamci_host *host = mmc_priv(mmc); +		mmc_remove_host(mmc); +  		if (host->pdata) {  			gpio_cd = host->pdata->gpio_card_detect;  			gpio_ro = host->pdata->gpio_card_ro; @@ -779,8 +781,6 @@ static int pxamci_remove(struct platform_device *pdev)  		if (host->pdata && host->pdata->exit)  			host->pdata->exit(&pdev->dev, mmc); -		mmc_remove_host(mmc); -  		pxamci_stop_clock(host);  		writel(TXFIFO_WR_REQ|RXFIFO_RD_REQ|CLK_IS_OFF|STOP_CMD|  		       END_CMD_RES|PRG_DONE|DATA_TRAN_DONE,  |