All of lore.kernel.org
 help / color / mirror / Atom feed
From: sashiko-bot@kernel.org
To: "Manikandan Muralidharan" <manikandan.m@microchip.com>
Cc: devicetree@vger.kernel.org, robh@kernel.org,
	"Richard Weinberger" <richard@nod.at>,
	"Pratyush Yadav" <pratyush@kernel.org>,
	"Miquel Raynal" <miquel.raynal@bootlin.com>,
	"Michael Walle" <mwalle@kernel.org>,
	conor+dt@kernel.org,
	"Takahiro Kuwano" <takahiro.kuwano@infineon.com>,
	"Vignesh Raghavendra" <vigneshr@ti.com>
Subject: Re: [PATCH v6 6/7] ARM: dts: microchip: sama5d27_wlsom1: read MAC address from QSPI SFDP
Date: Thu, 30 Jul 2026 04:32:04 +0000	[thread overview]
Message-ID: <20260730043205.0BABC1F00A3A@smtp.kernel.org> (raw)
In-Reply-To: <20260729043026.1811147-7-manikandan.m@microchip.com>

Thank you for your contribution! Sashiko AI review found 1 potential issue(s) to consider:
- [High] Indefinite probe deferral for `macb0` network interface if the EUI-48 marker is unprogrammed or the nvmem layout driver is missing.
--

--- Patch [6]: [PATCH v6 6/7] ARM: dts: microchip: sama5d27_wlsom1: read MAC address from QSPI SFDP ---
commit 8eba2f7e81780da2083cb3da12b2567024175fa6
Author: Manikandan Muralidharan <manikandan.m@microchip.com>

ARM: dts: microchip: sama5d27_wlsom1: read MAC address from QSPI SFDP

This commit exposes the factory-programmed EUI-48 as a mac-address cell
via the QSPI flash SFDP NVMEM provider. It points macb0 at this cell
to provide a stable MAC address on boards where U-Boot does not set one.

> diff --git a/arch/arm/boot/dts/microchip/at91-sama5d27_wlsom1_ek.dts b/arch/arm/boot/dts/microchip/at91-sama5d27_wlsom1_ek.dts
> index 35a933eec5738..5e87bf04bc47c 100644
> --- a/arch/arm/boot/dts/microchip/at91-sama5d27_wlsom1_ek.dts
> +++ b/arch/arm/boot/dts/microchip/at91-sama5d27_wlsom1_ek.dts
[ ... ]
> @@ -97,6 +97,8 @@ uart6: serial@200 {
>  
>  &macb0 {
>  	status = "okay";
> +	nvmem-cells = <&mac_address_eui48>;
> +	nvmem-cell-names = "mac-address";

[Severity: High]
Will this cause an indefinite probe deferral for the macb0 interface if the
EUI-48 marker is unprogrammed or the nvmem layout driver is missing?

When the device tree statically links the macb0 interface to the
mac_address_eui48 nvmem cell, macb_probe() calls of_get_ethdev_address()
which internally calls of_nvmem_cell_get().

If the kernel is missing the microchip,sst26vf-sfdp-eui layout driver, the
nvmem core via nvmem_layout_module_get_optional() returns -EPROBE_DEFER
indefinitely.

Alternatively, if the layout driver is loaded but the board's flash chip
lacks an EUI-48, the layout driver gracefully returns 0 without adding the
cell. However, of_nvmem_cell_get() unconditionally returns -EPROBE_DEFER if
a cell is missing but an nvmem-layout node exists in the device tree:

ret = nvmem->layout ? -EPROBE_DEFER : -ENOENT;

In both scenarios, macb_probe() receives -EPROBE_DEFER and indefinitely
defers, breaking the intended fallback to a random MAC address and resulting
in a complete loss of network connectivity.

>  };

-- 
Sashiko AI review · https://sashiko.dev/#/patchset/20260729043026.1811147-1-manikandan.m@microchip.com?part=6

  reply	other threads:[~2026-07-30  4:32 UTC|newest]

Thread overview: 23+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2026-07-29  4:30 [PATCH v6 0/7] Read MAC address from SST vendor specific SFDP region Manikandan Muralidharan
2026-07-29  4:30 ` Manikandan Muralidharan
2026-07-29  4:30 ` [PATCH v6 1/7] dt-bindings: mtd: jedec,spi-nor: allow the SFDP to be exposed via NVMEM Manikandan Muralidharan
2026-07-29  4:30   ` Manikandan Muralidharan
2026-07-29  4:30 ` [PATCH v6 2/7] dt-bindings: nvmem: layouts: add Microchip/SST SFDP EUI layout Manikandan Muralidharan
2026-07-29  4:30   ` Manikandan Muralidharan
2026-07-29  4:30 ` [PATCH v6 3/7] mtd: spi-nor: sfdp: expose the SFDP as a read-only NVMEM device Manikandan Muralidharan
2026-07-29  4:30   ` Manikandan Muralidharan
2026-07-29  8:01   ` Michael Walle
2026-07-29  8:01     ` Michael Walle
2026-07-29  9:08     ` Manikandan.M
2026-07-29  9:08       ` Manikandan.M
2026-07-29  4:30 ` [PATCH v6 4/7] nvmem: layouts: add Microchip/SST SFDP EUI layout driver Manikandan Muralidharan
2026-07-29  4:30   ` Manikandan Muralidharan
2026-07-30  4:32   ` sashiko-bot
2026-07-29  4:30 ` [PATCH v6 5/7] ARM: dts: microchip: sama5d27_wlsom1: use fixed-partitions for QSPI flash Manikandan Muralidharan
2026-07-29  4:30   ` Manikandan Muralidharan
2026-07-29  4:30 ` [PATCH v6 6/7] ARM: dts: microchip: sama5d27_wlsom1: read MAC address from QSPI SFDP Manikandan Muralidharan
2026-07-29  4:30   ` Manikandan Muralidharan
2026-07-30  4:32   ` sashiko-bot [this message]
2026-07-30  7:31     ` Manikandan.M
2026-07-29  4:30 ` [PATCH v6 7/7] ARM: configs: sama5: enable Microchip/SST SFDP EUI NVMEM layout Manikandan Muralidharan
2026-07-29  4:30   ` Manikandan Muralidharan

Reply instructions:

You may reply publicly to this message via plain-text email
using any one of the following methods:

* Save the following mbox file, import it into your mail client,
  and reply-to-all from there: mbox

  Avoid top-posting and favor interleaved quoting:
  https://en.wikipedia.org/wiki/Posting_style#Interleaved_style

* Reply using the --to, --cc, and --in-reply-to
  switches of git-send-email(1):

  git send-email \
    --in-reply-to=20260730043205.0BABC1F00A3A@smtp.kernel.org \
    --to=sashiko-bot@kernel.org \
    --cc=conor+dt@kernel.org \
    --cc=devicetree@vger.kernel.org \
    --cc=manikandan.m@microchip.com \
    --cc=miquel.raynal@bootlin.com \
    --cc=mwalle@kernel.org \
    --cc=pratyush@kernel.org \
    --cc=richard@nod.at \
    --cc=robh@kernel.org \
    --cc=sashiko-reviews@lists.linux.dev \
    --cc=takahiro.kuwano@infineon.com \
    --cc=vigneshr@ti.com \
    /path/to/YOUR_REPLY

  https://kernel.org/pub/software/scm/git/docs/git-send-email.html

* If your mail client supports setting the In-Reply-To header
  via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line before the message body.
This is an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.