From: Lars-Peter Clausen Date: Thu, 7 Mar 2013 19:53:00 +0000 (+0000) Subject: iio: events: Make iio_push_event() IRQ context save X-Git-Tag: omap-for-v3.10/dt-fixes-for-merge-window~137^2~537^2~8 X-Git-Url: http://git.openpandora.org/cgi-bin/gitweb.cgi?a=commitdiff_plain;h=1b9dc91e41e07125ef2ce7d0a8dde93ce3eaf414;p=pandora-kernel.git iio: events: Make iio_push_event() IRQ context save Currently it is not save to call iio_push_event() from hard IRQ context since the IIO event code uses spin_lock()/spin_unlock() and it is not save to mix calls to spin_lock()/spin_unlock() from different contexts on the same lock. E.g. if the lock is being held in iio_event_chrdev_read() and an interrupts kicks in and the interrupt handler calls iio_push_event() we end uo with a deadlock. This patch updates iio_push_event() to use spin_lock_irqsave()/ spin_unlock_irqstrestore(), since it can be called from both IRQ and non-IRQ context. All other other users of the lock, which are always run in non-IRQ context, are updated to spin_lock_irq()/spin_unlock_irq(). Signed-off-by: Lars-Peter Clausen Signed-off-by: Jonathan Cameron --- Reading git-diff-tree failed