qla2xxx: Fix hardware lock/unlock issue causing kernel panic.
[ Upstream commit
ef86cb2059a14b4024c7320999ee58e938873032 ]
This patch fixes a kernel panic for qla2xxx Target core
Module driver introduced by a fix in the qla2xxx initiator code.
Commit
ef86cb2 ("qla2xxx: Mark port lost when we receive an RSCN for it.")
introduced the regression for qla2xxx Target driver.
Stack trace will have following signature
--- <NMI exception stack> ---
[
ffff88081faa3cc8] _raw_spin_lock_irqsave at
ffffffff815b1f03
[
ffff88081faa3cd0] qlt_fc_port_deleted at
ffffffffa096ccd0 [qla2xxx]
[
ffff88081faa3d20] qla2x00_schedule_rport_del at
ffffffffa0913831[qla2xxx]
[
ffff88081faa3d50] qla2x00_mark_device_lost at
ffffffffa09159c5[qla2xxx]
[
ffff88081faa3db0] qla2x00_async_event at
ffffffffa0938d59 [qla2xxx]
[
ffff88081faa3e30] qla24xx_msix_default at
ffffffffa093a326 [qla2xxx]
[
ffff88081faa3e90] handle_irq_event_percpu at
ffffffff810a7b8d
[
ffff88081faa3ee0] handle_irq_event at
ffffffff810a7d32
[
ffff88081faa3f10] handle_edge_irq at
ffffffff810ab6b9
[
ffff88081faa3f30] handle_irq at
ffffffff8100619c
[
ffff88081faa3f70] do_IRQ at
ffffffff815b4b1c
--- <IRQ stack> ---
Cc: <stable@vger.kernel.org> # v3.18+
Signed-off-by: Saurav Kashyap <saurav.kashyap@qlogic.com>
Signed-off-by: Himanshu Madhani <himanshu.madhani@qlogic.com>
Reviewed-by: Nicholas Bellinger <nab@linux-iscsi.org>
Signed-off-by: Nicholas Bellinger <nab@linux-iscsi.org>