From 0337d51af5f39f5ea84d0ba17d947df267ff0c2d Mon Sep 17 00:00:00 2001 From: Ilija Hadzic Date: Mon, 24 Sep 2012 17:19:09 -0400 Subject: [PATCH] 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 b1471af..2533357 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)) -- 1.7.12