diff --git a/hw/xfree86/common/xf86platformBus.c b/hw/xfree86/common/xf86platformBus.c index 96895a6e1..71f8df1d7 100644 --- a/hw/xfree86/common/xf86platformBus.c +++ b/hw/xfree86/common/xf86platformBus.c @@ -114,7 +114,15 @@ xf86_find_platform_device_by_devnum(int major, int minor) static Bool xf86IsPrimaryPlatform(struct xf86_platform_device *plat) { - return ((primaryBus.type == BUS_PLATFORM) && (plat == primaryBus.id.plat)); + if (primaryBus.type == BUS_PLATFORM) + return plat == primaryBus.id.plat; +#ifdef XSERVER_LIBPCIACCESS + if (primaryBus.type == BUS_PCI) + if (plat->pdev) + if (MATCH_PCI_DEVICES(primaryBus.id.pci, plat->pdev)) + return TRUE; +#endif + return FALSE; } static void