From: Vitalii Demianets Date: Thu, 20 Jun 2013 13:36:00 +0000 (+0300) Subject: UIO: Fix concurrency issue X-Git-Tag: omap-for-v3.11/fixes-for-merge-window~75^2~7 X-Git-Url: http://git.openpandora.org/cgi-bin/gitweb.cgi?a=commitdiff_plain;h=34cb27528398738bea94852b99ef8fb05944ec41;p=pandora-kernel.git 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 Reviewed-by: Pavel Machek Signed-off-by: Greg Kroah-Hartman --- Reading git-diff-tree failed