]> git.karo-electronics.de Git - karo-tx-linux.git/commit
qla2xxx: fix race in handling rport deletion during recovery causes panic
authorLaurence Oberman <loberman@redhat.com>
Tue, 25 Nov 2014 14:16:42 +0000 (09:16 -0500)
committerChristoph Hellwig <hch@lst.de>
Mon, 15 Dec 2014 12:34:23 +0000 (13:34 +0100)
commitb9f85b1d32cc55b20984149eacb2e6f4c3aedca3
tree618cc33cdac5df9dbea453183126102078dd9360
parent2311ce4d9c91ed63a46e18f0378f3e406e7e888e
qla2xxx: fix race in handling rport deletion during recovery causes panic

When we have an rport disconnect we race during rport deletion and
re-connection resulting in a panic.  When we do this, we call
fc_remote_port_del() just before we do the calls to re-establish the
session with the FC transport with fc_remote_port_add() and then
fc_remote_port_rolechg().

If we remove the call to fc_remote_port_del() before re-establishing
the connection this prevents the race.  This patch has resolved this
for multiple customers via test kernels.

Suggested by Chad Dupuis, implemented and tested by Laurence Oberman.

Signed-off-by: Laurence Oberman <loberman@redhat.com>
Acked-by: Chad Dupuis <chad.dupuis@qlogic.com>
Signed-off-by: Christoph Hellwig <hch@lst.de>
drivers/scsi/qla2xxx/qla_init.c