diff options
Diffstat (limited to 'drivers/net/benet/be_main.c')
-rw-r--r-- | drivers/net/benet/be_main.c | 27 |
1 files changed, 15 insertions, 12 deletions
diff --git a/drivers/net/benet/be_main.c b/drivers/net/benet/be_main.c index 6d5e81f7046f..1f941f027718 100644 --- a/drivers/net/benet/be_main.c +++ b/drivers/net/benet/be_main.c | |||
@@ -1620,19 +1620,22 @@ static int be_open(struct net_device *netdev) | |||
1620 | static int be_setup(struct be_adapter *adapter) | 1620 | static int be_setup(struct be_adapter *adapter) |
1621 | { | 1621 | { |
1622 | struct net_device *netdev = adapter->netdev; | 1622 | struct net_device *netdev = adapter->netdev; |
1623 | u32 if_flags; | 1623 | u32 cap_flags, en_flags; |
1624 | int status; | 1624 | int status; |
1625 | 1625 | ||
1626 | if_flags = BE_IF_FLAGS_BROADCAST | BE_IF_FLAGS_PROMISCUOUS | | 1626 | cap_flags = BE_IF_FLAGS_UNTAGGED | BE_IF_FLAGS_BROADCAST | |
1627 | BE_IF_FLAGS_MCAST_PROMISCUOUS | BE_IF_FLAGS_UNTAGGED | | 1627 | BE_IF_FLAGS_MCAST_PROMISCUOUS | |
1628 | BE_IF_FLAGS_PASS_L3L4_ERRORS; | 1628 | BE_IF_FLAGS_PROMISCUOUS | |
1629 | status = be_cmd_if_create(adapter, if_flags, netdev->dev_addr, | 1629 | BE_IF_FLAGS_PASS_L3L4_ERRORS; |
1630 | false/* pmac_invalid */, &adapter->if_handle, | 1630 | en_flags = BE_IF_FLAGS_UNTAGGED | BE_IF_FLAGS_BROADCAST | |
1631 | &adapter->pmac_id); | 1631 | BE_IF_FLAGS_PASS_L3L4_ERRORS; |
1632 | |||
1633 | status = be_cmd_if_create(adapter, cap_flags, en_flags, | ||
1634 | netdev->dev_addr, false/* pmac_invalid */, | ||
1635 | &adapter->if_handle, &adapter->pmac_id); | ||
1632 | if (status != 0) | 1636 | if (status != 0) |
1633 | goto do_none; | 1637 | goto do_none; |
1634 | 1638 | ||
1635 | |||
1636 | status = be_tx_queues_create(adapter); | 1639 | status = be_tx_queues_create(adapter); |
1637 | if (status != 0) | 1640 | if (status != 0) |
1638 | goto if_destroy; | 1641 | goto if_destroy; |
@@ -2055,6 +2058,10 @@ static int be_hw_up(struct be_adapter *adapter) | |||
2055 | if (status) | 2058 | if (status) |
2056 | return status; | 2059 | return status; |
2057 | 2060 | ||
2061 | status = be_cmd_reset_function(adapter); | ||
2062 | if (status) | ||
2063 | return status; | ||
2064 | |||
2058 | status = be_cmd_get_fw_ver(adapter, adapter->fw_ver); | 2065 | status = be_cmd_get_fw_ver(adapter, adapter->fw_ver); |
2059 | if (status) | 2066 | if (status) |
2060 | return status; | 2067 | return status; |
@@ -2108,10 +2115,6 @@ static int __devinit be_probe(struct pci_dev *pdev, | |||
2108 | if (status) | 2115 | if (status) |
2109 | goto free_netdev; | 2116 | goto free_netdev; |
2110 | 2117 | ||
2111 | status = be_cmd_reset_function(adapter); | ||
2112 | if (status) | ||
2113 | goto ctrl_clean; | ||
2114 | |||
2115 | status = be_stats_init(adapter); | 2118 | status = be_stats_init(adapter); |
2116 | if (status) | 2119 | if (status) |
2117 | goto ctrl_clean; | 2120 | goto ctrl_clean; |