Subject: stmmac driver RX stuck on "Unavailable Rx buf"

From: Daniel Walker <[email-masked]>
Date: Tue, 28 Feb 2023 17:20:14 -0800

Hi,

We use the stmmac driver for some of our products. During testing we found that
with 500mbps into the port connected to the driver the RX side hangs until we
ifconfig up/down the interface. This happens on multiple kernel version v5.4 and v5.15

With debugging enabled this message was printed a number of times,

[ 4112.847415] dwmac_dma_interrupt: [CSR5: 0x00690415]
[ 4112.847422] - TX (Suspended): Tx Buff Underflow or an unavailable Transmit descriptor
[ 4112.847424] - RX (Suspended): Unavailable Rx buf
[ 4112.847415] dwmac_dma_interrupt: [CSR5: 0x00690415]
[ 4112.847422] - TX (Suspended): Tx Buff Underflow or an unavailable Transmit descriptor
[ 4112.847424] - RX (Suspended): Unavailable Rx buf

We see the status from the RX side claims "Unavailable Rx buf". The documentation I have
doesn't describe what this status means.

Do any of you have experience with this RX status? I thought this might be a missing DTS
option since stmmac has many, but I figured I would ask the maintainers first before trial
and error.

Daniel