|
@@ -1012,20 +1012,25 @@ lpfc_new_scsi_buf_s4(struct lpfc_vport *vport, int num_to_alloc)
|
|
|
break;
|
|
|
}
|
|
|
|
|
|
- /* Allocate iotag for psb->cur_iocbq. */
|
|
|
- iotag = lpfc_sli_next_iotag(phba, &psb->cur_iocbq);
|
|
|
- if (iotag == 0) {
|
|
|
+
|
|
|
+ lxri = lpfc_sli4_next_xritag(phba);
|
|
|
+ if (lxri == NO_XRI) {
|
|
|
pci_pool_free(phba->lpfc_scsi_dma_buf_pool,
|
|
|
- psb->data, psb->dma_handle);
|
|
|
+ psb->data, psb->dma_handle);
|
|
|
kfree(psb);
|
|
|
break;
|
|
|
}
|
|
|
|
|
|
- lxri = lpfc_sli4_next_xritag(phba);
|
|
|
- if (lxri == NO_XRI) {
|
|
|
+ /* Allocate iotag for psb->cur_iocbq. */
|
|
|
+ iotag = lpfc_sli_next_iotag(phba, &psb->cur_iocbq);
|
|
|
+ if (iotag == 0) {
|
|
|
pci_pool_free(phba->lpfc_scsi_dma_buf_pool,
|
|
|
- psb->data, psb->dma_handle);
|
|
|
+ psb->data, psb->dma_handle);
|
|
|
kfree(psb);
|
|
|
+ lpfc_printf_log(phba, KERN_ERR, LOG_FCP,
|
|
|
+ "3368 Failed to allocated IOTAG for"
|
|
|
+ " XRI:0x%x\n", lxri);
|
|
|
+ lpfc_sli4_free_xri(phba, lxri);
|
|
|
break;
|
|
|
}
|
|
|
psb->cur_iocbq.sli4_lxritag = lxri;
|