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 e0f9d6477184..21b0657de9e8 100644 --- a/drivers/net/benet/be_main.c +++ b/drivers/net/benet/be_main.c | |||
@@ -1616,19 +1616,22 @@ static int be_open(struct net_device *netdev) | |||
1616 | static int be_setup(struct be_adapter *adapter) | 1616 | static int be_setup(struct be_adapter *adapter) |
1617 | { | 1617 | { |
1618 | struct net_device *netdev = adapter->netdev; | 1618 | struct net_device *netdev = adapter->netdev; |
1619 | u32 if_flags; | 1619 | u32 cap_flags, en_flags; |
1620 | int status; | 1620 | int status; |
1621 | 1621 | ||
1622 | if_flags = BE_IF_FLAGS_BROADCAST | BE_IF_FLAGS_PROMISCUOUS | | 1622 | cap_flags = BE_IF_FLAGS_UNTAGGED | BE_IF_FLAGS_BROADCAST | |
1623 | BE_IF_FLAGS_MCAST_PROMISCUOUS | BE_IF_FLAGS_UNTAGGED | | 1623 | BE_IF_FLAGS_MCAST_PROMISCUOUS | |
1624 | BE_IF_FLAGS_PASS_L3L4_ERRORS; | 1624 | BE_IF_FLAGS_PROMISCUOUS | |
1625 | status = be_cmd_if_create(adapter, if_flags, netdev->dev_addr, | 1625 | BE_IF_FLAGS_PASS_L3L4_ERRORS; |
1626 | false/* pmac_invalid */, &adapter->if_handle, | 1626 | en_flags = BE_IF_FLAGS_UNTAGGED | BE_IF_FLAGS_BROADCAST | |
1627 | &adapter->pmac_id); | 1627 | BE_IF_FLAGS_PASS_L3L4_ERRORS; |
1628 | |||
1629 | status = be_cmd_if_create(adapter, cap_flags, en_flags, | ||
1630 | netdev->dev_addr, false/* pmac_invalid */, | ||
1631 | &adapter->if_handle, &adapter->pmac_id); | ||
1628 | if (status != 0) | 1632 | if (status != 0) |
1629 | goto do_none; | 1633 | goto do_none; |
1630 | 1634 | ||
1631 | |||
1632 | status = be_tx_queues_create(adapter); | 1635 | status = be_tx_queues_create(adapter); |
1633 | if (status != 0) | 1636 | if (status != 0) |
1634 | goto if_destroy; | 1637 | goto if_destroy; |
@@ -2051,6 +2054,10 @@ static int be_hw_up(struct be_adapter *adapter) | |||
2051 | if (status) | 2054 | if (status) |
2052 | return status; | 2055 | return status; |
2053 | 2056 | ||
2057 | status = be_cmd_reset_function(adapter); | ||
2058 | if (status) | ||
2059 | return status; | ||
2060 | |||
2054 | status = be_cmd_get_fw_ver(adapter, adapter->fw_ver); | 2061 | status = be_cmd_get_fw_ver(adapter, adapter->fw_ver); |
2055 | if (status) | 2062 | if (status) |
2056 | return status; | 2063 | return status; |
@@ -2104,10 +2111,6 @@ static int __devinit be_probe(struct pci_dev *pdev, | |||
2104 | if (status) | 2111 | if (status) |
2105 | goto free_netdev; | 2112 | goto free_netdev; |
2106 | 2113 | ||
2107 | status = be_cmd_reset_function(adapter); | ||
2108 | if (status) | ||
2109 | goto ctrl_clean; | ||
2110 | |||
2111 | status = be_stats_init(adapter); | 2114 | status = be_stats_init(adapter); |
2112 | if (status) | 2115 | if (status) |
2113 | goto ctrl_clean; | 2116 | goto ctrl_clean; |