• Yinghai Lu's avatar
    x86/pci: insert ioapic resource before assigning unassigned resources · 857fdc53
    Yinghai Lu authored
    Stephen reported that his DL585 G2 needed noapic after 2.6.22 (?)
    
    Dann bisected it down to:
      commit 30a18d6c
      Date:   Tue Feb 19 03:21:20 2008 -0800
    
          x86: multi pci root bus with different io resource range, on
          64-bit
    
    It turns out that:
      1. that AMD-based systems have two HT chains.
      2. BIOS doesn't allocate resources for BAR 6 of devices under 8132 etc
      3. that multi-peer-root patch will try to split root resources to peer
         root resources according to PCI conf of NB
      4. PCI core assigns unassigned resources, but they overlap with BARs
         that are used by ioapic addr of io4 and 8132.
    
    The reason: at that point ioapic address are not inserted yet.  Solution
    is to insert ioapic resources into the tree a bit earlier.
    Reported-by: default avatarStephen Frost <sfrost@snowman.net>
    Reported-and-Tested-by: default avatardann frazier <dannf@hp.com>
    Signed-off-by: default avatarYinghai Lu <yinghai@kernel.org>
    Cc: stable@kernel.org
    Signed-off-by: default avatarJesse Barnes <jbarnes@jbarnes-g45.(none)>
    857fdc53
io_apic.c 98.8 KB