]> git.ipfire.org Git - thirdparty/u-boot.git/commit
firmware: scmi: Validate device tree node before setup channel
authorPeng Fan <peng.fan@nxp.com>
Tue, 10 Feb 2026 08:12:14 +0000 (16:12 +0800)
committerTom Rini <trini@konsulko.com>
Thu, 26 Feb 2026 15:04:46 +0000 (09:04 -0600)
commit3ee1408eeb7352d770bbf063df85fa23cd6b79a4
tree2e3a145c6fe652245cb4064d34c47657be5879c9
parent7995bf8dea2d5b3eb7fcb836636f4773924ec35d
firmware: scmi: Validate device tree node before setup channel

SCMI base protocol device does not have a device tree, it should use and
need to use the agent base channel.

For scmi_base.[x], there is no real device tree node for it. ofnode_null() is
assigned as the device tree node for scmi base protocol device:
commit 7eb4eb541c14 ("firmware: scmi: install base protocol to SCMI agent")

However with recent update in commit 0535e46d55d7
("scripts/dtc: Update to upstream version v1.7.2-35-g52f07dcca47c"),
SPL panic in fdt_check_node_offset_()->fdt_next_tag(), because offset is -1
and SPL_OF_LIBFDT_ASSUME_MASK is 0xFF.

So add a check in x_get_channel() to validate the protocol devices'
ofnode.

Reported-by: Ye Li <ye.li@nxp.com>
Closes: https://lore.kernel.org/u-boot/939a9696-27fa-45a1-b428-feffe21ac6d5@oss.nxp.com/
Signed-off-by: Peng Fan <peng.fan@nxp.com>
drivers/firmware/scmi/mailbox_agent.c
drivers/firmware/scmi/optee_agent.c