[2.6.7.11, BUG] spin_lock_irqsave() unsafe for use with FIQ and no spin_lock_localsave() exists

From: Luke Kenneth Casson Leighton
Date: Tue Apr 26 2005 - 11:24:33 EST


like the subject says.

i utilised spin_lock_irqsave() with a FIQ handler, expecting to be able
to do this:

spin_lock_irqsave(...)
local_fiq_disable()
spin_lock_restoreflags(...)

aaaannnd it caused some weirdo behaviour - not surprisingly because
spin_lock_irqsave() calls local_irq_save() which ONLY saves the
interrupt handler flags - NOT the FIQ handler flags.

a spin_lock_saveflags() which does exactly what spin_lock_irqsave() does
except it calls local_irq_save would be _greatly_ appreciated.

in linux/spinlock.h.

because i'm having to #define one anyway.

tia.

l.

--
--
<a href="http://lkcl.net";>http://lkcl.net</a>
--
-
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to majordomo@xxxxxxxxxxxxxxx
More majordomo info at http://vger.kernel.org/majordomo-info.html
Please read the FAQ at http://www.tux.org/lkml/