Try if pdata provides a cleanup function pointers. For
boards which don't provide it, driver will oops in
omap_remove.

Signed-off-by: Felipe Balbi <[EMAIL PROTECTED]>
---
 drivers/mmc/host/omap_hsmmc.c |    3 ++-
 1 files changed, 2 insertions(+), 1 deletions(-)

diff --git a/drivers/mmc/host/omap_hsmmc.c b/drivers/mmc/host/omap_hsmmc.c
index 467f146..4dfa8dd 100644
--- a/drivers/mmc/host/omap_hsmmc.c
+++ b/drivers/mmc/host/omap_hsmmc.c
@@ -887,7 +887,8 @@ static int omap_mmc_remove(struct platform_device *pdev)
 
        platform_set_drvdata(pdev, NULL);
        if (host) {
-               host->pdata->cleanup(&pdev->dev);
+               if (host->pdata->cleanup)
+                       host->pdata->cleanup(&pdev->dev);
                free_irq(host->irq, host);
                if (mmc_slot(host).card_detect_irq)
                        free_irq(mmc_slot(host).card_detect_irq, host);
-- 
1.5.6.49.g112db

--
To unsubscribe from this list: send the line "unsubscribe linux-omap" in
the body of a message to [EMAIL PROTECTED]
More majordomo info at  http://vger.kernel.org/majordomo-info.html

Reply via email to