]> git.baikalelectronics.ru Git - kernel.git/commit
davinci_emac.c: Fix IFF_ALLMULTI setup
authorMariusz Ceier <mceier+kernel@gmail.com>
Mon, 21 Oct 2013 17:45:04 +0000 (19:45 +0200)
committerDavid S. Miller <davem@davemloft.net>
Mon, 21 Oct 2013 22:56:23 +0000 (18:56 -0400)
commitb23ed6b6ee9181cca259bab486b660f5713af701
tree6ab3543945d3a6a5df9a96f5add02c82acbd201a
parentc08a1c4af1d03ef5e81023286230a1b8a57596dd
davinci_emac.c: Fix IFF_ALLMULTI setup

When IFF_ALLMULTI flag is set on interface and IFF_PROMISC isn't,
emac_dev_mcast_set should only enable RX of multicasts and reset
MACHASH registers.

It does this, but afterwards it either sets up multicast MACs
filtering or disables RX of multicasts and resets MACHASH registers
again, rendering IFF_ALLMULTI flag useless.

This patch fixes emac_dev_mcast_set, so that multicast MACs filtering and
disabling of RX of multicasts are skipped when IFF_ALLMULTI flag is set.

Tested with kernel 2.6.37.

Signed-off-by: Mariusz Ceier <mceier+kernel@gmail.com>
Acked-by: Mugunthan V N <mugunthanvnm@ti.com>
Signed-off-by: David S. Miller <davem@davemloft.net>
drivers/net/ethernet/ti/davinci_emac.c