Skip to content

Commit

Permalink
---
Browse files Browse the repository at this point in the history
yaml
---
r: 66043
b: refs/heads/master
c: bbf275f
h: refs/heads/master
i:
  66041: 70eb49b
  66039: f117652
v: v3
  • Loading branch information
Mike Frysinger authored and Bryan Wu committed Aug 5, 2007
1 parent c19a932 commit c4990be
Show file tree
Hide file tree
Showing 2 changed files with 22 additions and 23 deletions.
2 changes: 1 addition & 1 deletion [refs]
Original file line number Diff line number Diff line change
@@ -1,2 +1,2 @@
---
refs/heads/master: 85a75996edd0e49477cc7c9eb4bac33f02b07685
refs/heads/master: bbf275f092b1b2a9bc8a504500ec387f9ddff859
43 changes: 21 additions & 22 deletions trunk/drivers/serial/bfin_5xx.c
Original file line number Diff line number Diff line change
Expand Up @@ -231,12 +231,10 @@ static void bfin_serial_rx_chars(struct bfin_serial_port *uart)
{
struct tty_struct *tty = uart->port.info->tty;
unsigned int status, ch, flg;
static int in_break = 0;
#ifdef CONFIG_KGDB_UART
struct pt_regs *regs = get_irq_regs();
#endif
#ifdef BF533_FAMILY
static int in_break = 0;
#endif

status = UART_GET_LSR(uart);
ch = UART_GET_CHAR(uart);
Expand All @@ -262,29 +260,30 @@ static void bfin_serial_rx_chars(struct bfin_serial_port *uart)
}
}
#endif

#ifdef BF533_FAMILY
/* The BF533 family of processors have a nice misbehavior where
* they continuously generate characters for a "single" break.
* We have to basically ignore this flood until the "next" valid
* character comes across. All other Blackfin families operate
* properly though.
*/
if (in_break) {
if (ch != 0) {
in_break = 0;
ch = UART_GET_CHAR(uart);
if (bfin_revid() < 5)

if (ANOMALY_05000230) {
/* The BF533 family of processors have a nice misbehavior where
* they continuously generate characters for a "single" break.
* We have to basically ignore this flood until the "next" valid
* character comes across. All other Blackfin families operate
* properly though.
* Note: While Anomaly 05000230 does not directly address this,
* the changes that went in for it also fixed this issue.
*/
if (in_break) {
if (ch != 0) {
in_break = 0;
ch = UART_GET_CHAR(uart);
if (bfin_revid() < 5)
return;
} else
return;
} else
return;
}
}
#endif

if (status & BI) {
#ifdef BF533_FAMILY
in_break = 1;
#endif
if (ANOMALY_05000230)
in_break = 1;
uart->port.icount.brk++;
if (uart_handle_break(&uart->port))
goto ignore_char;
Expand Down

0 comments on commit c4990be

Please sign in to comment.