Skip to content

Commit

Permalink
libata: don't clamp queue depth to ATA_MAX_QUEUE - 1
Browse files Browse the repository at this point in the history
Use what the driver provides, which will still be ATA_MAX_QUEUE - 1
at most anyway.

Signed-off-by: Jens Axboe <[email protected]>
Signed-off-by: Tejun Heo <[email protected]>
  • Loading branch information
axboe authored and htejun committed May 11, 2018
1 parent 28361c4 commit 69278f7
Show file tree
Hide file tree
Showing 2 changed files with 5 additions and 5 deletions.
6 changes: 3 additions & 3 deletions drivers/ata/libata-core.c
Original file line number Diff line number Diff line change
Expand Up @@ -2286,7 +2286,7 @@ static int ata_dev_config_ncq(struct ata_device *dev,
return 0;
}
if (ap->flags & ATA_FLAG_NCQ) {
hdepth = min(ap->scsi_host->can_queue, ATA_MAX_QUEUE - 1);
hdepth = min(ap->scsi_host->can_queue, ATA_MAX_QUEUE);
dev->flags |= ATA_DFLAG_NCQ;
}

Expand Down Expand Up @@ -6408,7 +6408,7 @@ void ata_host_init(struct ata_host *host, struct device *dev,
{
spin_lock_init(&host->lock);
mutex_init(&host->eh_mutex);
host->n_tags = ATA_MAX_QUEUE - 1;
host->n_tags = ATA_MAX_QUEUE;
host->dev = dev;
host->ops = ops;
}
Expand Down Expand Up @@ -6490,7 +6490,7 @@ int ata_host_register(struct ata_host *host, struct scsi_host_template *sht)
{
int i, rc;

host->n_tags = clamp(sht->can_queue, 1, ATA_MAX_QUEUE - 1);
host->n_tags = clamp(sht->can_queue, 1, ATA_MAX_QUEUE);

/* host must have been started */
if (!(host->flags & ATA_HOST_STARTED)) {
Expand Down
4 changes: 2 additions & 2 deletions drivers/ata/libata-scsi.c
Original file line number Diff line number Diff line change
Expand Up @@ -1319,7 +1319,7 @@ static int ata_scsi_dev_config(struct scsi_device *sdev,
int depth;

depth = min(sdev->host->can_queue, ata_id_queue_depth(dev->id));
depth = min(ATA_MAX_QUEUE - 1, depth);
depth = min(ATA_MAX_QUEUE, depth);
scsi_change_queue_depth(sdev, depth);
}

Expand Down Expand Up @@ -1432,7 +1432,7 @@ int __ata_change_queue_depth(struct ata_port *ap, struct scsi_device *sdev,
/* limit and apply queue depth */
queue_depth = min(queue_depth, sdev->host->can_queue);
queue_depth = min(queue_depth, ata_id_queue_depth(dev->id));
queue_depth = min(queue_depth, ATA_MAX_QUEUE - 1);
queue_depth = min(queue_depth, ATA_MAX_QUEUE);

if (sdev->queue_depth == queue_depth)
return -EINVAL;
Expand Down

0 comments on commit 69278f7

Please sign in to comment.