Skip site navigation (1)Skip section navigation (2)
Date:      Sat, 3 Jul 2010 13:40:29 GMT
From:      Andreas Wetzel <mickey242@gmx.net>
To:        freebsd-gnats-submit@FreeBSD.org
Subject:   misc/148340: x11-drivers/xf86-video-neomagic: unresolved symbol xf86UDelay
Message-ID:  <201007031340.o63DeTqR022686@www.freebsd.org>
Resent-Message-ID: <201007031350.o63Do1NC072301@freefall.freebsd.org>

next in thread | raw e-mail | index | archive | help

>Number:         148340
>Category:       misc
>Synopsis:       x11-drivers/xf86-video-neomagic: unresolved symbol xf86UDelay
>Confidential:   no
>Severity:       non-critical
>Priority:       low
>Responsible:    freebsd-bugs
>State:          open
>Quarter:        
>Keywords:       
>Date-Required:
>Class:          sw-bug
>Submitter-Id:   current-users
>Arrival-Date:   Sat Jul 03 13:50:01 UTC 2010
>Closed-Date:
>Last-Modified:
>Originator:     Andreas Wetzel
>Release:        8.0-RELEASE-p1
>Organization:
>Environment:
FreeBSD escape.enforcer.cc 8.0-RELEASE-p1 FreeBSD 8.0-RELEASE-p1 #2: Wed Dec 16 08:17:36 CET 2009     root@escape.enforcer.cc:/export/obj/usr/src/sys/ESCAPE  i386
>Description:
Using the neomagic driver xf86-video-neomagic-1.2.4 with xorg-server-1.7.5,1 results in an unresolved symbol 'xf86UDelay' at runtime.
>How-To-Repeat:
Using the above stated versions of xorg-server and xf86-video-neomagic:

$ startx

Screen goes black, X doesn't start, and the last message on the terminal on which startx was executed contains the unresolved symbol 'xf86UDelay' message.
>Fix:


Patch attached with submission follows:

--- src/neo_driver.c.orig	2009-07-28 07:18:09.000000000 +0200
+++ src/neo_driver.c	2010-07-03 15:27:57.000000000 +0200
@@ -113,6 +113,7 @@
 #define _XF86DGA_SERVER_
 #include <X11/extensions/xf86dgastr.h>
 #endif
+#include <unistd.h>
 
 /* Mandatory functions */
 static const OptionInfoRec *	NEOAvailableOptions(int chipid, int busid);
@@ -2489,7 +2490,7 @@
      * In some rare cases a lockup might occur if we don't delay
      * here. (Reported by Miles Lane)
      */
-    xf86UDelay(200000);
+    usleep(200000);
     /*
      * Disable horizontal and vertical graphics and text expansions so
      * that vgaHWRestore works properly.
@@ -2502,7 +2503,7 @@
      * Sleep for 200ms to make sure that the two operations above have
      * had time to take effect.
      */
-    xf86UDelay(200000);
+    usleep(200000);
     /*
      * This function handles restoring the generic VGA registers.  */
     vgaHWRestore(pScrn, VgaReg,


>Release-Note:
>Audit-Trail:
>Unformatted:



Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?201007031340.o63DeTqR022686>