141f3d6256
The function __ata_change_queue_depth() uses the helper ata_scsi_find_dev() to get the ata_device structure of a scsi device and set that device maximum queue depth. However, when the ata device is managed by libsas, ata_scsi_find_dev() returns NULL, turning __ata_change_queue_depth() into a nop, which prevents the user from setting the maximum queue depth of ATA devices used with libsas based HBAs. Fix this by renaming __ata_change_queue_depth() to ata_change_queue_depth() and adding a pointer to the ata_device structure of the target device as argument. This pointer is provided by ata_scsi_change_queue_depth() using ata_scsi_find_dev() in the case of a libata managed device and by sas_change_queue_depth() using sas_to_ata_dev() in the case of a libsas managed ata device. Signed-off-by: Damien Le Moal <damien.lemoal@opensource.wdc.com> Tested-by: John Garry <john.garry@huawei.com> |
||
---|---|---|
.. | ||
Kconfig | ||
Makefile | ||
sas_ata.c | ||
sas_discover.c | ||
sas_event.c | ||
sas_expander.c | ||
sas_host_smp.c | ||
sas_init.c | ||
sas_internal.h | ||
sas_phy.c | ||
sas_port.c | ||
sas_scsi_host.c | ||
sas_task.c |