diff options
author | Christoph Hellwig <hch@lst.de> | 2014-11-24 09:36:19 -0500 |
---|---|---|
committer | Christoph Hellwig <hch@lst.de> | 2014-12-04 03:55:46 -0500 |
commit | b70870c38ede2bb5b0a738f2f69de145a1931a00 (patch) | |
tree | abab1e4813644f240a46618a3e6af99627da9f11 /drivers/scsi/scsi.c | |
parent | efc3c1df5fda0aee84f53c226d55804e6dbede4f (diff) |
scsi: never drop to untagged mode during queue ramp down
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>
Diffstat (limited to 'drivers/scsi/scsi.c')
-rw-r--r-- | drivers/scsi/scsi.c | 6 |
1 files changed, 0 insertions, 6 deletions
diff --git a/drivers/scsi/scsi.c b/drivers/scsi/scsi.c index 72282ae3009d..6b0d52497e6e 100644 --- a/drivers/scsi/scsi.c +++ b/drivers/scsi/scsi.c | |||
@@ -820,12 +820,6 @@ int scsi_track_queue_full(struct scsi_device *sdev, int depth) | |||
820 | 820 | ||
821 | if (sdev->last_queue_full_count <= 10) | 821 | if (sdev->last_queue_full_count <= 10) |
822 | return 0; | 822 | return 0; |
823 | if (sdev->last_queue_full_depth < 8) { | ||
824 | /* Drop back to untagged */ | ||
825 | scsi_set_tag_type(sdev, 0); | ||
826 | scsi_change_queue_depth(sdev, sdev->host->cmd_per_lun); | ||
827 | return -1; | ||
828 | } | ||
829 | 823 | ||
830 | return scsi_change_queue_depth(sdev, depth); | 824 | return scsi_change_queue_depth(sdev, depth); |
831 | } | 825 | } |