usb: host: tegra: Fix a possible int storm on resume from lp0
authorBenoit Goby <benoit@android.com>
Wed, 5 Jan 2011 01:40:30 +0000 (17:40 -0800)
committerBenoit Goby <benoit@android.com>
Wed, 5 Jan 2011 01:54:44 +0000 (17:54 -0800)
usbcore will reenable usb interrupts later once the bus has been
resumed.

Change-Id: If78088bc86710f50293d84234d764655f4bba979
Signed-off-by: Benoit Goby <benoit@android.com>
drivers/usb/host/ehci-tegra.c

index 21c58dfb9035f94af08d8f408e8d5f3adc6469ff..0f83b5e368da89262d933ec5f071ff6fdadebabd 100644 (file)
@@ -35,7 +35,6 @@
 struct tegra_ehci_context {
        bool valid;
        u32 command;
-       u32 intr_enable;
        u32 frame_list;
        u32 async_next;
        u32 txfilltunning;
@@ -215,9 +214,6 @@ static void tegra_ehci_restart(struct usb_hcd *hcd)
        /* flush posted writes */
        ehci_readl(ehci, &ehci->regs->command);
        up_write(&ehci_cf_port_reset_rwsem);
-
-       /* Turn On Interrupts */
-       ehci_writel(ehci, INTR_MASK, &ehci->regs->intr_enable);
 }
 
 static int tegra_usb_suspend(struct usb_hcd *hcd)
@@ -237,7 +233,6 @@ static int tegra_usb_suspend(struct usb_hcd *hcd)
                context->valid = false;
        } else {
                context->command        = readl(&hw->command);
-               context->intr_enable    = readl(&hw->intr_enable);
                context->frame_list     = readl(&hw->frame_list);
                context->async_next     = readl(&hw->async_next);
                context->txfilltunning  = readl(&hw->reserved[2]);
@@ -333,10 +328,6 @@ static int tegra_usb_resume(struct usb_hcd *hcd)
                }
        }
 
-       /* Restore interrupt register */
-       writel(context->intr_enable, &hw->intr_enable);
-       udelay(10);
-
        return 0;
 
 restart: