linux_dsm_epyc7002/drivers/net/ethernet
Cyrille Pitchen a0b44eea37 net: macb: fix the RX queue reset in macb_rx()
On macb only (not gem), when a RX queue corruption was detected from
macb_rx(), the RX queue was reset: during this process the RX ring
buffer descriptor was initialized by macb_init_rx_ring() but we forgot
to also set bp->rx_tail to 0.

Indeed, when processing the received frames, bp->rx_tail provides the
macb driver with the index in the RX ring buffer of the next buffer to
process. So when the whole ring buffer is reset we must also reset
bp->rx_tail so the driver is synchronized again with the hardware.

Since macb_init_rx_ring() is called from many locations, currently from
macb_rx() and macb_init_rings(), we'd rather add the "bp->rx_tail = 0;"
line inside macb_init_rx_ring() than add the very same line after each
call of this function.

Without this fix, the rx queue is not reset properly to recover from
queue corruption and connection drop may occur.

Signed-off-by: Cyrille Pitchen <cyrille.pitchen@atmel.com>
Fixes: 9ba723b081 ("net: macb: remove BUG_ON() and reset the queue to handle RX errors")
Acked-by: Nicolas Ferre <nicolas.ferre@atmel.com>
Signed-off-by: David S. Miller <davem@davemloft.net>
2016-11-29 20:01:31 -05:00
..
3com
8390
adaptec
adi
aeroflex
agere
allwinner
alteon
altera
amazon
amd amd-xgbe: Fix unused suspend handlers build warning 2016-11-28 12:19:36 -05:00
apm drivers: net: xgene: fix: Coalescing values for v2 hardware 2016-11-01 12:04:52 -04:00
apple
arc net: arc_emac: don't pass multicast packets to kernel in non-multicast mode 2016-11-15 19:58:13 -05:00
atheros
aurora net: ethernet: nb8800: Fix module autoload 2016-10-17 13:03:02 -04:00
broadcom net: bcmgenet: fix phydev reference leak 2016-11-27 20:01:15 -05:00
brocade bna: Add synchronization for tx ring. 2016-11-09 13:31:10 -05:00
cadence net: macb: fix the RX queue reset in macb_rx() 2016-11-29 20:01:31 -05:00
calxeda
cavium net: thunderx: Fix memory leak and other issues upon interface toggle 2016-11-16 13:28:33 -05:00
chelsio cxgb4: do not call napi_hash_del() 2016-11-16 17:06:51 -05:00
cirrus
cisco enic: fix rq disable 2016-10-29 17:23:39 -04:00
davicom
dec
dlink
emulex be2net: do not call napi_hash_del() 2016-11-16 17:06:51 -05:00
ezchip net: nps_enet: Fix module autoload 2016-10-17 13:03:02 -04:00
faraday net/faraday: Stop NCSI device on shutdown 2016-10-04 02:11:51 -04:00
freescale net: fsl/fman: fix fixed-link-phydev reference leak 2016-11-27 20:01:15 -05:00
fujitsu
hisilicon net: hns: fix device reference leaks 2016-11-07 13:17:30 -05:00
hp
i825xx
ibm ibmvnic: drop duplicate header seq_file.h 2016-11-25 20:32:10 -05:00
intel i40e: fix call of ndo_dflt_bridge_getlink() 2016-10-27 14:12:52 -07:00
marvell mvpp2: use correct size for memset 2016-11-25 20:57:21 -05:00
mediatek net: ethernet: mediatek: get hw lro capability by the chip id instead of by the dtsi 2016-10-06 21:08:08 -04:00
mellanox net/mlx4: Fix uninitialized fields in rule when adding promiscuous mode to device managed flow steering 2016-11-28 15:33:46 -05:00
micrel
microchip kthread: kthread worker API cleanup 2016-10-11 15:06:33 -07:00
moxa
myricom
natsemi
neterion
netronome
nuvoton
nvidia
nxp
oki-semi
packetengines
pasemi
qlogic qed: Correct rdma params configuration 2016-11-10 12:55:20 -05:00
qualcomm net: qcom/emac: fix of_node and phydev leaks 2016-11-27 20:01:15 -05:00
rdc
realtek r8169: set coherent DMA mask as well as streaming DMA mask 2016-10-15 17:29:38 -04:00
renesas
rocker rocker: fix error return code in rocker_world_check_init() 2016-10-26 17:20:36 -04:00
samsung
seeq
sfc sfc: clear napi_hash state when copying channels 2016-11-13 13:41:42 -05:00
sgi
silan
sis
smsc
stmicro ethernet: stmmac: make DWMAC_STM32 depend on it's associated SoC 2016-11-21 11:34:24 -05:00
sun sunbmac: Fix compiler warning 2016-11-18 11:18:27 -08:00
synopsys dwc_eth_qos: drop duplicate headers 2016-11-25 16:13:59 -05:00
tehuti
ti net: ethernet: ti: cpsw: fix fixed-link phy probe deferral 2016-11-18 13:48:54 -05:00
tile
toshiba ps3_gelic: fix spelling mistake in debug message 2016-11-14 13:38:57 -05:00
tundra
via
wiznet treewide: remove redundant #include <linux/kconfig.h> 2016-10-11 15:06:33 -07:00
xilinx net: axienet: Remove unused parameter from __axienet_device_reset 2016-10-13 12:15:28 -04:00
xircom
xscale net: ethernet: ixp4xx_eth: fix spelling mistake in debug message 2016-11-13 13:48:28 -05:00
dnet.c
dnet.h
ec_bhf.c
ethoc.c
fealnx.c
jme.c
jme.h
Kconfig
korina.c
lantiq_etop.c
Makefile
netx-eth.c