]> git.ipfire.org Git - thirdparty/kernel/linux.git/commitdiff
Revert "net: phy: improve mdiobus_stats_acct"
authorHeiner Kallweit <hkallweit1@gmail.com>
Thu, 5 Mar 2026 17:42:04 +0000 (18:42 +0100)
committerJakub Kicinski <kuba@kernel.org>
Fri, 6 Mar 2026 21:19:33 +0000 (13:19 -0800)
This reverts commit 1afccc5a201ec7c9023370958bae1312369b64da.

As reported by Marek the change causes a warning on non-PREEMPT_RT
32 bit systems.

Reported-by: Marek Szyprowski <m.szyprowski@samsung.com>
Signed-off-by: Heiner Kallweit <hkallweit1@gmail.com>
Link: https://patch.msgid.link/c3a1aba9-3fae-4c4b-bcb1-fb620fb7a309@gmail.com
Signed-off-by: Jakub Kicinski <kuba@kernel.org>
drivers/net/phy/mdio_bus.c

index b32a369cd25f50636463528b1e8aea7404faa8fa..48c0447e6a8f7a3a642fef32f2a18c7ebde8cb85 100644 (file)
@@ -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();
 }
 
 /**