linux_dsm_epyc7002/drivers/net/ethernet
Finn Thain eaabfd19b2 net/sonic: Avoid needless receive descriptor EOL flag updates
The while loop in sonic_rx() traverses the rx descriptor ring. It stops
when it reaches a descriptor that the SONIC has not used. Each iteration
advances the EOL flag so the SONIC can keep using more descriptors.
Therefore, the while loop has no definite termination condition.

The algorithm described in the National Semiconductor literature is quite
different. It consumes descriptors up to the one with its EOL flag set
(which will also have its "in use" flag set). All freed descriptors are
then returned to the ring at once, by adjusting the EOL flags (and link
pointers).

Adopt the algorithm from datasheet as it's simpler, terminates quickly
and avoids a lot of pointless descriptor EOL flag changes.

Fixes: efcce83936 ("[PATCH] macsonic/jazzsonic network drivers update")
Tested-by: Stan Johnson <userm57@yahoo.com>
Signed-off-by: Finn Thain <fthain@telegraphics.com.au>
Signed-off-by: David S. Miller <davem@davemloft.net>
2020-01-23 21:24:37 +01:00
..
3com
8390
adaptec
aeroflex
agere
alacritech
allwinner
alteon
altera net: of_get_phy_mode: Change API to solve int/unit warnings 2019-11-04 11:21:25 -08:00
amazon net: ena: fix issues in setting interrupt moderation params in ethtool 2019-12-20 21:43:08 -08:00
amd treewide: Use sizeof_field() macro 2019-12-09 10:36:44 -08:00
apm
apple
aquantia net: atlantic: remove duplicate entries 2020-01-06 14:06:11 -08:00
arc net: of_get_phy_mode: Change API to solve int/unit warnings 2019-11-04 11:21:25 -08:00
atheros net: ag71xx: fix compile warnings 2019-12-17 22:38:50 -08:00
aurora net: of_get_phy_mode: Change API to solve int/unit warnings 2019-11-04 11:21:25 -08:00
broadcom bnxt_en: Do not treat DSN (Digital Serial Number) read failure as fatal. 2020-01-18 14:38:29 +01:00
brocade
cadence net: macb: fix for fixed-link mode 2020-01-13 18:37:42 -08:00
calxeda
cavium treewide: Use sizeof_field() macro 2019-12-09 10:36:44 -08:00
chelsio cxgb4: reject overlapped queues in TC-MQPRIO offload 2020-01-19 16:12:53 +01:00
cirrus net: ep93xx_eth: fix mismatch of request_mem_region in remove 2019-11-15 12:42:09 -08:00
cisco
cortina net: gemini: Fix memory leak in gmac_setup_txqs 2019-12-16 16:26:54 -08:00
davicom
dec
dlink
emulex treewide: Use sizeof_field() macro 2019-12-09 10:36:44 -08:00
ezchip
faraday Here's the main documentation changes for 5.5: 2019-12-02 11:51:02 -08:00
freescale net: fsl/fman: rename IF_MODE_XGMII to IF_MODE_10G 2020-01-23 21:18:57 +01:00
fujitsu
google net: Google gve: Remove dma_wmb() before ringing doorbell 2020-01-03 12:40:53 -08:00
hisilicon net: hns: fix soft lockup when there is not enough memory 2020-01-17 11:19:12 +01:00
huawei treewide: Use sizeof_field() macro 2019-12-09 10:36:44 -08:00
i825xx
ibm net/ibmvnic: Fix typo in retry check 2019-12-13 17:23:10 -08:00
intel e1000e: Revert "e1000e: Make watchdog use delayed work" 2020-01-09 09:21:40 -08:00
marvell net: mvneta: fix dma sync size in mvneta_run_xdp 2020-01-14 18:48:08 -08:00
mediatek net: phylink: rename mac_link_state() op to mac_pcs_get_state() 2019-11-23 16:13:39 -08:00
mellanox mlxsw: spectrum_acl: Fix use-after-free during reload 2020-01-23 11:32:57 +01:00
micrel
microchip Merge git://git.kernel.org/pub/scm/linux/kernel/git/netdev/net 2019-11-16 21:51:42 -08:00
moxa
mscc net: mscc: ocelot: unregister the PTP clock on deinit 2019-12-03 11:27:00 -08:00
myricom
natsemi net/sonic: Avoid needless receive descriptor EOL flag updates 2020-01-23 21:24:37 +01:00
neterion
netronome Merge git://git.kernel.org/pub/scm/linux/kernel/git/netdev/net 2019-12-22 09:54:33 -08:00
ni net: of_get_phy_mode: Change API to solve int/unit warnings 2019-11-04 11:21:25 -08:00
nvidia net: forcedeth: add xmit_more support 2019-11-06 10:22:31 -08:00
nxp lpc_eth: kernel BUG on remove 2019-12-06 20:51:19 -08:00
oki-semi treewide: Use sizeof_field() macro 2019-12-09 10:36:44 -08:00
packetengines
pasemi
pensando Merge git://git.kernel.org/pub/scm/linux/kernel/git/netdev/net 2019-12-08 13:28:11 -08:00
qlogic qlcnic: Fix CPU soft lockup while collecting firmware dump 2020-01-23 21:13:33 +01:00
qualcomm Merge git://git.kernel.org/pub/scm/linux/kernel/git/netdev/net 2019-11-22 16:27:24 -08:00
rdc
realtek treewide: Use sizeof_field() macro 2019-12-09 10:36:44 -08:00
renesas sh_eth: check sh_eth_cpu_data::dual_port when dumping registers 2020-01-09 18:35:41 -08:00
rocker
samsung net: ethernet: sxgbe: Rename Samsung to lowercase 2020-01-06 13:33:14 -08:00
seeq
sfc sfc: Include XDP packet headroom in buffer step size. 2019-12-20 21:56:48 -08:00
sgi net: sgi: ioc3-eth: ensure tx ring is 16k aligned. 2019-11-04 11:30:14 -08:00
silan
sis
smsc
socionext net: ethernet: ave: Avoid lockdep warning 2020-01-16 13:28:39 +01:00
stmicro net: stmmac: selftests: Guard VLAN Perfect test against non supported HW 2020-01-15 23:11:18 +01:00
sun
synopsys
tehuti
ti Merge git://git.kernel.org/pub/scm/linux/kernel/git/netdev/net 2019-12-22 09:54:33 -08:00
toshiba
tundra
via
wiznet
xilinx net: phylink: rename mac_link_state() op to mac_pcs_get_state() 2019-11-23 16:13:39 -08:00
xircom
xscale
dnet.c
dnet.h
ec_bhf.c
ethoc.c
fealnx.c
jme.c
jme.h
Kconfig hp100: Move 100BaseVG AnyLAN driver to staging 2019-10-31 14:49:52 -07:00
korina.c
lantiq_etop.c
lantiq_xrx200.c
Makefile hp100: Move 100BaseVG AnyLAN driver to staging 2019-10-31 14:49:52 -07:00