This is a note to let you know that I've just added the patch titled

    USB: ehci-omap: Don't free gpios that we didn't request

to my usb git tree which can be found at
    git://git.kernel.org/pub/scm/linux/kernel/git/gregkh/usb.git
in the usb-next branch.

The patch will show up in the next release of the linux-next tree
(usually sometime within the next 24 hours during the week.)

The patch will also be merged in the next major kernel release
during the merge window.

If you have any questions about this process, please let me know.


>From 428525f97153505e83983460a8d08a3210aa6b8a Mon Sep 17 00:00:00 2001
From: Roger Quadros <[email protected]>
Date: Thu, 14 Feb 2013 17:08:08 +0200
Subject: USB: ehci-omap: Don't free gpios that we didn't request

This driver does not request any gpios so don't free them.
Fixes L3 bus error on multiple modprobe/rmmod of ehci_hcd
with ehci-omap in use.

Without this patch, EHCI will break on repeated insmod/rmmod
of ehci_hcd for all OMAP2+ platforms that use EHCI and
set 'phy_reset = true' in usbhs_omap_board_data.
i.e.

board-3430sdp.c:        .phy_reset  = true,
board-3630sdp.c:        .phy_reset  = true,
board-am3517crane.c:    .phy_reset  = true,
board-am3517evm.c:      .phy_reset  = true,
board-cm-t3517.c:       .phy_reset  = true,
board-cm-t35.c: .phy_reset  = true,
board-devkit8000.c:     .phy_reset  = true,
board-igep0020.c:       .phy_reset = true,
board-igep0020.c:       .phy_reset = true,
board-omap3beagle.c:    .phy_reset  = true,
board-omap3evm.c:       .phy_reset  = true,
board-omap3pandora.c:   .phy_reset  = true,
board-omap3stalker.c:   .phy_reset = true,
board-omap3touchbook.c: .phy_reset  = true,
board-omap4panda.c:     .phy_reset  = false,
board-overo.c:  .phy_reset  = true,
board-zoom.c:   .phy_reset              = true,

Cc: stable <[email protected]>
Signed-off-by: Roger Quadros <[email protected]>
Reviewed-by: Felipe Balbi <[email protected]>
Acked-by: Alan Stern <[email protected]>
Signed-off-by: Greg Kroah-Hartman <[email protected]>
---
 drivers/usb/host/ehci-omap.c | 8 --------
 1 file changed, 8 deletions(-)

diff --git a/drivers/usb/host/ehci-omap.c b/drivers/usb/host/ehci-omap.c
index ac17a7c..e9d9b09 100644
--- a/drivers/usb/host/ehci-omap.c
+++ b/drivers/usb/host/ehci-omap.c
@@ -288,7 +288,6 @@ static int ehci_hcd_omap_remove(struct platform_device 
*pdev)
 {
        struct device *dev                              = &pdev->dev;
        struct usb_hcd *hcd                             = dev_get_drvdata(dev);
-       struct ehci_hcd_omap_platform_data *pdata       = dev->platform_data;
 
        usb_remove_hcd(hcd);
        disable_put_regulator(dev->platform_data);
@@ -298,13 +297,6 @@ static int ehci_hcd_omap_remove(struct platform_device 
*pdev)
        pm_runtime_put_sync(dev);
        pm_runtime_disable(dev);
 
-       if (pdata->phy_reset) {
-               if (gpio_is_valid(pdata->reset_gpio_port[0]))
-                       gpio_free(pdata->reset_gpio_port[0]);
-
-               if (gpio_is_valid(pdata->reset_gpio_port[1]))
-                       gpio_free(pdata->reset_gpio_port[1]);
-       }
        return 0;
 }
 
-- 
1.8.1.rc1.5.g7e0651a


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

Reply via email to