igb: Allocate MSI-X vector when testing
Akihiko Odaki authored
Without this change, the interrupt test fail with MSI-X environment:

$ sudo ethtool -t enp0s2 offline
[   43.921783] igb 0000:00:02.0: offline testing starting
[   44.855824] igb 0000:00:02.0 enp0s2: igb: enp0s2 NIC Link is Down
[   44.961249] igb 0000:00:02.0 enp0s2: igb: enp0s2 NIC Link is Up 1000 Mbps Full Duplex, Flow Control: RX/TX
[   51.272202] igb 0000:00:02.0: testing shared interrupt
[   56.996975] igb 0000:00:02.0 enp0s2: igb: enp0s2 NIC Link is Up 1000 Mbps Full Duplex, Flow Control: RX/TX
The test result is FAIL
The test extra info:
Register test  (offline)	 0
Eeprom test    (offline)	 0
Interrupt test (offline)	 4
Loopback test  (offline)	 0
Link test   (on/offline)	 0

Here, "4" means an expected interrupt was not delivered.

To fix this, route IRQs correctly to the first MSI-X vector by setting
IVAR_MISC. Also, set bit 0 of EIMS so that the vector will not be
masked. The interrupt test now runs properly with this change:

$ sudo ethtool -t enp0s2 of...
28e96556
Name Last commit Last update
..
appletalk net: appletalk: remove Apple/Farallon LocalTalk PC support
arcnet arcnet: fix potential memory leak in com20020_probe()
bonding bonding: fix ICMPv6 header handling when receiving IPv6 messages
caif caif_virtio: fix race between virtio_device_ready() and ndo_open()
can can: mcba_usb: Fix termination command argument
dsa dsa: lan9303: Correct stat name
ethernet igb: Allocate MSI-X vector when testing
fddi skfp/h: fix repeated words in comments
fjes net: drop the weight argument from netif_napi_add
hamradio hamradio: fix issue of dev reference count leakage in bpq_device_event()
hippi net: hippi: Add missing pci_disable_device() in rr_init_one()
hyperv net: hv_netvsc: Fix a warning triggered by memcpy in rndis_filter
ieee802154 Merge git://git.kernel.org/pub/scm/linux/kernel/git/netdev/net
ipa net: ipa: don't configure IDLE_INDICATION on v3.1
ipvlan ipvlan: hold lower dev to avoid possible use-after-free
mctp mctp i2c: don't count unused / invalid keys for flow release
mdio net: mdiobus: fix unbalanced node reference count
netdevsim netdevsim: Fix memory leak of nsim_dev->fa_cookie
pcs net: pcs: add new PCS driver for altera TSE PCS
phy net: mdiobus: fix unbalanced node reference count
plip plip: avoid rcu debug splat
ppp ppp: Fix typo in comment
pse-pd net: pse-pd: PSE_REGULATOR should depend on REGULATOR
slip drivers: net: slip: fix NPD bug in sl_tx_timeout()
team Merge git://git.kernel.org/pub/scm/linux/kernel/git/netdev/net
usb
vmxnet3
vxlan
wan
wireguard
wireless
wwan
xen-netback
Kconfig
LICENSE.SRC
Makefile
Space.c
amt.c
bareudp.c
dummy.c
eql.c
geneve.c
gtp.c
ifb.c
loopback.c
macsec.c
macvlan.c
macvtap.c
mdio.c
mhi_net.c
mii.c
net_failover.c
netconsole.c
nlmon.c
ntb_netdev.c
rionet.c
sb1000.c
sungem_phy.c
tap.c
thunderbolt.c
tun.c
veth.c
virtio_net.c
vrf.c
vsockmon.c
xen-netfront.c