[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

DoubleTalk PC driver patch




I have discovered a bug in the driver for the DoubleTalk PC speech
synthesizer from RC Systems.  The symptom is that, under emacspeak,
speech stops after the first punctuation.  (Note that other problems
can also give rise to that symptom.)

It appears that this bug has been present since at least the 2.2.5
kernel (though early versions of the driver, which worked with 2.0
series kernels, were okay).  I have submitted a patch to Linus
Torvalds, and expect it will eventually be included in the
developmental sources.  In the meantime, you may want to apply the
attached patch.  It should work with any 2.2 or 2.3 series kernel.

		  - Jim Van Zandt

--- ../linux/drivers/char/dtlk.c	Wed Feb 16 18:42:05 2000
+++ drivers/char/dtlk.c	Sat Mar 18 15:23:58 2000
@@ -259,14 +259,14 @@
 	}
 	/* there are no exception conditions */
 
-	if (mask == 0 && !dtlk_timer_active) {
+	{
 		/* not ready just yet.  There won't be any interrupts,
 		   so we set a timer instead. */
 		dtlk_timer_active = 1;
 		dtlk_timer.expires = jiffies + HZ / 100;
 		add_timer(&dtlk_timer);
 	}
-	return 0;
+	return mask;
 }
 
 static void dtlk_stop_timer()
@@ -282,11 +282,6 @@
 
 	wake_up_interruptible(&dtlk_process_list);
 
-	if (dtlk_timer_active) {
-		del_timer(&dtlk_timer);
-		dtlk_timer.expires = jiffies + HZ / 100;
-		add_timer(&dtlk_timer);
-	}
 }
 
 static int dtlk_ioctl(struct inode *inode,

-----------------------------------------------------------------------------
       To unsubscribe or change your address send mail to
"emacspeak-request@cs.vassar.edu" with a subject of "unsubscribe" or "help"


Emacspeak Files | Subscribe | Unsubscribe