[SCSI] libfcoe: don't send ELS in FIP mode if no FCF selected
Joe Eykholt [Tue, 3 Nov 2009 19:48:32 +0000 (11:48 -0800)]
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 4d857c2..2aab972 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: