aboutsummaryrefslogtreecommitdiffstats
path: root/drivers/scsi/fcoe
diff options
context:
space:
mode:
authorBhanu Prakash Gollapudi <bprakash@broadcom.com>2010-06-11 16:43:44 -0700
committerJames Bottomley <James.Bottomley@suse.de>2010-07-27 12:01:44 -0500
commit516a648631c912e84e0035590f98eef1d716f4ea (patch)
treec5318ca76eb881cbdb4a6e2d01d039b2d47648ef /drivers/scsi/fcoe
parent[SCSI] libfcoe: Avoid hang when receiving non-critical descriptors (diff)
downloadlinux-dev-516a648631c912e84e0035590f98eef1d716f4ea.tar.xz
linux-dev-516a648631c912e84e0035590f98eef1d716f4ea.zip
[SCSI] libfcoe: No solicitation if adv is dropped
Host does not send discovery solicitation messages if Disc. Adv from FCF are dropped. It restarts sending solicitation only after receiving a Discovery Adv. from FCF. Fix is to restart solicitation immediately after CVL processing. Signed-off-by: Bhanu Prakash Gollapudi <bprakash@broadcom.com> Signed-off-by: Robert Love <robert.w.love@intel.com> Signed-off-by: James Bottomley <James.Bottomley@suse.de>
Diffstat (limited to 'drivers/scsi/fcoe')
-rw-r--r--drivers/scsi/fcoe/libfcoe.c5
1 files changed, 4 insertions, 1 deletions
diff --git a/drivers/scsi/fcoe/libfcoe.c b/drivers/scsi/fcoe/libfcoe.c
index 66120f135d99..1d5b949d4fd0 100644
--- a/drivers/scsi/fcoe/libfcoe.c
+++ b/drivers/scsi/fcoe/libfcoe.c
@@ -1232,8 +1232,11 @@ static void fcoe_ctlr_timer_work(struct work_struct *work)
fip->reset_req = 0;
spin_unlock_bh(&fip->lock);
- if (reset)
+ if (reset) {
fc_lport_reset(fip->lp);
+ /* restart things with a solicitation */
+ fcoe_ctlr_solicit(fip, NULL);
+ }
if (fip->send_ctlr_ka) {
fip->send_ctlr_ka = 0;