net: sun4i-emac: add promiscuous support
authorMarc Zyngier <marc.zyngier@arm.com>
Fri, 11 Apr 2014 09:46:17 +0000 (10:46 +0100)
committerDavid S. Miller <davem@davemloft.net>
Sat, 12 Apr 2014 05:59:38 +0000 (01:59 -0400)
commitcec9ae50ccb1491efee90dc8e9998e29e43652b6
treea22563a221ae67e36797ac16af46403e60396df5
parent0af764e3f79afe7c758856a2a9376e8ee4f812d7
net: sun4i-emac: add promiscuous support

The sun4i-emac driver is rather primitive, and doesn't support
promiscuous mode. This makes usage such as bridging impossible,
which is a shame on virtualization capable HW such as the
Allwinner A20.

The fix is fairly simple: move the RX setup code to the ndo_set_rx_mode
vector, and add the required HW configuration when IFF_PROMISC is passed
by the core code.

This has been tested on a generic A20 box running a few virtual
machines hanging off a bridge with the EMAC chip as the link to the
outside world.

Cc: Stefan Roese <sr@denx.de>
Cc: Maxime Ripard <maxime.ripard@free-electrons.com>
Signed-off-by: Marc Zyngier <marc.zyngier@arm.com>
Acked-by: Stefan Roese <sr@denx.de>
Signed-off-by: David S. Miller <davem@davemloft.net>
drivers/net/ethernet/allwinner/sun4i-emac.c