From: Alexander Shishkin Date: Tue, 11 Jun 2013 10:41:48 +0000 (+0300) Subject: usb: chipidea: fix id change handling X-Git-Tag: v3.9.7~6 X-Git-Url: http://git.ipfire.org/cgi-bin/gitweb.cgi?a=commitdiff_plain;h=139f4ebcf7a9f71a55666a3537c16b3eaa7f18f0;p=thirdparty%2Fkernel%2Fstable.git usb: chipidea: fix id change handling commit 0c3f3dc68bb6e6950e8cd7851e7778c550e8dfb4 upstream. Re-enable chipidea irq even if there's no role changing to do. This is a problem since b183c19f ("USB: chipidea: re-order irq handling to avoid unhandled irqs"); when it manifests, chipidea irq gets disabled for good. Signed-off-by: Alexander Shishkin Signed-off-by: Greg Kroah-Hartman --- diff --git a/drivers/usb/chipidea/core.c b/drivers/usb/chipidea/core.c index 57cae1f897b21..246c191a7dc35 100644 --- a/drivers/usb/chipidea/core.c +++ b/drivers/usb/chipidea/core.c @@ -279,8 +279,9 @@ static void ci_role_work(struct work_struct *work) ci_role_stop(ci); ci_role_start(ci, role); - enable_irq(ci->irq); } + + enable_irq(ci->irq); } static ssize_t show_role(struct device *dev, struct device_attribute *attr,