On 2010-05-13 02:15 +0200, Stefan Monnier wrote:

> So I upgraded to 2.6.32-12 (after spending some time to finally understand 
> it's
> named 2.6.32-5) as well as 2.6.33-experimentl4 (couldn't find the 
> experimental5
> you mention), and booted without the vga= argument.
> The result is a segfault apparently related to libdrm-nouveau, so I tried to
> upgrade the packages that seemed relevant to `unstable', but it did not make
> any difference as you can see in the attached "system info".

Could you please apply the following patch to libdrm?  Alternatively,
use the libdrm packages from experimental where the segfault should also
be fixed.

--8<---------------cut here---------------start------------->8---
diff -u libdrm-2.4.18/debian/changelog libdrm-2.4.18/debian/changelog
--- libdrm-2.4.18/debian/changelog
+++ libdrm-2.4.18/debian/changelog
@@ -1,3 +1,10 @@
+libdrm (2.4.18-6) UNRELEASED; urgency=low
+
+  * New patch 04_fix_nouveau_bo_new_tile_segfault.diff, backported from
+    upstream commit df32c307e8f81b46ee8aa4dd7222fc18f175bbb3.
+
+ -- Sven Joachim <svenj...@gmx.de>  Thu, 13 May 2010 07:06:57 +0200
+
 libdrm (2.4.18-5) unstable; urgency=low
 
   * Upload to unstable.
diff -u libdrm-2.4.18/debian/patches/series libdrm-2.4.18/debian/patches/series
--- libdrm-2.4.18/debian/patches/series
+++ libdrm-2.4.18/debian/patches/series
@@ -2,0 +3 @@
+04_fix_nouveau_bo_new_tile_segfault.diff
only in patch2:
unchanged:
--- libdrm-2.4.18.orig/debian/patches/04_fix_nouveau_bo_new_tile_segfault.diff
+++ libdrm-2.4.18/debian/patches/04_fix_nouveau_bo_new_tile_segfault.diff
@@ -0,0 +1,21 @@
+Index: b/nouveau/nouveau_bo.c
+===================================================================
+--- a/nouveau/nouveau_bo.c
++++ b/nouveau/nouveau_bo.c
+@@ -198,14 +198,14 @@
+       if (flags & (NOUVEAU_BO_VRAM | NOUVEAU_BO_GART)) {
+               ret = nouveau_bo_kalloc(nvbo, NULL);
+               if (ret) {
+-                      nouveau_bo_ref(NULL, (void *)nvbo);
++                      nouveau_bo_ref(NULL, (void *)&nvbo);
+                       return ret;
+               }
+ 
+               if (flags & NOUVEAU_BO_PIN) {
+                       ret = nouveau_bo_pin((void *)nvbo, nvbo->flags);
+                       if (ret) {
+-                              nouveau_bo_ref(NULL, (void *)nvbo);
++                              nouveau_bo_ref(NULL, (void *)&nvbo);
+                               return ret;
+                       }
+               }

--8<---------------cut here---------------end--------------->8---

Sven



-- 
To UNSUBSCRIBE, email to debian-x-requ...@lists.debian.org
with a subject of "unsubscribe". Trouble? Contact listmas...@lists.debian.org
Archive: http://lists.debian.org/87k4r8bce8....@turtle.gmx.de

Reply via email to