linux/net/dsa
Lennert Buytenhek df02c6ff2e dsa: fix master interface allmulti/promisc handling
Before commit b6c40d68ff ("net: only
invoke dev->change_rx_flags when device is UP"), the dsa driver could
sort-of get away with only fiddling with the master interface's
allmulti/promisc counts in ->change_rx_flags() and not touching them
in ->open() or ->stop().  After this commit (note that it was merged
almost simultaneously with the dsa patches, which is why this wasn't
caught initially), the breakage that was already there became more
apparent.

Since it makes no sense to keep the master interface's allmulti or
promisc count pinned for a slave interface that is down, copy the vlan
driver's sync logic (which does exactly what we want) over to dsa to
fix this.

Bug report from Dirk Teurlings <dirk@upexia.nl> and Peter van Valderen
<linux@ddcrew.com>.

Signed-off-by: Lennert Buytenhek <buytenh@marvell.com>
Tested-by: Dirk Teurlings <dirk@upexia.nl>
Tested-by: Peter van Valderen <linux@ddcrew.com>
Signed-off-by: David S. Miller <davem@davemloft.net>
2008-11-10 21:53:12 -08:00
..
Kconfig dsa: fix compile bug on s390 2008-10-13 18:58:48 -07:00
Makefile dsa: add support for the Marvell 88E6060 switch chip 2008-10-08 17:24:22 -07:00
dsa.c dsa: add support for Trailer tagging format 2008-10-08 17:24:16 -07:00
dsa_priv.h dsa: add support for Trailer tagging format 2008-10-08 17:24:16 -07:00
mv88e6xxx.c dsa: add support for the Marvell 88E6131 switch chip 2008-10-08 17:24:09 -07:00
mv88e6xxx.h dsa: add support for the Marvell 88E6131 switch chip 2008-10-08 17:24:09 -07:00
mv88e6060.c dsa: add support for the Marvell 88E6060 switch chip 2008-10-08 17:24:22 -07:00
mv88e6123_61_65.c dsa: add support for original DSA tagging format 2008-10-08 17:19:56 -07:00
mv88e6131.c dsa: add support for the Marvell 88E6131 switch chip 2008-10-08 17:24:09 -07:00
slave.c dsa: fix master interface allmulti/promisc handling 2008-11-10 21:53:12 -08:00
tag_dsa.c dsa: fix skb->pkt_type when mac address of slave interface differs 2008-11-10 21:52:42 -08:00
tag_edsa.c dsa: fix skb->pkt_type when mac address of slave interface differs 2008-11-10 21:52:42 -08:00
tag_trailer.c dsa: fix skb->pkt_type when mac address of slave interface differs 2008-11-10 21:52:42 -08:00