From: Andreas Larsson Date: Thu, 18 Dec 2014 12:23:23 +0000 (+0100) Subject: sparc32: destroy_context() and switch_mm() needs to disable interrupts. X-Git-Tag: omap-for-v3.19/fixes-rc1~40^2 X-Git-Url: http://git.openpandora.org/cgi-bin/gitweb.cgi?a=commitdiff_plain;h=66d0f7ec9f1038452178b1993fc07fd96d30fd38;p=pandora-kernel.git sparc32: destroy_context() and switch_mm() needs to disable interrupts. Load balancing can be triggered in the critical sections protected by srmmu_context_spinlock in destroy_context() and switch_mm() and can hang the cpu waiting for the rq lock of another cpu that in turn has called switch_mm hangning on srmmu_context_spinlock leading to deadlock. So, disable interrupt while taking srmmu_context_spinlock in destroy_context() and switch_mm() so we don't deadlock. See also commit 77b838fa1ef0 ("[SPARC64]: destroy_context() needs to disable interrupts.") Signed-off-by: Andreas Larsson Signed-off-by: David S. Miller --- Reading git-diff-tree failed