提交 9e49f6c1 编写于 作者: M Mike Frysinger 提交者: Dmitry Torokhov

Input: bf54x-keys - fix system hang when pressing a key

We need to use the nosync version of disable_irq so that we don't hang in
the IRQ handler as we don't ACK the interrupt until later.  This used to
work regardless, but at some point, the IRQ behavior changed.  Not sure
when exactly.
Signed-off-by: NMike Frysinger <vapier@gentoo.org>
Signed-off-by: NDmitry Torokhov <dtor@mail.ru>
上级 eb8bff85
......@@ -162,7 +162,7 @@ static irqreturn_t bfin_kpad_isr(int irq, void *dev_id)
input_sync(input);
if (bfin_kpad_get_keypressed(bf54x_kpad)) {
disable_irq(bf54x_kpad->irq);
disable_irq_nosync(bf54x_kpad->irq);
bf54x_kpad->lastkey = key;
mod_timer(&bf54x_kpad->timer,
jiffies + bf54x_kpad->keyup_test_jiffies);
......
Markdown is supported
0% .
You are about to add 0 people to the discussion. Proceed with caution.
先完成此消息的编辑!
想要评论请 注册