diff options
Diffstat (limited to 'drivers/scsi/lpfc/lpfc_scsi.c')
-rw-r--r-- | drivers/scsi/lpfc/lpfc_scsi.c | 16 |
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 | } |