[U-Boot] [PATCH V2] drivers/block/systemace - added missing "else" in "ace_writew"

Alexey Brodkin alexey.brodkin at gmail.com
Thu Jan 3 10:35:23 CET 2013


System ACE compact flash controller supports either 8-bit (default) or
16-bit data transfers. And in corresponding driver we need to implement
read/write of 16-bit data words properly for both modes of operation.

In existing code if width==8 both branches get executed which may cause
unexpected behavior of SystemAce controller.

Addition of "else" fixes described issue and execution is done as
expected for both (8-bit and 16-bit) data bus widths.


Signed-off-by: Alexey Brodkin <alexey.brodkin at gmail.com>
---
 drivers/block/systemace.c |    3 ++-
 1 file changed, 2 insertions(+), 1 deletion(-)

diff --git a/drivers/block/systemace.c b/drivers/block/systemace.c
index 247cf06..27cacdf 100644
--- a/drivers/block/systemace.c
+++ b/drivers/block/systemace.c
@@ -66,7 +66,8 @@ static void ace_writew(u16 val, unsigned off)
 		writeb(val >> 8, base + off + 1);
 #endif
 	}
-	out16(base + off, val);
+	else
+		out16(base + off, val);
 }
 
 static u16 ace_readw(unsigned off)
-- 
1.7.10.4



More information about the U-Boot mailing list