summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorAlex Deucher <alexander.deucher@amd.com>2014-02-21 08:33:21 -0500
committerAlex Deucher <alexander.deucher@amd.com>2014-02-21 10:09:37 -0500
commitcadb6b493942a84bfeb298751dce0dee39257a06 (patch)
tree995549b822b9bffcfe2ca8d56139ba6a21773e41
parent7cd972a85705341dd8306eefc558ed9e5def05d7 (diff)
radeon: don't install colormap handling if there are no crtcs
Fixes a crash on cards with 0 crtcs. Discussion: http://lists.freedesktop.org/archives/dri-devel/2014-February/054186.html Signed-off-by: Alex Deucher <alexander.deucher@amd.com>
-rw-r--r--src/drmmode_display.c22
1 files changed, 13 insertions, 9 deletions
diff --git a/src/drmmode_display.c b/src/drmmode_display.c
index 76b79d8c..641e231c 100644
--- a/src/drmmode_display.c
+++ b/src/drmmode_display.c
@@ -1939,19 +1939,23 @@ static void drmmode_load_palette(ScrnInfoPtr pScrn, int numColors,
Bool drmmode_setup_colormap(ScreenPtr pScreen, ScrnInfoPtr pScrn)
{
+ xf86CrtcConfigPtr xf86_config = XF86_CRTC_CONFIG_PTR(pScrn);
+
xf86DrvMsgVerb(pScrn->scrnIndex, X_INFO, RADEON_LOGLEVEL_DEBUG,
"Initializing kms color map\n");
- if (!miCreateDefColormap(pScreen))
- return FALSE;
- /* all radeons support 10 bit CLUTs */
- if (!xf86HandleColormaps(pScreen, 256, 10,
- drmmode_load_palette, NULL,
- CMAP_PALETTED_TRUECOLOR
+ if (xf86_config->num_crtc) {
+ if (!miCreateDefColormap(pScreen))
+ return FALSE;
+ /* all radeons support 10 bit CLUTs */
+ if (!xf86HandleColormaps(pScreen, 256, 10,
+ drmmode_load_palette, NULL,
+ CMAP_PALETTED_TRUECOLOR
#if 0 /* This option messes up text mode! (eich@suse.de) */
- | CMAP_LOAD_EVEN_IF_OFFSCREEN
+ | CMAP_LOAD_EVEN_IF_OFFSCREEN
#endif
- | CMAP_RELOAD_ON_MODE_SWITCH))
- return FALSE;
+ | CMAP_RELOAD_ON_MODE_SWITCH))
+ return FALSE;
+ }
return TRUE;
}