block: systemace: Added missing "else" in "ace_writew"
authorAlexey Brodkin <alexey.brodkin@gmail.com>
Thu, 3 Jan 2013 09:35:23 +0000 (13:35 +0400)
committerMichal Simek <michal.simek@xilinx.com>
Mon, 4 Feb 2013 11:07:08 +0000 (12:07 +0100)
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@gmail.com>
Signed-off-by: Michal Simek <michal.simek@xilinx.com>
drivers/block/systemace.c

index 247cf060e43ef4695cb4f5e81dd200ba0105c511..87c6cbc6a0fbb9024efc68b7715e9e45c61bef15 100644 (file)
@@ -65,8 +65,8 @@ static void ace_writew(u16 val, unsigned off)
                writeb(val, base + off);
                writeb(val >> 8, base + off + 1);
 #endif
-       }
-       out16(base + off, val);
+       } else
+               out16(base + off, val);
 }
 
 static u16 ace_readw(unsigned off)