Loading drivers/scsi/lpfc/lpfc_mem.c +5 −0 Original line number Diff line number Diff line Loading @@ -133,6 +133,11 @@ lpfc_mem_free(struct lpfc_hba * phba) pci_pool_destroy(phba->lpfc_scsi_dma_buf_pool); pci_pool_destroy(phba->lpfc_mbuf_pool); /* Free the iocb lookup array */ kfree(psli->iocbq_lookup); psli->iocbq_lookup = NULL; } void * Loading drivers/scsi/lpfc/lpfc_sli.c +0 −25 Original line number Diff line number Diff line Loading @@ -191,35 +191,12 @@ static int lpfc_sli_ringtxcmpl_put(struct lpfc_hba * phba, struct lpfc_sli_ring * pring, struct lpfc_iocbq * piocb) { uint16_t iotag; list_add_tail(&piocb->list, &pring->txcmplq); pring->txcmplq_cnt++; if (unlikely(pring->ringno == LPFC_ELS_RING)) mod_timer(&phba->els_tmofunc, jiffies + HZ * (phba->fc_ratov << 1)); if (pring->fast_lookup) { /* Setup fast lookup based on iotag for completion */ iotag = piocb->iocb.ulpIoTag; if (iotag && (iotag < pring->fast_iotag)) *(pring->fast_lookup + iotag) = piocb; else { /* Cmd ring <ringno> put: iotag <iotag> greater then configured max <fast_iotag> wd0 <icmd> */ lpfc_printf_log(phba, KERN_ERR, LOG_SLI, "%d:0316 Cmd ring %d put: iotag x%x " "greater then configured max x%x " "wd0 x%x\n", phba->brd_no, pring->ringno, iotag, pring->fast_iotag, *(((uint32_t *)(&piocb->iocb)) + 7)); } } return (0); } Loading Loading @@ -2659,8 +2636,6 @@ lpfc_sli_hba_down(struct lpfc_hba * phba) INIT_LIST_HEAD(&(pring->txq)); kfree(pring->fast_lookup); pring->fast_lookup = NULL; } spin_unlock_irqrestore(phba->host->host_lock, flags); Loading drivers/scsi/lpfc/lpfc_sli.h +0 −2 Original line number Diff line number Diff line Loading @@ -135,8 +135,6 @@ struct lpfc_sli_ring { uint32_t fast_iotag; /* max fastlookup based iotag */ uint32_t iotag_ctr; /* keeps track of the next iotag to use */ uint32_t iotag_max; /* max iotag value to use */ struct lpfc_iocbq ** fast_lookup; /* array of IOCB ptrs indexed by iotag */ struct list_head txq; uint16_t txq_cnt; /* current length of queue */ uint16_t txq_max; /* max length */ Loading Loading
drivers/scsi/lpfc/lpfc_mem.c +5 −0 Original line number Diff line number Diff line Loading @@ -133,6 +133,11 @@ lpfc_mem_free(struct lpfc_hba * phba) pci_pool_destroy(phba->lpfc_scsi_dma_buf_pool); pci_pool_destroy(phba->lpfc_mbuf_pool); /* Free the iocb lookup array */ kfree(psli->iocbq_lookup); psli->iocbq_lookup = NULL; } void * Loading
drivers/scsi/lpfc/lpfc_sli.c +0 −25 Original line number Diff line number Diff line Loading @@ -191,35 +191,12 @@ static int lpfc_sli_ringtxcmpl_put(struct lpfc_hba * phba, struct lpfc_sli_ring * pring, struct lpfc_iocbq * piocb) { uint16_t iotag; list_add_tail(&piocb->list, &pring->txcmplq); pring->txcmplq_cnt++; if (unlikely(pring->ringno == LPFC_ELS_RING)) mod_timer(&phba->els_tmofunc, jiffies + HZ * (phba->fc_ratov << 1)); if (pring->fast_lookup) { /* Setup fast lookup based on iotag for completion */ iotag = piocb->iocb.ulpIoTag; if (iotag && (iotag < pring->fast_iotag)) *(pring->fast_lookup + iotag) = piocb; else { /* Cmd ring <ringno> put: iotag <iotag> greater then configured max <fast_iotag> wd0 <icmd> */ lpfc_printf_log(phba, KERN_ERR, LOG_SLI, "%d:0316 Cmd ring %d put: iotag x%x " "greater then configured max x%x " "wd0 x%x\n", phba->brd_no, pring->ringno, iotag, pring->fast_iotag, *(((uint32_t *)(&piocb->iocb)) + 7)); } } return (0); } Loading Loading @@ -2659,8 +2636,6 @@ lpfc_sli_hba_down(struct lpfc_hba * phba) INIT_LIST_HEAD(&(pring->txq)); kfree(pring->fast_lookup); pring->fast_lookup = NULL; } spin_unlock_irqrestore(phba->host->host_lock, flags); Loading
drivers/scsi/lpfc/lpfc_sli.h +0 −2 Original line number Diff line number Diff line Loading @@ -135,8 +135,6 @@ struct lpfc_sli_ring { uint32_t fast_iotag; /* max fastlookup based iotag */ uint32_t iotag_ctr; /* keeps track of the next iotag to use */ uint32_t iotag_max; /* max iotag value to use */ struct lpfc_iocbq ** fast_lookup; /* array of IOCB ptrs indexed by iotag */ struct list_head txq; uint16_t txq_cnt; /* current length of queue */ uint16_t txq_max; /* max length */ Loading