diff options
author | Yinghai Lu <yinghai@kernel.org> | 2013-03-27 21:28:05 -0700 |
---|---|---|
committer | Bjorn Helgaas <bhelgaas@google.com> | 2013-04-01 12:02:05 -0600 |
commit | c5fb301ae83bec6892e54984e6ec765c47df8e10 (patch) | |
tree | b8b55517ba6a0ab9076cb5071fbc91becd2c61ec /drivers/regulator/lp3972.c | |
parent | 2cfda637e29ce9e3df31b59f64516b2e571cc985 (diff) |
EISA/PCI: Init EISA early, before PNP
Matthew reported kernels fail the pci_eisa probe and are later successful
with the virtual_eisa_root_init force probe without slot0.
The reason for that is: PNP probing is before pci_eisa_init gets called
as pci_eisa_init is called via pci_driver.
pnp 00:0f has 0xc80 - 0xc84 reserved.
[ 9.700409] pnp 00:0f: [io 0x0c80-0x0c84]
so eisa_probe will fail from pci_eisa_init
==>eisa_root_register
==>eisa_probe path.
as force_probe is not set in pci_eisa_root, it will bail early when
slot0 is not probed and initialized.
Try to use subsys_initcall_sync instead, and will keep following sequence:
pci_subsys_init
pci_eisa_init_early
pnpacpi_init/isapnp_init
After this patch EISA can be initialized properly, and PNP overlapping
resource will not be reserved.
[ 10.104434] system 00:0f: [io 0x0c80-0x0c84] could not be reserved
Reported-by: Matthew Whitehead <mwhitehe@redhat.com>
Tested-by: Matthew Whitehead <mwhitehe@redhat.com>
Signed-off-by: Yinghai Lu <yinghai@kernel.org>
Signed-off-by: Bjorn Helgaas <bhelgaas@google.com>
Cc: stable@vger.kernel.org
Diffstat (limited to 'drivers/regulator/lp3972.c')
0 files changed, 0 insertions, 0 deletions