Received: by 2002:a05:6602:2086:0:0:0:0 with SMTP id a6csp4365039ioa; Wed, 27 Apr 2022 02:03:02 -0700 (PDT) X-Google-Smtp-Source: ABdhPJxpo2qE341vXMOPlJt01Y83Q1BRZLKwmrbfkVbZnAd1NmIRRZo7AGO2R18aLKbM1EkSgNv3 X-Received: by 2002:a17:90a:aa0f:b0:1d9:b29f:d4a9 with SMTP id k15-20020a17090aaa0f00b001d9b29fd4a9mr7909804pjq.113.1651050182358; Wed, 27 Apr 2022 02:03:02 -0700 (PDT) ARC-Seal: i=1; a=rsa-sha256; t=1651050182; cv=none; d=google.com; s=arc-20160816; b=miAz2YMCr7xG2hjVgbzmuhBqH6KDQhT5qBmkiskz5BAt9NPBvGOudptLx7Xs55E2GL Aq+zvp7QkG86vScTz6idzzesMdZISFba/5PP5uxzN1MXuiZRQc78L0d4nCtiMl8CN3KO ckGq9qi9sP2sSSVex1CbivuHf5+WrMeryKrcqH8ywCjw3OoV49bsGv57SlgDyp9JBK6B ig2JY4OBmJh0DyLHkbBTLfd4CnDelxUzdGmxah1ExiEXf91K68VzdN+8Fj6eJNRBQOfx WTp116rC1rJzEmpsUYpoEvfn3gzcEP1d3cfAe1GRWY113XvmnKZ5e9DuHwFXxINCRFfi LJQA== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=google.com; s=arc-20160816; h=list-id:precedence:in-reply-to:content-disposition:mime-version :references:message-id:subject:cc:to:from:date:dkim-signature; bh=BkXdjgokUjPYj6UT3eis0Sb9h1b+5BkOuw/H29rGJ5I=; b=zxS3Xj6e/0T9A30kwwKdIiPpjI30/kDfVupwxjm07V12h8gT/8TG+JRCo9hdI5yfJB pa86ORLftzRpucjP5WS3fORLBzs6C0HxQcTDvD63TDqhBsXOlm47RyTOQ2zmgfsII8aT O4LKKRku2bx1LKbY3USX1r9LcN5+wOvz+Bblz+vDmsmuKqvxC/I5Xr6zKa/iMZ8FER80 2h78SsoXhDaTQ+Kt7flIADJ6jILJefiGqs8H6PlTF38Ovi6ope3GKDTVsdT+zx13koqO EftVzE60FYm3LNStOafIMk+P+0QquZFYWSWvkQknlbRbo6cJ6gyZcAqPPKiGmayK82l5 GGRw== ARC-Authentication-Results: i=1; mx.google.com; dkim=pass header.i=@kernel.org header.s=k20201202 header.b=hHfywpbD; spf=softfail (google.com: domain of transitioning linux-kernel-owner@vger.kernel.org does not designate 23.128.96.19 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 lindbergh.monkeyblade.net (lindbergh.monkeyblade.net. [23.128.96.19]) by mx.google.com with ESMTPS id t16-20020a17090ad51000b001c68931879bsi4527518pju.135.2022.04.27.02.03.01 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Wed, 27 Apr 2022 02:03:02 -0700 (PDT) Received-SPF: softfail (google.com: domain of transitioning linux-kernel-owner@vger.kernel.org does not designate 23.128.96.19 as permitted sender) client-ip=23.128.96.19; Authentication-Results: mx.google.com; dkim=pass header.i=@kernel.org header.s=k20201202 header.b=hHfywpbD; spf=softfail (google.com: domain of transitioning linux-kernel-owner@vger.kernel.org does not designate 23.128.96.19 as permitted sender) smtp.mailfrom=linux-kernel-owner@vger.kernel.org; dmarc=pass (p=NONE sp=NONE dis=NONE) header.from=kernel.org Received: from vger.kernel.org (vger.kernel.org [23.128.96.18]) by lindbergh.monkeyblade.net (Postfix) with ESMTP id 051E71C8942; Wed, 27 Apr 2022 01:57:00 -0700 (PDT) Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S1355217AbiDZVDX (ORCPT + 99 others); Tue, 26 Apr 2022 17:03:23 -0400 Received: from lindbergh.monkeyblade.net ([23.128.96.19]:60810 "EHLO lindbergh.monkeyblade.net" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S1349114AbiDZVDV (ORCPT ); Tue, 26 Apr 2022 17:03:21 -0400 Received: from sin.source.kernel.org (sin.source.kernel.org [145.40.73.55]) by lindbergh.monkeyblade.net (Postfix) with ESMTPS id 4D1B5BC11; Tue, 26 Apr 2022 14:00:12 -0700 (PDT) Received: from smtp.kernel.org (relay.kernel.org [52.25.139.140]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (No client certificate requested) by sin.source.kernel.org (Postfix) with ESMTPS id A794DCE2193; Tue, 26 Apr 2022 21:00:10 +0000 (UTC) Received: by smtp.kernel.org (Postfix) with ESMTPSA id C432DC385A0; Tue, 26 Apr 2022 21:00:07 +0000 (UTC) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/simple; d=kernel.org; s=k20201202; t=1651006808; bh=QxPQiDVyvyboQhb7hQg8egZCDBIE9qPfnk2lOel1mkA=; h=Date:From:To:Cc:Subject:References:In-Reply-To:From; b=hHfywpbDKaiIA+fVMnwKtNcMVk1eg8P8ocioCAYf46wZZ6qFH46Nr4JMwaMpjxbhI 59zSmCUibSb6RUX46rByC1vS5y147UwUI9gtevvehdbPKze2VpZJTnpu1yEunlWzr8 uMJlquUantp3QdT6iaRubNfhDNaOJgpkdI2DvYEI9B762H8XmbZZPU+kBkiR6Gcg44 7h/CRMLmpP1EUIzXExSw0A7OB0mggP/e5NMvEp7yGkVIFXtjXX+V5p/B6NLSVam9sk gXPzTX+EZ3x3ooShAyIzTqU8Koo5mSbB9su7vgkZL4aT1iWdp5N6k4hmkw0TvI77Np iyPC0Regq0J2A== Date: Tue, 26 Apr 2022 15:00:04 -0600 From: Keith Busch To: Sven Peter Cc: Jens Axboe , Christoph Hellwig , Sagi Grimberg , Hector Martin , Alyssa Rosenzweig , Rob Herring , Krzysztof Kozlowski , Arnd Bergmann , Marc Zyngier , Janne Grunau , devicetree@vger.kernel.org, linux-arm-kernel@lists.infradead.org, linux-kernel@vger.kernel.org, linux-nvme@lists.infradead.org Subject: Re: [PATCH v3 6/6] nvme-apple: Add initial Apple SoC NVMe driver Message-ID: References: <20220426201539.12829-1-sven@svenpeter.dev> <20220426201539.12829-7-sven@svenpeter.dev> MIME-Version: 1.0 Content-Type: text/plain; charset=us-ascii Content-Disposition: inline In-Reply-To: <20220426201539.12829-7-sven@svenpeter.dev> X-Spam-Status: No, score=-2.9 required=5.0 tests=BAYES_00,DKIMWL_WL_HIGH, DKIM_SIGNED,DKIM_VALID,DKIM_VALID_AU,DKIM_VALID_EF,MAILING_LIST_MULTI, RDNS_NONE,SPF_HELO_NONE autolearn=unavailable autolearn_force=no version=3.4.6 X-Spam-Checker-Version: SpamAssassin 3.4.6 (2021-04-09) on lindbergh.monkeyblade.net Precedence: bulk List-ID: X-Mailing-List: linux-kernel@vger.kernel.org On Tue, Apr 26, 2022 at 10:15:39PM +0200, Sven Peter wrote: > +static enum blk_eh_timer_return apple_nvme_timeout(struct request *req, > + bool reserved) > +{ > + struct apple_nvme_iod *iod = blk_mq_rq_to_pdu(req); > + struct apple_nvme_queue *q = iod->q; > + struct apple_nvme *anv = queue_to_apple_nvme(q); > + unsigned long flags; > + u32 csts = readl(anv->mmio_nvme + NVME_REG_CSTS); > + > + if (anv->ctrl.state != NVME_CTRL_LIVE) { > + /* > + * From rdma.c: > + * If we are resetting, connecting or deleting we should > + * complete immediately because we may block controller > + * teardown or setup sequence > + * - ctrl disable/shutdown fabrics requests > + * - connect requests > + * - initialization admin requests > + * - I/O requests that entered after unquiescing and > + * the controller stopped responding > + * > + * All other requests should be cancelled by the error > + * recovery work, so it's fine that we fail it here. > + */ > + dev_warn(anv->dev, > + "I/O %d(aq:%d) timeout while not in live state\n", > + req->tag, q->is_adminq); > + if (blk_mq_request_started(req) && > + !blk_mq_request_completed(req)) { > + nvme_req(req)->status = NVME_SC_HOST_ABORTED_CMD; > + blk_mq_complete_request(req); I think you need a 'nvme_req(req)->flags |= NVME_REQ_CANCELLED' here to get the expected -EINTR for any admin command timeouts during a reset. Without it, the resetting task is going to think it got a real response from the controller. Other than that, this looks good.