diff options
Diffstat (limited to 'drivers/scsi/lpfc/lpfc_sli.c')
-rw-r--r-- | drivers/scsi/lpfc/lpfc_sli.c | 11 |
1 files changed, 8 insertions, 3 deletions
diff --git a/drivers/scsi/lpfc/lpfc_sli.c b/drivers/scsi/lpfc/lpfc_sli.c index 838e5b991851..c7181d85b993 100644 --- a/drivers/scsi/lpfc/lpfc_sli.c +++ b/drivers/scsi/lpfc/lpfc_sli.c | |||
@@ -635,7 +635,7 @@ lpfc_clr_rrq_active(struct lpfc_hba *phba, | |||
635 | if (!ndlp) | 635 | if (!ndlp) |
636 | goto out; | 636 | goto out; |
637 | 637 | ||
638 | if (test_and_clear_bit(xritag, ndlp->active_rrqs.xri_bitmap)) { | 638 | if (test_and_clear_bit(xritag, ndlp->active_rrqs_xri_bitmap)) { |
639 | rrq->send_rrq = 0; | 639 | rrq->send_rrq = 0; |
640 | rrq->xritag = 0; | 640 | rrq->xritag = 0; |
641 | rrq->rrq_stop_time = 0; | 641 | rrq->rrq_stop_time = 0; |
@@ -813,7 +813,9 @@ lpfc_test_rrq_active(struct lpfc_hba *phba, struct lpfc_nodelist *ndlp, | |||
813 | { | 813 | { |
814 | if (!ndlp) | 814 | if (!ndlp) |
815 | return 0; | 815 | return 0; |
816 | if (test_bit(xritag, ndlp->active_rrqs.xri_bitmap)) | 816 | if (!ndlp->active_rrqs_xri_bitmap) |
817 | return 0; | ||
818 | if (test_bit(xritag, ndlp->active_rrqs_xri_bitmap)) | ||
817 | return 1; | 819 | return 1; |
818 | else | 820 | else |
819 | return 0; | 821 | return 0; |
@@ -863,7 +865,10 @@ lpfc_set_rrq_active(struct lpfc_hba *phba, struct lpfc_nodelist *ndlp, | |||
863 | if (ndlp->vport && (ndlp->vport->load_flag & FC_UNLOADING)) | 865 | if (ndlp->vport && (ndlp->vport->load_flag & FC_UNLOADING)) |
864 | goto out; | 866 | goto out; |
865 | 867 | ||
866 | if (test_and_set_bit(xritag, ndlp->active_rrqs.xri_bitmap)) | 868 | if (!ndlp->active_rrqs_xri_bitmap) |
869 | goto out; | ||
870 | |||
871 | if (test_and_set_bit(xritag, ndlp->active_rrqs_xri_bitmap)) | ||
867 | goto out; | 872 | goto out; |
868 | 873 | ||
869 | spin_unlock_irqrestore(&phba->hbalock, iflags); | 874 | spin_unlock_irqrestore(&phba->hbalock, iflags); |