]> Pileus Git - ~andy/linux/blobdiff - drivers/scsi/lpfc/lpfc_els.c
[SCSI] lpfc: Fix eh_ return codes for commands
[~andy/linux] / drivers / scsi / lpfc / lpfc_els.c
index e931ae6e7464dca23ad5cc14967f29c6a3e6cf24..08a0c00cfc302eee9f97a8f9668910672d39d08a 100644 (file)
@@ -102,9 +102,8 @@ lpfc_prep_els_iocb(struct lpfc_hba * phba,
                   uint16_t cmdSize,
                   uint8_t retry, struct lpfc_nodelist * ndlp, uint32_t elscmd)
 {
-       struct list_head *lpfc_iocb_list = &phba->lpfc_iocb_list;
        struct lpfc_sli_ring *pring;
-       struct lpfc_iocbq *elsiocb = NULL;
+       struct lpfc_iocbq *elsiocb;
        struct lpfc_dmabuf *pcmd, *prsp, *pbuflist;
        struct ulp_bde64 *bpl;
        IOCB_t *icmd;
@@ -114,10 +113,9 @@ lpfc_prep_els_iocb(struct lpfc_hba * phba,
        if (phba->hba_state < LPFC_LINK_UP)
                return  NULL;
 
-
        /* Allocate buffer for  command iocb */
        spin_lock_irq(phba->host->host_lock);
-       list_remove_head(lpfc_iocb_list, elsiocb, struct lpfc_iocbq, list);
+       elsiocb = lpfc_sli_get_iocbq(phba);
        spin_unlock_irq(phba->host->host_lock);
 
        if (elsiocb == NULL)