[SCSI] libfcoe: No solicitation if adv is dropped
authorBhanu Prakash Gollapudi <bprakash@broadcom.com>
Fri, 11 Jun 2010 23:43:44 +0000 (16:43 -0700)
committerJames Bottomley <James.Bottomley@suse.de>
Tue, 27 Jul 2010 17:01:44 +0000 (12:01 -0500)
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>
drivers/scsi/fcoe/libfcoe.c

index 66120f135d990ab293239bc6be0216b3e5c0cf9f..1d5b949d4fd0012d0bac4cf42a9868cc1569f3fc 100644 (file)
@@ -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;