--- xc/programs/Xserver/hw/xfree86/common/xf86pciBus.c.orig 2003-05-23 13:05:29.000000000 -0400 +++ xc/programs/Xserver/hw/xfree86/common/xf86pciBus.c 2003-06-02 12:27:11.000000000 -0400 @@ -215,7 +215,17 @@ * grok host bridges (and multiple bus trees). */ j = info->bus; +#if defined(__ia64__) + /* John Dennis - on Intel Tigers the pci scan leaves multiple + * bridges with a parent (primary) equal to -1, or hence the root. + * This causes the following loop to be infinite as it never walks past + * the initial bridge whose primary is -1. I believe this is equivalent + * to being a multiple bus tree topology. This fix should be revisited + * as the pci code is being reworked in the upstream code. */ + while (j >= 0) { +#else while (TRUE) { +#endif PciBusPtr pBus = xf86PciBus; while (pBus && j != pBus->secondary) pBus = pBus->next;