iterations is unsigned, so it is impossible to get out of the loop and return -ETIMEDOUT. Signed-off-by: Bill Nottingham <notting@xxxxxxxxxx> --- If the intention *is* to never fall out of the end of the loop, ignore this, and just replace it with do {} while (1);. --- drivers/scsi/qla2xxx/qla_os.c.foo 2007-05-30 04:07:52.000000000 -0400 +++ drivers/scsi/qla2xxx/qla_os.c 2007-05-30 04:08:31.000000000 -0400 @@ -2587,15 +2587,15 @@ qla2x00_down_timeout(struct semaphore *s unsigned int iterations = jiffies_to_msecs(timeout)/100; do { if (!down_trylock(sema)) return 0; if (msleep_interruptible(step)) break; - } while (--iterations >= 0); + } while (--iterations > 0); return -ETIMEDOUT; } /* Firmware interface routines. */ #define FW_BLOBS 5 - To unsubscribe from this list: send the line "unsubscribe linux-scsi" in the body of a message to majordomo@xxxxxxxxxxxxxxx More majordomo info at http://vger.kernel.org/majordomo-info.html