lkml.org 
[lkml]   [2000]   [Aug]   [29]   [last100]   RSS Feed
Views: [wrap][no wrap]   [headers]  [forward] 
 
Messages in this thread
Patch in this message
/
Date
From
Subject[PATCH] generic_serial (now with the patch ;-)
Hi,

This patch makes setserial work again for the drivers that uses
generic_serial (sx, rio, ...).

Patrick

diff -u -r --new-file linux-2.4.0-test7.clean/drivers/char/generic_serial.c linux-2.4.0-test7.generic_serial/drivers/char/generic_serial.c
--- linux-2.4.0-test7.clean/drivers/char/generic_serial.c Fri Aug 11 23:54:17 2000
+++ linux-2.4.0-test7.generic_serial/drivers/char/generic_serial.c Tue Aug 29 14:05:08 2000
@@ -368,7 +368,7 @@
struct gs_port *port = ptr;
long end_jiffies;
int jiffies_to_transmit, charsleft = 0, rv = 0;
- int to, rcib;
+ int rcib;

func_enter();

@@ -392,6 +392,7 @@
return rv;
}
/* stop trying: now + twice the time it would normally take + seconds */
+ if (timeout == 0) timeout = MAX_SCHEDULE_TIMEOUT;
end_jiffies = jiffies;
if (timeout != MAX_SCHEDULE_TIMEOUT)
end_jiffies += port->baud?(2 * rcib * 10 * HZ / port->baud):0;
@@ -400,11 +401,9 @@
gs_dprintk (GS_DEBUG_FLUSH, "now=%lx, end=%lx (%ld).\n",
jiffies, end_jiffies, end_jiffies-jiffies);

- to = 100;
/* the expression is actually jiffies < end_jiffies, but that won't
work around the wraparound. Tricky eh? */
- while (to-- &&
- (charsleft = gs_real_chars_in_buffer (port->tty)) &&
+ while ((charsleft = gs_real_chars_in_buffer (port->tty)) &&
time_after (end_jiffies, jiffies)) {
/* Units check:
chars * (bits/char) * (jiffies /sec) / (bits/sec) = jiffies!
\
 
 \ /
  Last update: 2005-03-22 12:38    [W:0.022 / U:1.172 seconds]
©2003-2020 Jasper Spaans|hosted at Digital Ocean and TransIP|Read the blog|Advertise on this site