diff options
Diffstat (limited to 'drivers/net/ethernet/chelsio/cxgb4')
-rw-r--r-- | drivers/net/ethernet/chelsio/cxgb4/cxgb4_main.c | 2 | ||||
-rw-r--r-- | drivers/net/ethernet/chelsio/cxgb4/l2t.c | 4 | ||||
-rw-r--r-- | drivers/net/ethernet/chelsio/cxgb4/t4_hw.c | 2 |
3 files changed, 6 insertions, 2 deletions
diff --git a/drivers/net/ethernet/chelsio/cxgb4/cxgb4_main.c b/drivers/net/ethernet/chelsio/cxgb4/cxgb4_main.c index 6fe58913403a..24e16e3301e0 100644 --- a/drivers/net/ethernet/chelsio/cxgb4/cxgb4_main.c +++ b/drivers/net/ethernet/chelsio/cxgb4/cxgb4_main.c | |||
@@ -5870,6 +5870,8 @@ static void print_port_info(const struct net_device *dev) | |||
5870 | spd = " 2.5 GT/s"; | 5870 | spd = " 2.5 GT/s"; |
5871 | else if (adap->params.pci.speed == PCI_EXP_LNKSTA_CLS_5_0GB) | 5871 | else if (adap->params.pci.speed == PCI_EXP_LNKSTA_CLS_5_0GB) |
5872 | spd = " 5 GT/s"; | 5872 | spd = " 5 GT/s"; |
5873 | else if (adap->params.pci.speed == PCI_EXP_LNKSTA_CLS_8_0GB) | ||
5874 | spd = " 8 GT/s"; | ||
5873 | 5875 | ||
5874 | if (pi->link_cfg.supported & FW_PORT_CAP_SPEED_100M) | 5876 | if (pi->link_cfg.supported & FW_PORT_CAP_SPEED_100M) |
5875 | bufp += sprintf(bufp, "100/"); | 5877 | bufp += sprintf(bufp, "100/"); |
diff --git a/drivers/net/ethernet/chelsio/cxgb4/l2t.c b/drivers/net/ethernet/chelsio/cxgb4/l2t.c index 81e8402a74b4..8a96572fdde0 100644 --- a/drivers/net/ethernet/chelsio/cxgb4/l2t.c +++ b/drivers/net/ethernet/chelsio/cxgb4/l2t.c | |||
@@ -154,7 +154,7 @@ static int write_l2e(struct adapter *adap, struct l2t_entry *e, int sync) | |||
154 | req->params = htons(L2T_W_PORT(e->lport) | L2T_W_NOREPLY(!sync)); | 154 | req->params = htons(L2T_W_PORT(e->lport) | L2T_W_NOREPLY(!sync)); |
155 | req->l2t_idx = htons(e->idx); | 155 | req->l2t_idx = htons(e->idx); |
156 | req->vlan = htons(e->vlan); | 156 | req->vlan = htons(e->vlan); |
157 | if (e->neigh) | 157 | if (e->neigh && !(e->neigh->dev->flags & IFF_LOOPBACK)) |
158 | memcpy(e->dmac, e->neigh->ha, sizeof(e->dmac)); | 158 | memcpy(e->dmac, e->neigh->ha, sizeof(e->dmac)); |
159 | memcpy(req->dst_mac, e->dmac, sizeof(req->dst_mac)); | 159 | memcpy(req->dst_mac, e->dmac, sizeof(req->dst_mac)); |
160 | 160 | ||
@@ -394,6 +394,8 @@ struct l2t_entry *cxgb4_l2t_get(struct l2t_data *d, struct neighbour *neigh, | |||
394 | if (e) { | 394 | if (e) { |
395 | spin_lock(&e->lock); /* avoid race with t4_l2t_free */ | 395 | spin_lock(&e->lock); /* avoid race with t4_l2t_free */ |
396 | e->state = L2T_STATE_RESOLVING; | 396 | e->state = L2T_STATE_RESOLVING; |
397 | if (neigh->dev->flags & IFF_LOOPBACK) | ||
398 | memcpy(e->dmac, physdev->dev_addr, sizeof(e->dmac)); | ||
397 | memcpy(e->addr, addr, addr_len); | 399 | memcpy(e->addr, addr, addr_len); |
398 | e->ifindex = ifidx; | 400 | e->ifindex = ifidx; |
399 | e->hash = hash; | 401 | e->hash = hash; |
diff --git a/drivers/net/ethernet/chelsio/cxgb4/t4_hw.c b/drivers/net/ethernet/chelsio/cxgb4/t4_hw.c index fb2fe65903c2..bba67681aeaa 100644 --- a/drivers/net/ethernet/chelsio/cxgb4/t4_hw.c +++ b/drivers/net/ethernet/chelsio/cxgb4/t4_hw.c | |||
@@ -682,7 +682,7 @@ enum { | |||
682 | SF_RD_ID = 0x9f, /* read ID */ | 682 | SF_RD_ID = 0x9f, /* read ID */ |
683 | SF_ERASE_SECTOR = 0xd8, /* erase sector */ | 683 | SF_ERASE_SECTOR = 0xd8, /* erase sector */ |
684 | 684 | ||
685 | FW_MAX_SIZE = 512 * 1024, | 685 | FW_MAX_SIZE = 16 * SF_SEC_SIZE, |
686 | }; | 686 | }; |
687 | 687 | ||
688 | /** | 688 | /** |