--- xserver-xorg-video-psb-0.36.0-ref/src/psb_video.c	2010-06-07 22:17:46.302760345 +0200
+++ xserver-xorg-video-psb-0.32/src/psb_video.c	2010-06-10 17:29:23.400003434 +0200
@@ -686,8 +684,13 @@
      * coordinates) to the backing pixmap.
      */
 
-    while (!psbExaGetSuperOffset(pPixmap, &pre_add, &dstBuf))
+    if(!psbExaGetSuperOffset(pPixmap, &pre_add, &dstBuf)){
 	exaMoveInPixmap(pPixmap);
+        if(!psbExaGetSuperOffset(pPixmap, &pre_add, &dstBuf)){
+             return FALSE;
+        }
+    }
+	
 
     dst.buffer = mmKernelBuf(dstBuf);
     dst.offset = pre_add;
