when probe() fails, we should iounmap() the mapped address.

Signed-off-by: Felipe Balbi <felipe.ba...@nokia.com>
---
 drivers/usb/musb/musb_core.c |    8 +++++++-
 1 files changed, 7 insertions(+), 1 deletions(-)

diff --git a/drivers/usb/musb/musb_core.c b/drivers/usb/musb/musb_core.c
index 3e9b3b0..de7b377 100644
--- a/drivers/usb/musb/musb_core.c
+++ b/drivers/usb/musb/musb_core.c
@@ -2110,6 +2110,7 @@ static int __init musb_probe(struct platform_device *pdev)
 {
        struct device   *dev = &pdev->dev;
        int             irq = platform_get_irq(pdev, 0);
+       int             status;
        struct resource *iomem;
        void __iomem    *base;
 
@@ -2127,7 +2128,12 @@ static int __init musb_probe(struct platform_device 
*pdev)
        /* clobbered by use_dma=n */
        orig_dma_mask = dev->dma_mask;
 #endif
-       return musb_init_controller(dev, irq, base);
+
+       status = musb_init_controller(dev, irq, base);
+       if (status < 0)
+               iounmap(base);
+
+       return status;
 }
 
 static int __exit musb_remove(struct platform_device *pdev)
-- 
1.6.6.rc0

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

Reply via email to