[Date Prev][Date Next] [Thread Prev][Thread Next] [Date Index] [Thread Index]

xorg-server: Changes to 'debian-lenny'



 debian/changelog                            |    8 +
 debian/patches/55_sparc-fbdev-fallback.diff |  128 ----------------------------
 debian/patches/series                       |    1 
 3 files changed, 8 insertions(+), 129 deletions(-)

New commits:
commit b0dc45f792c9aa1e3445bd6297cc2e99d36d8efb
Author: Julien Cristau <jcristau@debian.org>
Date:   Fri May 22 15:18:26 2009 +0200

    Revert change from -10.lenny1.
    
    If both PCI and fb drivers are loaded, the server falls over, so the
    workaround doesn't work, and seems to break other setups...

diff --git a/debian/changelog b/debian/changelog
index d6c7c66..56acd25 100644
--- a/debian/changelog
+++ b/debian/changelog
@@ -1,3 +1,11 @@
+xorg-server (2:1.4.2-10.lenny2) UNRELEASED; urgency=low
+
+  * Revert change from -10.lenny1.  If both PCI and fb drivers are loaded, the
+    server falls over, so the workaround doesn't work, and seems to break
+    other setups...  This closes: #527058, and reopens #488669.
+
+ -- Julien Cristau <jcristau@debian.org>  Fri, 22 May 2009 15:15:16 +0200
+
 xorg-server (2:1.4.2-10.lenny1) stable; urgency=low
 
   * Work around a bug in the sparc PCI code by falling back to the fbdev
diff --git a/debian/patches/55_sparc-fbdev-fallback.diff b/debian/patches/55_sparc-fbdev-fallback.diff
deleted file mode 100644
index cab2a6b..0000000
--- a/debian/patches/55_sparc-fbdev-fallback.diff
+++ /dev/null
@@ -1,128 +0,0 @@
-From db183d95a4b03a735da54609b6158e17b0422e62 Mon Sep 17 00:00:00 2001
-From: Julien Cristau <jcristau@debian.org>
-Date: Tue, 24 Feb 2009 01:25:32 +0100
-Subject: [PATCH] Add an fbdev screen as a fallback on sparc
-
-Because of a bug in our PCI code that got exposed by recent kernels,
-we will fail to start with PCI drivers on sparc.  Add a new fallback
-screen using the fbdev driver that should hopefully still work.
-
-For this to work we need xf86MapDomainMemory to not throw a fatal error
-on failure, otherwise we won't even try the fallback.
----
- hw/xfree86/common/xf86Config.c       |   65 ++++++++++++++++++++++++++++++++++
- hw/xfree86/os-support/bus/linuxPci.c |    4 +-
- 2 files changed, 67 insertions(+), 2 deletions(-)
-
-Index: xorg-server/hw/xfree86/common/xf86Config.c
-===================================================================
---- xorg-server.orig/hw/xfree86/common/xf86Config.c
-+++ xorg-server/hw/xfree86/common/xf86Config.c
-@@ -1530,6 +1530,51 @@
-        {0}, FALSE },
- };
- 
-+#ifdef __sparc__
-+/*
-+ * XXX this is a kludge to workaround a bug on sparc that makes X fail to
-+ * start on pci platforms, and where we want to always fallback to fbdev.
-+ */
-+static void configAddFbdev(XF86ConfLayoutPtr conf_layout)
-+{
-+    XF86ConfScreenPtr fbdev_screen = xnfcalloc(1, sizeof(XF86ConfScreenRec));
-+    XF86ConfDevicePtr fbdev_device = xnfcalloc(1, sizeof(XF86ConfDeviceRec));
-+    XF86ConfAdjacencyPtr fbdev_adjp = xnfcalloc(1, sizeof(XF86ConfAdjacencyRec));
-+
-+    fbdev_adjp->adj_scrnum = -1;
-+    fbdev_adjp->adj_screen = fbdev_screen;
-+    fbdev_adjp->adj_screen_str = xstrdup("fbdev fallback Screen");
-+    fbdev_adjp->adj_where = CONF_ADJ_OBSOLETE;
-+
-+    fbdev_screen->scrn_identifier = xstrdup(fbdev_adjp->adj_screen_str);
-+    fbdev_screen->scrn_device_str = xstrdup("fbdev fallback Device");
-+    fbdev_screen->scrn_device = fbdev_device;
-+
-+    fbdev_device->dev_identifier = xstrdup(fbdev_screen->scrn_device_str);
-+    fbdev_device->dev_driver = xstrdup("fbdev");
-+
-+    conf_layout->lay_adjacency_lst =
-+	xf86addListItem(&conf_layout->lay_adjacency_lst->list,
-+                        &fbdev_adjp->list);
-+}
-+
-+static XF86ConfScreenPtr configAddFbdevScreen(void)
-+{
-+    XF86ConfScreenPtr fbdev_screen = xnfcalloc(1, sizeof(XF86ConfScreenRec));
-+    XF86ConfDevicePtr fbdev_device = xnfcalloc(1, sizeof(XF86ConfDeviceRec));
-+
-+    fbdev_screen->scrn_identifier = xstrdup("fbdev fallback Screen");
-+    fbdev_screen->scrn_device_str = xstrdup("fbdev fallback Device");
-+    fbdev_screen->scrn_device = fbdev_device;
-+
-+    fbdev_device->dev_identifier = xstrdup(fbdev_screen->scrn_device_str);
-+    fbdev_device->dev_driver = xstrdup("fbdev");
-+
-+    return fbdev_screen;
-+
-+}
-+#endif
-+
- /*
-  * figure out which layout is active, which screens are used in that layout,
-  * which drivers and monitors are used in these screens
-@@ -1576,6 +1621,9 @@
-     }
-     xf86Msg(from, "ServerLayout \"%s\"\n", conf_layout->lay_identifier);
-     adjp = conf_layout->lay_adjacency_lst;
-+#ifdef __sparc__
-+    configAddFbdev(conf_layout);
-+#endif
- 
-     /*
-      * we know that each screen is referenced exactly once on the left side
-@@ -1820,13 +1868,30 @@
- 
-     /* We have exactly one screen */
- 
-+#ifndef __sparc__
-     slp = xnfcalloc(1, 2 * sizeof(screenLayoutRec));
-+#else
-+    slp = xnfcalloc(3, sizeof(screenLayoutRec));
-+#endif
-+
-     slp[0].screen = xnfcalloc(1, sizeof(confScreenRec));
-+#ifndef __sparc__
-     slp[1].screen = NULL;
-+#else
-+    slp[1].screen = xnfcalloc(1, sizeof(confScreenRec));
-+    slp[2].screen = NULL;
-+#endif
-     if (!configScreen(slp[0].screen, conf_screen, 0, from)) {
- 	xfree(slp);
- 	return FALSE;
-     }
-+#ifdef __sparc__
-+    conf_screen = configAddFbdevScreen();
-+    if (!configScreen(slp[1].screen, conf_screen, 1, X_DEFAULT)) {
-+	xfree(slp);
-+	return FALSE;
-+    }
-+#endif
-     servlayoutp->id = "(implicit)";
-     servlayoutp->screens = slp;
-     servlayoutp->inactives = xnfcalloc(1, sizeof(GDevRec));
-Index: xorg-server/hw/xfree86/os-support/bus/linuxPci.c
-===================================================================
---- xorg-server.orig/hw/xfree86/os-support/bus/linuxPci.c
-+++ xorg-server/hw/xfree86/os-support/bus/linuxPci.c
-@@ -703,8 +703,8 @@
-     if (fd >= 0)
- 	close(fd);
-     if (addr == NULL || addr == MAP_FAILED) {
--	perror("mmap failure");
--	FatalError("xf86MapDomainMem():  mmap() failure\n");
-+	ErrorF("xf86MapDomainMem():  %s\n", strerror(errno));
-+	addr = NULL;
-     }
-     return addr;
- }
diff --git a/debian/patches/series b/debian/patches/series
index 1b2ebf2..25604c9 100644
--- a/debian/patches/series
+++ b/debian/patches/series
@@ -28,7 +28,6 @@
 52_xevie-swap-replies.diff
 53_Properly-initialize-io.pi_sel.pc_domain-on-kfreebsd.patch
 54_more-sanity-checks.diff
-55_sparc-fbdev-fallback.diff
 91_ttf2pt1
 91_ttf2pt1_updates
 92_xprint-security-holes-fix.patch


Reply to: