[PATCH v3] power: sequencing: pcie-m2: Match WCN6855 and WCN7851 UART BT variants by subdevice ID

From: Wei Deng

Date: Fri Jul 24 2026 - 04:26:15 EST


The WCN6855 and WCN7851 combo chips are available in M.2 card variants
that differ by their BT interface: some expose BT over UART while others
expose BT over USB. Both variants use the same PCIe device ID for the
WiFi interface, distinguished only by their sub-system device ID.

The bare PCI_DEVICE() entries match all sub-system IDs, so both UART and
USB variants hit the same table entry and trigger UART serdev creation.
For USB variants this is wrong — there is no UART BT interface on such
a card, and the serdev probe will fail.

Narrow the matches to UART variants only by using PCI_DEVICE_SUB with
their respective sub-system IDs, so USB variants no longer trigger
UART serdev creation.

Reviewed-by: Manivannan Sadhasivam <mani@xxxxxxxxxx>
Signed-off-by: Wei Deng <wei.deng@xxxxxxxxxxxxxxxx>
---
Changes in v3:
- Rebased on current pwrseq/for-next tip (Bartosz dropped a previously
queued patch); no changes to the patch content itself.

Changes in v2:
- Send this patch independently, at Bartosz's request.
- Update commit message.
- Collect Reviewed-by: Manivannan Sadhasivam.

Link to v2: https://lore.kernel.org/all/20260723-hamoa-m2-sub-id-v2-v2-1-f10f95eb9ebf@xxxxxxxxxxxxxxxx/
Link to v1: https://lore.kernel.org/all/20260709-fix-hamoa-m2-w-disable2-v1-2-5e725091266a@xxxxxxxxxxxxxxxx/
---
drivers/power/sequencing/pwrseq-pcie-m2.c | 6 ++++--
1 file changed, 4 insertions(+), 2 deletions(-)

diff --git a/drivers/power/sequencing/pwrseq-pcie-m2.c b/drivers/power/sequencing/pwrseq-pcie-m2.c
index 7cb455569d8e..9c096388d8a2 100644
--- a/drivers/power/sequencing/pwrseq-pcie-m2.c
+++ b/drivers/power/sequencing/pwrseq-pcie-m2.c
@@ -192,9 +192,11 @@ static const struct pci_device_id pwrseq_m2_pci_ids[] = {
.driver_data = (kernel_ulong_t)"nxp,88w8987-bt" },
{ PCI_DEVICE_SUB(PCI_VENDOR_ID_QCOM, 0x1103, PCI_VENDOR_ID_QCOM, 0x0108),
.driver_data = (kernel_ulong_t)"qcom,qca2066-bt" },
- { PCI_DEVICE(PCI_VENDOR_ID_QCOM, 0x1103),
+ { PCI_DEVICE_SUB(PCI_VENDOR_ID_QCOM, 0x1103, PCI_VENDOR_ID_FOXCONN, 0xe105),
.driver_data = (kernel_ulong_t)"qcom,wcn6855-bt" },
- { PCI_DEVICE(PCI_VENDOR_ID_QCOM, 0x1107),
+ { PCI_DEVICE_SUB(PCI_VENDOR_ID_QCOM, 0x1103, PCI_VENDOR_ID_QCOM, 0x337e),
+ .driver_data = (kernel_ulong_t)"qcom,wcn6855-bt" },
+ { PCI_DEVICE_SUB(PCI_VENDOR_ID_QCOM, 0x1107, PCI_VENDOR_ID_QCOM, 0x337c),
.driver_data = (kernel_ulong_t)"qcom,wcn7850-bt" },
{ } /* Sentinel */
};

---
base-commit: 1656f4f2eb45d9f18515ac00657a2494719fa065
change-id: 20260723-hamoa-m2-sub-id-v2-f8640ac2520d

Best regards,
--
Wei Deng <wei.deng@xxxxxxxxxxxxxxxx>