From 7cde9f35d6753d17348512e944f0fe5c31af0acf Mon Sep 17 00:00:00 2001
From: Alexey Brodkin <alexey.brodkin@gmail.com>
Date: Thu, 3 Jan 2013 13:35:23 +0400
Subject: [PATCH] block: systemace: Added missing "else" in "ace_writew"

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 | 4 ++--
 1 file changed, 2 insertions(+), 2 deletions(-)

diff --git a/drivers/block/systemace.c b/drivers/block/systemace.c
index 247cf060e4..87c6cbc6a0 100644
--- a/drivers/block/systemace.c
+++ b/drivers/block/systemace.c
@@ -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)
-- 
2.39.5