Skip to contentSkip to conversation

sound/emu8000: replace schedule_timeout() with

PATCH Applied Nishanth Aravamudan 2 participants 2 messages Jan 21, 2005 – Jan 24, 2005

Subsystems (2)
lore
Share & tools
lore
#0 lore raw

PATCH 26/39 sound/emu8000: replace schedule_timeout() with

Hi,

Please consider applying.

Description: Use ssleep() instead of schedule_timeout() to guarantee the task delays as expected. The current code uses TASK_INTERRUPTIBLE, but does not check for signals / early return, so ssleep() should be appropriate. I am fairly certain the time conversion is ok, as well.

sound/isa/sb/emu8000.c +2 -2
@@ -25,6 +25,7 @@
 #include <linux/sched.h>
 #include <linux/slab.h>
 #include <linux/ioport.h>
+#include <linux/delay.h>
 #include <sound/core.h>
 #include <sound/emu8000.h>
 #include <sound/emu8000_reg.h>
@@ -355,8 +356,7 @@ init_arrays(emu8000_t *emu)
 {
 	send_array(emu, init1, ARRAY_SIZE(init1)/4);
 
-	set_current_state(TASK_INTERRUPTIBLE);
-	schedule_timeout((HZ * (44099 + 1024)) / 44100); /* wait for 1024 clocks */
+	ssleep(1);
 	send_array(emu, init2, ARRAY_SIZE(init2)/4);
 	send_array(emu, init3, ARRAY_SIZE(init3)/4);
 

_______________________________________________
Kernel-janitors mailing list
[email protected]
http://lists.osdl.org/mailman/listinfo/kernel-janitors

#1 lore raw

Re: [PATCH 26/39] sound/emu8000: replace schedule_timeout() with msleep()

At Fri, 21 Jan 2005 11:35:00 -0800,

Quoted 9 lines · Nishanth Aravamudan

Hi,

Please consider applying.

Description: Use ssleep() instead of schedule_timeout() to guarantee the task delays as expected. The current code uses TASK_INTERRUPTIBLE, but does not check for signals / early return, so ssleep() should be appropriate. I am fairly certain the time conversion is ok, as well.

Oh, that's a wrong code ;) The comment is correct, though. It should have been:

	schedule_timeout((HZ * 1024 + 44099) / 44100);

So, more simply with msleep(),

	msleep(1024 * 1000 / 44100);

Takashi

Quoted 26 lines
sound/isa/sb/emu8000.c +2 -3
@@ -25,6 +25,7 @@
 #include <linux/sched.h>
 #include <linux/slab.h>
 #include <linux/ioport.h>
+#include <linux/delay.h>
 #include <sound/core.h>
 #include <sound/emu8000.h>
 #include <sound/emu8000_reg.h>
@@ -355,8 +356,7 @@ init_arrays(emu8000_t *emu)
 {
 	send_array(emu, init1, ARRAY_SIZE(init1)/4);
 
-	set_current_state(TASK_INTERRUPTIBLE);
-	schedule_timeout((HZ * (44099 + 1024)) / 44100); /* wait for 1024 clocks */
+	ssleep(1);
 	send_array(emu, init2, ARRAY_SIZE(init2)/4);
 	send_array(emu, init3, ARRAY_SIZE(init3)/4);
 
 
 
-------------------------------------------------------
Quoted 9 lines

This SF.Net email is sponsored by: IntelliVIEW -- Interactive Reporting Tool for open source databases. Create drag-&-drop reports. Save time by over 75%! Publish reports on the web. Export to DOC, XLS, RTF, etc. Download a FREE copy at http://www.intelliview.com/go/osdn_nl
_______________________________________________
Alsa-devel mailing list
[email protected]
https://lists.sourceforge.net/lists/listinfo/alsa-devel

-------------------------------------------------------
This SF.Net email is sponsored by: IntelliVIEW -- Interactive Reporting Tool for open source databases. Create drag-&-drop reports. Save time by over 75%! Publish reports on the web. Export to DOC, XLS, RTF, etc. Download a FREE copy at http://www.intelliview.com/go/osdn_nl