diff options
| author | Sherry Sun <sherry.sun@nxp.com> | 2026-08-17 10:27:39 +0800 |
|---|---|---|
| committer | Luiz Augusto von Dentz <luiz.von.dentz@intel.com> | 2026-08-17 14:19:46 -0400 |
| commit | f716a05f496718a7f70a7765291ad8e7858c81a2 (patch) | |
| tree | 9555594bcc563142ebb75fcde7d7f5a77cbda2ee /scripts/objdiff | |
| parent | 262cb784c96cbcd4cb511466e492b2f077135341 (diff) | |
| download | linux-next-f716a05f496718a7f70a7765291ad8e7858c81a2.tar.gz linux-next-f716a05f496718a7f70a7765291ad8e7858c81a2.zip | |
Bluetooth: btnxpuart: Check remote M.2 connector availability before pwrseq
The current code uses of_graph_is_present() to decide whether to enter
the pwrseq path. However, of_graph_is_present() only checks for the
structural presence of a port/ports sub-node and does not check the
status property. This causes problems when a DT overlay disables the
remote M.2 connector node (e.g., switching from PCIe WiFi to SDIO WiFi):
the port node still exists, so of_graph_is_present() returns true, but
the pwrseq provider never registers because the connector is disabled,
leading to an infinite -EPROBE_DEFER loop.
Replace of_graph_is_present() with a new helper that traverses the OF
graph to the remote port parent (the M.2 connector node) and checks
of_device_is_available(). When the remote connector is disabled, the
pwrseq path is skipped, allowing the BT driver to fall through to the
direct bluetooth child node path.
Fixes: e48e332d84d8 ("Bluetooth: btnxpuart: Add M.2 Bluetooth device support using pwrseq")
Signed-off-by: Sherry Sun <sherry.sun@nxp.com>
Signed-off-by: Luiz Augusto von Dentz <luiz.von.dentz@intel.com>
Diffstat (limited to 'scripts/objdiff')
0 files changed, 0 insertions, 0 deletions
