linux/drivers/net/ethernet
Gangfeng Huang 94221ae75c igb: Fix error of RX network flow classification
After add an ethertype filter, if user change the adapter speed several
times, the error "ethtool -N: etype filters are all used" is reported by
igb driver.

In older patch, function igb_nfc_filter_exit() and igb_nfc_filter_restore()
is not paried. igb_nfc_filter_restore() exist in igb_up(), but function
igb_nfc_filter_exit() is exist in __igb_close(). In the process of speed
changing, only igb_nfc_filter_restore() is called, it will take a position
of ethertype bitmap.

Reproduce steps:
Step 1: Add a etype filter by ethtool
$ethtool -N eth0 flow-type ether proto 0x88F8 action 1
Step 2: Change the adapter speed to 100M/full duplex
$ethtool -s eth0 speed 100 duplex full
Step 3: Change the adapter speed to 1000M/full duplex
ethtool -s eth0 speed 1000 duplex full
Repeat step2 and step3, then dmesg the system log, you can find the error
message, add new ethtype filter is also failed.

This fixing is move igb_nfc_filter_exit() from __igb_close() to igb_down()
to make igb_nfc_filter_restore()/igb_nfc_filter_exit() is paired.

Signed-off-by: Gangfeng Huang <gangfeng.huang@ni.com>
Tested-by: Aaron Brown <aaron.f.brown@intel.com>
Signed-off-by: Jeff Kirsher <jeffrey.t.kirsher@intel.com>
2017-08-08 17:28:29 -07:00
..
3com networking: introduce and use skb_put_data() 2017-06-16 11:48:37 -04:00
8390
adaptec
adi
aeroflex networking: introduce and use skb_put_data() 2017-06-16 11:48:37 -04:00
agere networking: introduce and use skb_put_data() 2017-06-16 11:48:37 -04:00
alacritech
allwinner networking: make skb_put & friends return void pointers 2017-06-16 11:48:39 -04:00
alteon
altera
amazon net: ena: update ena driver to version 1.2.0 2017-06-23 14:15:11 -04:00
amd net: sched: get rid of struct tc_to_netdev 2017-08-07 09:42:37 -07:00
apm xgene: Don't fail probe, if there is no clk resource for SGMII interfaces 2017-07-13 09:21:15 -07:00
apple net: Convert to using %pOF instead of full_name 2017-07-24 13:41:48 -07:00
aquantia aquantia: Switch to use napi_gro_receive 2017-08-04 20:57:13 -07:00
arc net: arc_emac: Add support for ndo_do_ioctl net_device_ops operation 2017-08-03 15:14:34 -07:00
atheros net: atl1c: fix spelling mistake: "droppted" -> "dropped" 2017-06-29 12:24:26 -04:00
aurora net: ethernet: nb8800: Handle all 4 RGMII modes identically 2017-07-25 21:27:01 -07:00
broadcom net: sched: get rid of struct tc_to_netdev 2017-08-07 09:42:37 -07:00
brocade
cadence net: cadence: macb: constify pci_device_id. 2017-07-17 13:37:15 -07:00
calxeda
cavium liquidio: moved console_bitmask module param to lio_main.c 2017-08-06 21:17:57 -07:00
chelsio net: sched: get rid of struct tc_to_netdev 2017-08-07 09:42:37 -07:00
cirrus networking: introduce and use skb_put_data() 2017-06-16 11:48:37 -04:00
cisco cisco: enic: Fic an error handling path in 'vnic_dev_init_devcmd2()' 2017-07-11 10:54:15 -07:00
davicom networking: make skb_put & friends return void pointers 2017-06-16 11:48:39 -04:00
dec net: tulip: remove useless code in tulip_init_one() 2017-07-19 16:33:57 -07:00
dlink
emulex benet: fix set but not used warning 2017-07-25 12:31:37 -07:00
ezchip
faraday ftgmac100: return error in ftgmac100_alloc_rx_buf 2017-07-25 21:21:44 -07:00
freescale net: sched: get rid of struct tc_to_netdev 2017-08-07 09:42:37 -07:00
fujitsu
hisilicon net: hns3: fix spelling mistake: "capabilty" -> "capability" 2017-08-07 14:20:52 -07:00
hp networking: make skb_put & friends return void pointers 2017-06-16 11:48:39 -04:00
i825xx networking: introduce and use skb_put_data() 2017-06-16 11:48:37 -04:00
ibm ibmvnic: Report rx buffer return codes as netdev_dbg 2017-08-07 14:00:44 -07:00
intel igb: Fix error of RX network flow classification 2017-08-08 17:28:29 -07:00
marvell net: mvpp2: add support for TX interrupts and RX queue distribution modes 2017-08-03 15:16:09 -07:00
mediatek net-next: mediatek: add support for MediaTek MT7622 SoC 2017-08-01 15:51:48 -07:00
mellanox mlx5-shared-2017-08-07 2017-08-07 10:42:09 -07:00
micrel networking: make skb_put & friends return void pointers 2017-06-16 11:48:39 -04:00
microchip
moxa net: moxa: Add spaces preferred around that '{+,-}' 2017-07-29 14:02:07 -07:00
myricom
natsemi
neterion s2io: Remove UFO support. 2017-07-17 09:52:57 -07:00
netronome net: sched: get rid of struct tc_to_netdev 2017-08-07 09:42:37 -07:00
nuvoton net/{mii, smsc}: Make mii_ethtool_get_link_ksettings and smc_netdev_get_ecmd return void 2017-06-05 11:00:42 -04:00
nvidia
nxp net: manual clean code which call skb_put_[data:zero] 2017-06-20 13:30:15 -04:00
oki-semi net/{mii, smsc}: Make mii_ethtool_get_link_ksettings and smc_netdev_get_ecmd return void 2017-06-05 11:00:42 -04:00
packetengines net: manual clean code which call skb_put_[data:zero] 2017-06-20 13:30:15 -04:00
pasemi
qlogic qlcnic: add const to bin_attribute structure 2017-08-03 09:28:51 -07:00
qualcomm net: qcom/emac: fix double free of SGMII IRQ during shutdown 2017-07-14 08:55:32 -07:00
rdc
realtek net/{mii, smsc}: Make mii_ethtool_get_link_ksettings and smc_netdev_get_ecmd return void 2017-06-05 11:00:42 -04:00
renesas ravb: add workaround for clock when resuming with WoL enabled 2017-08-01 17:54:38 -07:00
rocker rocker: Ignore address families other than IPv4 2017-08-03 15:35:59 -07:00
samsung
seeq
sfc net: sched: get rid of struct tc_to_netdev 2017-08-07 09:42:37 -07:00
sgi ioc3-eth: store pointer to net_device for priviate area 2017-07-15 14:28:56 -07:00
silan networking: introduce and use skb_put_data() 2017-06-16 11:48:37 -04:00
sis net/{mii, smsc}: Make mii_ethtool_get_link_ksettings and smc_netdev_get_ecmd return void 2017-06-05 11:00:42 -04:00
smsc smsc911x: Add check for ioremap_nocache() return code 2017-07-12 14:35:43 -07:00
stmicro net: stmmac: Add Adaptrum Anarion GMAC glue layer 2017-08-06 21:31:32 -07:00
sun Merge git://git.kernel.org/pub/scm/linux/kernel/git/davem/net 2017-08-01 10:07:50 -07:00
synopsys drivers: net: add missing interrupt.h include 2017-07-18 11:13:41 -07:00
tehuti net: tehuti: don't process data if it has not been copied from userspace 2017-07-19 22:48:02 -07:00
ti net: sched: get rid of struct tc_to_netdev 2017-08-07 09:42:37 -07:00
tile
toshiba net: tc35815: fix spelling mistake: "Intterrupt" -> "Interrupt" 2017-07-29 15:22:08 -07:00
tundra net/{mii, smsc}: Make mii_ethtool_get_link_ksettings and smc_netdev_get_ecmd return void 2017-06-05 11:00:42 -04:00
via net/{mii, smsc}: Make mii_ethtool_get_link_ksettings and smc_netdev_get_ecmd return void 2017-06-05 11:00:42 -04:00
wiznet
xilinx net: Convert to using %pOF instead of full_name 2017-07-24 13:41:48 -07:00
xircom
xscale
dnet.c networking: make skb_put & friends return void pointers 2017-06-16 11:48:39 -04:00
dnet.h
ec_bhf.c net: ec_bhf: constify pci_device_id. 2017-07-17 13:37:15 -07:00
ethoc.c net: ethoc: enable NAPI before poll may be scheduled 2017-06-06 16:22:51 -04:00
fealnx.c networking: introduce and use skb_put_data() 2017-06-16 11:48:37 -04:00
jme.c net/{mii, smsc}: Make mii_ethtool_get_link_ksettings and smc_netdev_get_ecmd return void 2017-06-05 11:00:42 -04:00
jme.h
Kconfig
korina.c net/{mii, smsc}: Make mii_ethtool_get_link_ksettings and smc_netdev_get_ecmd return void 2017-06-05 11:00:42 -04:00
lantiq_etop.c
Makefile
netx-eth.c