On Thu, 31 May 2007 21:31:31 +0200 Haavard Skinnemoen wrote: > It's been almost a year since the last patch I sent attempting to fix > this. Sorry for not following up any sooner. > > Anyway, here's a new attempt. It should work even if we miss some > interrupts, and it should not break break handling by ignoring the > return value from uart_handle_break() as Russell pointed out. > > There may be cases which aren't handled well: If you send two breaks > with no characters in between and we miss an interrupt on the first > one, the driver probably gets a bit confused. I don't see any way to > fix this, but the driver should get un-confused upon reception of the > next character. > > I've tested this with Magic SysRq on ATSTK1000: It works with this > patch but not without. Ivan Kuten reported in a different thread that > SysRq didn't work on AT91RM9200 and I very much doubt it works on > AT91SAM926x. > > The break count in /proc/tty/driver/atmel_serial also makes more sense > with this patch applied; without it, the break count increments by two > every time I send a break. > > drivers/serial/atmel_serial.c | 32 ++++++++++++++++++++++++++++++-- > 1 files changed, 30 insertions(+), 2 deletions(-) >
Hi Haavard, I tried to test your patch on AT91RM9200 with Magic SysRq sequence, unfortunately without success - SysRq still does not work. You mention "break count increments" where do you check it ? I have cat /proc/tty/driver/atmel_serial serinfo:1.0 driver revision: 0: uart:ATMEL_SERIAL mmio:0xFEFFF200 irq:1 tx:8554 rx:623 fe:25 RTS|CTS|DTR|DSR|CD|RI 1: uart:ATMEL_SERIAL mmio:0xFFFC0000 irq:6 tx:0 rx:0 CTS|DSR|CD|RI 2: uart:ATMEL_SERIAL mmio:0xFFFC4000 irq:7 tx:0 rx:0 RI 3: uart:ATMEL_SERIAL mmio:0xFFFC8000 irq:8 tx:0 rx:0 DSR|CD|RI 4: uart:ATMEL_SERIAL mmio:0xFFFCC000 irq:9 tx:0 rx:0 CTS|DSR|CD|RI no any break counter. BR, Ivan - To unsubscribe from this list: send the line "unsubscribe linux-kernel" in the body of a message to [EMAIL PROTECTED] More majordomo info at http://vger.kernel.org/majordomo-info.html Please read the FAQ at http://www.tux.org/lkml/