]> git.hungrycats.org Git - linux/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)
committerGreg Kroah-Hartman <gregkh@linuxfoundation.org>
Mon, 4 Nov 2013 12:23:41 +0000 (04:23 -0800)
commit6fdea2fb23fe0a64af442f397b4e717e98e6aba8
treeb8f0253ff5b91e1e0decb2c0f95476955d97e8fc
parent478e9a72b5e0cc9ecd8b787db90dec01d283123c
davinci_emac.c: Fix IFF_ALLMULTI setup

[ Upstream commit d69e0f7ea95fef8059251325a79c004bac01f018 ]

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>
Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
drivers/net/ethernet/ti/davinci_emac.c