rk29_key: call keys_isr when resume
author黄涛 <huangtao@rock-chips.com>
Wed, 5 Dec 2012 10:54:17 +0000 (18:54 +0800)
committer黄涛 <huangtao@rock-chips.com>
Wed, 5 Dec 2012 11:01:37 +0000 (19:01 +0800)
This is patch for commit cdd3cccbd6665f5d8ea248d510cbafc6cf8380f5
keyboard: If the power button is pressed in suspend state, immediately report event

drivers/input/keyboard/rk29_keys.c

index 38663abb1efd5950e406d0d1e944800be240f93c..1eca1d6a81355e4701cc5c8a0789a58c32d02cae 100755 (executable)
@@ -514,6 +514,10 @@ static int keys_resume(struct device *dev)
                                disable_irq_wake(irq);
                        }
                }
+               preempt_disable();
+               if (local_softirq_pending())
+                       do_softirq(); // for call resend_irqs, which may call keys_isr
+               preempt_enable_no_resched();
        }
 
        ddata->in_suspend = false;