Linux kernel mirror (for testing) git.kernel.org/pub/scm/linux/kernel/git/torvalds/linux.git
kernel os linux
1
fork

Configure Feed

Select the types of activity you want to include in your feed.

amd-xgbe: reset retries and mode on RX adapt failures

During the stress tests, early RX adaptation handshakes can fail, such
as missing the RX_ADAPT ACK or not receiving a coefficient update before
block lock is established. Continuing to retry RX adaptation in this
state is often ineffective if the current mode selection is not viable.

Resetting the RX adaptation retry counter when an RX_ADAPT request fails
to receive ACK or a coefficient update prior to block lock, and clearing
mode_set so the next bring-up performs a fresh mode selection rather
than looping on a likely invalid configuration.

Fixes: 4f3b20bfbb75 ("amd-xgbe: add support for rx-adaptation")
Signed-off-by: Raju Rangoju <Raju.Rangoju@amd.com>
Reviewed-by: Simon Horman <horms@kernel.org>
Reviewed-by: Shyam Sundar S K <Shyam-sundar.S-k@amd.com>
Link: https://patch.msgid.link/20251215151728.311713-1-Raju.Rangoju@amd.com
Signed-off-by: Paolo Abeni <pabeni@redhat.com>

authored by

Raju Rangoju and committed by
Paolo Abeni
df60c332 a9f96dc5

+2
+2
drivers/net/ethernet/amd/xgbe/xgbe-phy-v2.c
··· 1928 1928 { 1929 1929 if (pdata->rx_adapt_retries++ >= MAX_RX_ADAPT_RETRIES) { 1930 1930 pdata->rx_adapt_retries = 0; 1931 + pdata->mode_set = false; 1931 1932 return; 1932 1933 } 1933 1934 ··· 1975 1974 */ 1976 1975 netif_dbg(pdata, link, pdata->netdev, "Block_lock done"); 1977 1976 pdata->rx_adapt_done = true; 1977 + pdata->rx_adapt_retries = 0; 1978 1978 pdata->mode_set = false; 1979 1979 return; 1980 1980 }