• Eliad Peller's avatar
    wl12xx: prevent scheduling while suspending (WoW enabled) · f44e5868
    Eliad Peller authored
    When WoW is enabled, the interface will stay up and the chip will
    be powered on, so we have to flush/cancel any remaining work, and
    prevent the irq handler from scheduling a new work until the system
    is resumed.
    
    Add 2 new flags:
    * WL1271_FLAG_SUSPENDED - the system is (about to be) suspended.
    * WL1271_FLAG_PENDING_WORK - there is a pending irq work which
       should be scheduled when the system is being resumed.
    
    In order to wake-up the system while getting an irq, we initialize
    the device as wakeup device, and calling pm_wakeup_event() upon
    getting the interrupt (while the system is about to be suspended)
    Signed-off-by: default avatarEliad Peller <eliad@wizery.com>
    Signed-off-by: default avatarLuciano Coelho <coelho@ti.com>
    f44e5868
wl12xx.h 14.8 KB