Input: pwm-beeper - fix - scheduling while atomic
authorManfred Schlaegl <manfred.schlaegl@gmx.at>
Fri, 27 May 2016 23:36:36 +0000 (16:36 -0700)
committerBen Hutchings <ben@decadent.org.uk>
Mon, 22 Aug 2016 21:37:12 +0000 (22:37 +0100)
commit0ab9b883b36507e4ca4e5a0883fcca25c8a9e32c
tree50264d313588aa42391dbbb723bcf5be7c9a2771
parente8025db4dc8593abea2c1f70bb70315790550fe1
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>
[bwh: Backported to 3.2: adjust context]
Signed-off-by: Ben Hutchings <ben@decadent.org.uk>
drivers/input/misc/pwm-beeper.c