]> 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)
commitac0f24d21d9a99950b91ed17fce050e45454b416
treeff89c76b4cda114343c01f332aa28fb80095f3db
parent8083813c0b93c4a53963eebe9922e29ea0a0250e
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