linux_dsm_epyc7002/drivers/net/ethernet
Parikh, Neerav 2afaa00d2f ixgbe: Fix incorrect disabling of Tx hang check in case of PFC
The XOFF received statistic registers are per priority based and not per
traffic class. The ixgbe driver was incorrectly considering them to be for
each traffic class; and then disabling the "Tx hang" check for the queues
that belonged to the particular traffic class that had received PFC frames.

The above logic worked fine in scenario where the user priority and traffic
class number matched e.g. priority 0 is mapped to traffic class 0 and so on.
But, when multiple user priorities are mapped to a single traffic class or
when user priorities and traffic class numbers do not line up; the ixgbe
driver may disable the "Tx hang" check for queues belonging to a traffic
class that did not receive PFC frames and keep the "Tx hang" check enabled
for the queues that did receive the PFC frames.

This patch corrects the above in the code by considering the statistics
on a per priority basis; then getting the traffic class the user priority
belongs to and disabling the "Tx hang" check for queues that belong
to that traffic class.

Signed-off-by: Neerav Parikh <Neerav.Parikh@intel.com>
Acked-by: John Fastabend <john.r.fastabend@intel.com>
Tested-by: Phil Schmitt <phillip.j.schmitt@intel.com>
Tested-by: Marcus Dennis <marcusx.e.dennis@intel.com>
Signed-off-by: Jeff Kirsher <jeffrey.t.kirsher@intel.com>
2012-11-28 04:28:56 -08:00
..
3com
8390 Merge git://git.kernel.org/pub/scm/linux/kernel/git/davem/net 2012-11-25 12:49:17 -05:00
adaptec sections: fix section conflicts in drivers/net 2012-10-06 03:04:42 +09:00
adi ptp: fixup Kconfig for two PHC drivers. 2012-11-03 15:37:35 -04:00
aeroflex
alteon
amd drivers/net/ethernet/amd/au1000_eth.c: fix error return code 2012-10-07 14:37:11 -04:00
apple
atheros sections: fix section conflicts in drivers/net 2012-10-06 03:04:42 +09:00
broadcom Merge git://git.kernel.org/pub/scm/linux/kernel/git/davem/net 2012-11-25 12:49:17 -05:00
brocade
cadence net/macb: GEM DMA configuration register update 2012-11-23 14:29:51 -05:00
calxeda net: calxedaxgmac: ip align receive buffers 2012-11-07 03:51:14 -05:00
chelsio net: Remove bogus dependencies on INET 2012-11-19 19:13:59 -05:00
cirrus
cisco net: Remove bogus dependencies on INET 2012-11-19 19:13:59 -05:00
davicom
dec drivers/net/ethernet/dec/tulip/dmfe.c: fix error return code 2012-10-07 14:37:04 -04:00
dlink dlink: dl2k: use the module_pci_driver macro 2012-10-31 13:56:39 -04:00
emulex be2net: fix a possible events_get() race on BE2 2012-11-23 14:26:08 -05:00
faraday
freescale Merge git://git.kernel.org/pub/scm/linux/kernel/git/davem/net 2012-11-10 18:32:51 -05:00
fujitsu
hp
i825xx net/ethernet: remove useless is_valid_ether_addr from drivers ndo_open 2012-11-19 19:01:18 -05:00
ibm ehea: Remove remnants of LRO support 2012-11-19 19:13:59 -05:00
icplus
intel ixgbe: Fix incorrect disabling of Tx hang check in case of PFC 2012-11-28 04:28:56 -08:00
marvell Merge git://git.kernel.org/pub/scm/linux/kernel/git/davem/net 2012-11-10 18:32:51 -05:00
mellanox net: Remove bogus dependencies on INET 2012-11-19 19:13:59 -05:00
micrel net/ethernet: remove useless is_valid_ether_addr from drivers ndo_open 2012-11-19 19:01:18 -05:00
microchip
myricom
natsemi drivers/net/ethernet/natsemi/xtsonic.c: fix error return code 2012-10-07 14:37:12 -04:00
neterion net: Remove bogus dependencies on INET 2012-11-19 19:13:59 -05:00
nuvoton
nvidia
nxp net/ethernet: remove useless is_valid_ether_addr from drivers ndo_open 2012-11-19 19:01:18 -05:00
octeon Merge branch 'upstream' of git://git.linux-mips.org/pub/scm/ralf/upstream-linus 2012-10-09 16:08:04 +09:00
oki-semi pch_gbe, ptp_pch: Fix the dependency direction between these drivers 2012-11-17 22:11:45 -05:00
packetengines
pasemi
qlogic qlcnic: fix sparse check endian warnings 2012-11-25 16:12:59 -05:00
racal
rdc
realtek 8139cp: re-enable interrupts after tx timeout 2012-11-25 15:56:31 -05:00
renesas net: sh_eth: Fix a typo - replace regist with register. 2012-11-03 15:37:35 -04:00
seeq net/ethernet: remove useless is_valid_ether_addr from drivers ndo_open 2012-11-19 19:01:18 -05:00
sfc net: Remove bogus dependencies on INET 2012-11-19 19:13:59 -05:00
sgi
silan
sis sis900: fix sis900_set_mode call parameters. 2012-11-18 18:28:15 -05:00
smsc net/ethernet: remove useless is_valid_ether_addr from drivers ndo_open 2012-11-19 19:01:18 -05:00
stmicro stmmac: update the driver version to Nov_2012 2012-11-26 17:22:13 -05:00
sun drivers/net/ethernet/sun/sungem.c: fix error return code 2012-10-07 14:37:12 -04:00
tehuti
ti cpts: add missing kconfig dependency 2012-11-26 17:22:14 -05:00
tile tilegx: request_irq with a non-null device name 2012-11-16 01:40:41 -05:00
toshiba wireless: gelic: make use of WLAN_EID_VENDOR_SPECIFIC 2012-10-18 09:01:55 +02:00
tundra
via
wiznet net/ethernet: remove useless is_valid_ether_addr from drivers ndo_open 2012-11-19 19:01:18 -05:00
xilinx net: fix build failure in xilinx 2012-11-20 15:51:55 -05:00
xircom
xscale ixp4xx_eth: avoid calling dma_pool_create() with NULL dev 2012-11-20 15:12:44 -05:00
dnet.c net/ethernet: remove useless is_valid_ether_addr from drivers ndo_open 2012-11-19 19:01:18 -05:00
dnet.h
ethoc.c
fealnx.c sections: fix section conflicts in drivers/net 2012-10-06 03:04:42 +09:00
jme.c drivers/net: fix tasklet misuse issue 2012-11-14 21:50:10 -05:00
jme.h
Kconfig
korina.c
lantiq_etop.c
Makefile
netx-eth.c
s6gmac.c