scsi: lpfc: Memory allocation error during driver start-up on power8
The driver fails to allocate command buffers in the routine lpfc_new_scsi_buf_s4 There is an inconsistency between lpfc_mem_alloc(), where the phba->lpfc_sg_dma_buf_pool is created, and lpfc_new_scsi_buf_s4(), when we allocate a buffer from the pool and check the alignment. The alignment should be on a page boundary, based on LPFC_SLI3_BG_ENABLED in sli3_options, for both cases. Fix by explicitly tracking sli4 vs sli3 and BG options. The result is that phba->cfg_sg_dma_buf_size is now set correctly for SLI-4. Signed-off-by: Dick Kennedy <dick.kennedy@broadcom.com> Signed-off-by: James Smart <james.smart@broadcom.com> Signed-off-by: Martin K. Petersen <martin.petersen@oracle.com>
This commit is contained in:

committed by
Martin K. Petersen

parent
e29d74f8eb
commit
f44ac12f1d
@@ -5912,7 +5912,7 @@ lpfc_sli4_driver_resource_setup(struct lpfc_hba *phba)
|
||||
* Since lpfc_sg_seg_cnt is module param, the sg_dma_buf_size
|
||||
* used to create the sg_dma_buf_pool must be calculated.
|
||||
*/
|
||||
if (phba->cfg_enable_bg) {
|
||||
if (phba->sli3_options & LPFC_SLI3_BG_ENABLED) {
|
||||
/*
|
||||
* The scsi_buf for a T10-DIF I/O holds the FCP cmnd,
|
||||
* the FCP rsp, and a SGE. Sice we have no control
|
||||
|
Reference in New Issue
Block a user