From: Théo Lebrun Date: Wed, 25 Mar 2026 16:28:17 +0000 (+0000) Subject: net: macb: set MACB_CAPS_USRIO_DISABLED if no usrio config is provided X-Git-Url: http://git.ipfire.org/gitweb.cgi?a=commitdiff_plain;h=32fc6a9f6e7585b2b39999a22635c06aa810d1bc;p=thirdparty%2Fkernel%2Flinux.git net: macb: set MACB_CAPS_USRIO_DISABLED if no usrio config is provided 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 Signed-off-by: Conor Dooley Link: https://patch.msgid.link/20260325-husband-cape-ec4945b9184c@spud Signed-off-by: Jakub Kicinski --- diff --git a/drivers/net/ethernet/cadence/macb_main.c b/drivers/net/ethernet/cadence/macb_main.c index 281ab0d7b7c0..4dae84ceb545 100644 --- a/drivers/net/ethernet/cadence/macb_main.c +++ b/drivers/net/ethernet/cadence/macb_main.c @@ -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;