diff options
author | Maulik Mankad <x0082077@ti.com> | 2010-06-15 05:10:27 -0400 |
---|---|---|
committer | Greg Kroah-Hartman <gregkh@suse.de> | 2010-06-30 11:16:05 -0400 |
commit | 2bb14cbf04ded4b9e394a6ba9e4f06b82fbac8b2 (patch) | |
tree | 27cec8ec131107c3c4bd9a642905d1b2730bed29 /drivers/usb/musb | |
parent | a5797a686f4c7cbced782959509d735cfa1344b1 (diff) |
usb: musb: Fix a bug by making suspend interrupt available in device mode
As a part of aligning the ISR code for MUSB with the specs, the
ISR code was re-written.
See Commit 1c25fda4a09e8229800979986ef399401053b46e (usb: musb: handle
irqs in the order dictated by programming guide)
With this the suspend interrupt came accidently under CONFIG_USB_MUSB_HDRC_HCD.
The fix brings suspend interrupt handling outside
CONFIG_USB_MUSB_HDRC_HCD.
Signed-off-by: Maulik Mankad <x0082077@ti.com>
Cc: David Brownell <david-b@pacbell.net>
Acked-by: Felipe Balbi <felipe.balbi@nokia.com>
Cc: stable <stable@kernel.org> [.34]
Signed-off-by: Greg Kroah-Hartman <gregkh@suse.de>
Diffstat (limited to 'drivers/usb/musb')
-rw-r--r-- | drivers/usb/musb/musb_core.c | 3 |
1 files changed, 2 insertions, 1 deletions
diff --git a/drivers/usb/musb/musb_core.c b/drivers/usb/musb/musb_core.c index fad70bc83555..56b6debaf2d9 100644 --- a/drivers/usb/musb/musb_core.c +++ b/drivers/usb/musb/musb_core.c | |||
@@ -642,7 +642,7 @@ static irqreturn_t musb_stage0_irq(struct musb *musb, u8 int_usb, | |||
642 | handled = IRQ_HANDLED; | 642 | handled = IRQ_HANDLED; |
643 | } | 643 | } |
644 | 644 | ||
645 | 645 | #endif | |
646 | if (int_usb & MUSB_INTR_SUSPEND) { | 646 | if (int_usb & MUSB_INTR_SUSPEND) { |
647 | DBG(1, "SUSPEND (%s) devctl %02x power %02x\n", | 647 | DBG(1, "SUSPEND (%s) devctl %02x power %02x\n", |
648 | otg_state_string(musb), devctl, power); | 648 | otg_state_string(musb), devctl, power); |
@@ -705,6 +705,7 @@ static irqreturn_t musb_stage0_irq(struct musb *musb, u8 int_usb, | |||
705 | } | 705 | } |
706 | } | 706 | } |
707 | 707 | ||
708 | #ifdef CONFIG_USB_MUSB_HDRC_HCD | ||
708 | if (int_usb & MUSB_INTR_CONNECT) { | 709 | if (int_usb & MUSB_INTR_CONNECT) { |
709 | struct usb_hcd *hcd = musb_to_hcd(musb); | 710 | struct usb_hcd *hcd = musb_to_hcd(musb); |
710 | void __iomem *mbase = musb->mregs; | 711 | void __iomem *mbase = musb->mregs; |