On 10/03/2021 20:00, Don Brace wrote:
Correct scsi-mid-layer sending more requests than
exposed host Q depth causing firmware ASSERT and lockup
issue by enabling host wide tags and setting nr_hw_queues
to 1.
Note: this also results in better performance.
Suggested-by: Ming Lei <ming.lei@xxxxxxxxxx>
Suggested-by: John Gary <john.gary@xxxxxxxxxx>
misspelled name
Reviewed-by: Scott Benesh <scott.benesh@xxxxxxxxxxxxx>
Reviewed-by: Scott Teel <scott.teel@xxxxxxxxxxxxx>
Reviewed-by: Kevin Barnett <kevin.barnett@xxxxxxxxxxxxx>
Signed-off-by: Don Brace <don.brace@xxxxxxxxxxxxx>
---
drivers/scsi/smartpqi/smartpqi_init.c | 3 ++-
1 file changed, 2 insertions(+), 1 deletion(-)
diff --git a/drivers/scsi/smartpqi/smartpqi_init.c b/drivers/scsi/smartpqi/smartpqi_init.c
index c53f456fbd09..c154e4578e55 100644
--- a/drivers/scsi/smartpqi/smartpqi_init.c
+++ b/drivers/scsi/smartpqi/smartpqi_init.c
@@ -6598,7 +6598,8 @@ static int pqi_register_scsi(struct pqi_ctrl_info *ctrl_info)
shost->transportt = pqi_sas_transport_template;
shost->irq = pci_irq_vector(ctrl_info->pci_dev, 0);
shost->unique_id = shost->irq;
- shost->nr_hw_queues = ctrl_info->num_queue_groups;
+ shost->nr_hw_queues = 1;
+ shost->host_tagset = 1;
If nr_hw_queues = 1, then there is no point in setting host_tagset.
Apart from that, I'm concerned with the issue mentioned here:
https://lore.kernel.org/linux-scsi/4bff6232-6abd-dae8-c240-07a1a40178bf@xxxxxxxxxx/
Thanks,
John
shost->hostdata[0] = (unsigned long)ctrl_info;
rc = scsi_add_host(shost, &ctrl_info->pci_dev->dev);
.