scsi: lpfc: Fix kernel Oops due to null pring pointers
Driver is hitting null pring pointers in lpfc_do_work(). Pointer assignment occurs based on SLI-revision. If recovering after an error, its possible the sli revision for the port was cleared, making the lpfc_phba_elsring() not return a ring pointer, thus the null pointer. Add SLI revision checking to lpfc_phba_elsring() and status checking to all callers. Signed-off-by: Dick Kennedy <dick.kennedy@broadcom.com> Signed-off-by: James Smart <jsmart2021@gmail.com> Signed-off-by: Martin K. Petersen <martin.petersen@oracle.com>
This commit is contained in:

committed by
Martin K. Petersen

parent
2c4c91415a
commit
5a9eeff57f
@@ -4687,6 +4687,8 @@ lpfc_sli_brdrestart_s4(struct lpfc_hba *phba)
|
||||
hba_aer_enabled = phba->hba_flag & HBA_AER_ENABLED;
|
||||
|
||||
rc = lpfc_sli4_brdreset(phba);
|
||||
if (rc)
|
||||
return rc;
|
||||
|
||||
spin_lock_irq(&phba->hbalock);
|
||||
phba->pport->stopped = 0;
|
||||
|
Reference in New Issue
Block a user