diff options
author | James Smart <james.smart@emulex.com> | 2013-03-01 16:35:12 -0500 |
---|---|---|
committer | James Bottomley <JBottomley@Parallels.com> | 2013-04-09 17:21:58 -0400 |
commit | 0e9bb8d79c52ca115f3fc4a692ca0dd6931e2eeb (patch) | |
tree | ca868fc67d44fbcff55e449f00ee4a4142098740 /drivers/scsi/lpfc/lpfc_els.c | |
parent | d4a2618fa77b5e58ec15342972bd3505a1c3f551 (diff) |
[SCSI] lpfc 8.3.38: Fixed NMI watch dog panic's when resetting the hba.
Fixed NMI watch dog panic's when resetting the hba.
Signed-off-by: James Smart <james.smart@emulex.com>
Signed-off-by: James Bottomley <JBottomley@Parallels.com>
Diffstat (limited to 'drivers/scsi/lpfc/lpfc_els.c')
-rw-r--r-- | drivers/scsi/lpfc/lpfc_els.c | 6 |
1 files changed, 2 insertions, 4 deletions
diff --git a/drivers/scsi/lpfc/lpfc_els.c b/drivers/scsi/lpfc/lpfc_els.c index 08d156a9094f..b7a61ff43ca8 100644 --- a/drivers/scsi/lpfc/lpfc_els.c +++ b/drivers/scsi/lpfc/lpfc_els.c | |||
@@ -6225,7 +6225,7 @@ lpfc_els_timeout_handler(struct lpfc_vport *vport) | |||
6225 | spin_unlock_irq(&phba->hbalock); | 6225 | spin_unlock_irq(&phba->hbalock); |
6226 | } | 6226 | } |
6227 | 6227 | ||
6228 | if (phba->sli.ring[LPFC_ELS_RING].txcmplq_cnt) | 6228 | if (!list_empty(&phba->sli.ring[LPFC_ELS_RING].txcmplq)) |
6229 | mod_timer(&vport->els_tmofunc, jiffies + HZ * timeout); | 6229 | mod_timer(&vport->els_tmofunc, jiffies + HZ * timeout); |
6230 | } | 6230 | } |
6231 | 6231 | ||
@@ -6279,7 +6279,6 @@ lpfc_els_flush_cmd(struct lpfc_vport *vport) | |||
6279 | continue; | 6279 | continue; |
6280 | 6280 | ||
6281 | list_move_tail(&piocb->list, &completions); | 6281 | list_move_tail(&piocb->list, &completions); |
6282 | pring->txq_cnt--; | ||
6283 | } | 6282 | } |
6284 | 6283 | ||
6285 | list_for_each_entry_safe(piocb, tmp_iocb, &pring->txcmplq, list) { | 6284 | list_for_each_entry_safe(piocb, tmp_iocb, &pring->txcmplq, list) { |
@@ -6339,7 +6338,6 @@ lpfc_els_flush_all_cmd(struct lpfc_hba *phba) | |||
6339 | cmd->ulpCommand == CMD_ABORT_XRI_CN) | 6338 | cmd->ulpCommand == CMD_ABORT_XRI_CN) |
6340 | continue; | 6339 | continue; |
6341 | list_move_tail(&piocb->list, &completions); | 6340 | list_move_tail(&piocb->list, &completions); |
6342 | pring->txq_cnt--; | ||
6343 | } | 6341 | } |
6344 | list_for_each_entry_safe(piocb, tmp_iocb, &pring->txcmplq, list) { | 6342 | list_for_each_entry_safe(piocb, tmp_iocb, &pring->txcmplq, list) { |
6345 | if (piocb->iocb_flag & LPFC_IO_LIBDFC) | 6343 | if (piocb->iocb_flag & LPFC_IO_LIBDFC) |
@@ -8065,7 +8063,7 @@ lpfc_sli4_els_xri_aborted(struct lpfc_hba *phba, | |||
8065 | rxid, 1); | 8063 | rxid, 1); |
8066 | 8064 | ||
8067 | /* Check if TXQ queue needs to be serviced */ | 8065 | /* Check if TXQ queue needs to be serviced */ |
8068 | if (pring->txq_cnt) | 8066 | if (!(list_empty(&pring->txq))) |
8069 | lpfc_worker_wake_up(phba); | 8067 | lpfc_worker_wake_up(phba); |
8070 | return; | 8068 | return; |
8071 | } | 8069 | } |