From 3dc6c51be0c6d1aff60b7fe5689665a265833513 Mon Sep 17 00:00:00 2001 From: Padmanabh Ratnakar Date: Wed, 18 Jul 2012 02:51:58 +0000 Subject: [PATCH] --- yaml --- r: 315461 b: refs/heads/master c: 0b13fb458fe6d244baaa701049c9a51105224820 h: refs/heads/master i: 315459: 71d44c6d566ab308a6c8253f6c4445de09202714 v: v3 --- [refs] | 2 +- trunk/drivers/net/ethernet/emulex/benet/be_cmds.c | 3 ++- trunk/drivers/net/ethernet/emulex/benet/be_main.c | 7 +++++++ 3 files changed, 10 insertions(+), 2 deletions(-) diff --git a/[refs] b/[refs] index 080ef167d3f1..e75d567617d4 100644 --- a/[refs] +++ b/[refs] @@ -1,2 +1,2 @@ --- -refs/heads/master: c3fe065cea56f1fcd4f8e4ae1fb15fa785d2bb79 +refs/heads/master: 0b13fb458fe6d244baaa701049c9a51105224820 diff --git a/trunk/drivers/net/ethernet/emulex/benet/be_cmds.c b/trunk/drivers/net/ethernet/emulex/benet/be_cmds.c index ddfca658559d..793249053066 100644 --- a/trunk/drivers/net/ethernet/emulex/benet/be_cmds.c +++ b/trunk/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) /* Reset mcast promisc mode if already set by setting mask * and not setting flags field */ - req->if_flags_mask |= + if (!lancer_chip(adapter) || be_physfn(adapter)) + req->if_flags_mask |= cpu_to_le32(BE_IF_FLAGS_MCAST_PROMISCUOUS); req->mcast_num = cpu_to_le32(netdev_mc_count(adapter->netdev)); diff --git a/trunk/drivers/net/ethernet/emulex/benet/be_main.c b/trunk/drivers/net/ethernet/emulex/benet/be_main.c index f18375cd75ee..4d9677174490 100644 --- a/trunk/drivers/net/ethernet/emulex/benet/be_main.c +++ b/trunk/drivers/net/ethernet/emulex/benet/be_main.c @@ -2772,6 +2772,13 @@ static int be_setup(struct be_adapter *adapter) en_flags |= BE_IF_FLAGS_RSS; } + if (lancer_chip(adapter) && !be_physfn(adapter)) { + en_flags = BE_IF_FLAGS_UNTAGGED | + BE_IF_FLAGS_BROADCAST | + BE_IF_FLAGS_MULTICAST; + cap_flags = en_flags; + } + status = be_cmd_if_create(adapter, cap_flags, en_flags, &adapter->if_handle, 0); if (status != 0)