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 | |
| 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>
| -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; |
