On 8/20/21 12:00 PM, Christoph Hellwig wrote:
On Thu, Aug 19, 2021 at 11:12:22AM +0200, Hannes Reinecke wrote:
diff --git a/drivers/scsi/snic/snic_main.c b/drivers/scsi/snic/snic_main.c
index 14f4ce665e58..65f50057c66e 100644
--- a/drivers/scsi/snic/snic_main.c
+++ b/drivers/scsi/snic/snic_main.c
@@ -512,6 +512,9 @@ snic_probe(struct pci_dev *pdev, const struct pci_device_id *ent)
max_t(u32, SNIC_MIN_IO_REQ, max_ios));
snic->max_tag_id = shost->can_queue;
+ /* Reserve one reset command */
+ shost->can_queue--;
+ snic->tmf_tag_id = shost->can_queue;
This is decrementing can_queue before scsi_add_host, which allocates
the requests ..
+ sc = scsi_host_find_tag(shost, snic->tmf_tag_id);
+ if (!sc) {
... but this is expecting a scsi_cmnd / struct request for that tag
value.
How is that supposed to work?
Ah, right. Will be fixing it.
Cheers,
Hannes
--
Dr. Hannes Reinecke Kernel Storage Architect
hare@xxxxxxx +49 911 74053 688
SUSE Software Solutions GmbH, Maxfeldstr. 5, 90409 Nürnberg
HRB 36809 (AG Nürnberg), Geschäftsführer: Felix Imendörffer