From: Jakub Kicinski Date: Thu, 30 Jul 2026 00:30:19 +0000 (-0700) Subject: Merge branch 'net-dsa-mt7530-fix-swallowed-mdio-read-errors' X-Git-Url: http://git.ipfire.org/cgi-bin/gitweb.cgi?a=commitdiff_plain;h=8a158ac1ceec48f2aebdd3fd670c20770b829fc1;p=thirdparty%2Fkernel%2Fstable.git Merge branch 'net-dsa-mt7530-fix-swallowed-mdio-read-errors' Daniel Golle says: ==================== net: dsa: mt7530: fix swallowed MDIO read errors While working on a register access cleanup for the mt7530 driver, the Sashiko AI reviewers flagged long-standing error handling gaps in the driver's read paths [1]. The MDIO regmap backend truncates negative bus->read() errnos into u16 register halves and returns success, handing garbage data to callers and to read-modify-write cycles which then write it back to the switch. The ATC/VTCR command polls and the MT7531 indirect PHY polls consume reads through a helper which returns 0 when the underlying read fails. A failed bus transaction thus clears the polled busy bit and is mistaken for command completion, defeats the subsequent ATC_INVALID/VTCR_INVALID checks the same way, and lets the indirect PHY access functions return garbage PHY register data. Fix the backend to propagate bus->read() errors, and convert the command and PHY access polls to regmap_read_poll_timeout(), which terminates polling on read errors and propagates them. The cleanup series depending on these fixes will be submitted to net-next separately after the next net/net-next merger. [1] https://lore.kernel.org/netdev/cover.1784481922.git.daniel@makrotopia.org/ ==================== Link: https://patch.msgid.link/cover.1785213071.git.daniel@makrotopia.org Signed-off-by: Jakub Kicinski --- 8a158ac1ceec48f2aebdd3fd670c20770b829fc1