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

xserver-xorg-video-nouveau: Changes to 'ubuntu'



 debian/changelog                    |    7 +++
 debian/patches/102-fixup-close.diff |   77 ++++++++++++++++++++++++++++++++++++
 debian/patches/series               |    1 
 3 files changed, 85 insertions(+)

New commits:
commit 0fd415f5c89966c3ae8f03cecb9f429570caadea
Author: Maarten Lankhorst <maarten.lankhorst@canonical.com>
Date:   Wed Mar 27 09:47:48 2013 +0100

    release to raring

diff --git a/debian/changelog b/debian/changelog
index 15d078e..133724b 100644
--- a/debian/changelog
+++ b/debian/changelog
@@ -1,9 +1,9 @@
-xserver-xorg-video-nouveau (1:1.0.6-0ubuntu4) UNRELEASED; urgency=low
+xserver-xorg-video-nouveau (1:1.0.6-0ubuntu4) raring; urgency=low
 
   * Clean up (forced) device close (LP: #1157614)
     - 102-fixup-close.diff
 
- -- Maarten Lankhorst <maarten.lankhorst@ubuntu.com>  Mon, 25 Mar 2013 13:59:55 +0100
+ -- Maarten Lankhorst <maarten.lankhorst@ubuntu.com>  Mon, 25 Mar 2013 14:01:46 +0100
 
 xserver-xorg-video-nouveau (1:1.0.6-0ubuntu3) raring; urgency=low
 

commit f16680f9dd6fd0adf36741692150f46dafc88894
Author: Maarten Lankhorst <maarten.lankhorst@canonical.com>
Date:   Mon Mar 25 14:01:06 2013 +0100

    Clean up (forced) device close (LP: #1157614)
    
    102-fixup-close.diff

diff --git a/debian/changelog b/debian/changelog
index f30ada1..15d078e 100644
--- a/debian/changelog
+++ b/debian/changelog
@@ -1,3 +1,10 @@
+xserver-xorg-video-nouveau (1:1.0.6-0ubuntu4) UNRELEASED; urgency=low
+
+  * Clean up (forced) device close (LP: #1157614)
+    - 102-fixup-close.diff
+
+ -- Maarten Lankhorst <maarten.lankhorst@ubuntu.com>  Mon, 25 Mar 2013 13:59:55 +0100
+
 xserver-xorg-video-nouveau (1:1.0.6-0ubuntu3) raring; urgency=low
 
   * Remove individual patches, sync to git a80785f792 to pick up some fixes.
diff --git a/debian/patches/102-fixup-close.diff b/debian/patches/102-fixup-close.diff
new file mode 100644
index 0000000..b9a6108
--- /dev/null
+++ b/debian/patches/102-fixup-close.diff
@@ -0,0 +1,77 @@
+--- a/src/drmmode_display.c
++++ b/src/drmmode_display.c
+@@ -627,6 +627,9 @@
+ 	drmmode_output->mode_output =
+ 		drmModeGetConnector(drmmode->fd, drmmode_output->output_id);
+ 
++	if (!drmmode_output->mode_output)
++		return XF86OutputStatusDisconnected;
++
+ 	switch (drmmode_output->mode_output->connection) {
+ 	case DRM_MODE_CONNECTED:
+ 		status = XF86OutputStatusConnected;
+@@ -663,6 +666,9 @@
+ 	drmModePropertyPtr props;
+ 	xf86MonPtr ddc_mon = NULL;
+ 
++	if (!koutput)
++		return NULL;
++
+ 	/* look for an EDID property */
+ 	for (i = 0; i < koutput->count_props; i++) {
+ 		props = drmModeGetProperty(drmmode->fd, koutput->props[i]);
+@@ -927,6 +933,9 @@
+ 			drmModeGetConnector(drmmode->fd, drmmode_output->output_id);
+ 	}
+ 
++	if (!drmmode_output->mode_output)
++		return FALSE;
++
+ 	for (i = 0; i < drmmode_output->num_props; i++) {
+ 		drmmode_prop_ptr p = &drmmode_output->props[i];
+ 		if (p->atoms[0] != property)
+@@ -1437,6 +1446,7 @@
+ 	if (drmmode->uevent_monitor) {
+ 		struct udev *u = udev_monitor_get_udev(drmmode->uevent_monitor);
+ 
++		RemoveGeneralSocket(udev_monitor_get_fd(drmmode->uevent_monitor));
+ 		udev_monitor_unref(drmmode->uevent_monitor);
+ 		udev_unref(u);
+ 	}
+@@ -1524,6 +1534,12 @@
+ drmmode_screen_fini(ScreenPtr pScreen)
+ {
+ 	ScrnInfoPtr scrn = xf86ScreenToScrn(pScreen);
++	drmmode_ptr drmmode = drmmode_from_scrn(scrn);
+ 
+ 	drmmode_uevent_fini(scrn);
++
++	/* Register a wakeup handler to get informed on DRM events */
++	RemoveBlockAndWakeupHandlers((BlockHandlerProcPtr)NoopDDA,
++				     drmmode_wakeup_handler, scrn);
++	RemoveGeneralSocket(drmmode->fd);
+ }
+--- a/src/nv_driver.c
++++ b/src/nv_driver.c
+@@ -432,8 +432,8 @@
+ 	xf86DrvMsg(pScrn->scrnIndex, X_INFO, "NVLeaveVT is called.\n");
+ 
+ 	ret = drmDropMaster(pNv->dev->fd);
+-	if (ret)
+-		ErrorF("Error dropping master: %d\n", ret);
++	if (ret && errno != EIO && errno != ENODEV)
++		ErrorF("Error dropping master: %i(%m)\n", -errno);
+ }
+ 
+ static void
+@@ -624,8 +624,9 @@
+ {
+ 	NVPtr pNv = NVPTR(pScrn);
+ 
+-	nouveau_device_del(&pNv->dev);
+ 	drmFree(pNv->drm_device_name);
++	nouveau_client_del(&pNv->client);
++	nouveau_device_del(&pNv->dev);
+ }
+ 
+ static Bool
diff --git a/debian/patches/series b/debian/patches/series
index fdf7b34..3822187 100644
--- a/debian/patches/series
+++ b/debian/patches/series
@@ -4,3 +4,4 @@
 
 100-vblank-on.diff
 101-git-a80785f792.diff
+102-fixup-close.diff


Reply to: