]> git.ipfire.org Git - thirdparty/linux.git/commitdiff
net: macb: set MACB_CAPS_USRIO_DISABLED if no usrio config is provided
authorThéo Lebrun <theo.lebrun@bootlin.com>
Wed, 25 Mar 2026 16:28:17 +0000 (16:28 +0000)
committerJakub Kicinski <kuba@kernel.org>
Sun, 29 Mar 2026 21:34:29 +0000 (14:34 -0700)
bp->usrio is copied directly from dt_conf->usrio in macb_probe().

If dt_conf->usrio is NULL, we do not want to land in USRIO write
codepaths which dereference bp->usrio. Inherit automatically
MACB_CAPS_USRIO_DISABLED to avoid those.

This means a macb_config that wants to disable usrio can simply drop
its .usrio field, rather than add the disabled capability explicitly.

Nit: drop the dt_conf NULL check because the pointer is always valid.

Signed-off-by: Théo Lebrun <theo.lebrun@bootlin.com>
Signed-off-by: Conor Dooley <conor.dooley@microchip.com>
Link: https://patch.msgid.link/20260325-husband-cape-ec4945b9184c@spud
Signed-off-by: Jakub Kicinski <kuba@kernel.org>
drivers/net/ethernet/cadence/macb_main.c

index 281ab0d7b7c097f4a227aca7a2266d94ec48f578..4dae84ceb545b2e5f18f231c6da93a9d374a7ba2 100644 (file)
@@ -4577,8 +4577,10 @@ static void macb_configure_caps(struct macb *bp,
 {
        u32 dcfg;
 
-       if (dt_conf)
-               bp->caps = dt_conf->caps;
+       bp->caps = dt_conf->caps;
+
+       if (!dt_conf->usrio)
+               bp->caps |= MACB_CAPS_USRIO_DISABLED;
 
        if (hw_is_gem(bp->regs, bp->native_io)) {
                bp->caps |= MACB_CAPS_MACB_IS_GEM;