lpfc: fix quarantined XRI recovery qualifier state in link bounce
authorJames Smart <james.smart@emulex.com>
Wed, 3 Sep 2014 16:56:48 +0000 (12:56 -0400)
committerChristoph Hellwig <hch@lst.de>
Tue, 16 Sep 2014 16:10:09 +0000 (09:10 -0700)
Fix quarantined XRI recovery qualifier state in link bounce

Signed-off-by: James Smart <james.smart@emulex.com>
Signed-off-by: Dick Kennedy <dick.kennedy@emulex.com>
Signed-off-by: Christoph Hellwig <hch@lst.de>
drivers/scsi/lpfc/lpfc_crtn.h
drivers/scsi/lpfc/lpfc_hbadisc.c
drivers/scsi/lpfc/lpfc_sli.c

index db5604f01a1a0c1f9fd8b9df5bf05f103b931e6e..00665a5d92fd5693707026adfad2fb382342eb2f 100644 (file)
@@ -451,7 +451,6 @@ int lpfc_send_rrq(struct lpfc_hba *, struct lpfc_node_rrq *);
 int lpfc_set_rrq_active(struct lpfc_hba *, struct lpfc_nodelist *,
        uint16_t, uint16_t, uint16_t);
 uint16_t lpfc_sli4_xri_inrange(struct lpfc_hba *, uint16_t);
-void lpfc_cleanup_wt_rrqs(struct lpfc_hba *);
 void lpfc_cleanup_vports_rrqs(struct lpfc_vport *, struct lpfc_nodelist *);
 struct lpfc_node_rrq *lpfc_get_active_rrq(struct lpfc_vport *, uint16_t,
        uint32_t);
index 859fffa739d8f29ed788f4dc425cfe85ee9bd215..d178aee02b4911aeef246c4b1fc7c60eb2b530dd 100644 (file)
@@ -995,7 +995,6 @@ lpfc_linkup(struct lpfc_hba *phba)
        struct lpfc_vport **vports;
        int i;
 
-       lpfc_cleanup_wt_rrqs(phba);
        phba->link_state = LPFC_LINK_UP;
 
        /* Unblock fabric iocbs if they are blocked */
index 8f3be2a5dc3f58a446f9465dac7eee5b97004c6d..deb7f126a2f15a16d581273caf510e0a3cb8646b 100644 (file)
@@ -785,42 +785,6 @@ lpfc_cleanup_vports_rrqs(struct lpfc_vport *vport, struct lpfc_nodelist *ndlp)
        }
 }
 
-/**
- * lpfc_cleanup_wt_rrqs - Remove all rrq's from the active list.
- * @phba: Pointer to HBA context object.
- *
- * Remove all rrqs from the phba->active_rrq_list and free them by
- * calling __lpfc_clr_active_rrq
- *
- **/
-void
-lpfc_cleanup_wt_rrqs(struct lpfc_hba *phba)
-{
-       struct lpfc_node_rrq *rrq;
-       struct lpfc_node_rrq *nextrrq;
-       unsigned long next_time;
-       unsigned long iflags;
-       LIST_HEAD(rrq_list);
-
-       if (phba->sli_rev != LPFC_SLI_REV4)
-               return;
-       spin_lock_irqsave(&phba->hbalock, iflags);
-       phba->hba_flag &= ~HBA_RRQ_ACTIVE;
-       next_time = jiffies + msecs_to_jiffies(1000 * (phba->fc_ratov * 2));
-       list_splice_init(&phba->active_rrq_list, &rrq_list);
-       spin_unlock_irqrestore(&phba->hbalock, iflags);
-
-       list_for_each_entry_safe(rrq, nextrrq, &rrq_list, list) {
-               list_del(&rrq->list);
-               lpfc_clr_rrq_active(phba, rrq->xritag, rrq);
-       }
-       if ((!list_empty(&phba->active_rrq_list)) &&
-           (!(phba->pport->load_flag & FC_UNLOADING)))
-
-               mod_timer(&phba->rrq_tmr, next_time);
-}
-
-
 /**
  * lpfc_test_rrq_active - Test RRQ bit in xri_bitmap.
  * @phba: Pointer to HBA context object.