linux/drivers/net/ethernet/freescale
Claudiu Manoil c65d753372 gianfar: Fix P1010 config regression (SQ polling)
The P1010 device tree restricts the number of
supported interrupt groups to 1, although the eth
controller can support 2 interrupt groups and the
driver assumes the Multi-Group mode ("fsl,etsec2" model).

So, in this case the assumption that the Multi-Group
mode (MQ_MG_MODE) devices always support 2 interrupt
groups is false.  To fix this, a check for the actual
number of interrupt groups enabled in the board's
device tree has been added in gfar_probe for the
"fsl,etsec2" devices.

Without this fix, P1010 based boards claim support for
2 Tx queues to the net stack but only one is actually
allocated, leading to NULL access in xmit.  This issue
was introduced by enabling Single-Queue polling for
the P1010 devices.
(71ff9e3 gianfar: Use Single-Queue polling for
"fsl,etsec2")

Fixes: 71ff9e3df7
Signed-off-by: Claudiu Manoil <claudiu.manoil@freescale.com>
Signed-off-by: David S. Miller <davem@davemloft.net>
2014-03-24 00:40:44 -04:00
..
fs_enet fs_enet: Don't receive packets when the napi budget == 0 2014-03-14 22:52:47 -04:00
Kconfig NET: FEC: dynamtic check DMA desc buff type 2013-01-04 15:15:39 -08:00
Makefile gianfar: Remove sysfs stubs for FIFOCFG and stashing 2014-02-18 15:03:02 -05:00
fec.h fec: Implement the SIOCGHWTSTAMP ioctl 2013-11-21 17:17:37 +00:00
fec_main.c eth: fec: Fix lost promiscuous mode after reconnecting cable 2014-03-13 15:46:20 -04:00
fec_mpc52xx.c net: ethernet: use platform_{get,set}_drvdata() 2013-05-25 21:27:58 -07:00
fec_mpc52xx.h drivers/net: fix up stale paths from driver reorg 2012-01-30 12:54:40 -05:00
fec_mpc52xx_phy.c net: fec_mpc52xx_phy: remove unnecessary dev_set_drvdata() 2013-08-21 12:27:04 -07:00
fec_ptp.c ptp: drivers: set the number of programmable pins. 2014-03-21 14:21:14 -04:00
fsl_pq_mdio.c drivers/net: delete non-required instances of include <linux/init.h> 2014-01-16 11:53:26 -08:00
gianfar.c gianfar: Fix P1010 config regression (SQ polling) 2014-03-24 00:40:44 -04:00
gianfar.h gianfar: Use Single-Queue polling for "fsl,etsec2" 2014-03-10 13:17:22 -04:00
gianfar_ethtool.c gianfar: Fix Tx int miss, dont write IC on-the-fly 2014-02-24 19:38:20 -05:00
gianfar_ptp.c ptp: drivers: set the number of programmable pins. 2014-03-21 14:21:14 -04:00
ucc_geth.c net: freescale: remove unused compare_addr() 2013-12-26 13:31:32 -05:00
ucc_geth.h net: remove skb recycling 2012-10-07 00:40:54 -04:00
ucc_geth_ethtool.c drivers/net: delete non-required instances of include <linux/init.h> 2014-01-16 11:53:26 -08:00
xgmac_mdio.c drivers: clean-up prom.h implicit includes 2013-10-09 20:04:04 -05:00