linux-stable/drivers/pci/hotplug
Gavin Shan d0c424971f drivers/pci/hotplug: Fix initial state for empty slot
In PowerNV PCI hotplug driver, the initial PCI slot's state is set
to PNV_PHP_STATE_POPULATED if no PCI devices are connected to the
slot. The PCI devices that are hot added to the slot won't be probed
and populated because of the check in pnv_php_enable():

        /* Check if the slot has been configured */
        if (php_slot->state != PNV_PHP_STATE_REGISTERED)
                return 0;

This fixes the issue by leaving the slot in PNV_PHP_STATE_REGISTERED
state initially if nothing is connected to the slot.

Fixes: 360aebd85a ("drivers/pci/hotplug: Support surprise hotplug in powernv driver")
Cc: stable@vger.kernel.org #v4.9+
Reported-by: Hank Chang <hankmax0000@gmail.com>
Signed-off-by: Gavin Shan <gwshan@linux.vnet.ibm.com>
Tested-by: Willie Liauw <williel@supermicro.com.tw>
Signed-off-by: Michael Ellerman <mpe@ellerman.id.au>
2017-02-15 20:02:43 +11:00
..
acpi_pcihp.c PCI: Fix all whitespace issues 2016-01-08 10:35:24 -06:00
acpiphp.h PCI: Fix all whitespace issues 2016-01-08 10:35:24 -06:00
acpiphp_core.c PCI: Fix all whitespace issues 2016-01-08 10:35:24 -06:00
acpiphp_glue.c ACPI / hotplug / PCI: Make device_is_managed_by_native_pciehp() public 2016-11-17 18:47:58 -06:00
acpiphp_ibm.c Replace <asm/uaccess.h> with <linux/uaccess.h> globally 2016-12-24 11:46:01 -08:00
cpci_hotplug.h PCI: hotplug: Make core explicitly non-modular 2016-08-24 17:20:14 -05:00
cpci_hotplug_core.c PCI: hotplug: Make core explicitly non-modular 2016-08-24 17:20:14 -05:00
cpci_hotplug_pci.c PCI: Fix all whitespace issues 2016-01-08 10:35:24 -06:00
cpcihp_generic.c PCI: Fix all whitespace issues 2016-01-08 10:35:24 -06:00
cpcihp_zt5550.c PCI: Fix all whitespace issues 2016-01-08 10:35:24 -06:00
cpcihp_zt5550.h PCI: Fix whitespace, capitalization, and spelling errors 2013-11-14 11:28:18 -07:00
cpqphp.h PCI: Fix all whitespace issues 2016-01-08 10:35:24 -06:00
cpqphp_core.c Replace <asm/uaccess.h> with <linux/uaccess.h> globally 2016-12-24 11:46:01 -08:00
cpqphp_ctrl.c PCI: Fix all whitespace issues 2016-01-08 10:35:24 -06:00
cpqphp_nvram.c Replace <asm/uaccess.h> with <linux/uaccess.h> globally 2016-12-24 11:46:01 -08:00
cpqphp_nvram.h
cpqphp_pci.c PCI: Fix all whitespace issues 2016-01-08 10:35:24 -06:00
cpqphp_sysfs.c PCI: Fix all whitespace issues 2016-01-08 10:35:24 -06:00
ibmphp.h PCI: Fix all whitespace issues 2016-01-08 10:35:24 -06:00
ibmphp_core.c Merge branch 'pci/trivial' into next 2016-01-20 11:48:25 -06:00
ibmphp_ebda.c Merge branch 'pci/trivial' into next 2016-01-20 11:48:25 -06:00
ibmphp_hpc.c Merge branch 'pci/trivial' into next 2016-01-20 11:48:25 -06:00
ibmphp_pci.c Merge branch 'pci/trivial' into next 2016-01-20 11:48:25 -06:00
ibmphp_res.c Merge branch 'pci/trivial' into next 2016-01-20 11:48:25 -06:00
Kconfig PCI/hotplug: PowerPC PowerNV PCI hotplug driver 2016-06-21 15:30:58 +10:00
Makefile PCI/hotplug: PowerPC PowerNV PCI hotplug driver 2016-06-21 15:30:58 +10:00
pci_hotplug_core.c Replace <asm/uaccess.h> with <linux/uaccess.h> globally 2016-12-24 11:46:01 -08:00
pciehp.h PCI: pciehp: Allow exclusive userspace control of indicators 2016-09-22 18:20:11 -05:00
pciehp_core.c PCI: pciehp: Remove loading message 2016-12-12 10:05:24 -06:00
pciehp_ctrl.c Merge branch 'pci/pm' into next 2016-12-12 11:25:04 -06:00
pciehp_hpc.c PCI: pciehp: Prioritize data-link event over presence detect 2016-12-07 17:00:44 -06:00
pciehp_pci.c PCI: pciehp: Remove pci_configure_slot() usage 2014-09-12 20:09:47 -06:00
pcihp_skeleton.c Merge branch 'pci/trivial' into next 2016-01-20 11:48:25 -06:00
pnv_php.c drivers/pci/hotplug: Fix initial state for empty slot 2017-02-15 20:02:43 +11:00
rpadlpar.h
rpadlpar_core.c powerpc/pci/rpadlpar: Fix device reference leaks 2016-11-14 20:05:59 +11:00
rpadlpar_sysfs.c
rpaphp.h PCI: Fix all whitespace issues 2016-01-08 10:35:24 -06:00
rpaphp_core.c powerpc/pci: Rename pcibios_{add, remove}_pci_devices() 2016-05-11 21:54:23 +10:00
rpaphp_pci.c powerpc/pci: Rename pcibios_find_pci_bus() 2016-05-11 21:54:24 +10:00
rpaphp_slot.c PCI: rpaphp: Fix slot registration for multiple slots under a PHB 2016-07-20 11:54:55 +10:00
s390_pci_hpc.c s390: hotplug: make pci_hpc explicitly non-modular 2016-10-31 17:55:44 +01:00
sgi_hotplug.c PCI: Fix all whitespace issues 2016-01-08 10:35:24 -06:00
shpchp.h PCI: shpchp: Constify hpc_ops structure 2016-01-08 12:10:00 -06:00
shpchp_core.c Merge branch 'pci/trivial' into next 2016-01-20 11:48:25 -06:00
shpchp_ctrl.c PCI: Remove assignment from "if" conditions 2014-09-24 07:50:53 -06:00
shpchp_hpc.c PCI: shpchp: Constify hpc_ops structure 2016-01-08 12:10:00 -06:00
shpchp_pci.c PCI: shpchp: Remove pci_configure_slot() usage 2014-09-12 20:09:49 -06:00
shpchp_sysfs.c PCI: Use to_pci_dev() instead of open-coding it 2016-01-08 12:05:39 -06:00