diff options
Diffstat (limited to 'x11-drivers/xf86-video-ati/files/patch-src__radeon_kms.c')
-rw-r--r-- | x11-drivers/xf86-video-ati/files/patch-src__radeon_kms.c | 26 |
1 files changed, 17 insertions, 9 deletions
diff --git a/x11-drivers/xf86-video-ati/files/patch-src__radeon_kms.c b/x11-drivers/xf86-video-ati/files/patch-src__radeon_kms.c index 9de83f0dfac5..9966ec93ec70 100644 --- a/x11-drivers/xf86-video-ati/files/patch-src__radeon_kms.c +++ b/x11-drivers/xf86-video-ati/files/patch-src__radeon_kms.c @@ -1,5 +1,5 @@ ---- src/radeon_kms.c.orig 2013-08-07 10:44:09.000000000 +0200 -+++ src/radeon_kms.c 2013-08-31 19:29:11.369001510 +0200 +--- src/radeon_kms.c.orig 2014-10-02 05:31:27.000000000 +0200 ++++ src/radeon_kms.c 2014-10-23 18:56:18.359108170 +0200 @@ -30,6 +30,8 @@ #include <errno.h> @@ -9,7 +9,7 @@ /* Driver data structures */ #include "radeon.h" #include "radeon_reg.h" -@@ -270,7 +272,7 @@ +@@ -280,7 +282,7 @@ radeon_dirty_update(ScreenPtr screen) { RegionPtr region; @@ -18,20 +18,28 @@ if (xorg_list_is_empty(&screen->pixmap_dirty_list)) return; -@@ -606,6 +608,16 @@ +@@ -589,7 +591,7 @@ + #endif + struct pci_device *dev = info->PciInfo; + char *busid; +- int fd; ++ int fd, err; + + #ifdef XF86_PDEV_SERVER_FD + if (pRADEONEnt->platform_dev) { +@@ -608,6 +610,15 @@ dev->domain, dev->bus, dev->dev, dev->func); #endif + err = kldload("radeonkms"); + if (err == -1 && errno != EEXIST) { -+ + xf86DrvMsg(pScrn->scrnIndex, X_ERROR, + "[drm] Failed to load kernel module for %s: %s\n", + busid, strerror(errno)); + free(busid); -+ return FALSE; ++ return -1; + } + - info->dri2.drm_fd = drmOpen("radeon", busid); - if (info->dri2.drm_fd == -1) { - + fd = drmOpen(NULL, busid); + if (fd == -1) + xf86DrvMsg(pScrn->scrnIndex, X_ERROR, |