linux_old1/drivers/net/ethernet/marvell
Willy Tarreau ee40a116eb net: mvneta: fix improper tx queue usage in mvneta_tx()
mvneta_tx() was using a static tx queue number causing crashes as
soon as a little bit of traffic was sent via the interface, because
it is normally expected that the same queue should be used as in
dev_queue_xmit().

As suggested by Ben Hutchings, let's use skb_get_queue_mapping() to
get the proper Tx queue number, and use alloc_etherdev_mqs() instead
of alloc_etherdev_mq() to create the queues.

Both my Mirabox and my OpenBlocks AX3 used to crash without this patch
and don't anymore with it. The issue appeared in 3.8 but became more
visible after the fix allowing GSO to be enabled.

Original work was done by Dmitri Epshtein and Thomas Petazzoni. I
just adapted it to take care of Ben's comments.

Signed-off-by: Willy Tarreau <w@1wt.eu>
Cc: Dmitri Epshtein <dima@marvell.com>
Cc: Thomas Petazzoni <thomas.petazzoni@free-electrons.com>
Cc: Gregory CLEMENT <gregory.clement@free-electrons.com>
Cc: Ben Hutchings <bhutchings@solarflare.com>
Tested-by: Gregory CLEMENT <gregory.clement@free-electrons.com>
Signed-off-by: David S. Miller <davem@davemloft.net>
2013-04-15 14:08:13 -04:00
..
Kconfig net: mvmdio: add select PHYLIB 2013-04-13 16:48:06 -04:00
Makefile net: mvneta: driver for Marvell Armada 370/XP network unit 2012-11-16 10:21:26 +01:00
mv643xx_eth.c mv643xx_eth: fix for disabled autoneg 2013-03-07 16:17:45 -05:00
mvmdio.c ethernet: Remove unnecessary alloc/OOM messages, alloc cleanups 2013-02-04 13:22:33 -05:00
mvneta.c net: mvneta: fix improper tx queue usage in mvneta_tx() 2013-04-15 14:08:13 -04:00
pxa168_eth.c net: phy: remove flags argument from phy_{attach, connect, connect_direct} 2013-01-14 15:11:50 -05:00
skge.c ethernet: Remove unnecessary alloc/OOM messages, alloc cleanups 2013-02-04 13:22:33 -05:00
skge.h
sky2.c sky2: Threshold for Pause Packet is set wrong 2013-03-29 14:53:19 -04:00
sky2.h sky2: Receive Overflows not counted 2013-03-29 14:53:19 -04:00