ata: libata-sata: Simplify ata_change_queue_depth()
authorDamien Le Moal <dlemoal@kernel.org>
Tue, 30 May 2023 07:29:24 +0000 (16:29 +0900)
committerDamien Le Moal <dlemoal@kernel.org>
Sun, 4 Jun 2023 23:02:21 +0000 (08:02 +0900)
commit371b74c8ba8fa588ab9ba10d0504acf495b3490e
treeebfc2738e26dc6335879374d1f1c428fa8239bb7
parente4c26a1b74b559f86905de6443e592f248473fff
ata: libata-sata: Simplify ata_change_queue_depth()

Commit 141f3d6256e5 ("ata: libata-sata: Fix device queue depth control")
added a struct ata_device argument to ata_change_queue_depth() to
address problems with changing the queue depth of ATA devices managed
through libsas. This was due to problems with ata_scsi_find_dev() which
are now fixed with commit 7f875850f20a ("ata: libata-scsi: Use correct
device no in ata_find_dev()").

Undo some of the changes of commit 141f3d6256e5: remove the added struct
ata_device aregument and use again ata_scsi_find_dev() to find the
target ATA device structure. While doing this, also make sure that
ata_scsi_find_dev() is called with ap->lock held, as it should.

libsas and libata call sites of ata_change_queue_depth() are updated to
match the modified function arguments.

Signed-off-by: Damien Le Moal <dlemoal@kernel.org>
Reviewed-by: Jason Yan <yanaijie@huawei.com>
Reviewed-by: John Garry <john.g.garry@oracle.com>
drivers/ata/libata-sata.c
drivers/scsi/libsas/sas_scsi_host.c
include/linux/libata.h