From bf1f9f034e8a8a4f51e93642d751c6e32654fd1f Mon Sep 17 00:00:00 2001 From: Frederik Deweerdt Date: Wed, 16 Jan 2008 17:19:08 +0100 Subject: [PATCH] --- yaml --- r: 77165 b: refs/heads/master c: 1292500b159c00a8fece072b004f154e6fda9f48 h: refs/heads/master i: 77163: 64e092260f840e66a7e2ba58b5b41ee3c6d74fa7 v: v3 --- [refs] | 2 +- trunk/drivers/scsi/ultrastor.c | 13 ++++++++++--- 2 files changed, 11 insertions(+), 4 deletions(-) diff --git a/[refs] b/[refs] index 28e5421e569a..e0bb02ce67dc 100644 --- a/[refs] +++ b/[refs] @@ -1,2 +1,2 @@ --- -refs/heads/master: 93a38fa2dd83fcaf65b2327fff65e364472388f9 +refs/heads/master: 1292500b159c00a8fece072b004f154e6fda9f48 diff --git a/trunk/drivers/scsi/ultrastor.c b/trunk/drivers/scsi/ultrastor.c index 1d3b02976d74..75eca6b22db5 100644 --- a/trunk/drivers/scsi/ultrastor.c +++ b/trunk/drivers/scsi/ultrastor.c @@ -298,9 +298,16 @@ static inline int find_and_clear_bit_16(unsigned long *field) { int rv; - if (*field == 0) panic("No free mscp"); - asm("xorl %0,%0\n0:\tbsfw %1,%w0\n\tbtr %0,%1\n\tjnc 0b" - : "=&r" (rv), "=m" (*field) : "1" (*field)); + if (*field == 0) + panic("No free mscp"); + + asm volatile ( + "xorl %0,%0\n\t" + "0: bsfw %1,%w0\n\t" + "btr %0,%1\n\t" + "jnc 0b" + : "=&r" (rv), "=m" (*field) :); + return rv; }