Re: 2.6.14-rc1-mm1

From: Serge E. Hallyn
Date: Fri Sep 16 2005 - 10:40:36 EST


I still need the following two patches against icom.c (the first
from Alan cox) applied. With these, 2.6.14-rc1-mm1 compiles and
boots on my power5 machine.

thanks,
-serge

Index: linux-2.6.13-rc7/drivers/serial/icom.c
===================================================================
--- linux-2.6.13-rc7.orig/drivers/serial/icom.c 2005-09-16 15:22:57.000000000 -0500
+++ linux-2.6.13-rc7/drivers/serial/icom.c 2005-09-16 15:27:15.000000000 -0500
@@ -736,6 +736,7 @@ static void recv_interrupt(u16 port_int_

status = cpu_to_le16(icom_port->statStg->rcv[rcv_buff].flags);
while (status & SA_FL_RCV_DONE) {
+ int first = -1;

trace(icom_port, "FID_STATUS", status);
count = cpu_to_le16(icom_port->statStg->rcv[rcv_buff].leLength);
@@ -750,15 +751,17 @@ static void recv_interrupt(u16 port_int_
icom_port->recv_buf_pci;

/* Block copy all but the last byte as this may have status */
- if(count > 0)
+ if(count > 0) {
+ first = icon->recv_buf[offset];
tty_insert_flip_string(tty, icon_port->recv_buf + offset, count - 1);
+ }

icount = &icom_port->uart_port.icount;
icount->rx += count;

/* Break detect logic */
if ((status & SA_FLAGS_FRAME_ERROR)
- && (tty->flip.char_buf_ptr[0] == 0x00)) {
+ && first == 0) {
status &= ~SA_FLAGS_FRAME_ERROR;
status |= SA_FLAGS_BREAK_DET;
trace(icom_port, "BREAK_DET", 0);


Signed-off-by: Serge Hallyn <serue@xxxxxxxxxx>

Index: linux-2.6.13-rc7/drivers/serial/icom.c
===================================================================
--- linux-2.6.13-rc7.orig/drivers/serial/icom.c 2005-09-16 15:27:15.000000000 -0500
+++ linux-2.6.13-rc7/drivers/serial/icom.c 2005-09-16 15:28:26.000000000 -0500
@@ -752,8 +752,8 @@ static void recv_interrupt(u16 port_int_

/* Block copy all but the last byte as this may have status */
if(count > 0) {
- first = icon->recv_buf[offset];
- tty_insert_flip_string(tty, icon_port->recv_buf + offset, count - 1);
+ first = icom_port->recv_buf[offset];
+ tty_insert_flip_string(tty, icom_port->recv_buf + offset, count - 1);
}

icount = &icom_port->uart_port.icount;
@@ -804,7 +804,7 @@ static void recv_interrupt(u16 port_int_

}

- tty_insert_flip_char(tty, icon_port->recv_buf + offset + count - 1, flag);
+ tty_insert_flip_char(tty, *(icom_port->recv_buf + offset + count - 1), flag);

if (status & SA_FLAGS_OVERRUN)
/*

-
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/