From: Lorenzo Bianconi Date: Wed, 10 Jun 2026 13:25:13 +0000 (+0200) Subject: net: airoha: simplify WAN device check in airoha_dev_init() X-Git-Url: http://git.ipfire.org/cgi-bin/gitweb.cgi?a=commitdiff_plain;h=9912dfa2d46aef4cd708246aa6b39b49213f5e62;p=thirdparty%2Flinux.git net: airoha: simplify WAN device check in airoha_dev_init() airoha_register_gdm_devices() iterates eth->ports[] in order, so GDM2's netdev is always registered before GDM3/GDM4. This means the explicit check for eth->ports[1] && eth->ports[1]->devs[0] is a redundant special-case of what airoha_get_wan_gdm_dev() already covers, since GDM2 is always marked as WAN during its own ndo_init. Remove the redundant check and rely solely on airoha_get_wan_gdm_dev() which handles both the GDM2-present and GDM2-absent cases. Signed-off-by: Lorenzo Bianconi Reviewed-by: Alexander Lobakin Link: https://patch.msgid.link/20260610-airoha-eth-simplify-dev-init-v2-1-8f244e69b0d4@kernel.org Signed-off-by: Jakub Kicinski --- diff --git a/drivers/net/ethernet/airoha/airoha_eth.c b/drivers/net/ethernet/airoha/airoha_eth.c index 872ec1e492c4..9e72fe465e50 100644 --- a/drivers/net/ethernet/airoha/airoha_eth.c +++ b/drivers/net/ethernet/airoha/airoha_eth.c @@ -2007,18 +2007,10 @@ static int airoha_dev_init(struct net_device *netdev) switch (port->id) { case AIROHA_GDM3_IDX: - case AIROHA_GDM4_IDX: { - struct airoha_eth *eth = dev->eth; - - /* GDM2 supports a single net_device */ - if (eth->ports[1] && eth->ports[1]->devs[0]) - break; - - if (airoha_get_wan_gdm_dev(eth)) + case AIROHA_GDM4_IDX: + if (airoha_get_wan_gdm_dev(dev->eth)) break; - fallthrough; - } case AIROHA_GDM2_IDX: /* GDM2 is always used as wan */ dev->flags |= AIROHA_PRIV_F_WAN;