|
@@ -774,6 +774,8 @@ lpfc_new_scsi_buf_s4(struct lpfc_vport *vport, int num_to_alloc)
|
|
|
/* 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);
|
|
|
kfree(psb);
|
|
|
break;
|
|
|
}
|
|
@@ -2363,7 +2365,8 @@ lpfc_scsi_cmd_iocb_cmpl(struct lpfc_hba *phba, struct lpfc_iocbq *pIocbIn,
|
|
|
case IOSTAT_LOCAL_REJECT:
|
|
|
if (lpfc_cmd->result == IOERR_INVALID_RPI ||
|
|
|
lpfc_cmd->result == IOERR_NO_RESOURCES ||
|
|
|
- lpfc_cmd->result == IOERR_ABORT_REQUESTED) {
|
|
|
+ lpfc_cmd->result == IOERR_ABORT_REQUESTED ||
|
|
|
+ lpfc_cmd->result == IOERR_SLER_CMD_RCV_FAILURE) {
|
|
|
cmd->result = ScsiResult(DID_REQUEUE, 0);
|
|
|
break;
|
|
|
}
|