]> git.baikalelectronics.ru Git - kernel.git/commit
mfd: Fix bus lock interaction for WM831x IRQ set_type() operation
authorMark Brown <broonie@opensource.wolfsonmicro.com>
Thu, 2 Jun 2011 18:18:47 +0000 (19:18 +0100)
committerSamuel Ortiz <sameo@linux.intel.com>
Sun, 31 Jul 2011 21:28:19 +0000 (23:28 +0200)
commit57dc3270105b8d5198bacfff5c1bc810cd7638e3
treeff89c76b4cda114343c01f332aa28fb80095f3db
parent3328ee13fb6921d0b69204397e839db9bc887655
mfd: Fix bus lock interaction for WM831x IRQ set_type() operation

The WM831x IRQ set_type() operation is doing a direct register write when
called but since set_type() is called with the bus lock held this isn't
legal and could cause deadlocks in the IRQ core.

Fix this by posting the updates into an array and syncing in the
bus_sync_unlock() callback.

Signed-off-by: Mark Brown <broonie@opensource.wolfsonmicro.com>
Signed-off-by: Samuel Ortiz <sameo@linux.intel.com>
drivers/mfd/wm831x-irq.c
include/linux/mfd/wm831x/core.h