[PATCH net v4 2/4] net: ethernet: oa_tc6: No return on rx buffer overflow error
From: Selvamani Rajagopal via B4 Relay
Date: Tue Jun 09 2026 - 15:55:09 EST
From: Selvamani Rajagopal <Selvamani.Rajagopal@xxxxxxxxxx>
On RX buffer overflow error, the bad data chunks must
be thrown away and code should look for a data chunk with
"start valid" bit set, which would indicate next valid MAC
frame. In this change, oa_tc6_try_spi_transfer is called
again if it returns error code EAGAIN. This helps to
recover from the error gracefully.
Fixes: 2c6ce5354453 ("net: ethernet: oa_tc6: implement mac-phy interrupt")
Signed-off-by: Selvamani Rajagopal <Selvamani.Rajagopal@xxxxxxxxxx>
Changes in v4:
new patch
---
drivers/net/ethernet/oa_tc6.c | 2 ++
1 file changed, 2 insertions(+)
diff --git a/drivers/net/ethernet/oa_tc6.c b/drivers/net/ethernet/oa_tc6.c
index e2c0843207f2..20c9e98d1d60 100644
--- a/drivers/net/ethernet/oa_tc6.c
+++ b/drivers/net/ethernet/oa_tc6.c
@@ -1111,6 +1111,8 @@ static irqreturn_t oa_tc6_macphy_threaded_irq(int irq, void *data)
while (tc6->int_flag || (tc6->waiting_tx_skb && tc6->tx_credits)) {
ret = oa_tc6_try_spi_transfer(tc6);
+ if (ret == -EAGAIN)
+ continue;
if (ret)
break;
}
--
2.43.0