mirror of
https://github.com/torvalds/linux.git
synced 2024-11-23 04:31:50 +00:00
34fb6bf9b1
If both hot-add and power fault were observed in a single interrupt, we handled the hot-add first, then the power fault, in this path: pciehp_ist if (events & (PDC | DLLSC)) pciehp_handle_presence_or_link_change case OFF_STATE: pciehp_enable_slot __pciehp_enable_slot board_added pciehp_power_on_slot ctrl->power_fault_detected = 0 pcie_write_cmd(ctrl, PCI_EXP_SLTCTL_PWR_ON, PCI_EXP_SLTCTL_PCC) pciehp_green_led_on(p_slot) # power LED on pciehp_set_attention_status(p_slot, 0) # attention LED off if ((events & PFD) && !ctrl->power_fault_detected) ctrl->power_fault_detected = 1 pciehp_set_attention_status(1) # attention LED on pciehp_green_led_off(slot) # power LED off This left the attention indicator on (even though the hot-add succeeded) and the power indicator off (even though the slot power was on). Fix this by checking for power faults before checking for new devices. Prior to |
||
---|---|---|
.. | ||
acpi_pcihp.c | ||
acpiphp_core.c | ||
acpiphp_glue.c | ||
acpiphp_ibm.c | ||
acpiphp.h | ||
cpci_hotplug_core.c | ||
cpci_hotplug_pci.c | ||
cpci_hotplug.h | ||
cpcihp_generic.c | ||
cpcihp_zt5550.c | ||
cpcihp_zt5550.h | ||
cpqphp_core.c | ||
cpqphp_ctrl.c | ||
cpqphp_nvram.c | ||
cpqphp_nvram.h | ||
cpqphp_pci.c | ||
cpqphp_sysfs.c | ||
cpqphp.h | ||
ibmphp_core.c | ||
ibmphp_ebda.c | ||
ibmphp_hpc.c | ||
ibmphp_pci.c | ||
ibmphp_res.c | ||
ibmphp.h | ||
Kconfig | ||
Makefile | ||
pci_hotplug_core.c | ||
pciehp_core.c | ||
pciehp_ctrl.c | ||
pciehp_hpc.c | ||
pciehp_pci.c | ||
pciehp.h | ||
pnv_php.c | ||
rpadlpar_core.c | ||
rpadlpar_sysfs.c | ||
rpadlpar.h | ||
rpaphp_core.c | ||
rpaphp_pci.c | ||
rpaphp_slot.c | ||
rpaphp.h | ||
s390_pci_hpc.c | ||
sgi_hotplug.c | ||
shpchp_core.c | ||
shpchp_ctrl.c | ||
shpchp_hpc.c | ||
shpchp_pci.c | ||
shpchp_sysfs.c | ||
shpchp.h |