QLogic qla2xxx driver update available (v8.00.00b4).
Quoted 6 lines · Andrew
Quoted 1 line
-
qla2x00_intr_handlershould usespin_lock, notspin_lock_irqsaveAre you sure about that? I'll need to refresh my interrupt handling know-how...
It's an optimization that is used by many drivers:
Interrupt handlers are never reentered - if you are within qla2x00_intr_handler handling irq x, then it's guaranteed that the function won't be reentered by another occurance of the same interrupt. If your driver registers only one interrupt handler, then you can skip disabling the local interrupts - a deadlock is not possible.
You need _irqsave if the spinlock is shared between multiple instances of the hba, with different interrupts (i.e. it's possible that qla2x00_intr_handler is called for irq y while handling irq x).
--
Manfred