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

classic Classic list List threaded Threaded
1 message Options
Reply | Threaded
Open this post in threaded view
|

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

luke.leighton
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 [hidden email]
More majordomo info at  http://vger.kernel.org/majordomo-info.html
Please read the FAQ at  http://www.tux.org/lkml/