From: Benoit Goby Date: Wed, 11 Aug 2010 23:53:42 +0000 (-0700) Subject: usb: otg: cpcap-otg should return IRQ_NONE when appropriate X-Git-Tag: firefly_0821_release~9834^2~671 X-Git-Url: http://demsky.eecs.uci.edu/git/?a=commitdiff_plain;h=4b81605b118a7b41889d9a0fdc31c4ee44e58362;p=firefly-linux-kernel-4.4.55.git usb: otg: cpcap-otg should return IRQ_NONE when appropriate Change-Id: I94c4cf415778a59dc665e1b5353342067ba4f894 Signed-off-by: Benoit Goby --- diff --git a/drivers/usb/otg/cpcap-otg.c b/drivers/usb/otg/cpcap-otg.c index db1df3b93d3d..b19681a05352 100644 --- a/drivers/usb/otg/cpcap-otg.c +++ b/drivers/usb/otg/cpcap-otg.c @@ -55,9 +55,11 @@ static const char *cpcap_state_name(enum usb_otg_state state) static irqreturn_t cpcap_otg_irq(int irq, void *data) { - if (tegra_legacy_force_irq_status(irq)) + if (tegra_legacy_force_irq_status(irq)) { tegra_legacy_force_irq_clr(irq); - return IRQ_HANDLED; + return IRQ_HANDLED; + } + return IRQ_NONE; } static int cpcap_otg_notify(struct notifier_block *nb, unsigned long event, @@ -92,14 +94,13 @@ static int cpcap_otg_notify(struct notifier_block *nb, unsigned long event, && otg->host) { hcd = (struct usb_hcd *)otg->host; + set_bit(HCD_FLAG_HW_ACCESSIBLE, &hcd->flags); clk_enable(cpcap->clk); val = readl(cpcap->regs + TEGRA_USB_PHY_WAKEUP_REG_OFFSET); val &= ~TEGRA_ID_SW_VALUE; writel(val, cpcap->regs + TEGRA_USB_PHY_WAKEUP_REG_OFFSET); - set_bit(HCD_FLAG_HW_ACCESSIBLE, &hcd->flags); - } else if ((to == OTG_STATE_A_SUSPEND) && (from == OTG_STATE_A_HOST) && otg->host) { val = readl(cpcap->regs + TEGRA_USB_PHY_WAKEUP_REG_OFFSET);