[PATCH v3 8/8] PCI: add QCN9274 to reset quirks and KVM MSI domain
From: Jose Ignacio Tornos Martinez
Date: Thu Oct 29 2026 - 12:42:20 EST
In order to have Qualcomm QCN9274 (PCI ID 17cb:1109) completely
operational from VM environments, add to:
1. quirk_no_bus_reset: Disable broken bus reset, as with WCN6855 and
WCN7850.
2. pci_dev_specific_reset_methods: Use the existing
reset_qualcomm_wlan function. Unlike WCN7850, the QCN9274 is not
initialized at all without a valid device-specific reset method.
3. kvm_msi_devids in pci-kvm-msi: Enable KVM MSI domain support for
VFIO passthrough to VMs.
Signed-off-by: Jose Ignacio Tornos Martinez <jtornosm@xxxxxxxxxx>
---
v3: new
v2: https://lore.kernel.org/all/20261011074514.515894-1-jtornosm@xxxxxxxxxx/
drivers/pci/controller/pci-kvm-msi.c | 1 +
drivers/pci/quirks.c | 2 ++
2 files changed, 3 insertions(+)
diff --git a/drivers/pci/controller/pci-kvm-msi.c b/drivers/pci/controller/pci-kvm-msi.c
index e935e5d9846d..b008e73fedce 100644
--- a/drivers/pci/controller/pci-kvm-msi.c
+++ b/drivers/pci/controller/pci-kvm-msi.c
@@ -336,6 +336,7 @@ static int kvm_msi_create_domain(struct pci_dev *ref_dev)
static const struct pci_device_id kvm_msi_devids[] = {
{ PCI_DEVICE(PCI_VENDOR_ID_QCOM, 0x1103) }, /* WCN6855 */
{ PCI_DEVICE(PCI_VENDOR_ID_QCOM, 0x1107) }, /* WCN7850 */
+ { PCI_DEVICE(PCI_VENDOR_ID_QCOM, 0x1109) }, /* QCN9274 */
{ }
};
diff --git a/drivers/pci/quirks.c b/drivers/pci/quirks.c
index 7f1f47ea2ee4..89d82675a76c 100644
--- a/drivers/pci/quirks.c
+++ b/drivers/pci/quirks.c
@@ -3818,6 +3818,7 @@ DECLARE_PCI_FIXUP_HEADER(PCI_VENDOR_ID_ATHEROS, 0x0034, quirk_no_bus_reset);
DECLARE_PCI_FIXUP_HEADER(PCI_VENDOR_ID_ATHEROS, 0x003e, quirk_no_bus_reset);
DECLARE_PCI_FIXUP_HEADER(PCI_VENDOR_ID_QCOM, 0x1103, quirk_no_bus_reset); /* WCN6855 */
DECLARE_PCI_FIXUP_HEADER(PCI_VENDOR_ID_QCOM, 0x1107, quirk_no_bus_reset); /* WCN7850 */
+DECLARE_PCI_FIXUP_HEADER(PCI_VENDOR_ID_QCOM, 0x1109, quirk_no_bus_reset); /* QCN9274 */
DECLARE_PCI_FIXUP_HEADER(PCI_VENDOR_ID_QCOM, 0x0308, quirk_no_bus_reset); /* SDX62/SDX65 */
/*
@@ -4398,6 +4399,7 @@ static const struct pci_dev_reset_methods pci_dev_reset_methods[] = {
{ PCI_VENDOR_ID_QCOM, 0x0308, reset_qualcomm_modem }, /* SDX62/SDX65 modems */
{ PCI_VENDOR_ID_QCOM, 0x1103, reset_qualcomm_wlan }, /* WCN6855 WLAN */
{ PCI_VENDOR_ID_QCOM, 0x1107, reset_qualcomm_wlan }, /* WCN7850 WLAN */
+ { PCI_VENDOR_ID_QCOM, 0x1109, reset_qualcomm_wlan }, /* QCN9274 WLAN */
{ 0 }
};
--
2.56.0