linux/drivers/net/ethernet
Andre Guedes d957c6010a igc: Fix NFC rules restoration
When network interface is brought up, the driver re-enables the NFC
rules previously configured. However, this is done in reverse order
the rules were added and hardware filters are configured differently.

For example, consider the following rules:

$ ethtool -N eth0 flow-type ether dst 00:00:00:00:00:AA queue 0
$ ethtool -N eth0 flow-type ether dst 00:00:00:00:00:BB queue 1
$ ethtool -N eth0 flow-type ether dst 00:00:00:00:00:CC queue 2
$ ethtool -N eth0 flow-type ether dst 00:00:00:00:00:DD queue 3

RAL/RAH registers are configure so filter index 1 has address ending
with AA, filter index 2 has address ending in BB, and so on.

If we bring the interface down and up again, RAL/RAH registers are
configured so filter index 1 has address ending in DD, filter index 2
has CC, and so on. IOW, in reverse order we had before bringing the
interface down.

This issue can be fixed by traversing adapter->nfc_rule_list in
backwards when restoring the rules. Since hlist doesn't support
backwards traversal, this patch replaces it by list_head and fixes
igc_restore_nfc_rules() accordingly.

Signed-off-by: Andre Guedes <andre.guedes@intel.com>
Tested-by: Aaron Brown <aaron.f.brown@intel.com>
Signed-off-by: Jeff Kirsher <jeffrey.t.kirsher@intel.com>
2020-05-22 18:21:51 -07:00
..
3com docs: networking: device drivers: convert 3com/vortex.txt to ReST 2020-05-01 12:24:41 -07:00
8390
adaptec drivers: Remove inclusion of vermagic header 2020-04-21 13:27:37 -07:00
aeroflex
agere net: agere: use true,false for bool variable 2020-05-05 11:39:42 -07:00
alacritech
allwinner net: allwinner: Fix use correct return type for ndo_start_xmit() 2020-05-05 11:14:40 -07:00
alteon
altera net: altera: Fix use correct return type for ndo_start_xmit() 2020-05-05 11:15:41 -07:00
amazon net: ena: reduce driver load time 2020-05-22 14:12:48 -07:00
amd net: atarilance: Replace zero-length array with flexible-array 2020-05-11 13:18:54 -07:00
apm
apple
aquantia net: atlantic: proper rss_ctrl1 (54c0) initialization 2020-05-22 14:08:29 -07:00
arc
atheros net/atheros: remove redundant assignment to variable size 2020-05-08 22:46:36 -07:00
aurora
broadcom Merge git://git.kernel.org/pub/scm/linux/kernel/git/netdev/net 2020-05-15 13:48:59 -07:00
brocade net: bna: reject unsupported coalescing params 2020-03-10 16:28:53 -07:00
cadence net: macb: fix an issue about leak related system resources 2020-05-03 16:01:48 -07:00
calxeda
cavium net: thunderx: Add XDP frame size 2020-05-14 21:21:55 -07:00
chelsio cxgb4: add adapter hotplug support for ULDs 2020-05-22 16:04:01 -07:00
cirrus docs: networking: device drivers: convert cirrus/cs89x0.txt to ReST 2020-05-01 12:24:41 -07:00
cisco
cortina net: cortina: Fix use correct return type for ndo_start_xmit() 2020-05-06 13:57:30 -07:00
davicom
dec net: tulip: de4x5: make PCI_signature() return void 2020-05-07 13:04:21 -07:00
dlink docs: networking: device drivers: convert dlink/dl2k.txt to ReST 2020-05-01 12:24:42 -07:00
emulex net: be2net: reject unsupported coalescing params 2020-03-12 11:32:35 -07:00
ezchip
faraday net/faraday: Fix unnecessary check in ftmac100_probe() 2020-04-30 12:20:54 -07:00
freescale dpaa2-eth: add bulking to XDP_TX 2020-05-16 13:45:25 -07:00
fujitsu
google
hisilicon Merge git://git.kernel.org/pub/scm/linux/kernel/git/netdev/net 2020-05-15 13:48:59 -07:00
huawei Merge git://git.kernel.org/pub/scm/linux/kernel/git/netdev/net 2020-05-15 13:48:59 -07:00
i825xx
ibm ibmvnic: Skip fatal error reset after passive init 2020-04-30 13:27:17 -07:00
intel igc: Fix NFC rules restoration 2020-05-22 18:21:51 -07:00
marvell Revert "net: mvneta: speed down the PHY, if WoL used, to save energy" 2020-05-22 16:09:42 -07:00
mediatek net: ethernet: mtk-star-emac: new driver 2020-05-22 14:20:11 -07:00
mellanox net: flow_offload: simplify hw stats check handling 2020-05-22 15:52:08 -07:00
micrel Merge git://git.kernel.org/pub/scm/linux/kernel/git/davem/net 2020-03-29 21:25:29 -07:00
microchip Merge git://git.kernel.org/pub/scm/linux/kernel/git/netdev/net 2020-05-15 13:48:59 -07:00
moxa Merge git://git.kernel.org/pub/scm/linux/kernel/git/netdev/net 2020-05-06 22:10:13 -07:00
mscc net: remove newlines in NL_SET_ERR_MSG_MOD 2020-05-07 17:56:14 -07:00
myricom myri10ge: Remove unused inline function myri10ge_vlan_ip_csum 2020-05-05 12:07:43 -07:00
natsemi net/sonic: Fix a resource leak in an error handling path in 'jazz_sonic_probe()' 2020-04-27 12:07:46 -07:00
neterion docs: networking: device drivers: convert neterion/vxge.txt to ReST 2020-05-01 12:24:42 -07:00
netronome nfp: flower: inform firmware of flower features 2020-05-19 15:27:21 -07:00
ni net: ni: Fix use correct return type for ndo_start_xmit() 2020-05-05 11:39:43 -07:00
nvidia
nxp net: nxp: Fix use correct return type for ndo_start_xmit() 2020-05-05 11:17:56 -07:00
oki-semi
packetengines
pasemi
pensando Merge git://git.kernel.org/pub/scm/linux/kernel/git/netdev/net 2020-05-15 13:48:59 -07:00
qlogic qed: Add XRC to RoCE 2020-05-21 17:08:25 -07:00
qualcomm net: emac: Fix use correct return type for ndo_start_xmit() 2020-05-05 11:20:23 -07:00
rdc
realtek realtek/8139cp: use generic power management 2020-05-19 15:32:24 -07:00
renesas net: renesas: Fix use correct return type for ndo_start_xmit() 2020-05-06 14:13:39 -07:00
rocker
samsung net: sxgbe: reject unsupported coalescing params 2020-03-14 21:13:55 -07:00
seeq net: seeq: Use %pM format specifier for MAC addresses 2020-05-18 17:43:13 -07:00
sfc sfc: Add XDP frame size 2020-05-14 21:21:54 -07:00
sgi net: meth: remove spurious copyright text 2020-04-23 15:59:43 -07:00
silan
sis
smsc docs: networking: device drivers: convert smsc/smc9.txt to ReST 2020-05-01 12:24:42 -07:00
socionext net: netsec: Add support for XDP frame size 2020-05-14 21:21:54 -07:00
stmicro Merge git://git.kernel.org/pub/scm/linux/kernel/git/netdev/net 2020-05-15 13:48:59 -07:00
sun net: sun: cassini: Remove unused inline functions 2020-05-05 12:07:43 -07:00
synopsys net: dwc-xlgmac: let core reject the unsupported coalescing parameters 2020-03-17 20:56:57 -07:00
tehuti net: tehuti: remove unused inline function bdx_tx_db_size 2020-05-05 12:07:42 -07:00
ti ethernet: ti: am65-cpts: Add missing inline qualifier to stub functions 2020-05-15 16:32:27 -07:00
toshiba Merge git://git.kernel.org/pub/scm/linux/kernel/git/netdev/net 2020-05-06 22:10:13 -07:00
tundra
via via-rhine: Add platform dependencies 2020-05-07 13:16:53 -07:00
wiznet
xilinx net: ll_temac: Fix return value check in temac_probe() 2020-04-30 20:39:22 -07:00
xircom
xscale net: ethernet: ixp4xx: Add error handling in ixp4xx_eth_probe() 2020-04-23 15:32:45 -07:00
dnet.c net: ethernet: dnet: convert to devm_platform_get_and_ioremap_resource 2020-04-20 12:18:13 -07:00
dnet.h
ec_bhf.c
ethoc.c
fealnx.c
jme.c net: jme: reject unsupported coalescing params 2020-03-14 21:13:54 -07:00
jme.h
Kconfig
korina.c
lantiq_etop.c
lantiq_xrx200.c net: lantiq: Fix use correct return type for ndo_start_xmit() 2020-05-06 14:24:06 -07:00
Makefile