Annotation of /trunk/xorg-old/patches-6.8.2-r10/9925_all_6.8.2-fix-mtrr-endless-loop.patch
Parent Directory | Revision Log
Revision 167 -
(hide annotations)
(download)
Tue May 8 20:58:51 2007 UTC (17 years, 4 months ago) by niro
File size: 1530 byte(s)
Tue May 8 20:58:51 2007 UTC (17 years, 4 months ago) by niro
File size: 1530 byte(s)
-import
1 | niro | 167 | 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; |