From mboxrd@z Thu Jan 1 00:00:00 1970 Received: from mail-oo1-f97.google.com (mail-oo1-f97.google.com [209.85.161.97]) (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 B461044E047 for ; Tue, 28 Apr 2026 17:43:39 +0000 (UTC) Authentication-Results: smtp.subspace.kernel.org; arc=none smtp.client-ip=209.85.161.97 ARC-Seal:i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1777398221; cv=none; b=VHreOtpBkx7a1bjLLIf1GEGL6o+HLu2Ot8T4fxlgwUc4gIf7AZ2I2pujiQVt75HmGFZyy18kKhLaX6B6U/rOQJJSOMBGZSfGhEbceryT3MozArTBtEYyR93SeLGP4Yn7vGqNn5Spq0A8RB0V39dnQAC0l7wu5LZF/gsNUkXOI5Y= ARC-Message-Signature:i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1777398221; c=relaxed/simple; bh=rOxrS3ATkBXcYQlvpQQZGZoXlMvDMFOeqqLHTohAREY=; h=Message-ID:Date:MIME-Version:Subject:To:Cc:References:From: In-Reply-To:Content-Type; b=Ksq7uAqxpXiSY0bhQakvsv1Q8smjMd5whd35lb2SAR2HibCxthr69+iBlPilgs+DaOwkavsF1S3hWGPzDPyyqdw0hdXnvXI5AjX3bTxKkwoFRRka9+9ThfyVO9y6dlNB8W6KIVFKSw+jsK4qC7V26WhU6QCAJXFPQ9xCzREiF2Q= ARC-Authentication-Results:i=1; smtp.subspace.kernel.org; dmarc=pass (p=reject dis=none) header.from=broadcom.com; spf=fail smtp.mailfrom=broadcom.com; dkim=pass (1024-bit key) header.d=broadcom.com header.i=@broadcom.com header.b=KPnc7a5k; arc=none smtp.client-ip=209.85.161.97 Authentication-Results: smtp.subspace.kernel.org; dmarc=pass (p=reject dis=none) header.from=broadcom.com Authentication-Results: smtp.subspace.kernel.org; spf=fail smtp.mailfrom=broadcom.com Authentication-Results: smtp.subspace.kernel.org; dkim=pass (1024-bit key) header.d=broadcom.com header.i=@broadcom.com header.b="KPnc7a5k" Received: by mail-oo1-f97.google.com with SMTP id 006d021491bc7-67c22b05346so6113845eaf.2 for ; Tue, 28 Apr 2026 10:43:39 -0700 (PDT) X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20251104; t=1777398219; x=1778003019; h=content-transfer-encoding:in-reply-to:from:content-language :references:cc:to:subject:user-agent:mime-version:date:message-id :dkim-signature:x-gm-gg:x-gm-message-state:from:to:cc:subject:date :message-id:reply-to; bh=9u+qF+6aqxOyi7By7zQC9W/ZP4APPc4fxmJWF1UKk6A=; b=XMso7cyTWHqiOCONUDDbdyS1V1qFDYKV/a3cWO1vUgWE6MyoPqQHFcQ+Iet6d82c7K /0EAhxHT4GEN6haPEeRRCgEpZ/RoACNpuRNKBCI2hh7qCtGEofAoRDCF8f8Vql3INo7Z ioGTzgEcCxSkZ3ndLcRPIusufqQPXIpLn+SpuCGzqnYzKRq21BMPcFj3oWioAupVfJH4 +wlN2SERPcPMhkFy5f4JK6560/GCInSyFxCFC+y6TYhHfAKDcuIa0q8lPDeI89Odl902 UtrdbUDw5nT1fdHFb7ALCPo0lZwUKMeqRFeaHS+5HANKgwJydxZmtr2OfkFwT7iTOHna mZCg== X-Forwarded-Encrypted: i=1; AFNElJ8wTWpk22/KqQkNwmF/+haqX7xGqvXKJNMrsIN6wlZdy0D3xmRyML+HR0AXa7WF7Qg1paZpVO1vzMYAIJw=@vger.kernel.org X-Gm-Message-State: AOJu0Ywkxw9Nk4cIVNto9WxosfhCBeptKekEV6Me85/sdl8fXvDoSO3o j4nla9mEMtINc/YyzfZ/BxIN52jBjvOfO9YMOPChJ0upRn4C6AXOjQ71sp23vFvEHa07qn0+tWE 5W7nbqqg2tCV++5Zvs9YC9kE/kOq+la7sS3cGr1mt7HywZwesFy/iaVEwLW4JK6hyqObmt3qa7E pOcvADwQ2G6WAuv83kCT4RmkQdmyzbnBeGIo8aM6+3lKLtCdlzbv8v92iNC82PPiuMTdzdQuW7S Dy2XKLM9QrY+RddBw== X-Gm-Gg: AeBDiesWM8r5sd5pnWChtqtx3iyzvHEx7jCIyT5NaAH7a5Ebt0R5l3bML4abM3vmGwP Ge7X23uAltZc7qq5YmyQnjJ98YNjPr8tFIH8NPpsgHB4Uj5g+OZpleMF1k+eo4DfGOcfBFc9SaP 2d6KSBq1/5N0+2M3kZBVFoisff80M5GngmGGEzH4xn8ICoaETKbglYuM4GJgEVXhvkoPUCutCpW 6wwok/02liyFniLUfJ2zXly9ZWf5W6i8oUL5nY2FnxqfxTJwmdaY9Dqlb1pJ35yLGsvtq+Fmsj1 JY3sVTwe44Y20cB0LfpySmwGzL/Q2mfGBiK0kZMZOx8GWRFIGe68GxARLQRhOxqyN7EKBkmhcnZ kSs67U5qLkemVFOUBuQLq2CB0ONSvGmq/0XC2VpZUplWuG5cT9nsKrEwV+WOa0o0KLS3yGlZ8wp Mo5r5c2Ucym8DkoHniRS5Ws3yUO5DdJIcZ4Sk2vc0LbN18oEx8b1iQ2pBFAlhAmA8G7Q== X-Received: by 2002:a05:6820:3102:b0:696:1f5a:9bea with SMTP id 006d021491bc7-6965cb77104mr2183140eaf.38.1777398218608; Tue, 28 Apr 2026 10:43:38 -0700 (PDT) Received: from smtp-us-east1-p01-i01-si01.dlp.protect.broadcom.com (address-144-49-247-16.dlp.protect.broadcom.com. [144.49.247.16]) by smtp-relay.gmail.com with ESMTPS id 006d021491bc7-6965ba8a91asm172086eaf.29.2026.04.28.10.43.38 for (version=TLS1_2 cipher=ECDHE-ECDSA-AES128-GCM-SHA256 bits=128/128); Tue, 28 Apr 2026 10:43:38 -0700 (PDT) X-Relaying-Domain: broadcom.com X-CFilter-Loop: Reflected Received: by mail-dl1-f70.google.com with SMTP id a92af1059eb24-12c35f2c09dso15020248c88.0 for ; Tue, 28 Apr 2026 10:43:37 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=broadcom.com; s=google; t=1777398217; x=1778003017; darn=vger.kernel.org; h=content-transfer-encoding:in-reply-to:from:content-language :references:cc:to:subject:user-agent:mime-version:date:message-id :from:to:cc:subject:date:message-id:reply-to; bh=9u+qF+6aqxOyi7By7zQC9W/ZP4APPc4fxmJWF1UKk6A=; b=KPnc7a5kSoml4u3LUH0wM5e/WBSJNy5VfI6VeZJyUaps5ldIBD7CNl27s3NsrFPXRe LkraMFvYrZHJCmXH6eH5t2TyhOCQGFUM5dRh1mQpxpEid9soSerePISqJsJlvDiStkQM 7PUQeV4h6LqgF579UJeahhJRQi2Czw2YvgL5k= X-Forwarded-Encrypted: i=1; AFNElJ/t48RcBwt3F+VTl543PM9Eee1GviVOnhgRbEWgbpt//Lp2u8OCva5plyLEXZ51J1MAsg0jlQi4uTrQiD0=@vger.kernel.org X-Received: by 2002:a05:7022:438e:b0:12d:b175:2573 with SMTP id a92af1059eb24-12ddd943b7emr1949512c88.7.1777398216678; Tue, 28 Apr 2026 10:43:36 -0700 (PDT) X-Received: by 2002:a05:7022:438e:b0:12d:b175:2573 with SMTP id a92af1059eb24-12ddd943b7emr1949486c88.7.1777398215982; Tue, 28 Apr 2026 10:43:35 -0700 (PDT) Received: from [10.14.6.173] ([192.19.161.248]) by smtp.gmail.com with ESMTPSA id a92af1059eb24-12ddd93c1c0sm2500439c88.7.2026.04.28.10.43.34 (version=TLS1_3 cipher=TLS_AES_128_GCM_SHA256 bits=128/128); Tue, 28 Apr 2026 10:43:35 -0700 (PDT) Message-ID: Date: Tue, 28 Apr 2026 10:43:33 -0700 Precedence: bulk X-Mailing-List: linux-kernel@vger.kernel.org List-Id: List-Subscribe: List-Unsubscribe: MIME-Version: 1.0 User-Agent: Mozilla Thunderbird Subject: Re: [PATCHv2 net-next] net: bcmasp: handle EPROBE_DEFER for MAC retrieval To: Rosen Penev , netdev@vger.kernel.org Cc: Florian Fainelli , Andrew Lunn , "David S. Miller" , Eric Dumazet , Jakub Kicinski , Paolo Abeni , "open list:BROADCOM ASP 2.0 ETHERNET DRIVER" , open list References: <20260428014329.779779-1-rosenp@gmail.com> Content-Language: en-US From: Justin Chen In-Reply-To: <20260428014329.779779-1-rosenp@gmail.com> Content-Type: text/plain; charset=UTF-8; format=flowed Content-Transfer-Encoding: 7bit X-DetectorID-Processed: b00c1d49-9d2e-4205-b15f-d015386d3d5e On 4/27/26 6:43 PM, Rosen Penev wrote: > 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 dev_err_probe. > 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..caf0e408e2f7 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) > + return ERR_PTR(-EPROBE_DEFER); Do we need to hit unwind here? i.e. goto err_deregister_fixed_link. Thanks, Justin > 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)