path: root/drivers/net/ethernet/ibm/ehea
diff options
authorThadeu Lima de Souza Cascardo <cascardo@linux.vnet.ibm.com>2012-04-25 07:32:12 +0000
committerDavid S. Miller <davem@davemloft.net>2012-04-26 05:07:45 -0400
commit47d59d01322f60d1c46fdf2650e0613daa8ce637 (patch)
tree912782dfc8d6c6492cc0756f8613ad1b1d1a68e3 /drivers/net/ethernet/ibm/ehea
parent5d384574e8bceb9bada323da8044ca43e621886b (diff)
ehea: fix promiscuous mode
commit a4910b744486254cfa61995954c118fb2283c4fd has broken promiscuous mode, which is never set. port->promisc just reflects the last setting of PROMISCUOUS mode to avoid doing an extra hypercall when it's already set. However, since it may fail because of hypervisor permissions, we should still respect the multicast settings and not simply exit after setting promiscuous mode. Signed-off-by: Thadeu Lima de Souza Cascardo <cascardo@linux.vnet.ibm.com> Cc: Breno Leitao <leitao@linux.vnet.ibm.com> Signed-off-by: David S. Miller <davem@davemloft.net>
Diffstat (limited to 'drivers/net/ethernet/ibm/ehea')
1 files changed, 1 insertions, 5 deletions
diff --git a/drivers/net/ethernet/ibm/ehea/ehea_main.c b/drivers/net/ethernet/ibm/ehea/ehea_main.c
index 9dcb5fd3737..c9069a28832 100644
--- a/drivers/net/ethernet/ibm/ehea/ehea_main.c
+++ b/drivers/net/ethernet/ibm/ehea/ehea_main.c
@@ -1946,11 +1946,7 @@ static void ehea_set_multicast_list(struct net_device *dev)
struct netdev_hw_addr *ha;
int ret;
- if (port->promisc) {
- ehea_promiscuous(dev, 1);
- return;
- }
- ehea_promiscuous(dev, 0);
+ ehea_promiscuous(dev, !!(dev->flags & IFF_PROMISC));
if (dev->flags & IFF_ALLMULTI) {
ehea_allmulti(dev, 1);