• Arjan van de Ven's avatar
    [PATCH] PCI crash with pciless box or pci=off workaround on Vaio's · 6e8c2276
    Arjan van de Ven authored
    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
    6e8c2276
irq.c 27.7 KB