Re: [ANNOUNCE] QLogic qla2xxx driver update available (v8.00.00b4).

Manfred Spraul
2003-07-19T00:57:06Z

Andrew wrote:

>> - qla2x00_intr_handler should use spin_lock, not spin_lock_irqsave
>
>Are 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