[SCSI] fix the return value of scsi_target_queue_read()
authorHillf Danton <[email protected]>
Thu, 16 Dec 2010 20:26:37 +0000 (14:26 -0600)
committerJames Bottomley <[email protected]>
Tue, 21 Dec 2010 18:37:28 +0000 (12:37 -0600)
It seems that zero should be returned if scsi_target_is_busy(starget) is
true, no matter if sdev is on the starved list.

Signed-off-by: Hillf Danton <[email protected]>
Reviewed-by: Mike Christie <[email protected]>
Signed-off-by: James Bottomley <[email protected]>
drivers/scsi/scsi_lib.c

index 5b6bbaea59fec92565d2af4d708cedce034295ae..0ed7a66cdded9cbffc0fdf397bd9c3f8b7058d55 100644 (file)
@@ -1278,11 +1278,10 @@ static inline int scsi_target_queue_ready(struct Scsi_Host *shost,
        }
 
        if (scsi_target_is_busy(starget)) {
-               if (list_empty(&sdev->starved_entry)) {
+               if (list_empty(&sdev->starved_entry))
                        list_add_tail(&sdev->starved_entry,
                                      &shost->starved_list);
-                       return 0;
-               }
+               return 0;
        }
 
        /* We're OK to process the command, so we can't be starved */