lkml.org 
[lkml]   [1999]   [Jan]   [29]   [last100]   RSS Feed
Views: [wrap][no wrap]   [headers]  [forward] 
 
Messages in this thread
Patch in this message
/
From
Date
Subjectserial driver bug: new discoveries
Hi,

I spent last evening hacking around in the serial driver doing things like:

diff -u -r1.1.1.4.2.1 serial.c
--- serial.c 1999/01/26 21:44:43 1.1.1.4.2.1
+++ serial.c 1999/01/28 20:08:36
@@ -97,7 +97,7 @@

/* Set of debugging defines */

-#undef SERIAL_DEBUG_INTR
+#define SERIAL_DEBUG_INTR
#undef SERIAL_DEBUG_OPEN
#undef SERIAL_DEBUG_FLOW
#undef SERIAL_DEBUG_RS_WAIT_UNTIL_SENT
@@ -2850,6 +2850,10 @@

ret += sprintf(buf+ret, " tx:%d rx:%d",
state->icount.tx, state->icount.rx);
+
+ ret += sprintf(buf+ret, " [MSR:%02x IER:%02x IIR:%02x]",
+ status & 0xff, info->IER & 0xff,
+ serial_inp(info, UART_IIR) & 0xff);

if (state->icount.frame)
ret += sprintf(buf+ret, " fe:%d", state->icount.frame);

That way I found out that receive interrupts are not enabled when DTR is
set and CTS cleared. When you put the signals in the other direction it
works! Of course CLOCAL and CREAD were both set. IMHO if CLOCAL is set the
driver should NOT care about the modem status lines...

BTW: Reading the IIR in my patch above might be dangerous as it could reset
the interrupt request...

Regards,
Ulrich


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

\
 
 \ /
  Last update: 2005-03-22 13:50    [W:0.080 / U:0.760 seconds]
©2003-2020 Jasper Spaans|hosted at Digital Ocean and TransIP|Read the blog|Advertise on this site