From: James Smart <james.smart@broadcom.com>
Date: Tue, 20 Oct 2020 13:27:16 -0700
Subject: scsi: lpfc: Enlarge max_sectors in scsi host templates
Patch-mainline: v5.11-rc1
Git-commit: 7c30bb62ed5db15cdb59f5722122fbed7421641c
References: bsc#1175480 bsc#1176396 bsc#1176942 bsc#1177500
The driver supports arbitrarily large scatter-gather lists and the current
value for max_sectors is limiting.
Change max_sectors to the largest value. This was actually done prior but
it only corrected one template and that template was later removed.
So change the remaining 2 templates. Other areas which hard-set the sectors
value should be inheriting what is in the template.
Link: https://lore.kernel.org/r/20201020202719.54726-7-james.smart@broadcom.com
Signed-off-by: James Smart <james.smart@broadcom.com>
Signed-off-by: Martin K. Petersen <martin.petersen@oracle.com>
Acked-by: Daniel Wagner <dwagner@suse.de>
---
drivers/scsi/lpfc/lpfc_init.c | 5 +----
drivers/scsi/lpfc/lpfc_scsi.c | 4 ++--
2 files changed, 3 insertions(+), 6 deletions(-)
--- a/drivers/scsi/lpfc/lpfc_init.c
+++ b/drivers/scsi/lpfc/lpfc_init.c
@@ -4343,16 +4343,13 @@ lpfc_create_port(struct lpfc_hba *phba,
/* Seed physical port template */
memcpy(template, &lpfc_template, sizeof(*template));
- if (use_no_reset_hba) {
+ if (use_no_reset_hba)
/* template is for a no reset SCSI Host */
- template->max_sectors = 0xffff;
template->eh_host_reset_handler = NULL;
- }
/* Template for all vports this physical port creates */
memcpy(&phba->vport_template, &lpfc_template,
sizeof(*template));
- phba->vport_template.max_sectors = 0xffff;
phba->vport_template.shost_attrs = lpfc_vport_attrs;
phba->vport_template.eh_bus_reset_handler = NULL;
phba->vport_template.eh_host_reset_handler = NULL;
--- a/drivers/scsi/lpfc/lpfc_scsi.c
+++ b/drivers/scsi/lpfc/lpfc_scsi.c
@@ -6028,7 +6028,7 @@ struct scsi_host_template lpfc_template_
.sg_tablesize = 1,
.cmd_per_lun = 1,
.shost_attrs = lpfc_hba_attrs,
- .max_sectors = 0xFFFF,
+ .max_sectors = 0xFFFFFFFF,
.vendor_id = LPFC_NL_VENDOR_ID,
.track_queue_depth = 0,
};
@@ -6053,7 +6053,7 @@ struct scsi_host_template lpfc_template
.sg_tablesize = LPFC_DEFAULT_SG_SEG_CNT,
.cmd_per_lun = LPFC_CMD_PER_LUN,
.shost_attrs = lpfc_hba_attrs,
- .max_sectors = 0xFFFF,
+ .max_sectors = 0xFFFFFFFF,
.vendor_id = LPFC_NL_VENDOR_ID,
.change_queue_depth = scsi_change_queue_depth,
.track_queue_depth = 1,