diff options
author | Connor Behan <connor.behan@gmail.com> | 2013-10-17 18:26:28 -0700 |
---|---|---|
committer | Keith Packard <keithp@keithp.com> | 2013-10-29 09:49:01 -0700 |
commit | 04ab07ca19236d6c9a947e065fb69b0dd0d16639 (patch) | |
tree | 337dcbf0d5c10263a7e014e7bd44f7e5806948ac /hw/xfree86/common | |
parent | b32a4c91ccd479638c2bd2c0143b6ea170c717d1 (diff) |
xfree86: Find primary entity when bus types are nominally different
As of server 1.13, systems with DRM and Udev will have BUS_PLATFORM as
their primary bus type. However, drivers not implementing a
platformProbe function will still create entities of type BUS_PCI. We
need to account for this when checking for the primary entity.
Signed-off-by: Connor Behan <connor.behan@gmail.com>
Acked-by: Tormod Volden <debian.tormod@gmail.com>
Reviewed-by: Adam Jackson <ajax@redhat.com>
Signed-off-by: Keith Packard <keithp@keithp.com>
Diffstat (limited to 'hw/xfree86/common')
-rw-r--r-- | hw/xfree86/common/xf86Bus.c | 4 |
1 files changed, 3 insertions, 1 deletions
diff --git a/hw/xfree86/common/xf86Bus.c b/hw/xfree86/common/xf86Bus.c index e1015379b..329d0b3d5 100644 --- a/hw/xfree86/common/xf86Bus.c +++ b/hw/xfree86/common/xf86Bus.c @@ -266,7 +266,9 @@ xf86IsEntityPrimary(int entityIndex) { EntityPtr pEnt = xf86Entities[entityIndex]; - if (primaryBus.type != pEnt->bus.type) + if (primaryBus.type == BUS_PLATFORM && pEnt->bus.type == BUS_PCI) + return MATCH_PCI_DEVICES(pEnt->bus.id.pci, primaryBus.id.plat->pdev); + else if (primaryBus.type != pEnt->bus.type) return FALSE; switch (pEnt->bus.type) { |