Hey Keith, Does the RC Downstream ports also have DPC capability so the driver actually loads for the Root Port DSPs? Just trying to understand the mechanism. For Wei's specific use case, removing a switch from the RP is not officially supported but technically it should be possible to do so. On the switch end we just need to know where the ecosystem is at so we can make sure to play nice. Wes -----Original Message----- From: Keith Busch [mailto:keith.busch@xxxxxxxxx] Sent: Wednesday, May 10, 2017 9:45 AM To: Wei Zhang <wzhang@xxxxxx> Cc: Bjorn Helgaas <bhelgaas@xxxxxxxxxx>; linux-pci@xxxxxxxxxxxxxxx; Wesley Yung <wesley.yung@xxxxxxxxxxxxx>; Sammy Hui <sammy.hui@xxxxxxxxx>; Joseph Gruher <joseph.r.gruher@xxxxxxxxx>; Krishna Dhulipala <krishnad@xxxxxx> Subject: Re: [PATCH 1/2] pcie/dpc: Skip DPC event if device is not present EXTERNAL EMAIL On Wed, May 10, 2017 at 04:35:06PM +0000, Wei Zhang wrote: > Hi Keith, > > I see. I thought the current CPU root complex does not support such a use case, ie removing the DPC switch device itself and might result in kernel panic. But I agree this will make the code future-proof when CPU does support such a case in the future. What do you mean in the future? I do this today (hotplug enclosures), but I need this fix in place otherwise we get a use-after-free when the DPC work queue runs after the hotplug code freed the topology that includes the DPC parts.