On Sat, 26 Mar 2016 10:18:46 -0700 Eric Dumazet <eric.duma...@gmail.com> wrote:
> On Sat, 2016-03-26 at 12:57 +0200, Corcodel Marian wrote: > > This patch correct set bit multicast enable only once per > > set_rx_mode invocation. > > > > Signed-off-by: Corcodel Marian <a...@marian1000.go.ro> > > --- > > drivers/net/ethernet/realtek/r8169.c | 3 +-- > > 1 file changed, 1 insertion(+), 2 deletions(-) > > > > diff --git a/drivers/net/ethernet/realtek/r8169.c > > b/drivers/net/ethernet/realtek/r8169.c index 7f6fb1f..f7b0dfb 100644 > > --- a/drivers/net/ethernet/realtek/r8169.c > > +++ b/drivers/net/ethernet/realtek/r8169.c > > @@ -4619,12 +4619,11 @@ static void rtl_set_rx_mode(struct > > net_device *dev) } else { > > struct netdev_hw_addr *ha; > > > > - rx_mode = AcceptBroadcast | AcceptMyPhys; > > + rx_mode = AcceptBroadcast | AcceptMyPhys | > > AcceptMulticast; mc_filter[1] = mc_filter[0] = 0; > > netdev_for_each_mc_addr(ha, dev) { > > int bit_nr = ether_crc(ETH_ALEN, ha->addr) > > >> 26; mc_filter[bit_nr >> 5] |= 1 << (bit_nr & 31); > > - rx_mode |= AcceptMulticast; > > } > > } > > > > If the list is empty, why should we enable AcceptMulticast ? > > > I not experienced list empty, allways on my case exist bit_nr variable.