diff options
| author | Koen Kooi <koen@openembedded.org> | 2007-09-14 07:43:03 +0000 |
|---|---|---|
| committer | Koen Kooi <koen@openembedded.org> | 2007-09-14 07:43:03 +0000 |
| commit | 2019b37bac10cff32469452eb3061e6e8e8aaad4 (patch) | |
| tree | 79aa76f03f001988977386a9c13e59cebfe7c57b /packages/linux/linux-2.6.18/fix-usart3-rx-BUG.patch | |
| parent | 7a5c873a58cdc4130eb4a14c5af0960f8ec6d81a (diff) | |
| parent | a50f3c05fc84d7d914e6a8287c82581462302bbe (diff) | |
propagate from branch 'org.openembedded.dev' (head bbdff51149f19a443ea4c897e2b4eb81eec6283a)
to branch 'org.openembedded.dev.avr32' (head ef59785d9aa6d25f6cf33266a65b61426e620f71)
Diffstat (limited to 'packages/linux/linux-2.6.18/fix-usart3-rx-BUG.patch')
| -rw-r--r-- | packages/linux/linux-2.6.18/fix-usart3-rx-BUG.patch | 25 |
1 files changed, 25 insertions, 0 deletions
diff --git a/packages/linux/linux-2.6.18/fix-usart3-rx-BUG.patch b/packages/linux/linux-2.6.18/fix-usart3-rx-BUG.patch new file mode 100644 index 0000000000..1035f9f010 --- /dev/null +++ b/packages/linux/linux-2.6.18/fix-usart3-rx-BUG.patch @@ -0,0 +1,25 @@ +--- + drivers/serial/atmel_usart.c | 10 ++++++++-- + 1 file changed, 8 insertions(+), 2 deletions(-) + +Index: linux-2.6.18-avr32/drivers/serial/atmel_usart.c +=================================================================== +--- linux-2.6.18-avr32.orig/drivers/serial/atmel_usart.c 2006-11-24 15:59:38.000000000 +0100 ++++ linux-2.6.18-avr32/drivers/serial/atmel_usart.c 2006-11-24 15:59:46.000000000 +0100 +@@ -194,8 +194,14 @@ static inline int rx_dma_update_tail(str + usart3_writel(up, RNCR, RX_BUFFER_SIZE); + + again = 1; +- } else +- BUG_ON(usart3_readl(up, CSR) & USART3_BIT(ENDRX)); ++ } else if(usart3_readl(up, CSR) & USART3_BIT(ENDRX)) { ++ /* ++ * The USART hit the end of the buffer after head was ++ * updated. Let's do another pass so that we can ++ * avoid taking another interrupt immediately. ++ */ ++ again = 1; ++ } + + up->rx_tail = tail; + |
