aboutsummaryrefslogtreecommitdiffstats
path: root/drivers/scsi/lpfc/lpfc_scsi.c
diff options
context:
space:
mode:
Diffstat (limited to 'drivers/scsi/lpfc/lpfc_scsi.c')
-rw-r--r--drivers/scsi/lpfc/lpfc_scsi.c16
1 files changed, 12 insertions, 4 deletions
diff --git a/drivers/scsi/lpfc/lpfc_scsi.c b/drivers/scsi/lpfc/lpfc_scsi.c
index bcddb6c1a148..f5ab5dd9bbbf 100644
--- a/drivers/scsi/lpfc/lpfc_scsi.c
+++ b/drivers/scsi/lpfc/lpfc_scsi.c
@@ -2773,7 +2773,9 @@ void lpfc_poll_timeout(unsigned long ptr)
2773 struct lpfc_hba *phba = (struct lpfc_hba *) ptr; 2773 struct lpfc_hba *phba = (struct lpfc_hba *) ptr;
2774 2774
2775 if (phba->cfg_poll & ENABLE_FCP_RING_POLLING) { 2775 if (phba->cfg_poll & ENABLE_FCP_RING_POLLING) {
2776 lpfc_sli_poll_fcp_ring (phba); 2776 lpfc_sli_handle_fast_ring_event(phba,
2777 &phba->sli.ring[LPFC_FCP_RING], HA_R0RE_REQ);
2778
2777 if (phba->cfg_poll & DISABLE_FCP_RING_INT) 2779 if (phba->cfg_poll & DISABLE_FCP_RING_INT)
2778 lpfc_poll_rearm_timer(phba); 2780 lpfc_poll_rearm_timer(phba);
2779 } 2781 }
@@ -2932,7 +2934,11 @@ lpfc_queuecommand(struct scsi_cmnd *cmnd, void (*done) (struct scsi_cmnd *))
2932 goto out_host_busy_free_buf; 2934 goto out_host_busy_free_buf;
2933 } 2935 }
2934 if (phba->cfg_poll & ENABLE_FCP_RING_POLLING) { 2936 if (phba->cfg_poll & ENABLE_FCP_RING_POLLING) {
2935 lpfc_sli_poll_fcp_ring(phba); 2937 spin_unlock(shost->host_lock);
2938 lpfc_sli_handle_fast_ring_event(phba,
2939 &phba->sli.ring[LPFC_FCP_RING], HA_R0RE_REQ);
2940
2941 spin_lock(shost->host_lock);
2936 if (phba->cfg_poll & DISABLE_FCP_RING_INT) 2942 if (phba->cfg_poll & DISABLE_FCP_RING_INT)
2937 lpfc_poll_rearm_timer(phba); 2943 lpfc_poll_rearm_timer(phba);
2938 } 2944 }
@@ -3028,7 +3034,8 @@ lpfc_abort_handler(struct scsi_cmnd *cmnd)
3028 } 3034 }
3029 3035
3030 if (phba->cfg_poll & DISABLE_FCP_RING_INT) 3036 if (phba->cfg_poll & DISABLE_FCP_RING_INT)
3031 lpfc_sli_poll_fcp_ring (phba); 3037 lpfc_sli_handle_fast_ring_event(phba,
3038 &phba->sli.ring[LPFC_FCP_RING], HA_R0RE_REQ);
3032 3039
3033 lpfc_cmd->waitq = &waitq; 3040 lpfc_cmd->waitq = &waitq;
3034 /* Wait for abort to complete */ 3041 /* Wait for abort to complete */
@@ -3546,7 +3553,8 @@ lpfc_slave_configure(struct scsi_device *sdev)
3546 rport->dev_loss_tmo = vport->cfg_devloss_tmo; 3553 rport->dev_loss_tmo = vport->cfg_devloss_tmo;
3547 3554
3548 if (phba->cfg_poll & ENABLE_FCP_RING_POLLING) { 3555 if (phba->cfg_poll & ENABLE_FCP_RING_POLLING) {
3549 lpfc_sli_poll_fcp_ring(phba); 3556 lpfc_sli_handle_fast_ring_event(phba,
3557 &phba->sli.ring[LPFC_FCP_RING], HA_R0RE_REQ);
3550 if (phba->cfg_poll & DISABLE_FCP_RING_INT) 3558 if (phba->cfg_poll & DISABLE_FCP_RING_INT)
3551 lpfc_poll_rearm_timer(phba); 3559 lpfc_poll_rearm_timer(phba);
3552 } 3560 }