Vitalii Demianets 34cb275283 UIO: Fix concurrency issue
In a SMP case there was a race condition issue between
uio_pdrv_genirq_irqcontrol() running on one CPU and irq handler on
another CPU. Fix it by spin_locking shared resources access inside irq
handler.  Also:
  - Change disable_irq to disable_irq_nosync to avoid deadlock, because
    disable_irq waits for the completion of the irq handler;
  - Change atomic bit-manipulation routines to their non-atomic
    counterparts as we already are guarding the code by spinlock.

Signed-off-by: Vitalii Demianets <vitas@nppfactor.kiev.ua>
Reviewed-by: Pavel Machek <pavel@ucw.cz>
Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
2013-06-24 16:31:21 -07:00
..
2013-05-17 14:31:05 -04:00
2013-05-30 18:27:24 -07:00
2013-06-17 16:08:36 -07:00
2013-05-23 18:24:10 -07:00
2013-05-06 14:59:13 -07:00
2013-06-08 15:50:42 -07:00
2013-05-20 13:38:14 -07:00
2013-06-13 10:13:29 -07:00
2013-06-01 19:53:41 +09:00
2013-06-17 16:43:09 -07:00
2013-06-17 11:54:25 -07:00
2013-05-15 10:58:22 -07:00
2013-06-13 22:12:14 +01:00
2013-05-07 14:04:56 -07:00
2013-05-07 14:02:00 -07:00
2013-06-06 16:34:11 -07:00
2013-06-24 16:31:21 -07:00
2013-06-11 16:18:05 -07:00
2013-06-05 08:54:16 -06:00
2013-06-11 02:46:21 -07:00