aboutsummaryrefslogtreecommitdiff
path: root/lib/string_helpers.c
diff options
context:
space:
mode:
authorStephen Boyd <[email protected]>2013-01-14 19:50:42 +0100
committerRussell King <[email protected]>2013-01-16 16:51:10 +0000
commit568dca15aa2a0f4ddee255894ec393a159f13147 (patch)
treef60bbd141dbda5325c1cb005920b43c08f03243e /lib/string_helpers.c
parent8a3a180d21793f2e4386b3cb61c48322564fc80a (diff)
ARM: 7627/1: Predicate preempt logic on PREEMP_COUNT not PREEMPT alone
Patrik Kluba reports that the preempt count becomes invalid due to the preempt_enable() call being unbalanced with a preempt_disable() call in the vfp assembly routines. This happens because preempt_enable() and preempt_disable() update preempt counts under PREEMPT_COUNT=y but the vfp assembly routines do so under PREEMPT=y. In a configuration where PREEMPT=n and DEBUG_ATOMIC_SLEEP=y, PREEMPT_COUNT=y and so the preempt_enable() call in VFP_bounce() keeps subtracting from the preempt count until it goes negative. Fix this by always using PREEMPT_COUNT to decided when to update preempt counts in the ARM assembly code. Signed-off-by: Stephen Boyd <[email protected]> Reported-by: Patrik Kluba <[email protected]> Tested-by: Patrik Kluba <[email protected]> Cc: <[email protected]> # 2.6.30 Signed-off-by: Russell King <[email protected]>
Diffstat (limited to 'lib/string_helpers.c')
0 files changed, 0 insertions, 0 deletions