android_kernel_oneplus_msm8998/drivers/net/ethernet
Jeremy Linton acf9504ae2 net: sky2: Fix shutdown crash
[ Upstream commit 06ba3b2133dc203e1e9bc36cee7f0839b79a9e8b ]

The sky2 frequently crashes during machine shutdown with:

sky2_get_stats+0x60/0x3d8 [sky2]
dev_get_stats+0x68/0xd8
rtnl_fill_stats+0x54/0x140
rtnl_fill_ifinfo+0x46c/0xc68
rtmsg_ifinfo_build_skb+0x7c/0xf0
rtmsg_ifinfo.part.22+0x3c/0x70
rtmsg_ifinfo+0x50/0x5c
netdev_state_change+0x4c/0x58
linkwatch_do_dev+0x50/0x88
__linkwatch_run_queue+0x104/0x1a4
linkwatch_event+0x30/0x3c
process_one_work+0x140/0x3e0
worker_thread+0x60/0x44c
kthread+0xdc/0xf0
ret_from_fork+0x10/0x50

This is caused by the sky2 being called after it has been shutdown.
A previous thread about this can be found here:

https://lkml.org/lkml/2016/4/12/410

An alternative fix is to assure that IFF_UP gets cleared by
calling dev_close() during shutdown. This is similar to what the
bnx2/tg3/xgene and maybe others are doing to assure that the driver
isn't being called following _shutdown().

Signed-off-by: Jeremy Linton <jeremy.linton@arm.com>
Signed-off-by: David S. Miller <davem@davemloft.net>
Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
2016-12-10 19:07:22 +01:00
..
3com
8390
adaptec
adi
aeroflex
agere
allwinner
alteon
altera
amd amd-xgbe: fix a couple timeout loops 2015-12-15 12:43:01 -05:00
apm drivers: net: xgene: fix Tx flow control 2015-12-17 15:45:53 -05:00
apple
arc
atheros net: alx: Work around the DMA RX overflow issue 2016-07-11 09:31:12 -07:00
aurora ethernet: aurora: AURORA_NB8800 should depend on HAS_DMA 2015-12-07 13:54:35 -05:00
broadcom bgmac: stop clearing DMA receive control register right after it is set 2016-11-21 10:06:39 +01:00
brocade
cadence net: macb: fix default configuration for GMAC on AT91 2016-07-11 09:31:12 -07:00
calxeda
cavium net: thunderx: Fix OOPs with ethtool --register-dump 2016-09-24 10:07:39 +02:00
chelsio cxgb4: correctly handling failed allocation 2016-01-04 17:18:42 -05:00
cirrus
cisco enic: increment devcmd2 result ring in case of timeout 2016-03-03 15:07:05 -08:00
davicom
dec net: tulip: turn compile-time warning into dev_warn() 2015-11-20 11:02:48 -05:00
dlink dl2k: Add support for IP1000A-based cards 2015-11-16 17:11:31 -05:00
emulex Merge git://git.kernel.org/pub/scm/linux/kernel/git/davem/net 2015-12-31 14:40:43 -08:00
ezchip net: ezchip: fix address space confusion in nps_enet.c 2015-12-08 22:58:01 -05:00
faraday
freescale net: fec: set mac address unconditionally 2016-11-15 07:46:37 +01:00
fujitsu
hisilicon net:hns: print MAC with %pM 2015-12-13 23:36:55 -05:00
hp
i825xx
ibm
intel i40e: fix call of ndo_dflt_bridge_getlink() 2016-11-18 10:48:36 +01:00
marvell net: sky2: Fix shutdown crash 2016-12-10 19:07:22 +01:00
mellanox net/mlx4_core: Allow resetting VF admin mac to zero 2016-10-28 03:01:34 -04:00
micrel Merge remote-tracking branches 'spi/topic/omap-100k', 'spi/topic/omap-uwire', 'spi/topic/owner', 'spi/topic/pxa' and 'spi/topic/pxa2xx' into spi-next 2015-11-04 11:02:12 +00:00
microchip spi: Updates for v4.4 2015-11-05 13:15:12 -08:00
moxa
myricom
natsemi natsemi: add checks for dma mapping errors 2015-12-19 12:58:46 -05:00
neterion
nuvoton
nvidia forcedeth: fix unilateral interrupt disabling in netpoll path 2015-10-27 19:45:23 -07:00
nxp net: lpc_eth: remove irq > NR_IRQS check from probe() 2015-12-03 15:02:24 -05:00
octeon
oki-semi
packetengines
pasemi
qlogic qed: Fix setting/clearing bit in completion bitmap 2016-08-16 09:30:48 +02:00
qualcomm net: qca_spi: clear IFF_TX_SKB_SHARING 2016-04-20 15:41:57 +09:00
rdc
realtek r8169: fix kasan reported skb use-after-free. 2015-11-12 13:51:01 -05:00
renesas sh_eth: advance 'rxdesc' later in sh_eth_ring_format() 2016-04-20 15:42:01 +09:00
rocker switchdev: pass pointer to fib_info instead of copy 2016-06-24 10:18:16 -07:00
samsung
seeq
sfc sfc: on MC reset, clear PIO buffer linkage in TXQs 2016-06-24 10:18:17 -07:00
sgi
silan
sis
smsc smc91x: avoid self-comparison warning 2016-11-10 16:36:36 +01:00
stmicro stmmac: dwmac-sunxi: Call exit cleanup function in probe error path 2015-12-14 16:11:59 -05:00
sun
synopsys dwc_eth_qos: Fix dma address for multi-fragment skbs 2016-01-31 11:29:00 -08:00
tehuti
ti drivers: net: cpsw: fix error return code 2015-12-29 15:31:10 -05:00
tile
toshiba
tundra
via via-velocity: unconditionally drop frames with bad l2 length 2015-11-17 14:37:16 -05:00
wiznet
xilinx
xircom
xscale
dnet.c
dnet.h
ec_bhf.c
ethoc.c
fealnx.c
jme.c jme: Fix device PM wakeup API usage 2016-05-04 14:48:54 -07:00
jme.h
Kconfig net: ethernet: add driver for Aurora VLSI NB8800 Ethernet controller 2015-11-20 11:47:02 -05:00
korina.c
lantiq_etop.c
Makefile net: ethernet: add driver for Aurora VLSI NB8800 Ethernet controller 2015-11-20 11:47:02 -05:00
netx-eth.c