summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorTej Parkash <tej.parkash@qlogic.com>2015-05-19 11:51:57 +0200
committerJames Bottomley <JBottomley@Odin.com>2015-06-03 02:14:56 +0200
commit5fc956c243852608db1e4ef74b92bb4445313912 (patch)
tree652dc4d864a330c63decd0175fff72de176aef42
parentscsi: ufs-qcom: enable UFSHCD_QUIRK_BROKEN_UFS_HCI_VERSION (diff)
downloadlinux-5fc956c243852608db1e4ef74b92bb4445313912.tar.xz
linux-5fc956c243852608db1e4ef74b92bb4445313912.zip
bnx2i: Fixed firmware assert, during target logout.
Fix the firmware assert, during target logout in case driver received FIN from target before waiting for asyncronous response. Signed-off-by: Tej Parkash <tej.parkash@qlogic.com> Signed-off-by: Nilesh Javali <nilesh.javali@qlogic.com> Reviewed-by: Mike Christie <michaelc@cs.wisc.edu> Signed-off-by: James Bottomley <JBottomley@Odin.com>
-rw-r--r--drivers/scsi/bnx2i/bnx2i_iscsi.c3
1 files changed, 2 insertions, 1 deletions
diff --git a/drivers/scsi/bnx2i/bnx2i_iscsi.c b/drivers/scsi/bnx2i/bnx2i_iscsi.c
index e53078d03309..1b8a9710e701 100644
--- a/drivers/scsi/bnx2i/bnx2i_iscsi.c
+++ b/drivers/scsi/bnx2i/bnx2i_iscsi.c
@@ -2093,7 +2093,8 @@ int bnx2i_hw_ep_disconnect(struct bnx2i_endpoint *bnx2i_ep)
else
/* wait for option-2 conn teardown */
wait_event_interruptible(bnx2i_ep->ofld_wait,
- bnx2i_ep->state != EP_STATE_DISCONN_START);
+ ((bnx2i_ep->state != EP_STATE_DISCONN_START)
+ && (bnx2i_ep->state != EP_STATE_TCP_FIN_RCVD)));
if (signal_pending(current))
flush_signals(current);