x86 pci configurator should not fail device teardown if device is gone
This is to track upstreaming the following issue from illumos-joyent:
OS-7968 pci configurator should not fail device teardown if device is gone
For details, rationale and testing notes, please refer to the original SmartOS issue:
Updated by Rob Johnston almost 3 years ago
If a hotpluggable PCIe device is removed, the PCIe hotplug controller ("pciehpc") will unprobe the slot, which eventually kicks off a pcicfg_unconfigure, which does a pcicfg_teardown_device for the child devinfo nodes on the slot. To disable the device, the teardown routine calls pcicfg_config_setup, which determines whether there is a device at the specified address. If there is no device, the teardown fails. For a hotpluggable slot, we do not want to fail in this case, as the absence of a device is possible and not an error.
The teardown routine should be changed to return success if the device is absent.
Updated by Electric Monk about 1 year ago
- Status changed from New to Closed
- % Done changed from 0 to 100
commit ffb6483089015eb90be1f5e7fc2a96c9929546a6 Author: Jordan Paige Hendricks <email@example.com> Date: 2021-04-06T00:17:41.000Z 11698 Want NVMe Hotplug Support 11699 x86 pci configurator should not fail device teardown if device is gone 11700 DDI hotplug request handler resets connection handle state before performing state change operations 11701 ldi_handle dcmd segfaults occasionally Reviewed by: Robert Mustacchi <firstname.lastname@example.org> Reviewed by: Rob Johnston <email@example.com> Reviewed by: Paul Winder <firstname.lastname@example.org> Approved by: Dan McDonald <email@example.com>