Message ID | 1335375132-4591-2-git-send-email-cascardo@linux.vnet.ibm.com |
---|---|
State | Accepted, archived |
Delegated to: | David Miller |
Headers | show |
From: Thadeu Lima de Souza Cascardo <cascardo@linux.vnet.ibm.com> Date: Wed, 25 Apr 2012 14:32:12 -0300 > 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> Applied. -- To unsubscribe from this list: send the line "unsubscribe netdev" in the body of a message to majordomo@vger.kernel.org More majordomo info at http://vger.kernel.org/majordomo-info.html
diff --git a/drivers/net/ethernet/ibm/ehea/ehea_main.c b/drivers/net/ethernet/ibm/ehea/ehea_main.c index 9dcb5fd..c9069a2 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);
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> --- drivers/net/ethernet/ibm/ehea/ehea_main.c | 6 +----- 1 files changed, 1 insertions(+), 5 deletions(-)