On an SMP machine we must use spin_lock_irqsave and not spin_lock_irq from interrupt context.
spin_lock_irqsave
spin_lock_irq
Why would we want to save the flags (which