Commit 6e8c2276 authored by Arjan van de Ven's avatar Arjan van de Ven Committed by Deepak Saxena

[PATCH] PCI crash with pciless box or pci=off workaround on Vaio's

From: Alan Cox <alan@redhat.com>

Reasoning


- Earlier in boot if we find a PCI bus we set raw_pci_ops to the function
  table to use for PCI accesses.
- When we enter this function we now check if we have such a method
- If not then we know it will otherwise crash because the call sequence
  through the code goes

        pci_irq_init
        pirq_peer_trick
        pci_scan_bus_parented
        which always leads down into the device scan and a pci config access
                via raw_pci_ops

  The moment the scan searches for a device it has to crash as it has no
  access methods.

- The other case which does nothing but pci_fixup_irqs is a no-op with no
  PCI devices

- THUS any situation that is changed by the raw_pci_ops check was
  previously an oops case anyway or did nothing anyway.


Tested with pci=off and without
parent bc721a88
......@@ -901,7 +901,7 @@ static int __init pcibios_irq_init(void)
{
DBG("PCI: IRQ init\n");
if (pcibios_enable_irq)
if (pcibios_enable_irq || raw_pci_ops == NULL)
return 0;
pirq_table = pirq_find_routing_table();
......
Markdown is supported
0%
or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment