summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorBhanu Prakash Gollapudi <bprakash@broadcom.com>2010-06-11 23:43:44 (GMT)
committerJames Bottomley <James.Bottomley@suse.de>2010-07-27 17:01:44 (GMT)
commit516a648631c912e84e0035590f98eef1d716f4ea (patch)
treec5318ca76eb881cbdb4a6e2d01d039b2d47648ef
parent1508f3ecd991ecbf272e08f5ee70d2618f49159e (diff)
downloadlinux-516a648631c912e84e0035590f98eef1d716f4ea.tar.xz
[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>
-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 66120f1..1d5b949 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;