aha1542: remove loop from aha1542_outb
authorOndrej Zary <linux@rainbow-software.org>
Fri, 6 Feb 2015 22:11:57 +0000 (23:11 +0100)
committerJames Bottomley <JBottomley@Odin.com>
Fri, 10 Apr 2015 01:09:35 +0000 (18:09 -0700)
The loop in aha1542_outb with double-check is no longer needed, remove it.

Signed-off-by: Ondrej Zary <linux@rainbow-software.org>
Reviewed-by: Christoph Hellwig <hch@lst.de>
Signed-off-by: James Bottomley <JBottomley@Odin.com>
drivers/scsi/aha1542.c

index af821f340a85452d6f5e1c876f49d1b3827bf301..ec432763a29a3c3472a53952e017b1d831cd214e 100644 (file)
@@ -91,14 +91,11 @@ static inline bool wait_mask(u16 port, u8 mask, u8 allof, u8 noneof, int timeout
 
 static int aha1542_outb(unsigned int base, u8 val)
 {
-       while (1) {
-               if (!wait_mask(STATUS(base), CDF, 0, CDF, 0))
-                       return 1;
-               if (inb(STATUS(base)) & CDF)
-                       continue;
-               outb(val, DATA(base));
-               return 0;
-       }
+       if (!wait_mask(STATUS(base), CDF, 0, CDF, 0))
+               return 1;
+       outb(val, DATA(base));
+
+       return 0;
 }
 
 static int aha1542_out(unsigned int base, u8 *buf, int len)