From 20bfc652ce40008ea561db2984bccf137409c7fd Mon Sep 17 00:00:00 2001 From: Ilija Hadzic Date: Mon, 24 Sep 2012 17:19:09 -0400 Subject: radeon/radeon_platform_probe: fix Zaphod mode breakage Using radeon_platform_probe function breaks the Zaphod mode because it attempts to call xf86AddEntityToScreen multiple times, but nobody calls xf86SetEntityShared prior to that. Consequently, calls for all but first device instance fail. Prior to introduction of platform bus, the logic was that the Probe function would make the entity sharable, which would cause Xserver to later make it shared prior to adding it to screen. With the platform bus loading, add to screen happens in the probe function so we have to make it shared there. v2: do not make the entity shared if it was not previously marked sharable. Should fix: https://bugs.freedesktop.org/show_bug.cgi?id=56680 https://bugs.freedesktop.org/show_bug.cgi?id=56663 Signed-off-by: Ilija Hadzic --- src/radeon_probe.c | 2 ++ 1 file changed, 2 insertions(+) diff --git a/src/radeon_probe.c b/src/radeon_probe.c index b1471af0..25333570 100644 --- a/src/radeon_probe.c +++ b/src/radeon_probe.c @@ -278,6 +278,8 @@ radeon_platform_probe(DriverPtr pDriver, scr_flags = XF86_ALLOCATE_GPU_SCREEN; pScrn = xf86AllocateScreen(pDriver, scr_flags); + if (xf86IsEntitySharable(entity_num)) + xf86SetEntityShared(entity_num); xf86AddEntityToScreen(pScrn, entity_num); if (!radeon_kernel_mode_enabled(pScrn, dev->pdev)) -- cgit v1.2.3