Thread (20 messages) flat view 20 messages, 3 authors, 2007-09-13

Re: [PATCH 02/10] cpm2: Fix off-by-one error in setbrg().

From: Kumar Gala <hidden>
Date: 2007-09-10 19:43:35

On Sep 5, 2007, at 2:29 PM, Scott Wood wrote:
The hardware adds one to the BRG value to get the divider, so it must
be subtracted by software.  Without this patch, characters will  
occasionally
be corrupted.

Signed-off-by: Scott Wood <redacted>
---
 arch/powerpc/sysdev/cpm2_common.c |    2 +-
 1 files changed, 1 insertions(+), 1 deletions(-)
What was this patch against?

I ended up applying it by hand for 2.6.23 since its fixing a bug..   
But, I'm wondering if there was a base set of changes this patchset  
was against?

- k
quoted hunk ↗ jump to hunk
diff --git a/arch/powerpc/sysdev/cpm2_common.c b/arch/powerpc/ 
sysdev/cpm2_common.c
index dbef50c..99ad1ed 100644
--- a/arch/powerpc/sysdev/cpm2_common.c
+++ b/arch/powerpc/sysdev/cpm2_common.c
@@ -102,7 +102,7 @@ cpm_setbrg(uint brg, uint rate)
 		brg -= 4;
 	}
 	bp += brg;
-	out_be32(bp, ((BRG_UART_CLK / rate) << 1) | CPM_BRG_EN);
+	out_be32(bp, (((BRG_UART_CLK / rate) - 1) << 1) | CPM_BRG_EN);

 	cpm2_unmap(bp);
 }
-- 
1.5.3
Keyboard shortcuts
hback out one level
jnext message in thread
kprevious message in thread
ldrill in
Escclose help / fold thread tree
?toggle this help