kernel_samsung_a53x/drivers/net/ethernet
ChunHao Lin 9a1c098f1f r8169: fix rtl8125b PAUSE frames blasting when suspended
[ Upstream commit 4b0768b6556af56ee9b7cf4e68452a2b6289ae45 ]

When FIFO reaches near full state, device will issue pause frame.
If pause slot is enabled(set to 1), in this time, device will issue
pause frame only once. But if pause slot is disabled(set to 0), device
will keep sending pause frames until FIFO reaches near empty state.

When pause slot is disabled, if there is no one to handle receive
packets, device FIFO will reach near full state and keep sending
pause frames. That will impact entire local area network.

This issue can be reproduced in Chromebox (not Chromebook) in
developer mode running a test image (and v5.10 kernel):
1) ping -f $CHROMEBOX (from workstation on same local network)
2) run "powerd_dbus_suspend" from command line on the $CHROMEBOX
3) ping $ROUTER (wait until ping fails from workstation)

Takes about ~20-30 seconds after step 2 for the local network to
stop working.

Fix this issue by enabling pause slot to only send pause frame once
when FIFO reaches near full state.

Fixes: f1bce4ad2f1c ("r8169: add support for RTL8125")
Reported-by: Grant Grundler <grundler@chromium.org>
Tested-by: Grant Grundler <grundler@chromium.org>
Cc: stable@vger.kernel.org
Signed-off-by: ChunHao Lin <hau@realtek.com>
Reviewed-by: Jacob Keller <jacob.e.keller@intel.com>
Reviewed-by: Heiner Kallweit <hkallweit1@gmail.com>
Link: https://lore.kernel.org/r/20231129155350.5843-1-hau@realtek.com
Signed-off-by: Jakub Kicinski <kuba@kernel.org>
Signed-off-by: Sasha Levin <sashal@kernel.org>
2024-11-18 12:11:48 +01:00
..
3com Import A536BXXU9EXDC 2024-06-15 16:02:09 -03:00
8390 Import A536BXXU9EXDC 2024-06-15 16:02:09 -03:00
adaptec Import A536BXXU9EXDC 2024-06-15 16:02:09 -03:00
aeroflex Backport mac80211 patches from linux-6.1.y 2024-06-15 16:29:20 -03:00
agere Import A536BXXU9EXDC 2024-06-15 16:02:09 -03:00
alacritech Import A536BXXU9EXDC 2024-06-15 16:02:09 -03:00
allwinner Backport mac80211 patches from linux-6.1.y 2024-06-15 16:29:20 -03:00
alteon Import A536BXXU9EXDC 2024-06-15 16:02:09 -03:00
altera Backport mac80211 patches from linux-6.1.y 2024-06-15 16:29:20 -03:00
amazon Import A536BXXU9EXDC 2024-06-15 16:02:09 -03:00
amd amd-xgbe: propagate the correct speed and duplex status 2024-11-18 12:10:55 +01:00
apm Import A536BXXU9EXDC 2024-06-15 16:02:09 -03:00
apple Import A536BXXU9EXDC 2024-06-15 16:02:09 -03:00
aquantia Import A536BXXU9EXDC 2024-06-15 16:02:09 -03:00
arc Backport mac80211 patches from linux-6.1.y 2024-06-15 16:29:20 -03:00
atheros Backport mac80211 patches from linux-6.1.y 2024-06-15 16:29:20 -03:00
aurora Import A536BXXU9EXDC 2024-06-15 16:02:09 -03:00
broadcom net: bnxt: fix a potential use-after-free in bnxt_init_tc 2024-11-18 12:11:39 +01:00
brocade Import A536BXXU9EXDC 2024-06-15 16:02:09 -03:00
cadence Backport mac80211 patches from linux-6.1.y 2024-06-15 16:29:20 -03:00
calxeda Import A536BXXU9EXDC 2024-06-15 16:02:09 -03:00
cavium Backport mac80211 patches from linux-6.1.y 2024-06-15 16:29:20 -03:00
chelsio chtls: fix tp->rcv_tstamp initialization 2024-11-18 11:42:50 +01:00
cirrus Import A536BXXU9EXDC 2024-06-15 16:02:09 -03:00
cisco Import A536BXXU9EXDC 2024-06-15 16:02:09 -03:00
cortina net: ethernet: cortina: Fix MTU max setting 2024-11-18 11:43:20 +01:00
davicom Backport mac80211 patches from linux-6.1.y 2024-06-15 16:29:20 -03:00
dec Import A536BXXU9EXDC 2024-06-15 16:02:09 -03:00
dlink Import A536BXXU9EXDC 2024-06-15 16:02:09 -03:00
emulex Import A536BXXU9EXDC 2024-06-15 16:02:09 -03:00
ezchip Backport mac80211 patches from linux-6.1.y 2024-06-15 16:29:20 -03:00
faraday Import A536BXXU9EXDC 2024-06-15 16:02:09 -03:00
freescale dpaa2-eth: increase the needed headroom to account for alignment 2024-11-18 12:11:10 +01:00
fujitsu Import A536BXXU9EXDC 2024-06-15 16:02:09 -03:00
google gve: Use size_add() in call to struct_size() 2024-11-18 11:42:47 +01:00
hisilicon net: hns: fix fake link up on xge port 2024-11-18 12:11:39 +01:00
huawei Import A536BXXU9EXDC 2024-06-15 16:02:09 -03:00
i825xx Import A536BXXU9EXDC 2024-06-15 16:02:09 -03:00
ibm Import A536BXXU9EXDC 2024-06-15 16:02:09 -03:00
intel i40e: Fix unexpected MFS warning message 2024-11-18 12:11:39 +01:00
marvell octeontx2-pf: Add missing mutex lock in otx2_get_pauseparam 2024-11-18 12:11:38 +01:00
mediatek Backport mac80211 patches from linux-6.1.y 2024-06-15 16:29:20 -03:00
mellanox net/mlx5e: Check return value of snprintf writing to fw_version buffer for representors 2024-11-18 11:43:20 +01:00
micrel Backport mac80211 patches from linux-6.1.y 2024-06-15 16:29:20 -03:00
microchip Backport mac80211 patches from linux-6.1.y 2024-06-15 16:29:20 -03:00
moxa Import A536BXXU9EXDC 2024-06-15 16:02:09 -03:00
mscc Import A536BXXU9EXDC 2024-06-15 16:02:09 -03:00
myricom Import A536BXXU9EXDC 2024-06-15 16:02:09 -03:00
natsemi Import A536BXXU9EXDC 2024-06-15 16:02:09 -03:00
neterion Import A536BXXU9EXDC 2024-06-15 16:02:09 -03:00
netronome Import A536BXXU9EXDC 2024-06-15 16:02:09 -03:00
ni Import A536BXXU9EXDC 2024-06-15 16:02:09 -03:00
nvidia Import A536BXXU9EXDC 2024-06-15 16:02:09 -03:00
nxp Backport mac80211 patches from linux-6.1.y 2024-06-15 16:29:20 -03:00
oki-semi Import A536BXXU9EXDC 2024-06-15 16:02:09 -03:00
packetengines Import A536BXXU9EXDC 2024-06-15 16:02:09 -03:00
pasemi Import A536BXXU9EXDC 2024-06-15 16:02:09 -03:00
pensando ionic: Fix dim work handling in split interrupt mode 2024-11-18 12:11:39 +01:00
qlogic qed: fix LL2 RX buffer allocation 2024-11-08 11:26:09 +01:00
qualcomm Backport mac80211 patches from linux-6.1.y 2024-06-15 16:29:20 -03:00
rdc Import A536BXXU9EXDC 2024-06-15 16:02:09 -03:00
realtek r8169: fix rtl8125b PAUSE frames blasting when suspended 2024-11-18 12:11:48 +01:00
renesas net: ravb: Start TX queues after HW initialization succeeded 2024-11-18 12:11:11 +01:00
rocker Import A536BXXU9EXDC 2024-06-15 16:02:09 -03:00
samsung Backport mac80211 patches from linux-6.1.y 2024-06-15 16:29:20 -03:00
seeq Import A536BXXU9EXDC 2024-06-15 16:02:09 -03:00
sfc Import A536BXXU9EXDC 2024-06-15 16:02:09 -03:00
sgi Import A536BXXU9EXDC 2024-06-15 16:02:09 -03:00
silan Import A536BXXU9EXDC 2024-06-15 16:02:09 -03:00
sis Import A536BXXU9EXDC 2024-06-15 16:02:09 -03:00
smsc Import A536BXXU9EXDC 2024-06-15 16:02:09 -03:00
socionext Backport mac80211 patches from linux-6.1.y 2024-06-15 16:29:20 -03:00
stmicro net: stmmac: xgmac: Disable FPE MMC interrupts 2024-11-18 12:11:11 +01:00
sun Import A536BXXU9EXDC 2024-06-15 16:02:09 -03:00
synopsys Import A536BXXU9EXDC 2024-06-15 16:02:09 -03:00
tehuti Import A536BXXU9EXDC 2024-06-15 16:02:09 -03:00
ti Backport mac80211 patches from linux-6.1.y 2024-06-15 16:29:20 -03:00
toshiba net: spider_net: Use size_add() in call to struct_size() 2024-11-18 11:42:47 +01:00
tundra Import A536BXXU9EXDC 2024-06-15 16:02:09 -03:00
via Import A536BXXU9EXDC 2024-06-15 16:02:09 -03:00
wiznet Backport mac80211 patches from linux-6.1.y 2024-06-15 16:29:20 -03:00
xilinx net: axienet: Fix check for partial TX checksum 2024-11-18 12:10:55 +01:00
xircom Import A536BXXU9EXDC 2024-06-15 16:02:09 -03:00
xscale Import A536BXXU9EXDC 2024-06-15 16:02:09 -03:00
dnet.c Import A536BXXU9EXDC 2024-06-15 16:02:09 -03:00
dnet.h Import A536BXXU9EXDC 2024-06-15 16:02:09 -03:00
ec_bhf.c Import A536BXXU9EXDC 2024-06-15 16:02:09 -03:00
ethoc.c Backport mac80211 patches from linux-6.1.y 2024-06-15 16:29:20 -03:00
fealnx.c Import A536BXXU9EXDC 2024-06-15 16:02:09 -03:00
jme.c Import A536BXXU9EXDC 2024-06-15 16:02:09 -03:00
jme.h Import A536BXXU9EXDC 2024-06-15 16:02:09 -03:00
Kconfig Import A536BXXU9EXDC 2024-06-15 16:02:09 -03:00
korina.c Import A536BXXU9EXDC 2024-06-15 16:02:09 -03:00
lantiq_etop.c Import A536BXXU9EXDC 2024-06-15 16:02:09 -03:00
lantiq_xrx200.c Backport mac80211 patches from linux-6.1.y 2024-06-15 16:29:20 -03:00
Makefile Import A536BXXU9EXDC 2024-06-15 16:02:09 -03:00