Re: [PATCH] lpfc: Fix EEH encountering oops with nvme traffic

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

 



On Wed, 2021-01-27 at 14:16 -0800, James Smart wrote:
> In testing, in a configuration with Redfish and native nvme multipath
> when an EEH is injected, a kernel oops is being encountered:
> (unreliable)
> lpfc_nvme_ls_req+0x328/0x720 [lpfc]
> __nvme_fc_send_ls_req.constprop.13+0x1d8/0x3d0 [nvme_fc]
> nvme_fc_create_association+0x224/0xd10 [nvme_fc]
> nvme_fc_reset_ctrl_work+0x110/0x154 [nvme_fc]
> process_one_work+0x304/0x5d
> 
> the nvme transport is issuing a Disconnect LS request, which the
> driver
> receives and tries to post but the work queue used by the driver is
> already being torn down by the eeh.
> 
> Fix by validating the validity of the work queue before proceeding
> with
> the LS transmit.
> 
> Signed-off-by: James Smart <jsmart2021@xxxxxxxxx>
> ---
>  drivers/scsi/lpfc/lpfc_nvme.c | 3 +++
>  1 file changed, 3 insertions(+)
> 
> diff --git a/drivers/scsi/lpfc/lpfc_nvme.c
> b/drivers/scsi/lpfc/lpfc_nvme.c
> index 5e990f4c1ca6..4d819e52496a 100644
> --- a/drivers/scsi/lpfc/lpfc_nvme.c
> +++ b/drivers/scsi/lpfc/lpfc_nvme.c
> @@ -559,6 +559,9 @@ __lpfc_nvme_ls_req(struct lpfc_vport *vport,
> struct lpfc_nodelist *ndlp,
>  		return -ENODEV;
>  	}
>  
> +	if (!vport->phba->sli4_hba.nvmels_wq)
> +		return -ENOMEM;
> +
>  	/*
>  	 * there are two dma buf in the request, actually there is one
> and
>  	 * the second one is just the start address + cmd size.

Reviewed-by: Ewan D. Milne <emilne@xxxxxxxxxx>






[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
[Index of Archives]     [SCSI Target Devel]     [Linux SCSI Target Infrastructure]     [Kernel Newbies]     [IDE]     [Security]     [Git]     [Netfilter]     [Bugtraq]     [Yosemite News]     [MIPS Linux]     [ARM Linux]     [Linux Security]     [Linux RAID]     [Linux ATA RAID]     [Linux IIO]     [Samba]     [Device Mapper]

  Powered by Linux