aboutsummaryrefslogtreecommitdiffstats
path: root/drivers/scsi/fcoe
diff options
context:
space:
mode:
Diffstat (limited to 'drivers/scsi/fcoe')
-rw-r--r--drivers/scsi/fcoe/libfcoe.c6
1 files changed, 3 insertions, 3 deletions
diff --git a/drivers/scsi/fcoe/libfcoe.c b/drivers/scsi/fcoe/libfcoe.c
index 11ae5c94608b..d8ea04a29199 100644
--- a/drivers/scsi/fcoe/libfcoe.c
+++ b/drivers/scsi/fcoe/libfcoe.c
@@ -449,7 +449,7 @@ static int fcoe_ctlr_encaps(struct fcoe_ctlr *fip,
449 memset(mac, 0, sizeof(mac)); 449 memset(mac, 0, sizeof(mac));
450 mac->fd_desc.fip_dtype = FIP_DT_MAC; 450 mac->fd_desc.fip_dtype = FIP_DT_MAC;
451 mac->fd_desc.fip_dlen = sizeof(*mac) / FIP_BPW; 451 mac->fd_desc.fip_dlen = sizeof(*mac) / FIP_BPW;
452 if (dtype != FIP_DT_FLOGI) 452 if (dtype != FIP_DT_FLOGI && dtype != FIP_DT_FDISC)
453 memcpy(mac->fd_mac, fip->data_src_addr, ETH_ALEN); 453 memcpy(mac->fd_mac, fip->data_src_addr, ETH_ALEN);
454 else if (fip->spma) 454 else if (fip->spma)
455 memcpy(mac->fd_mac, fip->ctl_src_addr, ETH_ALEN); 455 memcpy(mac->fd_mac, fip->ctl_src_addr, ETH_ALEN);
@@ -865,8 +865,8 @@ static void fcoe_ctlr_recv_els(struct fcoe_ctlr *fip, struct sk_buff *skb)
865 goto drop; 865 goto drop;
866 els_op = *(u8 *)(fh + 1); 866 els_op = *(u8 *)(fh + 1);
867 867
868 if (els_dtype == FIP_DT_FLOGI && sub == FIP_SC_REP && 868 if ((els_dtype == FIP_DT_FLOGI || els_dtype == FIP_DT_FDISC) &&
869 fip->flogi_oxid == ntohs(fh->fh_ox_id) && 869 sub == FIP_SC_REP && fip->flogi_oxid == ntohs(fh->fh_ox_id) &&
870 els_op == ELS_LS_ACC && is_valid_ether_addr(granted_mac)) { 870 els_op == ELS_LS_ACC && is_valid_ether_addr(granted_mac)) {
871 fip->flogi_oxid = FC_XID_UNKNOWN; 871 fip->flogi_oxid = FC_XID_UNKNOWN;
872 fip->update_mac(fip, fip->data_src_addr, granted_mac); 872 fip->update_mac(fip, fip->data_src_addr, granted_mac);