Received: by 2002:a05:6a10:8c0a:0:0:0:0 with SMTP id go10csp4248370pxb; Mon, 8 Feb 2021 11:25:15 -0800 (PST) X-Google-Smtp-Source: ABdhPJy0ywuUENCKQhtXgioimoFENJRT+/SwVUfcmyLZXBOOtW9YIEQX2sHcFHnuOfocO2z45OXN X-Received: by 2002:a17:906:2cd4:: with SMTP id r20mr18459629ejr.291.1612812315790; Mon, 08 Feb 2021 11:25:15 -0800 (PST) ARC-Seal: i=1; a=rsa-sha256; t=1612812315; cv=none; d=google.com; s=arc-20160816; b=rmUI67OhZhTQNA24Pd3w9zfD5GksJN5aDXqIYYQcp/23xvqW7Hykj17WRRhoM4g/Hc nREu7m7rXXSvRKXMaGmsra79B4Q1vwJ/cjmaCl37wv8lZ9IZDXfPBVQcTVAsScQSUgMe /mBgSrZ2W2JsqnZk/8MgUcZSzuzfAjZtsoD9e3CBnpcPeTGEYkWhP9yP1EHmBD5V4FkF Bl64wUmt8BR7oEOIXiggBJMyLqJWPnaLzEFxQ8HxQZzDmrTpCsPUOe9WGZnlA7hJS0D8 oe04I4t7guW9Yvkaz9dpuHNF+P8JVzNMdGwFAPch4XuU0yk24qDxbtavnrdHSzZE0R1O xbTw== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=google.com; s=arc-20160816; h=list-id:precedence:content-transfer-encoding:mime-version :references:in-reply-to:message-id:date:subject:cc:to:from :dkim-signature; bh=heK6zCA8U2095VpPNOxJhMtR2yc1i0C6hdGOvKhSqvE=; b=o8BOxVcUadndysuwvoqkvST1b+E1UhyOm++04Hdzj/4Z/wO8YO++KvydZeSsZ4cpYK 6HmnSJW6VT8uR688upF4gy2WRJT/aPuNk95mljAg3v9q/Mt/SPtteKQDX0F6bb/oZ+31 SU+0g9bmFGJ8YuQB7AqxElXqyy1xP5wfa8oMOt/E1qRmEPV8oTPAp/clCifp1AGnuB3O gnZ9P4vOBV+PcmaZAhDa9oMYrjfuuLGx2ouDd/mh3Q9ZODMcniTzymkkyEgvzwf9s1XF YLCSUGIpj75hSDaQxX1Uv0Xq+BhIjrZwf/E2rGoVhwNnbaWjJa0TaPzQVuJmAKKs8BWE guMg== ARC-Authentication-Results: i=1; mx.google.com; dkim=pass header.i=@kernel.org header.s=k20201202 header.b=NhbJbjk7; spf=pass (google.com: domain of linux-kernel-owner@vger.kernel.org designates 23.128.96.18 as permitted sender) smtp.mailfrom=linux-kernel-owner@vger.kernel.org; dmarc=pass (p=NONE sp=NONE dis=NONE) header.from=kernel.org Return-Path: Received: from vger.kernel.org (vger.kernel.org. [23.128.96.18]) by mx.google.com with ESMTP id z1si4553372edp.254.2021.02.08.11.24.47; Mon, 08 Feb 2021 11:25:15 -0800 (PST) Received-SPF: pass (google.com: domain of linux-kernel-owner@vger.kernel.org designates 23.128.96.18 as permitted sender) client-ip=23.128.96.18; Authentication-Results: mx.google.com; dkim=pass header.i=@kernel.org header.s=k20201202 header.b=NhbJbjk7; spf=pass (google.com: domain of linux-kernel-owner@vger.kernel.org designates 23.128.96.18 as permitted sender) smtp.mailfrom=linux-kernel-owner@vger.kernel.org; dmarc=pass (p=NONE sp=NONE dis=NONE) header.from=kernel.org Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S236232AbhBHTWy (ORCPT + 99 others); Mon, 8 Feb 2021 14:22:54 -0500 Received: from mail.kernel.org ([198.145.29.99]:46600 "EHLO mail.kernel.org" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S235257AbhBHSAV (ORCPT ); Mon, 8 Feb 2021 13:00:21 -0500 Received: by mail.kernel.org (Postfix) with ESMTPSA id 68E3964EA6; Mon, 8 Feb 2021 17:58:29 +0000 (UTC) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/simple; d=kernel.org; s=k20201202; t=1612807110; bh=H6plJyXO27aiqIwdd5XSrW9dkGwIyHBmlxIkRT8gcMY=; h=From:To:Cc:Subject:Date:In-Reply-To:References:From; b=NhbJbjk7f+dEOEKt5GL/nMS/iLmMzeMt+kCt9CE6KTJVOdrXPqczNU72uP7NiwdFw Q3qnybxkqq7wyvNe72XQIdktosxLbF5bpcpxfGttt2S2rLfwKGbv+CblcY6l5AdXcC Y6gy/aIAUtTFGn/f3LymdfRuLrJMySuFzP7X7toS+Zwtjw7soc9Lvos6wVeUHImWm4 BNfWsE0TR1/1NwJy8pEP4xpKi9UqMvpsTqbSJ5zJpwbG2eH4cCEFDwJ2PVjSasL7uU iwTluXCI4jsVvNT2xJgrOfYQ7etvII5LwvsldGWhoN0xpPSHpUodQViaY1+VHJFCwQ 9NFfMdh0OFohw== From: Sasha Levin To: linux-kernel@vger.kernel.org, stable@vger.kernel.org Cc: James Smart , "Ewan D . Milne" , "Martin K . Petersen" , Sasha Levin , linux-scsi@vger.kernel.org Subject: [PATCH AUTOSEL 5.10 17/36] scsi: lpfc: Fix EEH encountering oops with NVMe traffic Date: Mon, 8 Feb 2021 12:57:47 -0500 Message-Id: <20210208175806.2091668-17-sashal@kernel.org> X-Mailer: git-send-email 2.27.0 In-Reply-To: <20210208175806.2091668-1-sashal@kernel.org> References: <20210208175806.2091668-1-sashal@kernel.org> MIME-Version: 1.0 X-stable: review X-Patchwork-Hint: Ignore Content-Transfer-Encoding: 8bit Precedence: bulk List-ID: X-Mailing-List: linux-kernel@vger.kernel.org From: James Smart [ Upstream commit 8c65830ae1629b03e5d65e9aafae7e2cf5f8b743 ] 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 NBMe 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. Link: https://lore.kernel.org/r/20210127221601.84878-1-jsmart2021@gmail.com Reviewed-by: Ewan D. Milne Signed-off-by: James Smart Signed-off-by: Martin K. Petersen Signed-off-by: Sasha Levin --- 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 69f1a0457f51e..03c81cec6bc98 100644 --- a/drivers/scsi/lpfc/lpfc_nvme.c +++ b/drivers/scsi/lpfc/lpfc_nvme.c @@ -714,6 +714,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. -- 2.27.0