in drivers/scsi/scsi_lib.c::scsi_io_completion() 'good_bytes' is tested 
for being >= 0, but 'good_bytes' is an unsigned int, so that test is 
always true. My *guess* is that what was intended was to test if 
good_bytes is > 0, but I don't know this code well enough to be sure. 
The patch below makes the change to test if it's > 0, but if the code in 
the 'if' really wants to run if it's >= 0, then we might as well just 
remove the 'if'.

In any case, the current code looks fishy.


Signed-off-by: Jesper Juhl <[EMAIL PROTECTED]>

--- linux-2.6.12-rc2-mm3-orig/drivers/scsi/scsi_lib.c   2005-04-11 
21:20:49.000000000 +0200
+++ linux-2.6.12-rc2-mm3/drivers/scsi/scsi_lib.c        2005-04-20 
00:29:14.000000000 +0200
@@ -766,7 +766,7 @@ void scsi_io_completion(struct scsi_cmnd
         * Next deal with any sectors which we were able to correctly
         * handle.
         */
-       if (good_bytes >= 0) {
+       if (good_bytes > 0) {
                SCSI_LOG_HLCOMPLETE(1, printk("%ld sectors total, %d bytes 
done.\n",
                                              req->nr_sectors, good_bytes));
                SCSI_LOG_HLCOMPLETE(1, printk("use_sg is %d\n", cmd->use_sg));




Please keep me on CC:


-
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to [EMAIL PROTECTED]
More majordomo info at  http://vger.kernel.org/majordomo-info.html
Please read the FAQ at  http://www.tux.org/lkml/

Reply via email to