From: Heiner Kallweit Date: Thu, 5 Mar 2026 17:42:04 +0000 (+0100) Subject: Revert "net: phy: improve mdiobus_stats_acct" X-Git-Url: http://git.ipfire.org/cgi-bin/gitweb.cgi?a=commitdiff_plain;h=1a9940317c1b46b7641af6b4b14c9d2509ac88b2;p=thirdparty%2Fkernel%2Flinux.git Revert "net: phy: improve mdiobus_stats_acct" This reverts commit 1afccc5a201ec7c9023370958bae1312369b64da. As reported by Marek the change causes a warning on non-PREEMPT_RT 32 bit systems. Reported-by: Marek Szyprowski Signed-off-by: Heiner Kallweit Link: https://patch.msgid.link/c3a1aba9-3fae-4c4b-bcb1-fb620fb7a309@gmail.com Signed-off-by: Jakub Kicinski --- diff --git a/drivers/net/phy/mdio_bus.c b/drivers/net/phy/mdio_bus.c index b32a369cd25f5..48c0447e6a8f7 100644 --- a/drivers/net/phy/mdio_bus.c +++ b/drivers/net/phy/mdio_bus.c @@ -358,17 +358,22 @@ EXPORT_SYMBOL(of_mdio_find_bus); static void mdiobus_stats_acct(struct mdio_bus_stats *stats, bool op, int ret) { + preempt_disable(); u64_stats_update_begin(&stats->syncp); u64_stats_inc(&stats->transfers); - if (ret < 0) + if (ret < 0) { u64_stats_inc(&stats->errors); - else if (op) + goto out; + } + + if (op) u64_stats_inc(&stats->reads); else u64_stats_inc(&stats->writes); - +out: u64_stats_update_end(&stats->syncp); + preempt_enable(); } /**