[<prev] [next>] [day] [month] [year] [list]
Message-ID: <20251112095442.1913258-1-haakon.bugge@oracle.com>
Date: Wed, 12 Nov 2025 10:54:40 +0100
From: Håkon Bugge <haakon.bugge@...cle.com>
To: Bjorn Helgaas <bhelgaas@...gle.com>, Sinan Kaya <okaya@...eaurora.org>
Cc: Håkon Bugge <haakon.bugge@...cle.com>,
linux-pci@...r.kernel.org, linux-kernel@...r.kernel.org
Subject: [PATCH v2] 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@...cle.com>
---
v1 -> v2: Added ref to PCIe spec
---
drivers/pci/probe.c | 3 ++-
1 file changed, 2 insertions(+), 1 deletion(-)
diff --git a/drivers/pci/probe.c b/drivers/pci/probe.c
index 0ce98e18b5a87..014017e15bcc8 100644
--- a/drivers/pci/probe.c
+++ b/drivers/pci/probe.c
@@ -2244,7 +2244,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);
--
2.43.5
Powered by blists - more mailing lists