Magellan Linux

Annotation 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 - (hide annotations) (download)
Tue May 8 20:58:51 2007 UTC (17 years, 1 month 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;