-
Notifications
You must be signed in to change notification settings - Fork 26
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
(RHEL-50103) Backport NAMING_FIRMWARE_NODE_SUN #294
(RHEL-50103) Backport NAMING_FIRMWARE_NODE_SUN #294
Conversation
In the below, we will try to read 'address' file in the directory, hence the entry must be a directory. No functional change, just a tiny optimization. (cherry picked from commit 4103dca) Related: RHEL-50103
Then we can reduce indentation. No functional change, just refactoring. (cherry picked from commit 73fb4b2) Related: RHEL-50103
…plug_slot_from_address() No functional changes, just refactoring. (cherry picked from commit f1e3eaa) Related: RHEL-50103
pci_get_hotplug_slot() has the following limitations: - if slots are not hotpluggable, they are not in /sys/bus/pci/slots. - the address at /sys/bus/pci/slots/X/addr doesn't contains the function part, so on some system, 2 different slots with different _SUN end up with the same hotplug_slot, leading to naming conflicts. - it tries all parent devices until it finds a slot number, which is incorrect, and what led to NAMING_BRIDGE_MULTIFUNCTION_SLOT being disabled. The use of PCI hotplug to find the slot (ACPI _SUN) was introduced in systemd/systemd@0035597 "udev: net_id - export PCI hotplug slot names" on 2012/11/26. At the same time on the kernel side we got torvalds/linux@bb74ac2 "ACPI: create _SUN sysfs file" on 2012/11/16. Using PCI hotplug was the only way at the time, but now 12 years later we can use firmware_node/sun sysfs file. Looking at a small selection of server HW, for HPE (Gen10 DL325), the _SUN is attached to the NIC device, whereas for Dell (R640/R6515/R6615) and Cisco (UCSC-C220-M5SX), the _SUN is on the first parent pcieport. We still fallback to pci_get_hotplug_slot() to handle the s390 case and maybe some other coner cases (_SUN on grand parent device that is not a bridge ?). (cherry picked from commit 0a4ecc54cb9f2d3418b970c51bfadb69c34ae9eb) Resolves: RHEL-50103
Commit validationTracker - RHEL-50103 The following commits meet all requirements
Follow-up detectionFollow-ups
Success🟠 Mentions, Follow-ups and Revert commits - Waived Tracker validationSuccess🟢 Tracker RHEL-50103 has set desired product: Pull Request validationSuccess🟢 CI - All checks have passed Auto MergeSuccess🟢 Pull Request is not marked as draft and it's not blocked by |
Resolves: RHEL-50103