From mboxrd@z Thu Jan 1 00:00:00 1970 Received: from mail-pj1-f50.google.com (mail-pj1-f50.google.com [209.85.216.50]) (using TLSv1.2 with cipher ECDHE-RSA-AES128-GCM-SHA256 (128/128 bits)) (No client certificate requested) by smtp.subspace.kernel.org (Postfix) with ESMTPS id BECC93890EC for ; Wed, 29 Apr 2026 03:34:53 +0000 (UTC) Authentication-Results: smtp.subspace.kernel.org; arc=none smtp.client-ip=209.85.216.50 ARC-Seal:i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1777433695; cv=none; b=nMcJ3HqFiy7lRoNQcs9N1+P3RwP4WQOHLsbO9H1rwiktHp8hddJ4lXHWKYbCAnOyIPnhPsHvmIsB8lnFYCUOj+6K6lUER0oC414OIMPDjw51wwCIM9FVHsc2volxutO3gHXamJ6iRYDhmpFZ3xGY8S9WQfkTKLv9mklQfbP0Yo8= ARC-Message-Signature:i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1777433695; c=relaxed/simple; bh=JIwkDKUEYsWpb/54OV85fk68Ds+wXKQ4rnbe2Q7eY2A=; h=From:To:Cc:Subject:Date:Message-ID:MIME-Version; b=p2K5WyyCs/6ZlkYyrwKUFCfTBKk6vnVkxx849bD8hAnRTrPlfANQx2dWd78H6YCmr4hgdn0JDDtN5HrrA7CtMBA+pcUYz/ARKrvgZjj94BugpPbguTNirR1gqthAMh9oopLHCvVMDxzlA79Fv/j8AQVib+AsIAYPocaE/0RiDPk= ARC-Authentication-Results:i=1; smtp.subspace.kernel.org; dmarc=pass (p=none dis=none) header.from=gmail.com; spf=pass smtp.mailfrom=gmail.com; dkim=pass (2048-bit key) header.d=gmail.com header.i=@gmail.com header.b=d25M/Qx9; arc=none smtp.client-ip=209.85.216.50 Authentication-Results: smtp.subspace.kernel.org; dmarc=pass (p=none dis=none) header.from=gmail.com Authentication-Results: smtp.subspace.kernel.org; spf=pass smtp.mailfrom=gmail.com Authentication-Results: smtp.subspace.kernel.org; dkim=pass (2048-bit key) header.d=gmail.com header.i=@gmail.com header.b="d25M/Qx9" Received: by mail-pj1-f50.google.com with SMTP id 98e67ed59e1d1-35da01fc0baso7632262a91.2 for ; Tue, 28 Apr 2026 20:34:53 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20251104; t=1777433692; x=1778038492; darn=vger.kernel.org; h=content-transfer-encoding:mime-version:message-id:date:subject:cc :to:from:from:to:cc:subject:date:message-id:reply-to; bh=3g9FrMLlGHRvfkrznYnVah7AN8jAhSnFp4GMEptSQDo=; b=d25M/Qx9Xk21rAr4eAyp/IZNtADrLCUTXWoSZuS1T0BgrHG/mthb8nfz0NlImiq6eo 6rdybEfhGnkObm/a/Z39yGDUe9L8Dh5u1qW38bwWjjRXy2zHBUG0luA/YY5KvDVeZIRA vfZaPTT/zEMs2mm8TZ0LLZh/jW6nsD4hb2e1149FMe5+07W/XklpZi9gwRkwPQVbWNU2 fQhhYT+MDkThLh9PnxMj9lAtVzPvi3Uxos51DC4f8htIoKMOGHJUKhIOl7+y7HnMKVYn uGr0KWqv5wUvCPJYJlsTH8yVe+73eHr2p16s1QlSqMef7k4/WYB7jJFOvFk5gZwe2txG 0jyQ== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20251104; t=1777433692; x=1778038492; h=content-transfer-encoding:mime-version:message-id:date:subject:cc :to:from:x-gm-gg:x-gm-message-state:from:to:cc:subject:date :message-id:reply-to; bh=3g9FrMLlGHRvfkrznYnVah7AN8jAhSnFp4GMEptSQDo=; b=Xw5CwnLDBzN74UciKNYehNWkijfdVbQMv5P8njQWHnrf3Dtje6lshokJKAtzDRuFZP cc4aMV9g2/Z/5IuZuyBaPiXIRhu3GUPAjoEnyliLixU2/1cE9H/uOqSOOG2nuHzyAIcj L8tGwLXBO2Dawp43KJzMX5XlECfIkkgJkTXV1zLt7LEy/mYRYHREWJcHPvlG6ANycaYk nNGLElv6RqscijEWdTLRhqOTQ3RDbMzKpQnKTfuOiKc6lGgdjfaL5CHpGICp4UV29c8w qQCYntoSENABQXSqIK1UhmVKHTYQZwQBAuKkA/YOlXSZiIUap3AaGDUlgjCz1N/7zzAF 5RZA== X-Forwarded-Encrypted: i=1; AFNElJ+2nuVv4XNMsBW3hAH8v40SjjoeuqEpWreQPO1NjQyCTyyJ8yv71HLlqMUoMZssFjNAWa6g3ESEWIpafb0=@vger.kernel.org X-Gm-Message-State: AOJu0YzumabAhY3YyP9hps99sb6xVtGl3D9xe25G6pHO8/F2+hTvWgIk 4pw9H1rA0IdmmZF96maflIVR6EvYLIAZjHsKwOpQIhviDU+IJEUSnGwh X-Gm-Gg: AeBDievQudFTPTN7tIiPXQCxHtgaYtc1wgEQMUaqJgXmXNtsDqHCG2pCSB+3FOs4gxs 77i+y9S6Gygyloo5kdZmWM9JzvkhHbIn6lPHrEI8qgfSCtGEkzH0raDALlatca1Job9CgpLa0gi SRwIzDZtafLXN9tlVIaJVP5ETh7rb3N+2CGA5HurG9QkxncqmttzGkZ901wMbX/iC/yF8C0W4ZP c5fIVfTsxc6ks4cZgrzfgTIkh7kGqf850XLkoHghcmFUQUAbDXA3VNGHotLUhqHEwBKMDzov6YX qaQocdgwrBFXEfblRSe18gAPNmBd2RN4b7U2HNbQr+Sayk7qG8SAxJF86AtEY8ItBtcJGjtlEaT t49NFv4A1+00VR56efhRggSv7CcUrzBh0ZYBTqgbxhfXg/qVavbdQPo8uLNQ9SkoEbXsJ/LcEi4 M5IeygiaWOspSK/oHElCaULM5f+V9GDfEGg4bm8HaVOOg8HrGM6XhX6z7eIgg7hnk9+zuAguOWZ 5Gqv8xp4yYAfdDryrfnd6U9Fw== X-Received: by 2002:a17:90b:39cb:b0:364:6f27:43ea with SMTP id 98e67ed59e1d1-3649205a569mr6457195a91.21.1777433692320; Tue, 28 Apr 2026 20:34:52 -0700 (PDT) Received: from ryzen ([2601:644:8000:5b5d::8bd]) by smtp.gmail.com with ESMTPSA id 41be03b00d2f7-c7fd65065e1sm524839a12.22.2026.04.28.20.34.50 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Tue, 28 Apr 2026 20:34:51 -0700 (PDT) From: Rosen Penev To: netdev@vger.kernel.org Cc: Justin Chen , Florian Fainelli , Andrew Lunn , "David S. Miller" , Eric Dumazet , Jakub Kicinski , Paolo Abeni , bcm-kernel-feedback-list@broadcom.com (open list:BROADCOM ASP 2.0 ETHERNET DRIVER), linux-kernel@vger.kernel.org (open list) Subject: [PATCHv2 net-next] net: bcmasp: handle EPROBE_DEFER for MAC retrieval Date: Tue, 28 Apr 2026 20:34:34 -0700 Message-ID: <20260429033434.367366-1-rosenp@gmail.com> X-Mailer: git-send-email 2.54.0 Precedence: bulk X-Mailing-List: linux-kernel@vger.kernel.org List-Id: List-Subscribe: List-Unsubscribe: MIME-Version: 1.0 Content-Transfer-Encoding: 8bit of_get_ethdev_address can return EPROBE_DEFER when using nvmem. To handle this, encode the error with ERR_PTR for minimal changes. Adjust the only place using bcmasp_interface_create. Signed-off-by: Rosen Penev --- v2: use goto after of_get_mac_address probe deferral drivers/net/ethernet/broadcom/asp2/bcmasp.c | 6 +++--- drivers/net/ethernet/broadcom/asp2/bcmasp_intf.c | 6 ++++-- 2 files changed, 7 insertions(+), 5 deletions(-) diff --git a/drivers/net/ethernet/broadcom/asp2/bcmasp.c b/drivers/net/ethernet/broadcom/asp2/bcmasp.c index 972474893a6b..e9b11b956344 100644 --- a/drivers/net/ethernet/broadcom/asp2/bcmasp.c +++ b/drivers/net/ethernet/broadcom/asp2/bcmasp.c @@ -1333,10 +1333,10 @@ static int bcmasp_probe(struct platform_device *pdev) i = 0; for_each_available_child_of_node_scoped(ports_node, intf_node) { intf = bcmasp_interface_create(priv, intf_node, i); - if (!intf) { - dev_err(dev, "Cannot create eth interface %d\n", i); + if (IS_ERR(intf)) { of_node_put(ports_node); - ret = -EINVAL; + ret = dev_err_probe(dev, PTR_ERR(intf), "Cannot create eth interface %d\n", + i); goto err_cleanup; } list_add_tail(&intf->list, &priv->intfs); diff --git a/drivers/net/ethernet/broadcom/asp2/bcmasp_intf.c b/drivers/net/ethernet/broadcom/asp2/bcmasp_intf.c index ec63f50a849e..4c34bf16bb76 100644 --- a/drivers/net/ethernet/broadcom/asp2/bcmasp_intf.c +++ b/drivers/net/ethernet/broadcom/asp2/bcmasp_intf.c @@ -1254,7 +1254,7 @@ struct bcmasp_intf *bcmasp_interface_create(struct bcmasp_priv *priv, struct device *dev = &priv->pdev->dev; struct bcmasp_intf *intf; struct net_device *ndev; - int ch, port, ret; + int ch, port, ret = -EINVAL; if (of_property_read_u32(ndev_dn, "reg", &port)) { dev_warn(dev, "%s: invalid port number\n", ndev_dn->name); @@ -1314,6 +1314,8 @@ struct bcmasp_intf *bcmasp_interface_create(struct bcmasp_priv *priv, } ret = of_get_ethdev_address(ndev_dn, ndev); + if (ret == -EPROBE_DEFER) + goto err_deregister_fixed_link; if (ret) { netdev_warn(ndev, "using random Ethernet MAC\n"); eth_hw_addr_random(ndev); @@ -1340,7 +1342,7 @@ struct bcmasp_intf *bcmasp_interface_create(struct bcmasp_priv *priv, err_free_netdev: free_netdev(ndev); err: - return NULL; + return ERR_PTR(ret); } void bcmasp_interface_destroy(struct bcmasp_intf *intf) -- 2.54.0