Received: by 2002:ac0:a5b6:0:0:0:0:0 with SMTP id m51-v6csp2456454imm; Mon, 28 May 2018 08:24:46 -0700 (PDT) X-Google-Smtp-Source: AB8JxZqbU/MWLInuPf/TBCcR8+ponzlsDSjJn/Jn5uXLMQTYDqlnQH/MP2XFi7/1v9buF2ld8aQp X-Received: by 2002:a63:91c8:: with SMTP id l191-v6mr10989816pge.53.1527521085993; Mon, 28 May 2018 08:24:45 -0700 (PDT) ARC-Seal: i=1; a=rsa-sha256; t=1527521085; cv=none; d=google.com; s=arc-20160816; b=EVrsBQfvtqqorGlt3SQHM0tKSBeBEL/b3NWc80H3qTbkpgydOvIuzCCFx0jspHZrTj Bsqw4kkFkDE2MF6pXwupz3XvDBFzhn2o3EdSRZPdMd+oinn5X2DiFHFABN8d+oxSqqOv vtSB3TwHiZGxpWLev4UxZUaiPUlyJ2FLvbiG0vjK5tDHGeMHEFfJmeD0UVNZ5Qx28s8f af+62M2P9ejD+TWDJoxJLI2AlkpOXmUO1co8U2auljCZk4wVbVMm96VYTIYiDBREdAov tXK0t6FvieNrCPXUDE/KNMFqehSWhzry/Ckh/OXYQjOAGzLh4ElS+HR7IL1wlSBoPdBn 0K4A== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=google.com; s=arc-20160816; h=list-id:precedence:sender:mime-version:user-agent:references :in-reply-to:message-id:date:subject:cc:to:from:dkim-signature :arc-authentication-results; bh=50Qy/GvOeSWtvlcpX+GCaLI7FfZN16tcWRQUTiG/MDw=; b=YIEmB7h7wp6p0tAVkDSmJx1wPW43Oi2IBwzEZfi0uOBDDuOyabsgVnUNh1ag6Rt/+l NiLHzO2dO+qq3rmO2tCGy8bFBpYEM07o2aPXI/97XBPsnqdJuqG5r290nWGtpCFbjqHm QolBWg/rkxw1z87pl41OySZ6s1BMbLvNi/s6GESy+Y/WWYOOCt+JkIhXIpjlOBeIssBO szRkvejUY4uRX0vqfDi2EkPZVCOnswiTbJlf6fwxTvyMaGHXsgfrUd2g0z+ROVap1F5Y Ulxrj+/4InM0V1pme0dQWuTtoX2YYzVuRcxVLZP0+vu1ZbivHX6LHhlKPt9CqGg5RNu0 /90A== ARC-Authentication-Results: i=1; mx.google.com; dkim=pass header.i=@kernel.org header.s=default header.b=I89FKXY/; 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 p8-v6si29973208plk.441.2018.05.28.08.24.31; Mon, 28 May 2018 08:24:45 -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=I89FKXY/; 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 S1034305AbeE1PX4 (ORCPT + 99 others); Mon, 28 May 2018 11:23:56 -0400 Received: from mail.kernel.org ([198.145.29.99]:40444 "EHLO mail.kernel.org" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S1033226AbeE1KUy (ORCPT ); Mon, 28 May 2018 06:20:54 -0400 Received: from localhost (LFbn-1-12247-202.w90-92.abo.wanadoo.fr [90.92.61.202]) (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 92E7E20843; Mon, 28 May 2018 10:20:53 +0000 (UTC) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/simple; d=kernel.org; s=default; t=1527502854; bh=j9taPhDAOqxQYWg+YV6I4ERpSjKLlzn+Jj501qIF3Yo=; h=From:To:Cc:Subject:Date:In-Reply-To:References:From; b=I89FKXY/ibvaPUeNaHNrTy61TA3Xuq3yx/KF2aSuilrrao0myuN4wriaH+zJLfPsa GpENBcpVhu7hfW+14FAG+mdD2BCbrI2Qn0oUSwk+OXj7hzzkPS5D+dNhN11HZ4LjzA QmdbVv3hyjnurusVtKynWIfXcTJb0kU+RY7G9qlg= From: Greg Kroah-Hartman To: linux-kernel@vger.kernel.org Cc: Greg Kroah-Hartman , stable@vger.kernel.org, Jianchao Wang , Keith Busch , Sasha Levin Subject: [PATCH 4.4 110/268] nvme-pci: Fix nvme queue cleanup if IRQ setup fails Date: Mon, 28 May 2018 12:01:24 +0200 Message-Id: <20180528100214.621806271@linuxfoundation.org> X-Mailer: git-send-email 2.17.0 In-Reply-To: <20180528100202.045206534@linuxfoundation.org> References: <20180528100202.045206534@linuxfoundation.org> User-Agent: quilt/0.65 X-stable: review MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Sender: linux-kernel-owner@vger.kernel.org Precedence: bulk List-ID: X-Mailing-List: linux-kernel@vger.kernel.org 4.4-stable review patch. If anyone has any objections, please let me know. ------------------ From: Jianchao Wang [ Upstream commit f25a2dfc20e3a3ed8fe6618c331799dd7bd01190 ] This patch fixes nvme queue cleanup if requesting an IRQ handler for the queue's vector fails. It does this by resetting the cq_vector to the uninitialized value of -1 so it is ignored for a controller reset. Signed-off-by: Jianchao Wang [changelog updates, removed misc whitespace changes] Signed-off-by: Keith Busch Signed-off-by: Sasha Levin Signed-off-by: Greg Kroah-Hartman --- drivers/nvme/host/pci.c | 5 ++++- 1 file changed, 4 insertions(+), 1 deletion(-) --- a/drivers/nvme/host/pci.c +++ b/drivers/nvme/host/pci.c @@ -1583,7 +1583,7 @@ static int nvme_create_queue(struct nvme nvmeq->cq_vector = qid - 1; result = adapter_alloc_cq(dev, qid, nvmeq); if (result < 0) - return result; + goto release_vector; result = adapter_alloc_sq(dev, qid, nvmeq); if (result < 0) @@ -1597,9 +1597,12 @@ static int nvme_create_queue(struct nvme return result; release_sq: + dev->online_queues--; adapter_delete_sq(dev, qid); release_cq: adapter_delete_cq(dev, qid); + release_vector: + nvmeq->cq_vector = -1; return result; }