]> git.ipfire.org Git - thirdparty/kernel/stable.git/commit
net: mdio: aspeed: add dummy read to avoid read-after-write issue
authorJacky Chou <jacky_chou@aspeedtech.com>
Thu, 11 Dec 2025 06:24:58 +0000 (14:24 +0800)
committerGreg Kroah-Hartman <gregkh@linuxfoundation.org>
Mon, 19 Jan 2026 12:09:56 +0000 (13:09 +0100)
commit214802e4caaa450f8a0727ab36501828415b1b4a
tree19aee7d4d6e9fbecb2f3c00dfcc995ac0f7db1c4
parent6ff75a5132dfa26c994c91786f8f4d0cee466105
net: mdio: aspeed: add dummy read to avoid read-after-write issue

[ Upstream commit d1a1a4bade4b20c0858d0b2f81d2611de055f675 ]

The Aspeed MDIO controller may return incorrect data when a read operation
follows immediately after a write. Due to a controller bug, the subsequent
read can latch stale data, causing the polling logic to terminate earlier
than expected.

To work around this hardware issue, insert a dummy read after each write
operation. This ensures that the next actual read returns the correct
data and prevents premature polling exit.

This workaround has been verified to stabilize MDIO transactions on
affected Aspeed platforms.

Fixes: f160e99462c6 ("net: phy: Add mdio-aspeed")
Signed-off-by: Jacky Chou <jacky_chou@aspeedtech.com>
Reviewed-by: Andrew Lunn <andrew@lunn.ch>
Link: https://patch.msgid.link/20251211-aspeed_mdio_add_dummy_read-v3-1-382868869004@aspeedtech.com
Signed-off-by: Paolo Abeni <pabeni@redhat.com>
Signed-off-by: Sasha Levin <sashal@kernel.org>
drivers/net/mdio/mdio-aspeed.c