summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--xserver/hw/xfree86/common/xf86Config.c13
1 files changed, 12 insertions, 1 deletions
diff --git a/xserver/hw/xfree86/common/xf86Config.c b/xserver/hw/xfree86/common/xf86Config.c
index edebe6be9..7393c5ceb 100644
--- a/xserver/hw/xfree86/common/xf86Config.c
+++ b/xserver/hw/xfree86/common/xf86Config.c
@@ -499,7 +499,8 @@ static void
fixup_video_driver_list(char **drivers)
{
static const char *fallback[4] = { "vesa", "fbdev", "wsfb", NULL };
- char **end, **drv;
+ static const char *blacklist[] = { "radeonhd", "radeon", NULL };
+ char **end, **drv, **d;
char *x;
int i;
@@ -520,6 +521,16 @@ fixup_video_driver_list(char **drivers)
}
}
}
+ /* Remove blacklisted drivers */
+ for (i = 0; blacklist[i]; i++) {
+ for (drv = drivers; drv != end; drv++) {
+ if (strcmp(*drv, blacklist[i]) == 0) {
+ end--;
+ for (d = drv; d != end; d++)
+ *d = *(d+1);
+ }
+ }
+ }
}
static char **