Input: pwm-beeper - fix - scheduling while atomic
authorManfred Schlaegl <manfred.schlaegl@gmx.at>
Fri, 27 May 2016 23:36:36 +0000 (16:36 -0700)
committerGreg Kroah-Hartman <gregkh@linuxfoundation.org>
Wed, 1 Jun 2016 19:15:49 +0000 (12:15 -0700)
commit02c23447d5e30642ddcbaec014dedcf62f6e2d92
tree4b75bad89b24fad6d7e004f1fde455da6b03d4b7
parentc5215990d6ce401cefca648bff578a0a33667f75
Input: pwm-beeper - fix - scheduling while atomic

commit f49cf3b8b4c841457244c461c66186a719e13bcc upstream.

Pwm config may sleep so defer it using a worker.

On a Freescale i.MX53 based board we ran into "BUG: scheduling while
atomic" because input_inject_event locks interrupts, but
imx_pwm_config_v2 sleeps.

Tested on Freescale i.MX53 SoC with 4.6.0.

Signed-off-by: Manfred Schlaegl <manfred.schlaegl@gmx.at>
Signed-off-by: Dmitry Torokhov <dmitry.torokhov@gmail.com>
Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
drivers/input/misc/pwm-beeper.c