OSDN Git Service

extcon: usb-gpio: Don't miss event during suspend/resume
authorRoger Quadros <rogerq@ti.com>
Mon, 11 Apr 2016 14:04:45 +0000 (17:04 +0300)
committerGreg Kroah-Hartman <gregkh@linuxfoundation.org>
Wed, 3 Apr 2019 04:23:18 +0000 (06:23 +0200)
commit 04c080080855ce84dcd490a2e04805608a21085d upstream.

Pin state might have changed during suspend/resume while
our interrupts were disabled and if device doesn't support wakeup.

Scan for change during resume for such case.

Signed-off-by: Roger Quadros <rogerq@ti.com>
Signed-off-by: Chanwoo Choi <cw00.choi@samsung.com>
Signed-off-by: Arnd Bergmann <arnd@arndb.de>
Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
drivers/extcon/extcon-usb-gpio.c

index 2b2fecf..c6a7c9d 100644 (file)
@@ -192,6 +192,9 @@ static int usb_extcon_resume(struct device *dev)
        }
 
        enable_irq(info->id_irq);
+       if (!device_may_wakeup(dev))
+               queue_delayed_work(system_power_efficient_wq,
+                                  &info->wq_detcable, 0);
 
        return ret;
 }