Messages in this thread Patch in this message | | | Subject | [patch 19/25] dsp56k: replace schedule_timeout() with msleep() | From | janitor@sternwel ... | Date | Wed, 01 Sep 2004 22:57:22 +0200 |
| |
I would appreciate any comments from the janitor@sternweltens list. This is one (of many) cases where I made a decision about replacing
set_current_state(TASK_INTERRUPTIBLE); schedule_timeout(some_time);
with
msleep(jiffies_to_msecs(some_time));
msleep() is not exactly the same as the previous code, but I only did this replacement where I thought long delays were *desired*. If this is not the case here, then just disregard this patch.
Note: I looked for the appropriate maintainer of this driver, but I did not find anyone. If someone could tell me who that would be, I would appreciate it.
Thanks, Nish
Description: Uses msleep() instead of schedule_timeout() to guarantee the task delays at least the desired time amount.
Signed-off-by: Nishanth Aravamudan <nacc@us.ibm.com> Signed-off-by: Maximilian Attems <janitor@sternwelten.at>
---
linux-2.6.9-rc1-bk7-max/drivers/char/dsp56k.c | 14 ++++---------- 1 files changed, 4 insertions(+), 10 deletions(-)
diff -puN drivers/char/dsp56k.c~msleep-drivers_char_dsp56k drivers/char/dsp56k.c --- linux-2.6.9-rc1-bk7/drivers/char/dsp56k.c~msleep-drivers_char_dsp56k 2004-09-01 19:34:43.000000000 +0200 +++ linux-2.6.9-rc1-bk7-max/drivers/char/dsp56k.c 2004-09-01 19:34:43.000000000 +0200 @@ -58,12 +58,6 @@ #define DSP56K_TRANSMIT (dsp56k_host_interface.isr & DSP56K_ISR_TXDE) #define DSP56K_RECEIVE (dsp56k_host_interface.isr & DSP56K_ISR_RXDF) -#define wait_some(n) \ -{ \ - set_current_state(TASK_INTERRUPTIBLE); \ - schedule_timeout(n); \ -} - #define handshake(count, maxio, timeout, ENABLE, f) \ { \ long i, t, m; \ @@ -71,13 +65,13 @@ m = min_t(unsigned long, count, maxio); \ for (i = 0; i < m; i++) { \ for (t = 0; t < timeout && !ENABLE; t++) \ - wait_some(HZ/50); \ + msleep(20); \ if(!ENABLE) \ return -EIO; \ f; \ } \ count -= m; \ - if (m == maxio) wait_some(HZ/50); \ + if (m == maxio) msleep(20); \ } \ } @@ -85,7 +79,7 @@ { \ int t; \ for(t = 0; t < n && !DSP56K_TRANSMIT; t++) \ - wait_some(HZ/100); \ + msleep(10); \ if(!DSP56K_TRANSMIT) { \ return -EIO; \ } \ @@ -95,7 +89,7 @@ { \ int t; \ for(t = 0; t < n && !DSP56K_RECEIVE; t++) \ - wait_some(HZ/100); \ + msleep(10); \ if(!DSP56K_RECEIVE) { \ return -EIO; \ } \ _ - To unsubscribe from this list: send the line "unsubscribe linux-kernel" in the body of a message to majordomo@vger.kernel.org More majordomo info at http://vger.kernel.org/majordomo-info.html Please read the FAQ at http://www.tux.org/lkml/
| |