Răsfoiți Sursa

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>
Alexey Brodkin 12 ani în urmă
părinte
comite
7cde9f35d6
1 a modificat fișierele cu 2 adăugiri și 2 ștergeri
  1. 2 2
      drivers/block/systemace.c

+ 2 - 2
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)