linux_dsm_epyc7002/drivers/net/ethernet
Felix Manlunas bb54be589c liquidio: fix Octeon core watchdog timeout false alarm
Detection of watchdog timeout of Octeon cores is flawed and susceptible to
false alarms.  Refactor by removing the detection code, and in its place,
leverage existing code that monitors for an indication from the NIC
firmware that an Octeon core crashed; expand the meaning of the indication
to "an Octeon core crashed or its watchdog timer expired".  Detection of
watchdog timeout is now delegated to an exception handler in the NIC
firmware; this is free of false alarms.

Also if there's an Octeon core crash or watchdog timeout:
(1) Disable VF Ethernet links.
(2) Decrement the module refcount by an amount equal to the number of
    active VFs of the NIC whose Octeon core crashed or had a watchdog
    timeout.  The refcount will continue to reflect the active VFs of
    other liquidio NIC(s) (if present) whose Octeon cores are faultless.

Item (2) is needed to avoid the case of not being able to unload the driver
because the module refcount is stuck at some non-zero number.  There is
code that, in normal cases, decrements the refcount upon receiving a
message from the firmware that a VF driver was unloaded.  But in
exceptional cases like an Octeon core crash or watchdog timeout, arrival of
that particular message from the firmware might be unreliable.  That normal
case code is changed to not touch the refcount in the exceptional case to
avoid contention (over the refcount) with the liquidio_watchdog kernel
thread who will carry out item (2).

Signed-off-by: Felix Manlunas <felix.manlunas@cavium.com>
Signed-off-by: Derek Chickles <derek.chickles@cavium.com>
Signed-off-by: David S. Miller <davem@davemloft.net>
2017-04-06 12:31:56 -07:00
..
3com
8390
adaptec
adi net: bfin_mac: Remove unused stats member from struct bfin_mac_local 2017-03-27 16:01:59 -07:00
aeroflex net: greth: Utilize of_get_mac_address() 2017-03-22 12:00:39 -07:00
agere
alacritech
allwinner
alteon
altera
amazon
amd drivers: add explicit interrupt.h includes 2017-03-30 11:05:34 -07:00
apm drivers: net: xgene-v2: misc fixes 2017-03-22 19:17:14 -07:00
apple
aquantia net:ethernet:aquantia: Reset is_gso flag when EOP reached. 2017-03-24 12:32:19 -07:00
arc
atheros
aurora
broadcom Merge git://git.kernel.org/pub/scm/linux/kernel/git/davem/net 2017-04-06 08:24:51 -07:00
brocade bna: avoid writing uninitialized data into hw registers 2017-03-24 12:49:12 -07:00
cadence lib/vsprintf.c: remove %Z support 2017-02-27 18:43:47 -08:00
calxeda
cavium liquidio: fix Octeon core watchdog timeout false alarm 2017-04-06 12:31:56 -07:00
chelsio cxgb4: Update IngPad and IngPack values 2017-03-22 10:53:49 -07:00
cirrus
cisco
davicom
dec
dlink
emulex be2net: Fix endian issue in logical link config command 2017-03-30 15:57:33 -07:00
ezchip Merge git://git.kernel.org/pub/scm/linux/kernel/git/davem/net 2017-04-06 08:24:51 -07:00
faraday net/faraday: Add missing include of of.h 2017-04-03 18:58:08 -07:00
freescale dpaa_eth: use AVOIDBLOCK for Tx confirmation queues 2017-04-01 12:03:31 -07:00
fujitsu
hisilicon Merge git://git.kernel.org/pub/scm/linux/kernel/git/davem/net 2017-04-06 08:24:51 -07:00
hp
i825xx
ibm net: ibm: emac: remove unused sysrq handler for 'c' key 2017-04-05 07:26:18 -07:00
intel Merge git://git.kernel.org/pub/scm/linux/kernel/git/davem/net 2017-04-06 08:24:51 -07:00
marvell net: mvneta: set rx mode during resume if interface is running 2017-03-29 14:08:57 -07:00
mediatek net: mediatek: Use eth_hw_addr_random() 2017-03-09 13:16:34 -08:00
mellanox Merge git://git.kernel.org/pub/scm/linux/kernel/git/davem/net 2017-04-06 08:24:51 -07:00
micrel net: ks8851: Added support for half-duplex SPI 2017-03-09 18:18:37 -08:00
microchip
moxa net: moxa: fix TX overrun memory leak 2017-03-28 18:02:05 -07:00
myricom
natsemi
neterion net: s2io: fix typo argumnet argument 2017-02-26 11:57:58 -05:00
netronome Merge git://git.kernel.org/pub/scm/linux/kernel/git/davem/net 2017-04-06 08:24:51 -07:00
nuvoton
nvidia
nxp
oki-semi
packetengines
pasemi
qlogic qed: Add a missing error code 2017-04-05 06:53:42 -07:00
qualcomm drivers: add explicit interrupt.h includes 2017-03-30 11:05:34 -07:00
rdc
realtek r8169: replace init_timer with setup_timer 2017-03-12 23:55:03 -07:00
renesas
rocker Merge git://git.kernel.org/pub/scm/linux/kernel/git/davem/net 2017-04-06 08:24:51 -07:00
samsung
seeq drivers: net: ethernet: remove incorrect __exit markups 2017-03-02 14:33:49 -08:00
sfc sfc: don't insert mc_list on low-latency firmware if it's too long 2017-04-05 18:35:21 -07:00
sgi net: sgi: ioc3-eth: use new api ethtool_{get|set}_link_ksettings 2017-03-06 17:05:39 -08:00
silan net: silan: sc92031: use new api ethtool_{get|set}_link_ksettings 2017-03-06 17:05:39 -08:00
sis net: sis: sis900: use new api ethtool_{get|set}_link_ksettings 2017-03-06 17:05:39 -08:00
smsc net: smsc: smc91x: use new api ethtool_{get|set}_link_ksettings 2017-03-08 22:18:05 -08:00
stmicro net: stmmac: rx queue to dma channel mapping fix 2017-04-05 06:47:26 -07:00
sun net: sun: sungem: rix a possible null dereference 2017-03-21 17:44:46 -07:00
synopsys net: dwc-xlgmac: use dual license 2017-03-23 17:04:14 -07:00
tehuti net: tehuti: use new api ethtool_{get|set}_link_ksettings 2017-03-27 16:00:07 -07:00
ti Merge git://git.kernel.org/pub/scm/linux/kernel/git/davem/net 2017-04-06 08:24:51 -07:00
tile
toshiba net: toshiba: spider_net: use new api ethtool_{get|set}_link_ksettings 2017-03-08 22:18:05 -08:00
tundra net: tundra: tsi108: use new api ethtool_{get|set}_link_ksettings 2017-03-12 19:28:07 -07:00
via net: via: via-velocity: use new api ethtool_{get|set}_link_ksettings 2017-03-12 19:28:07 -07:00
wiznet
xilinx net: axienet: use eth_hw_addr_random() 2017-03-06 17:15:41 -08:00
xircom
xscale
dnet.c
dnet.h
ec_bhf.c
ethoc.c net: ethoc: Use ether_addr_copy() 2017-03-21 17:16:56 -07:00
fealnx.c
jme.c
jme.h
Kconfig net: dwc-xlgmac: Initial driver for DesignWare Enterprise Ethernet 2017-03-09 13:29:27 -08:00
korina.c
lantiq_etop.c
Makefile net: dwc-xlgmac: Initial driver for DesignWare Enterprise Ethernet 2017-03-09 13:29:27 -08:00
netx-eth.c