aboutsummaryrefslogtreecommitdiffstats
path: root/drivers/net/ethernet/emulex
diff options
context:
space:
mode:
authorPadmanabh Ratnakar <padmanabh.ratnakar@emulex.com>2012-07-17 22:51:58 -0400
committerDavid S. Miller <davem@davemloft.net>2012-07-18 12:28:38 -0400
commit0b13fb458fe6d244baaa701049c9a51105224820 (patch)
tree9f00d7b106586938b5acf9c3f8d7431cc55647ce /drivers/net/ethernet/emulex
parentc3fe065cea56f1fcd4f8e4ae1fb15fa785d2bb79 (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.c3
-rw-r--r--drivers/net/ethernet/emulex/benet/be_main.c7
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)