Messages in this thread Patch in this message | | | From | "Ulrich Windl" <> | Date | Fri, 29 Jan 1999 09:34:48 +0100 | Subject | serial 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/
| |