Problems with clock on 1.1-CURRENT

Matthew Dillon dillon at apollo.backplane.com
Wed Jul 28 10:40:24 PDT 2004


    Ok.  The only thing that I can think of that makes sense is that
    release_timer2() is being called when it shouldn't be and this is
    putting timer 2 into the wrong mode.

    Please try this patch and tell me if it fixes the problem.

						-Matt

Index: bus/isa/syscons_isa.c
===================================================================
RCS file: /cvs/src/sys/bus/isa/syscons_isa.c,v
retrieving revision 1.4
diff -u -r1.4 syscons_isa.c
--- bus/isa/syscons_isa.c	30 Jan 2004 05:42:12 -0000	1.4
+++ bus/isa/syscons_isa.c	28 Jul 2004 17:33:25 -0000
@@ -212,6 +212,9 @@
 int
 sc_tone(int herz)
 {
+	return EBUSY;
+#if 0
+	/* XXX use sound device if available */
 #ifdef __i386__
 	int pitch;
 
@@ -233,6 +236,7 @@
 #endif /* __i386__ */
 
 	return 0;
+#endif
 }
 
 DRIVER_MODULE(sc, isa, sc_driver, sc_devclass, 0, 0);
Index: dev/sound/isa/i386/pca/pcaudio.c
===================================================================
RCS file: /cvs/src/sys/dev/sound/isa/i386/pca/pcaudio.c,v
retrieving revision 1.10
diff -u -r1.10 pcaudio.c
--- dev/sound/isa/i386/pca/pcaudio.c	19 May 2004 22:52:50 -0000	1.10
+++ dev/sound/isa/i386/pca/pcaudio.c	28 Jul 2004 17:35:18 -0000
@@ -232,6 +232,8 @@
 static int
 pca_start(void)
 {
+	return(-1);
+#if 0
 	int x = splhigh();
 	int rv = 0;
 
@@ -252,12 +254,14 @@
 
 	splx(x);
 	return rv;
+#endif
 }
 
 
 static void
 pca_stop(void)
 {
+#if 0
 	int x = splhigh();
 
 	/* release the timers */
@@ -271,24 +275,28 @@
 	pca_status.buffer = pca_status.buf[pca_status.current];
 	pca_status.timer_on = 0;
 	splx(x);
+#endif
 }
 
 
 static void
 pca_pause(void)
 {
+#if 0
 	int x = splhigh();
 
 	release_timer0();
 	release_timer2();
 	pca_status.timer_on = 0;
 	splx(x);
+#endif
 }
 
 
 static void
 pca_continue(void)
 {
+#if 0
 	int x = splhigh();
 
         pca_status.oldval = inb(IO_PPI) | 0x03;
@@ -296,6 +304,7 @@
 	acquire_timer0(INTERRUPT_RATE, pcaintr);
 	pca_status.timer_on = 1;
 	splx(x);
+#endif
 }
 
 





More information about the Bugs mailing list