]> git.karo-electronics.de Git - mv-sheeva.git/blobdiff - drivers/scsi/lpfc/lpfc_els.c
[SCSI] lpfc 8.3.15: BSG, Discovery, and Misc fixes
[mv-sheeva.git] / drivers / scsi / lpfc / lpfc_els.c
index 017c933d60abacf52b09779c0fcc182733e3e8b7..f80156246e515cf3183a798753b722f4d6a8ffdf 100644 (file)
@@ -6962,6 +6962,7 @@ lpfc_sli4_els_xri_aborted(struct lpfc_hba *phba,
        uint16_t xri = bf_get(lpfc_wcqe_xa_xri, axri);
        struct lpfc_sglq *sglq_entry = NULL, *sglq_next = NULL;
        unsigned long iflag = 0;
+       struct lpfc_sli_ring *pring = &phba->sli.ring[LPFC_ELS_RING];
 
        spin_lock_irqsave(&phba->hbalock, iflag);
        spin_lock(&phba->sli4_hba.abts_sgl_list_lock);
@@ -6974,6 +6975,10 @@ lpfc_sli4_els_xri_aborted(struct lpfc_hba *phba,
                        sglq_entry->state = SGL_FREED;
                        spin_unlock(&phba->sli4_hba.abts_sgl_list_lock);
                        spin_unlock_irqrestore(&phba->hbalock, iflag);
+
+                       /* Check if TXQ queue needs to be serviced */
+                       if (pring->txq_cnt)
+                               lpfc_worker_wake_up(phba);
                        return;
                }
        }