linux-kernel.vger.kernel.org archive mirror
 help / color / mirror / Atom feed
* [PATCH 0/2] usb: bug fixes for ehci-omap for 3.9
@ 2013-02-14 15:08 Roger Quadros
  2013-02-14 15:08 ` [PATCH 1/2] USB: ehci-omap: Don't free gpios that we didn't request Roger Quadros
  2013-02-14 15:08 ` [PATCH 2/2] USB: ehci-omap: Fix autoloading of module Roger Quadros
  0 siblings, 2 replies; 3+ messages in thread
From: Roger Quadros @ 2013-02-14 15:08 UTC (permalink / raw)
  To: gregkh
  Cc: stern, balbi, sameo, tony, rogerq, stable, linux-usb, linux-omap,
	linux-kernel

Greg,

These 2 patches contain bug fixes for ehci-omap for 3.9 as well as
older kernels.

Patches are based on 3.8-rc6.

Please include them in your USB tree. Thanks.

cheers,
-roger

-- 
1.7.4.1


^ permalink raw reply	[flat|nested] 3+ messages in thread

* [PATCH 1/2] USB: ehci-omap: Don't free gpios that we didn't request
  2013-02-14 15:08 [PATCH 0/2] usb: bug fixes for ehci-omap for 3.9 Roger Quadros
@ 2013-02-14 15:08 ` Roger Quadros
  2013-02-14 15:08 ` [PATCH 2/2] USB: ehci-omap: Fix autoloading of module Roger Quadros
  1 sibling, 0 replies; 3+ messages in thread
From: Roger Quadros @ 2013-02-14 15:08 UTC (permalink / raw)
  To: gregkh
  Cc: stern, balbi, sameo, tony, rogerq, stable, linux-usb, linux-omap,
	linux-kernel

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: Alan Stern <stern@rowland.harvard.edu>
CC: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
CC: stable@vger.kernel.org

Signed-off-by: Roger Quadros <rogerq@ti.com>
Reviewed-by: Felipe Balbi <balbi@ti.com>
Acked-by: Alan Stern <stern@rowland.harvard.edu>
---
 drivers/usb/host/ehci-omap.c |    8 --------
 1 files changed, 0 insertions(+), 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.7.4.1


^ permalink raw reply related	[flat|nested] 3+ messages in thread

* [PATCH 2/2] USB: ehci-omap: Fix autoloading of module
  2013-02-14 15:08 [PATCH 0/2] usb: bug fixes for ehci-omap for 3.9 Roger Quadros
  2013-02-14 15:08 ` [PATCH 1/2] USB: ehci-omap: Don't free gpios that we didn't request Roger Quadros
@ 2013-02-14 15:08 ` Roger Quadros
  1 sibling, 0 replies; 3+ messages in thread
From: Roger Quadros @ 2013-02-14 15:08 UTC (permalink / raw)
  To: gregkh
  Cc: stern, balbi, sameo, tony, rogerq, stable, linux-usb, linux-omap,
	linux-kernel

The module alias should be "ehci-omap" and not
"omap-ehci" to match the platform device name.
The omap-ehci module should now autoload correctly.

CC: stable@vger.kernel.org

Signed-off-by: Roger Quadros <rogerq@ti.com>
Acked-by: Alan Stern <stern@rowland.harvard.edu>
---
 drivers/usb/host/ehci-omap.c |    2 +-
 1 files changed, 1 insertions(+), 1 deletions(-)

diff --git a/drivers/usb/host/ehci-omap.c b/drivers/usb/host/ehci-omap.c
index e9d9b09..99899e8 100644
--- a/drivers/usb/host/ehci-omap.c
+++ b/drivers/usb/host/ehci-omap.c
@@ -364,7 +364,7 @@ static const struct hc_driver ehci_omap_hc_driver = {
 	.clear_tt_buffer_complete = ehci_clear_tt_buffer_complete,
 };
 
-MODULE_ALIAS("platform:omap-ehci");
+MODULE_ALIAS("platform:ehci-omap");
 MODULE_AUTHOR("Texas Instruments, Inc.");
 MODULE_AUTHOR("Felipe Balbi <felipe.balbi@nokia.com>");
 
-- 
1.7.4.1


^ permalink raw reply related	[flat|nested] 3+ messages in thread

end of thread, other threads:[~2013-02-14 15:08 UTC | newest]

Thread overview: 3+ messages (download: mbox.gz / follow: Atom feed)
-- links below jump to the message on this page --
2013-02-14 15:08 [PATCH 0/2] usb: bug fixes for ehci-omap for 3.9 Roger Quadros
2013-02-14 15:08 ` [PATCH 1/2] USB: ehci-omap: Don't free gpios that we didn't request Roger Quadros
2013-02-14 15:08 ` [PATCH 2/2] USB: ehci-omap: Fix autoloading of module Roger Quadros

This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for NNTP newsgroup(s).