mirror of
https://github.com/torvalds/linux.git
synced 2024-12-25 04:11:49 +00:00
bnx2: Update vlan_features
[PATCH net-next-2.6] bnx2: Update vlan_features In order to get full use of some advanced features of BNX2, we now need to fill dev->vlan_features. Patch successfully tested with vlan devices built on top of bonding. (bond0 : one bnx2 slave, one tg3 slave (not yet vlan_features enabled) Signed-off-by: Eric Dumazet <eric.dumazet@gmail.com> Acked-by: Michael Chan <mchan@broadcom.com> Signed-off-by: David S. Miller <davem@davemloft.net>
This commit is contained in:
parent
51def0bea9
commit
72dccb01e8
@ -8023,6 +8023,13 @@ static const struct net_device_ops bnx2_netdev_ops = {
|
||||
#endif
|
||||
};
|
||||
|
||||
static void inline vlan_features_add(struct net_device *dev, unsigned long flags)
|
||||
{
|
||||
#ifdef BCM_VLAN
|
||||
dev->vlan_features |= flags;
|
||||
#endif
|
||||
}
|
||||
|
||||
static int __devinit
|
||||
bnx2_init_one(struct pci_dev *pdev, const struct pci_device_id *ent)
|
||||
{
|
||||
@ -8064,16 +8071,20 @@ bnx2_init_one(struct pci_dev *pdev, const struct pci_device_id *ent)
|
||||
memcpy(dev->perm_addr, bp->mac_addr, 6);
|
||||
|
||||
dev->features |= NETIF_F_IP_CSUM | NETIF_F_SG;
|
||||
if (CHIP_NUM(bp) == CHIP_NUM_5709)
|
||||
vlan_features_add(dev, NETIF_F_IP_CSUM | NETIF_F_SG);
|
||||
if (CHIP_NUM(bp) == CHIP_NUM_5709) {
|
||||
dev->features |= NETIF_F_IPV6_CSUM;
|
||||
|
||||
vlan_features_add(dev, NETIF_F_IPV6_CSUM);
|
||||
}
|
||||
#ifdef BCM_VLAN
|
||||
dev->features |= NETIF_F_HW_VLAN_TX | NETIF_F_HW_VLAN_RX;
|
||||
#endif
|
||||
dev->features |= NETIF_F_TSO | NETIF_F_TSO_ECN;
|
||||
if (CHIP_NUM(bp) == CHIP_NUM_5709)
|
||||
vlan_features_add(dev, NETIF_F_TSO | NETIF_F_TSO_ECN);
|
||||
if (CHIP_NUM(bp) == CHIP_NUM_5709) {
|
||||
dev->features |= NETIF_F_TSO6;
|
||||
|
||||
vlan_features_add(dev, NETIF_F_TSO6);
|
||||
}
|
||||
if ((rc = register_netdev(dev))) {
|
||||
dev_err(&pdev->dev, "Cannot register net device\n");
|
||||
goto error;
|
||||
|
Loading…
Reference in New Issue
Block a user