From: Vaios Papadimitriou Date: Tue, 28 Aug 2012 23:03:38 +0000 (-0700) Subject: scsi/lpfc: Fix null pointer error for piocbq X-Git-Tag: v2.6.39-400.9.0~314^2~2 X-Git-Url: https://www.infradead.org/git/?a=commitdiff_plain;h=b73bdca3dc0376df075aecfd202e7f22fea6e672;p=users%2Fjedix%2Flinux-maple.git scsi/lpfc: Fix null pointer error for piocbq commit id: a629852ab810015223eec7a2f31a6bd5f93c83cf Signed-off-by: Jerry Snitselaar --- diff --git a/drivers/scsi/lpfc/lpfc_sli.c b/drivers/scsi/lpfc/lpfc_sli.c index b63e19822c60..748843416e9c 100644 --- a/drivers/scsi/lpfc/lpfc_sli.c +++ b/drivers/scsi/lpfc/lpfc_sli.c @@ -15950,24 +15950,18 @@ lpfc_drain_txq(struct lpfc_hba *phba) spin_lock_irqsave(&phba->hbalock, iflags); piocbq = lpfc_sli_ringtx_get(phba, pring); + if (!piocbq) { + spin_unlock_irqrestore(&phba->hbalock, iflags); + lpfc_printf_log(phba, KERN_ERR, LOG_SLI, + "2823 txq empty and txq_cnt is %d\n ", + pring->txq_cnt); + break; + } sglq = __lpfc_sli_get_sglq(phba, piocbq); if (!sglq) { __lpfc_sli_ringtx_put(phba, pring, piocbq); spin_unlock_irqrestore(&phba->hbalock, iflags); break; - } else { - if (!piocbq) { - /* The txq_cnt out of sync. This should - * never happen - */ - sglq = __lpfc_clear_active_sglq(phba, - sglq->sli4_lxritag); - spin_unlock_irqrestore(&phba->hbalock, iflags); - lpfc_printf_log(phba, KERN_ERR, LOG_SLI, - "2823 txq empty and txq_cnt is %d\n ", - pring->txq_cnt); - break; - } } /* The xri and iocb resources secured,