OSDN Git Service

scsi: never drop to untagged mode during queue ramp down
authorChristoph Hellwig <hch@lst.de>
Mon, 24 Nov 2014 14:36:19 +0000 (15:36 +0100)
committerChristoph Hellwig <hch@lst.de>
Thu, 4 Dec 2014 08:55:46 +0000 (09:55 +0100)
Dropping to untagged mode when ramping down a queue due to QUEUE FULL
events has two problems:

 - nothing in the midlayer or drivers ever moves back to tagged mode
   during queue ramp up.
 - cmd_per_lun isn't the untagged queue depth for many modern drivers
   that can handle multiple untagged commands, and this is the only
   place in the midlayer assuming that.

Signed-off-by: Christoph Hellwig <hch@lst.de>
Reviewed-by: Bart Van Assche <bvanassche@acm.org>
Reviewed-by: Martin K. Petersen <martin.petersen@oracle.com
Reviewed-by: Hannes Reinecke <hare@suse.de>
drivers/scsi/scsi.c

index 72282ae..6b0d524 100644 (file)
@@ -820,12 +820,6 @@ int scsi_track_queue_full(struct scsi_device *sdev, int depth)
 
        if (sdev->last_queue_full_count <= 10)
                return 0;
-       if (sdev->last_queue_full_depth < 8) {
-               /* Drop back to untagged */
-               scsi_set_tag_type(sdev, 0);
-               scsi_change_queue_depth(sdev, sdev->host->cmd_per_lun);
-               return -1;
-       }
 
        return scsi_change_queue_depth(sdev, depth);
 }