Magellan Linux

Contents of /trunk/xorg-old/patches-6.8.2-r10/9925_all_6.8.2-fix-mtrr-endless-loop.patch

Parent Directory Parent Directory | Revision Log Revision Log


Revision 167 - (show annotations) (download)
Tue May 8 20:58:51 2007 UTC (17 years ago) by niro
File size: 1530 byte(s)
-import

1 Subject: CVS Update: xc (branch: trunk)
2 Date: Sun, 15 May 2005 10:45:47 -0700 (PDT)
3 From: Thomas Hellstrom <xorg-commit@cvs.freedesktop.org>
4 Reply-To: xorg@lists.freedesktop.org
5 To: xorg-commit@lists.freedesktop.org
6
7 CVSROOT: /cvs/xorg
8 Module name: xc
9 Changes by: unichrome@gabe.freedesktop.org 05/05/15 10:45:47
10
11 Log message:
12 Bug 2750: Prevent mtrr_remove_offending from ending up in an endless loop
13 if the offending region refuses to be removed.
14
15 Modified files:
16 ./:
17 ChangeLog
18 xc/programs/Xserver/hw/xfree86/os-support/linux/:
19 lnx_video.c
20
21 Revision Changes Path
22 1.928 +7 -0 xc/ChangeLog
23 1.7 +2 -3
24 xc/programs/Xserver/hw/xfree86/os-support/linux/lnx_video.c
25
26 --- xc.orig/programs/Xserver/hw/xfree86/os-support/linux/lnx_video.c 2005-06-29 18:41:29.000000000 -0700
27 +++ xc/programs/Xserver/hw/xfree86/os-support/linux/lnx_video.c 2005-06-29 18:45:04.000000000 -0700
28 @@ -248,16 +248,15 @@
29
30 wcr = &wcreturn;
31 for (gent.regnum = 0;
32 - ioctl(mtrr_fd, MTRRIOC_GET_ENTRY, &gent) >= 0;) {
33 + ioctl(mtrr_fd, MTRRIOC_GET_ENTRY, &gent) >= 0; gent.regnum++ ) {
34 if (gent.type == MTRR_TYPE_WRCOMB
35 && ((gent.base >= base && gent.base + gent.size < base + size) ||
36 (gent.base > base && gent.base + gent.size <= base + size))) {
37 *wcr = mtrr_cull_wc_region(screenNum, gent.base, gent.size, from);
38 + if (*wcr) gent.regnum--;
39 while(*wcr) {
40 wcr = &((*wcr)->next);
41 }
42 - } else {
43 - gent.regnum++;
44 }
45 }
46 return wcreturn;