On Mon, Sep 17, 2012 at 5:25 PM, Yinghai Lu <yinghai@xxxxxxxxxx> wrote: > On Mon, Sep 17, 2012 at 4:06 PM, Bjorn Helgaas <bhelgaas@xxxxxxxxxx> wrote: >> >> So now we have two situations that should be the same, but they're not: >> >> 1) Slot is empty at boot, and BIOS leaves link disabled. Link >> remains disabled until pciehp_power_on_slot() enables it. >> 2) We hot-remove a card, so the slot is now empty, but >> pciehp_power_off_slot() leaves the link enabled. Link stays *enabled* >> until another disable/enable sequence in pciehp_power_off_slot(). >> >> Why should these be different? In both cases the slot is empty, but >> in case 1 the link is disabled, while in case 2 it is enabled. If we >> can detect a hot-add in case 1, why can't we detect it after a >> hot-remove even if the link is disabled? > > silicon problem. assume that case is not well tested. > > we filed the bug to vendor, and they can not explain that so far. > system hotplug fpga report correct present status to the chipset. > looks like the silicon get confused somehow. > >> >> Or maybe case 1 is broken on this box, and hot-add to that slot >> doesn't work correctly either? > > works. with and without this patch. This patch is just black magic then. I don't want to intentionally treat a slot that's empty at boot differently than one that is empty after a hot-remove. -- To unsubscribe from this list: send the line "unsubscribe linux-pci" in the body of a message to majordomo@xxxxxxxxxxxxxxx More majordomo info at http://vger.kernel.org/majordomo-info.html