broken APM on IBM-T30 with 6.0-CURRENT

Gleb Smirnoff glebius at freebsd.org
Tue Oct 19 09:46:01 PDT 2004


  Jake,

can you try out attached hack?

On Mon, Oct 11, 2004 at 11:10:29AM -0700, Jake Khuon wrote:
J> I recently CVSup'd and noticed I can no longer APM suspend properly.  The
J> system just freezes while going into suspend.  I don't know if I'm getting a
J> panic or not.  There's no trace or anything.  Anyone got any ideas?  The
J> problem occurs in multiuser and singleuser mode and regardless of whether
J> I'm in X or not.  I'm not evern sure where to begin looking.


-- 
Totus tuus, Glebius.
GLEBIUS-RIPN GLEB-RIPE
-------------- next part --------------
Index: ata-all.c
===================================================================
RCS file: /home/ncvs/src/sys/dev/ata/ata-all.c,v
retrieving revision 1.232
diff -u -u -r1.232 ata-all.c
--- ata-all.c	13 Oct 2004 15:16:35 -0000	1.232
+++ ata-all.c	19 Oct 2004 16:39:44 -0000
@@ -349,7 +349,7 @@
 	    gotit = 1;
 	}
 	mtx_unlock(&ch->state_mtx);
-	tsleep(&gotit, PRIBIO, "atasusp", hz/10);
+	ata_udelay(100000);
     }
     ch->locking(ch, ATA_LF_UNLOCK);
     return 0;
@@ -838,10 +838,7 @@
 void
 ata_udelay(int interval)
 {
-    if (interval < (1000000/hz) || ata_delayed_attach)
 	DELAY(interval);
-    else
-	tsleep(&interval, PRIBIO, "ataslp", interval/(1000000/hz));
 }
 
 static void


More information about the freebsd-current mailing list