From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S1753603AbcBAPnd (ORCPT ); Mon, 1 Feb 2016 10:43:33 -0500 Received: from m50-132.163.com ([123.125.50.132]:45849 "EHLO m50-132.163.com" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S1751975AbcBAPna (ORCPT ); Mon, 1 Feb 2016 10:43:30 -0500 From: Wenbo Wang To: axboe@fb.com, keith.busch@intel.com Cc: linux-kernel@vger.kernel.org, Wenbo Wang , Wenbo Wang , linux-nvme@lists.infradead.org Subject: [PATCH] NVMe: do not touch sq door bell if nvmeq has been suspended Date: Mon, 1 Feb 2016 10:42:04 -0500 Message-Id: <1454341324-21273-1-git-send-email-mail_weber_wang@163.com> X-Mailer: git-send-email 1.8.3.1 X-CM-TRANSID: DNGowEBphkPrfK9W5CgaAA--.9606S2 X-Coremail-Antispam: 1Uf129KBjvdXoWruFWkXF1UtFyktw1DKw1rJFb_yoW3KrbE9r 1Sva17Za48Cr1qgF42k3W3XFyYk3Z5Xa18ZFy0qr98W3WDWrZ8Aas5Zrs8Cay3urs5XFW3 Gr1UWr1rJr13KjkaLaAFLSUrUUUUUb8apTn2vfkv8UJUUUU8Yxn0WfASr-VFAUDa7-sFnT 9fnUUvcSsGvfC2KfnxnUUI43ZEXa7xRRYFAtUUUUU== X-Originating-IP: [111.204.49.2] X-CM-SenderInfo: xpdlzspzhev2xbzd0wi6rwjhhfrp/xtbBzw0CIFaDosrSEgAAsd Sender: linux-kernel-owner@vger.kernel.org List-ID: X-Mailing-List: linux-kernel@vger.kernel.org If __nvme_submit_cmd races with nvme_dev_disable, nvmeq could have been suspended and dev->bar could have been unmapped. Do not touch sq door bell in this case. Signed-off-by: Wenbo Wang Reviewed-by: Wenwei Tao CC: linux-nvme@lists.infradead.org --- drivers/nvme/host/pci.c | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/drivers/nvme/host/pci.c b/drivers/nvme/host/pci.c index 8b1a725..2288712 100644 --- a/drivers/nvme/host/pci.c +++ b/drivers/nvme/host/pci.c @@ -325,7 +325,8 @@ static void __nvme_submit_cmd(struct nvme_queue *nvmeq, if (++tail == nvmeq->q_depth) tail = 0; - writel(tail, nvmeq->q_db); + if (likely(nvmeq->cq_vector >= 0)) + writel(tail, nvmeq->q_db); nvmeq->sq_tail = tail; } -- 1.8.3.1