Contents 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 -
(show 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 | 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; |