diff options
Diffstat (limited to 'drivers')
-rw-r--r-- | drivers/net/bnx2.c | 28 |
1 files changed, 14 insertions, 14 deletions
diff --git a/drivers/net/bnx2.c b/drivers/net/bnx2.c index 679ee669e1e0..cffdec3d5b5a 100644 --- a/drivers/net/bnx2.c +++ b/drivers/net/bnx2.c | |||
@@ -4350,6 +4350,8 @@ bnx2_open(struct net_device *dev) | |||
4350 | struct bnx2 *bp = netdev_priv(dev); | 4350 | struct bnx2 *bp = netdev_priv(dev); |
4351 | int rc; | 4351 | int rc; |
4352 | 4352 | ||
4353 | netif_carrier_off(dev); | ||
4354 | |||
4353 | bnx2_set_power_state(bp, PCI_D0); | 4355 | bnx2_set_power_state(bp, PCI_D0); |
4354 | bnx2_disable_int(bp); | 4356 | bnx2_disable_int(bp); |
4355 | 4357 | ||
@@ -6086,6 +6088,18 @@ bnx2_init_one(struct pci_dev *pdev, const struct pci_device_id *ent) | |||
6086 | dev->poll_controller = poll_bnx2; | 6088 | dev->poll_controller = poll_bnx2; |
6087 | #endif | 6089 | #endif |
6088 | 6090 | ||
6091 | pci_set_drvdata(pdev, dev); | ||
6092 | |||
6093 | memcpy(dev->dev_addr, bp->mac_addr, 6); | ||
6094 | memcpy(dev->perm_addr, bp->mac_addr, 6); | ||
6095 | bp->name = board_info[ent->driver_data].name; | ||
6096 | |||
6097 | dev->features |= NETIF_F_IP_CSUM | NETIF_F_SG; | ||
6098 | #ifdef BCM_VLAN | ||
6099 | dev->features |= NETIF_F_HW_VLAN_TX | NETIF_F_HW_VLAN_RX; | ||
6100 | #endif | ||
6101 | dev->features |= NETIF_F_TSO | NETIF_F_TSO_ECN; | ||
6102 | |||
6089 | if ((rc = register_netdev(dev))) { | 6103 | if ((rc = register_netdev(dev))) { |
6090 | dev_err(&pdev->dev, "Cannot register net device\n"); | 6104 | dev_err(&pdev->dev, "Cannot register net device\n"); |
6091 | if (bp->regview) | 6105 | if (bp->regview) |
@@ -6097,11 +6111,6 @@ bnx2_init_one(struct pci_dev *pdev, const struct pci_device_id *ent) | |||
6097 | return rc; | 6111 | return rc; |
6098 | } | 6112 | } |
6099 | 6113 | ||
6100 | pci_set_drvdata(pdev, dev); | ||
6101 | |||
6102 | memcpy(dev->dev_addr, bp->mac_addr, 6); | ||
6103 | memcpy(dev->perm_addr, bp->mac_addr, 6); | ||
6104 | bp->name = board_info[ent->driver_data].name, | ||
6105 | printk(KERN_INFO "%s: %s (%c%d) PCI%s %s %dMHz found at mem %lx, " | 6114 | printk(KERN_INFO "%s: %s (%c%d) PCI%s %s %dMHz found at mem %lx, " |
6106 | "IRQ %d, ", | 6115 | "IRQ %d, ", |
6107 | dev->name, | 6116 | dev->name, |
@@ -6119,15 +6128,6 @@ bnx2_init_one(struct pci_dev *pdev, const struct pci_device_id *ent) | |||
6119 | printk("%2.2x", dev->dev_addr[i]); | 6128 | printk("%2.2x", dev->dev_addr[i]); |
6120 | printk("\n"); | 6129 | printk("\n"); |
6121 | 6130 | ||
6122 | dev->features |= NETIF_F_SG; | ||
6123 | dev->features |= NETIF_F_IP_CSUM; | ||
6124 | #ifdef BCM_VLAN | ||
6125 | dev->features |= NETIF_F_HW_VLAN_TX | NETIF_F_HW_VLAN_RX; | ||
6126 | #endif | ||
6127 | dev->features |= NETIF_F_TSO | NETIF_F_TSO_ECN; | ||
6128 | |||
6129 | netif_carrier_off(bp->dev); | ||
6130 | |||
6131 | return 0; | 6131 | return 0; |
6132 | } | 6132 | } |
6133 | 6133 | ||