4.4-stable review patch.  If anyone has any objections, please let me know.


From: Arnd Bergmann <a...@arndb.de>

gcc-6 and higher warn about the way some loops are written in
the ncr5380 driver:

drivers/scsi/g_NCR5380.c: In function 'generic_NCR5380_pread':
drivers/scsi/g_NCR5380.c:541:3: error: this 'while' clause does not guard... 
   while (NCR5380_read(C400_CONTROL_STATUS_REG) & CSR_HOST_BUF_NOT_RDY);
drivers/scsi/g_NCR5380.c:544:3: note: ...this statement, but the latter is 
misleadingly indented as if it is guarded by the 'while'

This was addressed in mainline kernels as part of a rework on commit
12150797d064 ("ncr5380: Use runtime register mapping"). We don't
want the entire patch backported to stable kernels, but we can
backport one hunk to get rid of the warning.

Signed-off-by: Arnd Bergmann <a...@arndb.de>
Acked-by: Finn Thain <fth...@telegraphics.com.au>
Signed-off-by: Greg Kroah-Hartman <gre...@linuxfoundation.org>
 drivers/scsi/g_NCR5380.c |    5 ++++-
 1 file changed, 4 insertions(+), 1 deletion(-)

--- a/drivers/scsi/g_NCR5380.c
+++ b/drivers/scsi/g_NCR5380.c
@@ -538,7 +538,10 @@ static inline int NCR5380_pread(struct S
                        printk(KERN_ERR "53C400r: Got 53C80_IRQ start=%d, 
blocks=%d\n", start, blocks);
                        return -1;
-               while (NCR5380_read(C400_CONTROL_STATUS_REG) & 
+               while (NCR5380_read(C400_CONTROL_STATUS_REG) & 
+               {
+                       // FIXME - no timeout
+               }
 #ifndef SCSI_G_NCR5380_MEM

Reply via email to