I messed up a bit with the previous patch. The while loop should get
executed only if the ioctl failed. Here's a fix.

-- 
Ville Syrj�l�
[EMAIL PROTECTED]
http://www.sci.fi/~syrjala/
Index: gfxdrivers/matrox/matrox_crtc2.c
===================================================================
RCS file: /cvs/directfb/DirectFB/gfxdrivers/matrox/matrox_crtc2.c,v
retrieving revision 1.3
diff -u -r1.3 matrox_crtc2.c
--- gfxdrivers/matrox/matrox_crtc2.c    11 Nov 2002 17:33:55 -0000      1.3
+++ gfxdrivers/matrox/matrox_crtc2.c    12 Nov 2002 19:53:36 -0000
@@ -403,10 +403,10 @@
      int vdisplay = (dfb_config->matrox_ntsc ? 486/2 : 576/2) + 2;
 #ifdef FBIO_WAITFORVSYNC
      dfb_gfxcard_sync();
-     ioctl( dfb_fbdev->fd, FBIO_WAITFORVSYNC, &one );
+     if (ioctl( dfb_fbdev->fd, FBIO_WAITFORVSYNC, &one ))
 #endif
-     while ((mga_in32( mdrv->mmio_base, C2VCOUNT ) & 0x00000FFF) != vdisplay)
-          ;
+          while ((mga_in32( mdrv->mmio_base, C2VCOUNT ) & 0x00000FFF) != vdisplay)
+               ;
 }
 
 static void crtc2_set_mafc( MatroxDriverData     *mdrv,

Reply via email to