diff options
Diffstat (limited to 'drivers/scsi/lpfc/lpfc_init.c')
| -rw-r--r-- | drivers/scsi/lpfc/lpfc_init.c | 17 | 
1 files changed, 9 insertions, 8 deletions
diff --git a/drivers/scsi/lpfc/lpfc_init.c b/drivers/scsi/lpfc/lpfc_init.c index 4f7485958c49..867b4c788f08 100644 --- a/drivers/scsi/lpfc/lpfc_init.c +++ b/drivers/scsi/lpfc/lpfc_init.c @@ -32,7 +32,6 @@  #include <linux/spinlock.h>  #include <linux/sched/clock.h>  #include <linux/ctype.h> -#include <linux/aer.h>  #include <linux/slab.h>  #include <linux/firmware.h>  #include <linux/miscdevice.h> @@ -2148,7 +2147,7 @@ lpfc_handle_eratt_s4(struct lpfc_hba *phba)  		/* fall through for not able to recover */  		lpfc_printf_log(phba, KERN_ERR, LOG_TRACE_EVENT,  				"3152 Unrecoverable error\n"); -		phba->link_state = LPFC_HBA_ERROR; +		lpfc_sli4_offline_eratt(phba);  		break;  	case LPFC_SLI_INTF_IF_TYPE_1:  	default: @@ -9569,8 +9568,7 @@ lpfc_sli4_post_status_check(struct lpfc_hba *phba)  			/* Final checks.  The port status should be clean. */  			if (lpfc_readl(phba->sli4_hba.u.if_type2.STATUSregaddr,  				®_data.word0) || -				(bf_get(lpfc_sliport_status_err, ®_data) && -				 !bf_get(lpfc_sliport_status_rn, ®_data))) { +				lpfc_sli4_unrecoverable_port(®_data)) {  				phba->work_status[0] =  					readl(phba->sli4_hba.u.if_type2.  					      ERR1regaddr); @@ -12026,7 +12024,7 @@ lpfc_sli4_pci_mem_setup(struct lpfc_hba *phba)  				goto out_iounmap_all;  		} else {  			error = -ENOMEM; -			goto out_iounmap_all; +			goto out_iounmap_ctrl;  		}  	} @@ -12044,7 +12042,7 @@ lpfc_sli4_pci_mem_setup(struct lpfc_hba *phba)  			dev_err(&pdev->dev,  			   "ioremap failed for SLI4 HBA dpp registers.\n");  			error = -ENOMEM; -			goto out_iounmap_ctrl; +			goto out_iounmap_all;  		}  		phba->pci_bar4_memmap_p = phba->sli4_hba.dpp_regs_memmap_p;  	} @@ -12069,9 +12067,11 @@ lpfc_sli4_pci_mem_setup(struct lpfc_hba *phba)  	return 0;  out_iounmap_all: -	iounmap(phba->sli4_hba.drbl_regs_memmap_p); +	if (phba->sli4_hba.drbl_regs_memmap_p) +		iounmap(phba->sli4_hba.drbl_regs_memmap_p);  out_iounmap_ctrl: -	iounmap(phba->sli4_hba.ctrl_regs_memmap_p); +	if (phba->sli4_hba.ctrl_regs_memmap_p) +		iounmap(phba->sli4_hba.ctrl_regs_memmap_p);  out_iounmap_conf:  	iounmap(phba->sli4_hba.conf_regs_memmap_p); @@ -12107,6 +12107,7 @@ lpfc_sli4_pci_mem_unset(struct lpfc_hba *phba)  			iounmap(phba->sli4_hba.dpp_regs_memmap_p);  		break;  	case LPFC_SLI_INTF_IF_TYPE_1: +		break;  	default:  		dev_printk(KERN_ERR, &phba->pcidev->dev,  			   "FATAL - unsupported SLI4 interface type - %d\n",  |