[PATCH] tipar char driver: wrong timeout value

From: Romain Lievin
Date: Mon Apr 19 2004 - 03:05:48 EST


Hi,

this patch (2.4 & 2.6) fixes a bug about the timeout value. The formula
used to calculate jiffies from timeout is wrong.
The new formula is ok and takes care of integer computation/rounding.
There is the same bug in the tiglusb.c module which will be fixed by another
patch.

Please apply, Romain.
==============================[cut here]================================
diff -Naur linux-2.4.26.orig/drivers/char/tipar.c linux-2.4.26/drivers/char/tipar.c
--- linux-2.4.26.orig/drivers/char/tipar.c 2004-02-18 14:36:31.000000000 +0100
+++ linux-2.4.26/drivers/char/tipar.c 2004-04-19 09:22:36.000000000 +0200
@@ -124,7 +124,7 @@

/* ----- global defines ----------------------------------------------- */

-#define START(x) { x=jiffies+HZ/(timeout/10); }
+#define START(x) { x = jiffies + (HZ * timeout) / 10; }
#define WAIT(x) { \
if (time_before((x), jiffies)) return -1; \
if (need_resched()) schedule(); }

==============================[cut here]================================
diff -Naur linux-2.6.5.orig/drivers/char/tipar.c linux-2.6.5/drivers/char/tipar.c
--- linux-2.6.5.orig/drivers/char/tipar.c 2004-04-04 05:37:37.000000000 +0200
+++ linux-2.6.5/drivers/char/tipar.c 2004-04-19 09:23:25.000000000 +0200
@@ -121,7 +121,7 @@

/* ----- global defines ----------------------------------------------- */

-#define START(x) { x=jiffies+HZ/(timeout/10); }
+#define START(x) { x = jiffies + (HZ * timeout) / 10; }
#define WAIT(x) { \
if (time_before((x), jiffies)) return -1; \
if (need_resched()) schedule(); }

==============================[cut here]================================
--
Romain Liévin (roms): <lkml@xxxxxxxxxx>
Web site: http://www.lievin.net
"Linux, y'a moins bien mais c'est plus cher !"






-
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to majordomo@xxxxxxxxxxxxxxx
More majordomo info at http://vger.kernel.org/majordomo-info.html
Please read the FAQ at http://www.tux.org/lkml/