From b4431c74d6637f28b8ee19f36277011ec0124ad3 Mon Sep 17 00:00:00 2001 From: Patrick McHardy Date: Wed, 26 Mar 2008 02:12:11 -0700 Subject: [PATCH] --- yaml --- r: 87838 b: refs/heads/master c: 61ee6bd487b9cc160e533034eb338f2085dc7922 h: refs/heads/master v: v3 --- [refs] | 2 +- trunk/net/core/dev.c | 4 ++-- 2 files changed, 3 insertions(+), 3 deletions(-) diff --git a/[refs] b/[refs] index b5e70490a967..23cd3f2c3ab7 100644 --- a/[refs] +++ b/[refs] @@ -1,2 +1,2 @@ --- -refs/heads/master: 8c7230f781749cd7261b504c0bfa188bb96e77ee +refs/heads/master: 61ee6bd487b9cc160e533034eb338f2085dc7922 diff --git a/trunk/net/core/dev.c b/trunk/net/core/dev.c index fcdf03cf3b3f..460e7f99ce3e 100644 --- a/trunk/net/core/dev.c +++ b/trunk/net/core/dev.c @@ -3329,7 +3329,7 @@ static int dev_ifsioc(struct net *net, struct ifreq *ifr, unsigned int cmd) return -EOPNOTSUPP; case SIOCADDMULTI: - if (!dev->set_multicast_list || + if ((!dev->set_multicast_list && !dev->set_rx_mode) || ifr->ifr_hwaddr.sa_family != AF_UNSPEC) return -EINVAL; if (!netif_device_present(dev)) @@ -3338,7 +3338,7 @@ static int dev_ifsioc(struct net *net, struct ifreq *ifr, unsigned int cmd) dev->addr_len, 1); case SIOCDELMULTI: - if (!dev->set_multicast_list || + if ((!dev->set_multicast_list && !dev->set_rx_mode) || ifr->ifr_hwaddr.sa_family != AF_UNSPEC) return -EINVAL; if (!netif_device_present(dev))