summaryrefslogtreecommitdiffstats
path: root/drivers/mmc/host/mmci.c
diff options
context:
space:
mode:
authorGary King2010-07-29 18:37:20 +0200
committerRussell King2010-07-31 00:16:07 +0200
commit831e8047eb2af310184a9d4d9e749f3de119ae39 (patch)
treef9fd2e3982796a50e2d2b9374c80ba0c1c4204bb /drivers/mmc/host/mmci.c
parentARM: Add barriers to io{read,write}{8,16,32} accessors as well (diff)
downloadkernel-qcow2-linux-831e8047eb2af310184a9d4d9e749f3de119ae39.tar.gz
kernel-qcow2-linux-831e8047eb2af310184a9d4d9e749f3de119ae39.tar.xz
kernel-qcow2-linux-831e8047eb2af310184a9d4d9e749f3de119ae39.zip
ARM: 6279/1: highmem: fix SMP preemption bug in kmap_high_l1_vipt
smp_processor_id() must not be called from a preemptible context (this is checked by CONFIG_DEBUG_PREEMPT). kmap_high_l1_vipt() was doing so. This lead to a problem where the wrong per_cpu kmap_high_l1_vipt_depth could be incremented, causing a BUG_ON(*depth <= 0); in kunmap_high_l1_vipt(). The solution is to move the call to smp_processor_id() after the call to preempt_disable(). Originally by: Andrew Howe <ahowe@nvidia.com> Signed-off-by: Gary King <gking@nvidia.com> Acked-by: Nicolas Pitre <nico.as.pitre@linaro.org> Signed-off-by: Russell King <rmk+kernel@arm.linux.org.uk>
Diffstat (limited to 'drivers/mmc/host/mmci.c')
0 files changed, 0 insertions, 0 deletions