summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorHåkon Bugge <haakon.bugge@oracle.com>2025-11-12 12:54:40 +0300
committerBjorn Helgaas <bhelgaas@google.com>2026-01-09 02:52:29 +0300
commit73711730a1128d91ebca1a6994ceeb18f36cb0cd (patch)
treedd8b03cbfd57a7a8f26f4e374fd88cb3c29170f5
parent8f0b4cce4481fb22653697cced8d0d04027cb1e8 (diff)
downloadlinux-73711730a1128d91ebca1a6994ceeb18f36cb0cd.tar.xz
PCI: Do not attempt to set ExtTag for VFs
The bit for enabling extended tags is Reserved and Preserved (RsvdP) for VFs, according to PCIe r7.0 section 7.5.3.4 table 7.21. Hence, bail out early from pci_configure_extended_tags() if the device is a VF. Otherwise, we may see incorrect log messages such as: kernel: pci 0000:af:00.2: enabling Extended Tags (af:00.2 is a VF) Fixes: 60db3a4d8cc9 ("PCI: Enable PCIe Extended Tags if supported") Signed-off-by: Håkon Bugge <haakon.bugge@oracle.com> Signed-off-by: Bjorn Helgaas <bhelgaas@google.com> Reviewed-by: Zhu Yanjun <yanjun.zhu@linux.dev> Link: https://patch.msgid.link/20251112095442.1913258-1-haakon.bugge@oracle.com
-rw-r--r--drivers/pci/probe.c3
1 files changed, 2 insertions, 1 deletions
diff --git a/drivers/pci/probe.c b/drivers/pci/probe.c
index 41183aed8f5d..86665658d704 100644
--- a/drivers/pci/probe.c
+++ b/drivers/pci/probe.c
@@ -2270,7 +2270,8 @@ int pci_configure_extended_tags(struct pci_dev *dev, void *ign)
u16 ctl;
int ret;
- if (!pci_is_pcie(dev))
+ /* PCI_EXP_DEVCTL_EXT_TAG is RsvdP in VFs */
+ if (!pci_is_pcie(dev) || dev->is_virtfn)
return 0;
ret = pcie_capability_read_dword(dev, PCI_EXP_DEVCAP, &cap);