PCI/sysfs: Suppress FW_BUG warning when NUMA node already matches

The numa_node sysfs interface allows users to manually override a PCI
device's NUMA node assignment. Currently, every write triggers a FW_BUG
warning and taints the kernel, even when writing the same value that is
already set.

Check if the requested node is already assigned to the device. If it
matches, return success immediately without tainting the kernel or printing
a warning.

Signed-off-by: Li RongQing <lirongqing@baidu.com>
Signed-off-by: Bjorn Helgaas <bhelgaas@google.com>
Link: https://patch.msgid.link/20260317002803.2353-1-lirongqing@baidu.com
This commit is contained in:
Li RongQing 2026-03-16 20:28:03 -04:00 committed by Bjorn Helgaas
parent 0026bb20d1
commit 47e2a33822

View File

@ -378,6 +378,9 @@ static ssize_t numa_node_store(struct device *dev,
if (node != NUMA_NO_NODE && !node_online(node))
return -EINVAL;
if (node == dev->numa_node)
return count;
add_taint(TAINT_FIRMWARE_WORKAROUND, LOCKDEP_STILL_OK);
pci_alert(pdev, FW_BUG "Overriding NUMA node to %d. Contact your vendor for updates.",
node);