[SCSI] libfcoe: don't send ELS in FIP mode if no FCF selected
authorJoe Eykholt <jeykholt@cisco.com>
Tue, 3 Nov 2009 19:48:32 +0000 (11:48 -0800)
committerJames Bottomley <James.Bottomley@suse.de>
Fri, 4 Dec 2009 18:01:13 +0000 (12:01 -0600)
If link is up, but no FCF is selected, don't send any ELS frames.

This came up when an fnic received a multicast advertisement but
no solitited advertisments, so no FCF was selected.  It tried
to send FLOGIs anyway.

Signed-off-by: Joe Eykholt <jeykholt@cisco.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 4d857c2aef6c45667a5a303259a0939af167d114..2aab97221c6ca9df28ae1ebbcf49882133d9f7c4 100644 (file)
@@ -500,6 +500,8 @@ int fcoe_ctlr_els_send(struct fcoe_ctlr *fip, struct fc_lport *lport,
 
        if (fip->state == FIP_ST_NON_FIP)
                return 0;
+       if (!fip->sel_fcf)
+               goto drop;
 
        switch (op) {
        case ELS_FLOGI: