|
@@ -693,9 +693,9 @@ lpfc_work_done(struct lpfc_hba *phba)
|
|
|
pring = lpfc_phba_elsring(phba);
|
|
|
status = (ha_copy & (HA_RXMASK << (4*LPFC_ELS_RING)));
|
|
|
status >>= (4*LPFC_ELS_RING);
|
|
|
- if ((status & HA_RXMASK) ||
|
|
|
- (pring->flag & LPFC_DEFERRED_RING_EVENT) ||
|
|
|
- (phba->hba_flag & HBA_SP_QUEUE_EVT)) {
|
|
|
+ if (pring && (status & HA_RXMASK ||
|
|
|
+ pring->flag & LPFC_DEFERRED_RING_EVENT ||
|
|
|
+ phba->hba_flag & HBA_SP_QUEUE_EVT)) {
|
|
|
if (pring->flag & LPFC_STOP_IOCB_EVENT) {
|
|
|
pring->flag |= LPFC_DEFERRED_RING_EVENT;
|
|
|
/* Set the lpfc data pending flag */
|