OS-7968: x86 pci configurator should not fail device teardown if device is gone

Details

Issue Type:Bug
Priority:3 - Elevated
Status:Resolved
Created at:2019-08-22T21:29:54.940Z
Updated at:2019-09-16T22:46:25.149Z

People

Created by:Former user
Reported by:Former user
Assigned to:Former user

Resolution

Fixed: A fix for this issue is checked into the tree and tested.
(Resolution Date: 2019-08-27T21:07:06.110Z)

Fix Versions

2019-08-29 Zoo York (Release Date: 2019-08-29)

Related Issues

Related Links

Description

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.

Comments

Comment by Former user
Created at 2019-08-26T22:53:24.639Z

For testing notes, see notes for OS-5553.


Comment by Jira Bot
Created at 2019-08-27T18:54:59.639Z

illumos-joyent commit 175e9b5e7534aad7d965dc4a8c6e9b0dd8e6f1f0 (branch master, by Jordan Paige Hendricks)

OS-5553 Want NVMe Hotplug Support
OS-7968 x86 pci configurator should not fail device teardown if device is gone
OS-7969 DDI hotplug request handler resets connection handle state before performing state change operations
OS-7691 ldi_handle dcmd segfaults occasionally
Reviewed by: Robert Mustacchi <rm@joyent.com>
Reviewed by: Rob Johnston <rob.johnston@joyent.com>
Approved by: Joshua M. Clulow <jmc@joyent.com>