diff options
author | Justin Tee <justin.tee@broadcom.com> | 2023-01-09 15:33:09 -0800 |
---|---|---|
committer | Martin K. Petersen <martin.petersen@oracle.com> | 2023-01-12 00:03:14 -0500 |
commit | b5c894cf430e779826612cf2acb508d78bf210ce (patch) | |
tree | c112f7ba5a7df50e80f6699fae19904b2f96e6b8 /drivers/scsi/lpfc | |
parent | 7ab07683aa4ccf324dc369808ceb0b138d590f07 (diff) | |
download | lwn-b5c894cf430e779826612cf2acb508d78bf210ce.tar.gz lwn-b5c894cf430e779826612cf2acb508d78bf210ce.zip |
scsi: lpfc: Set max DMA segment size to HBA supported SGE length
During I/O, the following warning message occasionally appears:
DMA-API: lpfc 0000:04:00.0: mapping sg segment longer than device claims to
support [len=131072] [max=65536]
The HBA is capable of supporting 131,072 bytes, so notify DMA layer via the
dma_set_max_seg_size() API during hba initialization.
Signed-off-by: Justin Tee <justin.tee@broadcom.com>
Signed-off-by: Martin K. Petersen <martin.petersen@oracle.com>
Diffstat (limited to 'drivers/scsi/lpfc')
-rw-r--r-- | drivers/scsi/lpfc/lpfc_init.c | 7 |
1 files changed, 7 insertions, 0 deletions
diff --git a/drivers/scsi/lpfc/lpfc_init.c b/drivers/scsi/lpfc/lpfc_init.c index 25ba20e42825..4d58373f6ab6 100644 --- a/drivers/scsi/lpfc/lpfc_init.c +++ b/drivers/scsi/lpfc/lpfc_init.c @@ -13917,6 +13917,13 @@ fcponly: if (sli4_params->sge_supp_len > LPFC_MAX_SGE_SIZE) sli4_params->sge_supp_len = LPFC_MAX_SGE_SIZE; + rc = dma_set_max_seg_size(&phba->pcidev->dev, sli4_params->sge_supp_len); + if (unlikely(rc)) { + lpfc_printf_log(phba, KERN_INFO, LOG_INIT, + "6400 Can't set dma maximum segment size\n"); + return rc; + } + /* * Check whether the adapter supports an embedded copy of the * FCP CMD IU within the WQE for FCP_Ixxx commands. In order |