From 4b81605b118a7b41889d9a0fdc31c4ee44e58362 Mon Sep 17 00:00:00 2001 From: Benoit Goby Date: Wed, 11 Aug 2010 16:53:42 -0700 Subject: [PATCH] usb: otg: cpcap-otg should return IRQ_NONE when appropriate Change-Id: I94c4cf415778a59dc665e1b5353342067ba4f894 Signed-off-by: Benoit Goby --- drivers/usb/otg/cpcap-otg.c | 9 +++++---- 1 file changed, 5 insertions(+), 4 deletions(-) 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); -- 2.34.1