Fix Ultrastor asm snippet
authorSamuel Thibault <samuel.thibault@ens-lyon.org>
Wed, 18 May 2011 15:06:05 +0000 (17:06 +0200)
committerSteve Conklin <sconklin@canonical.com>
Fri, 15 Jul 2011 17:20:59 +0000 (12:20 -0500)
BugLink: http://bugs.launchpad.net/bugs/793702

commit fad4dab5e44e10acf6b0235e469cb8e773b58e31 upstream.

Commit 1292500b replaced

"=m" (*field) : "1" (*field)

with

"=m" (*field) :

with comment "The following patch fixes it by using the '+' operator on
the (*field) operand, marking it as read-write to gcc."
'+' was actually forgotten.  This really puts it.

Signed-off-by: Samuel Thibault <samuel.thibault@ens-lyon.org>
Signed-off-by: James Bottomley <jbottomley@parallels.com>
Signed-off-by: Greg Kroah-Hartman <gregkh@suse.de>
Signed-off-by: Tim Gardner <tim.gardner@canonical.com>

drivers/scsi/ultrastor.c

index 0571ef9..dc076e0 100644 (file)
@@ -306,7 +306,7 @@ static inline int find_and_clear_bit_16(unsigned long *field)
        "0: bsfw %1,%w0\n\t"
        "btr %0,%1\n\t"
        "jnc 0b"
-       : "=&r" (rv), "=m" (*field) :);
+       : "=&r" (rv), "+m" (*field) :);
 
   return rv;
 }