Linux kernel mirror (for testing) git.kernel.org/pub/scm/linux/kernel/git/torvalds/linux.git
kernel os linux

scsi: lpfc: do not set queue->page_count to 0 if pc_sli4_params.wqpcnt is invalid

Certain older adapters such as the OneConnect OCe10100 may not have a valid
wqpcnt value. In this case, do not set queue->page_count to 0 in
lpfc_sli4_queue_alloc() as this will prevent the driver from initializing.

Fixes: 895427bd01 ("scsi: lpfc: NVME Initiator: Base modifications")
Cc: stable@vger.kernel.org # 4.11+
Signed-off-by: Ewan D. Milne <emilne@redhat.com>
Reviewed-by: Laurence Oberman <loberman@redhat.com>
Tested-by: Laurence Oberman <loberman@redhat.com>
Signed-off-by: Martin K. Petersen <martin.petersen@oracle.com>

authored by

Ewan D. Milne and committed by
Martin K. Petersen
4e87eb2f 4af14d11

+2 -1
+2 -1
drivers/scsi/lpfc/lpfc_sli.c
··· 14575 14575 hw_page_size))/hw_page_size; 14576 14576 14577 14577 /* If needed, Adjust page count to match the max the adapter supports */ 14578 - if (queue->page_count > phba->sli4_hba.pc_sli4_params.wqpcnt) 14578 + if (phba->sli4_hba.pc_sli4_params.wqpcnt && 14579 + (queue->page_count > phba->sli4_hba.pc_sli4_params.wqpcnt)) 14579 14580 queue->page_count = phba->sli4_hba.pc_sli4_params.wqpcnt; 14580 14581 14581 14582 INIT_LIST_HEAD(&queue->list);