diff options
author | Brian Norris <briannorris@google.com> | 2025-09-24 09:57:11 -0700 |
---|---|---|
committer | Bjorn Helgaas <bhelgaas@google.com> | 2025-09-24 14:02:39 -0500 |
commit | 48991e4935078b05f80616c75d1ee2ea3ae18e58 (patch) | |
tree | 98e1deac5e1142e9e41b485f9c928c159c7ef4b2 /scripts/gdb/linux/modules.py | |
parent | 299fad4133677b845ce962f78c9cf75bded63f61 (diff) |
PCI/sysfs: Ensure devices are powered for config reads
The "max_link_width", "current_link_speed", "current_link_width",
"secondary_bus_number", and "subordinate_bus_number" sysfs files all access
config registers, but they don't check the runtime PM state. If the device
is in D3cold or a parent bridge is suspended, we may see -EINVAL, bogus
values, or worse, depending on implementation details.
Wrap these access in pci_config_pm_runtime_{get,put}() like most of the
rest of the similar sysfs attributes.
Notably, "max_link_speed" does not access config registers; it returns a
cached value since d2bd39c0456b ("PCI: Store all PCIe Supported Link
Speeds").
Fixes: 56c1af4606f0 ("PCI: Add sysfs max_link_speed/width, current_link_speed/width, etc")
Signed-off-by: Brian Norris <briannorris@google.com>
Signed-off-by: Brian Norris <briannorris@chromium.org>
Signed-off-by: Bjorn Helgaas <bhelgaas@google.com>
Cc: stable@vger.kernel.org
Link: https://patch.msgid.link/20250924095711.v2.1.Ibb5b6ca1e2c059e04ec53140cd98a44f2684c668@changeid
Diffstat (limited to 'scripts/gdb/linux/modules.py')
0 files changed, 0 insertions, 0 deletions