]> git.karo-electronics.de Git - karo-tx-linux.git/commit
bnx2fc: Fix kernel panic when deleting NPIV ports
authorBhanu Prakash Gollapudi <bprakash@broadcom.com>
Fri, 27 May 2011 18:47:27 +0000 (11:47 -0700)
committerGreg Kroah-Hartman <gregkh@suse.de>
Mon, 3 Oct 2011 18:41:05 +0000 (11:41 -0700)
commit49aa932d3fe9c6b175d30d9e9d575f532f650cfc
tree603b42a58f70db9c7444ee752c5ee06f8222226e
parente888ec89ef2ac191e71c79382ba26e0290f7d2ca
bnx2fc: Fix kernel panic when deleting NPIV ports

commit d36b3279e157641c345b12eddb3db78fb42da80f upstream.

Deleting NPIV port causes a kernel panic when the NPIV port is in the same zone
as the physical port and shares the same LUN. This happens due to the fact that
vport destroy and unsolicited ELS are scheduled to run on the same workqueue,
and vport destroy destroys the lport and the unsolicited ELS tries to access
the invalid lport.  This patch fixes this issue by maintaining a list of valid
lports and verifying if the lport is valid or not before accessing it.

Signed-off-by: Bhanu Prakash Gollapudi <bprakash@broadcom.com>
Signed-off-by: James Bottomley <JBottomley@Parallels.com>
Signed-off-by: Greg Kroah-Hartman <gregkh@suse.de>
drivers/scsi/bnx2fc/bnx2fc.h
drivers/scsi/bnx2fc/bnx2fc_fcoe.c
drivers/scsi/bnx2fc/bnx2fc_hwi.c