diff options
author | Padmanabh Ratnakar <padmanabh.ratnakar@emulex.com> | 2012-07-17 22:51:58 -0400 |
---|---|---|
committer | David S. Miller <davem@davemloft.net> | 2012-07-18 12:28:38 -0400 |
commit | 0b13fb458fe6d244baaa701049c9a51105224820 (patch) | |
tree | 9f00d7b106586938b5acf9c3f8d7431cc55647ce /drivers/net/ethernet/emulex | |
parent | c3fe065cea56f1fcd4f8e4ae1fb15fa785d2bb79 (diff) |
be2net: Fix VF driver load for Lancer
Lancer FW has added new capability checks for VFs.
Driver should only use those capabilities which are allowed for VFs.
Signed-off-by: Padmanabh Ratnakar <padmanabh.ratnakar@emulex.com>
Signed-off-by: David S. Miller <davem@davemloft.net>
Diffstat (limited to 'drivers/net/ethernet/emulex')
-rw-r--r-- | drivers/net/ethernet/emulex/benet/be_cmds.c | 3 | ||||
-rw-r--r-- | drivers/net/ethernet/emulex/benet/be_main.c | 7 |
2 files changed, 9 insertions, 1 deletions
diff --git a/drivers/net/ethernet/emulex/benet/be_cmds.c b/drivers/net/ethernet/emulex/benet/be_cmds.c index ddfca658559d..793249053066 100644 --- a/drivers/net/ethernet/emulex/benet/be_cmds.c +++ b/drivers/net/ethernet/emulex/benet/be_cmds.c | |||
@@ -1631,7 +1631,8 @@ int be_cmd_rx_filter(struct be_adapter *adapter, u32 flags, u32 value) | |||
1631 | /* Reset mcast promisc mode if already set by setting mask | 1631 | /* Reset mcast promisc mode if already set by setting mask |
1632 | * and not setting flags field | 1632 | * and not setting flags field |
1633 | */ | 1633 | */ |
1634 | req->if_flags_mask |= | 1634 | if (!lancer_chip(adapter) || be_physfn(adapter)) |
1635 | req->if_flags_mask |= | ||
1635 | cpu_to_le32(BE_IF_FLAGS_MCAST_PROMISCUOUS); | 1636 | cpu_to_le32(BE_IF_FLAGS_MCAST_PROMISCUOUS); |
1636 | 1637 | ||
1637 | req->mcast_num = cpu_to_le32(netdev_mc_count(adapter->netdev)); | 1638 | req->mcast_num = cpu_to_le32(netdev_mc_count(adapter->netdev)); |
diff --git a/drivers/net/ethernet/emulex/benet/be_main.c b/drivers/net/ethernet/emulex/benet/be_main.c index f18375cd75ee..4d9677174490 100644 --- a/drivers/net/ethernet/emulex/benet/be_main.c +++ b/drivers/net/ethernet/emulex/benet/be_main.c | |||
@@ -2772,6 +2772,13 @@ static int be_setup(struct be_adapter *adapter) | |||
2772 | en_flags |= BE_IF_FLAGS_RSS; | 2772 | en_flags |= BE_IF_FLAGS_RSS; |
2773 | } | 2773 | } |
2774 | 2774 | ||
2775 | if (lancer_chip(adapter) && !be_physfn(adapter)) { | ||
2776 | en_flags = BE_IF_FLAGS_UNTAGGED | | ||
2777 | BE_IF_FLAGS_BROADCAST | | ||
2778 | BE_IF_FLAGS_MULTICAST; | ||
2779 | cap_flags = en_flags; | ||
2780 | } | ||
2781 | |||
2775 | status = be_cmd_if_create(adapter, cap_flags, en_flags, | 2782 | status = be_cmd_if_create(adapter, cap_flags, en_flags, |
2776 | &adapter->if_handle, 0); | 2783 | &adapter->if_handle, 0); |
2777 | if (status != 0) | 2784 | if (status != 0) |