Received: by 2002:ac0:950c:0:0:0:0:0 with SMTP id f12csp2270531imc; Tue, 12 Mar 2019 10:17:34 -0700 (PDT) X-Google-Smtp-Source: APXvYqytNxs0F4w7KutdnLQBri0jfrqts2K4g9eENCa6TmgidY6pOmWp6dW2QEqEMVOha+AHJmqb X-Received: by 2002:a65:6554:: with SMTP id a20mr35924908pgw.170.1552411054281; Tue, 12 Mar 2019 10:17:34 -0700 (PDT) ARC-Seal: i=1; a=rsa-sha256; t=1552411054; cv=none; d=google.com; s=arc-20160816; b=ZNdPMbcdz8clbieP95UVT7bxsEMBACHNDD/BS97U30Dh5ULYDfELTcynMc6b+PUPni p/zRPGhKJ66SXM7MasyJyWiMe9frqK58Lw0h1+uEVLFXLDpVcmcFmjeGhIFhyG9Swmo9 9JDQ1Uk9OsMxcvD9udzxyyqbjJN16+R+LL2CyPfvvDZ8D54fHZs6J/pnP0LYsh3ssZWY 7tYiWbGZDj2DTL48VhMai5zLjNWAhLOHxf0lCQ/JDnmOcQLQESWxNOZ5xKZSmF5bDPa2 aO6lyvth8aMfh8SsS3Ev25AMeDU1YZoef2y/unpkVkIlwKJuHodXx29nEBft1GdP7ogZ JGWQ== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=google.com; s=arc-20160816; h=list-id:precedence:sender:content-transfer-encoding:mime-version :user-agent:references:in-reply-to:message-id:date:subject:cc:to :from:dkim-signature; bh=q7f4qB4KwbcowxkuYt/zFTYLj0zvUc5KjYMQVigUDyY=; b=CZ/Yw5I4pCSq3XyOUMfYrgY9uZ/tHBTbc7sJJwbqtWZhCK+4plarMdlW6C7+UiBdk3 BiJTeQq/ueu+nA4zQ4bGNsDvEXIsteMVLrA/rKU9vAD+FCPmsM88gUMVYDl6nP7ahJ0h GmWEV73Lt1Lz86sEEzqPJC83wEs2ioKtuwoySFAIpj42HGp8lHaZkLiTkKDEEMJ+tPjc T+Pkz093/KUVQUcWpdScYNBApzR4S7dBxbgq9pCteIDnleVK/SVl7JmRxtNPH1TbuDFv b3YE2RzKH2kZ1J5qamruJQzr5cFTz7D3nO59FI1VVOWmnOYU6defPOGyi5y4If3EIALJ vjfg== ARC-Authentication-Results: i=1; mx.google.com; dkim=pass header.i=@kernel.org header.s=default header.b="NgJ/eECT"; spf=pass (google.com: best guess record for domain of linux-kernel-owner@vger.kernel.org designates 209.132.180.67 as permitted sender) smtp.mailfrom=linux-kernel-owner@vger.kernel.org Return-Path: Received: from vger.kernel.org (vger.kernel.org. [209.132.180.67]) by mx.google.com with ESMTP id l94si8815634plb.209.2019.03.12.10.17.18; Tue, 12 Mar 2019 10:17:34 -0700 (PDT) Received-SPF: pass (google.com: best guess record for domain of linux-kernel-owner@vger.kernel.org designates 209.132.180.67 as permitted sender) client-ip=209.132.180.67; Authentication-Results: mx.google.com; dkim=pass header.i=@kernel.org header.s=default header.b="NgJ/eECT"; spf=pass (google.com: best guess record for domain of linux-kernel-owner@vger.kernel.org designates 209.132.180.67 as permitted sender) smtp.mailfrom=linux-kernel-owner@vger.kernel.org Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S1729031AbfCLRQL (ORCPT + 99 others); Tue, 12 Mar 2019 13:16:11 -0400 Received: from mail.kernel.org ([198.145.29.99]:55324 "EHLO mail.kernel.org" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S1728650AbfCLRPO (ORCPT ); Tue, 12 Mar 2019 13:15:14 -0400 Received: from localhost (unknown [104.133.8.98]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (No client certificate requested) by mail.kernel.org (Postfix) with ESMTPSA id 2618521850; Tue, 12 Mar 2019 17:15:13 +0000 (UTC) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/simple; d=kernel.org; s=default; t=1552410913; bh=qv87r1zeL3NjL8RnPLsLCRcP8weIMZldrB64q3aAbbo=; h=From:To:Cc:Subject:Date:In-Reply-To:References:From; b=NgJ/eECTteR8jOYUHiHx/O+yRnYY0Mmt2iLdSSf/j0LGFXFGUbx+SEYO11bOEbQSq WZik1QNQ2b7hmKJvZuPOAjJH+4OXnayfP8kUTh/Hlqr0f9eaSZc52whTYozCIV/ffu /l86fJnngaetLSg+a+tRErx0GHPUH/kW/qBQGZ60= From: Greg Kroah-Hartman To: linux-kernel@vger.kernel.org Cc: Greg Kroah-Hartman , stable@vger.kernel.org, Keith Busch , Christoph Hellwig , Sasha Levin Subject: [PATCH 4.19 122/149] nvme-pci: add missing unlock for reset error Date: Tue, 12 Mar 2019 10:09:00 -0700 Message-Id: <20190312170359.655049733@linuxfoundation.org> X-Mailer: git-send-email 2.21.0 In-Reply-To: <20190312170349.421581206@linuxfoundation.org> References: <20190312170349.421581206@linuxfoundation.org> User-Agent: quilt/0.65 X-stable: review X-Patchwork-Hint: ignore MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Sender: linux-kernel-owner@vger.kernel.org Precedence: bulk List-ID: X-Mailing-List: linux-kernel@vger.kernel.org 4.19-stable review patch. If anyone has any objections, please let me know. ------------------ [ Upstream commit 4726bcf30fad37cc555cd9dcd6c73f2b2668c879 ] The reset work holds a mutex to prevent races with removal modifying the same resources, but was unlocking only on success. Unlock on failure too. Fixes: 5c959d73dba64 ("nvme-pci: fix rapid add remove sequence") Signed-off-by: Keith Busch Signed-off-by: Christoph Hellwig Signed-off-by: Sasha Levin --- drivers/nvme/host/pci.c | 8 +++++--- 1 file changed, 5 insertions(+), 3 deletions(-) diff --git a/drivers/nvme/host/pci.c b/drivers/nvme/host/pci.c index 6398ffbce6de..7b9ef8e734e7 100644 --- a/drivers/nvme/host/pci.c +++ b/drivers/nvme/host/pci.c @@ -2263,15 +2263,15 @@ static void nvme_reset_work(struct work_struct *work) mutex_lock(&dev->shutdown_lock); result = nvme_pci_enable(dev); if (result) - goto out; + goto out_unlock; result = nvme_pci_configure_admin_queue(dev); if (result) - goto out; + goto out_unlock; result = nvme_alloc_admin_tags(dev); if (result) - goto out; + goto out_unlock; /* * Limit the max command size to prevent iod->sg allocations going @@ -2354,6 +2354,8 @@ static void nvme_reset_work(struct work_struct *work) nvme_start_ctrl(&dev->ctrl); return; + out_unlock: + mutex_unlock(&dev->shutdown_lock); out: nvme_remove_dead_ctrl(dev, result); } -- 2.19.1