From mboxrd@z Thu Jan 1 00:00:00 1970 Authentication-Results: smtp.subspace.kernel.org; arc=none smtp.remote-ip=100.103.45.18 ARC-Seal: i=1; d=subspace.kernel.org; s=arc20261015; a=rsa-sha256; cv=none; t=1794084124; b=eBayRGxYwzbUCGtxWZYYrho4ks5UY5lwHF93AjyA5FfEDxFxwYI4jOA65cs5B+aRQjSk DEF75j+B9Ju3tt3tYuv9fUOw4QGXHfIuudJSgwm0hxn4jW6I02qIcq5rQmdE5kL8D+Yyz EZkINFleH/YX7eWPWUhfNfLX6E7/8GDEkX1tPPLv1F4axSBW/aPHzJOf5xwRJANEV6mg+ G8+5+9qNxu+ZG05dg1dej7aLDnP9K/HLw+Q3E7wPdRdcbwqzjC8lULduJAHdxax7wMCpI th6DvR6eZ+cYz7hcJqCrAKAT+A24UzOtutlTCvqp9kbBXRJZOHpP61H6pgw8j0DrXuw== ARC-Message-Signature: i=1; d=subspace.kernel.org; s=arc20261015; a=rsa-sha256; c=relaxed/relaxed; t=1794084124; h=Received:DKIM-Signature:Message-ID:From:Subject:Reply-To:To:Cc: In-Reply-To:References:Content-Type:Content-Transfer-Encoding:Date; bh=lwuEsjh9q5gPbKhlJcGbl7FK+AeSWFGu+PnGUu+3vhc=; b=bfUKHaT5ZUWFKJKewvcwHBCfuhCKlQ575Fh86Xsw4YoDbUlx0iA4Sz5CAueNLNcjIxZj DqwWsdVnVbO0d5TvSlQDX4L+P5trkqX18zyy7D6PiW/7q77vORL/ZTD1F1twgcnGw2wXx AmHrBlo1ScQ5JS5b0e4o5fje/vntRwIVH1T3YN2gcrDhsz+jd3/WJUeQn5IvNanqIjeoZ RzTSr8QQmGHqvZsfHVC56GfJDB4lGcuXevfnC5oSZhQ5DGp6kHrHBf1vRZbJAljZerTTq bt6vub7GC/BobRzqKTaldYw+g6BAtDGfBtOS9WmqoNV4fpFzsBrwSvrqeH4x+Oelgdg== ARC-Authentication-Results: i=1; smtp.subspace.kernel.org; dkim=pass header.d=kernel.org header.i=@kernel.org header.a=rsa-sha256 header.s=k20260515 header.b=HYEo0TeW; arc=none smtp.remote-ip=100.103.45.18 Received: from smtp.kernel.org (quasi.space.kernel.org [100.103.45.18]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature ECDSA (prime256v1)) (No client certificate requested) by smtp.subspace.kernel.org (Postfix) with ESMTPS id 2145A606A32E; Sat, 7 Nov 2026 20:42:03 +0000 (UTC) Authentication-Results: smtp.subspace.kernel.org; dkim=pass (2048-bit key) header.d=kernel.org header.i=@kernel.org header.a=rsa-sha256 header.s=k20260515 header.b=HYEo0TeW Received: by smtp.kernel.org (Postfix) with ESMTPSA id ACA301F0089F; Sat, 7 Nov 2026 20:42:00 +0000 (UTC) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=kernel.org; s=k20260515; t=1794084123; bh=lwuEsjh9q5gPbKhlJcGbl7FK+AeSWFGu+PnGUu+3vhc=; h=From:Subject:Reply-To:To:Cc:In-Reply-To:References:Date; b=HYEo0TeWlYT8r1fdHC56Lgr3GMEibpbQNZUheFdun5BrOo095xOtsOOZ/ghwByI5N zawR+YyAvrI4RgGMXY0G3SRK2ogBlbTFCe13Hyk7RIwW+RXbg+x6ojFL1MnrWqFCso ZP/ZSxZOydWBDjrYq9IdzhcyFxcYMJyxm4kyOKp5XfojhupKlGP/qb7M+rla7KXA8p JoshuHDiQOMUC3h/J8WL3WNHL7rRJuwWgY2CMY8321RptAnnG3iKZxbTVxIJf53X0k 84cDIMVugD4Wv30OcZqFvBpPO/zGF9NDRlQlnq6QKGQb9lBLNaljHsBzQ8mw8LRbll fkC5snZSFp51Q== Message-ID: From: sashiko-bot@kernel.org Subject: Re: [PATCH 04/58] mtd: rawnand: separate hardware disconnection from cleanup Reply-To: sashiko-reviews@lists.linux.dev To: "James Hilliard" , "Miquel Raynal" , "Richard Weinberger" , "Vignesh Raghavendra" , "Brian Norris" , "Boris Brezillon" , "Arseniy Krasnov" , "Chen-Yu Tsai" , "Jernej Skrabec" , "Samuel Holland" , "Thomas Gleixner" , "Vitaly Wool" , "David Woodhouse" , "Russell King" , "David Woodhouse" , "Mike Rapoport" , "Maxime Coquelin" , "Alexandre Torgue" , "Christophe Kerello" , "Jason Roberts" , "Michal Simek" , "Boris Brezillon" , "Mason Yang" , "Ramuthevar Vadivel Murugan" , "Stefan Agner" , "Lucas Stach" , "Thierry Reding" , "Jonathan Hunter" , "Dmitry Osipenko" , "Matthias Brugger" , "AngeloGioacchino Del Regno" , "Jorge Ramirez-Ortiz" , "Heiko Stuebner" , "Yifeng Zhao" , "Nicolas Ferre" , "Alexandre Belloni" , "Claudiu Beznea" , "Keguang Zhang" , "Jacky Huang" , "Shan-Chun Hung" , "Frank Li" , "Sascha Hauer" , "Pengutronix Kernel Team" , "Fabio Estevam" , "Han Xu" , "Liang Yang" , "Neil Armstrong" , "Kevin Hilman" , "Jerome Brunet" , "Martin Blumenstingl" , "Manivannan Sadhasivam" , "Kamal Dasu" , "Broadcom internal kernel review list" , "Vladimir Zapolskiy" , "Piotr Wojtaszczyk" , "Paul Cercueil" , "Harvey Hunt" , "Maxim Levitsky" , "Michael Walle" , "Srinivas Kandagatla" Cc: "Tze Yee Ng" , linux-mtd@lists.infradead.org, linux-sunxi@lists.linux.dev, imx@lists.linux.dev, linux-amlogic@lists.infradead.org, Frank.Li@kernel.org, wsa+renesas@sang-engineering.com In-Reply-To: <20261107-submit-rawnand-retained-handle-lifetime-v1-v1-4-0181ef0cc4c8@gmail.com> References: <20261107-submit-rawnand-retained-handle-lifetime-v1-v1-0-0181ef0cc4c8@gmail.com> <20261107-submit-rawnand-retained-handle-lifetime-v1-v1-4-0181ef0cc4c8@gmail.com> Content-Type: text/plain; charset=utf-8 Content-Transfer-Encoding: quoted-printable Date: Sat, 07 Nov 2026 20:42:00 +0000 X-Mailing-List: imx@lists.linux.dev List-Id: List-Post: List-Help: List-Subscribe: List-Unsubscribe: List-Owner: Precedence: list Thank you for your contribution! Sashiko AI review found 2 potential issues to consider: - [High] mtd: rawnand: unlocked hardware access after nand_disconnect() in write_bbt() - [Medium] mtd: rawnand: nand_suspend() returning -ENODEV aborts system suspend -- commit 0d69828030d21f2e8c3f391544ee5a56406e7996 Author: James Hilliard mtd: rawnand: separate hardware disconnection from cleanup This commit adds nand_disconnect() to mark a NAND chip as disconnected under the chip and controller locks and makes nand_get_device(), nand_suspend(), nand_resume(), and panic_nand_write() reject hardware access once disconnected. > diff --git a/drivers/mtd/nand/raw/nand_base.c b/drivers/mtd/nand/raw/nand= _base.c > index a5b278ab9384f..8f7d2571e8d9a 100644 > --- a/drivers/mtd/nand/raw/nand_base.c > +++ b/drivers/mtd/nand/raw/nand_base.c [ ... ] > @@ -581,7 +607,9 @@ static int nand_block_markbad_lowlevel(struct nand_ch= ip *chip, loff_t ofs) > nand_erase_nand(chip, &einfo, 0); > =20 > /* Write bad block marker to OOB */ > - nand_get_device(chip); > + ret =3D nand_get_device(chip); > + if (ret) > + return ret; > =20 > ret =3D nand_markbad_bbm(chip, ofs); > nand_release_device(chip); [Severity: High] Can a concurrent nand_disconnect() cause write_bbt() to issue unlocked hardware operations on the disconnected controller when updating an on-flash BBT? nand_block_markbad_lowlevel() releases the chip and controller locks before calling nand_markbad_bbt() -> nand_update_bbt() -> write_bbt(). If nand_disconnect() runs before write_bbt() calls nand_erase_nand() or scan_write_bbt(), nand_get_device() returns -ENODEV, which write_bbt() treats as a bad BBT eraseblock: drivers/mtd/nand/raw/nand_bbt.c:write_bbt() { ... res =3D nand_erase_nand(this, &einfo, 1); if (res < 0) { pr_warn("nand_bbt: error while erasing BBT block %d\n", res); mark_bbt_block_bad(this, td, chip, block); continue; } ... } mark_bbt_block_bad() then marks each reserved BBT block worn in memory and calls nand_markbad_bbm() -> nand_default_block_markbad() -> nand_do_write_oob() without calling nand_get_device(), accessing controller resources that have already been freed after nand_disconnect() returned. [ ... ] > @@ -4688,10 +4728,14 @@ static int nand_suspend(struct mtd_info *mtd) > int ret =3D 0; > =20 > mutex_lock(&chip->lock); > + if (chip->disconnected) { > + mutex_unlock(&chip->lock); > + return -ENODEV; > + } > if (chip->ops.suspend) > ret =3D chip->ops.suspend(chip); > if (!ret) > - chip->suspended =3D 1; > + WRITE_ONCE(chip->suspended, true); > mutex_unlock(&chip->lock); > =20 > return ret; [Severity: Medium] Does returning -ENODEV from nand_suspend() abort system suspend when an open MTD handle outlives controller unbind? While an MTD handle remains open after del_mtd_device() and nand_disconnect(), mtd->dev stays registered on dpm_list until the last reference is put in mtd_device_release(). During system suspend, mtd_cls_suspend() calls mtd_suspend() -> nand_suspend(), and returning -ENODEV fails dpm_suspend() instead of treating the disconnected chip as a no-op like nand_resume() and nand_sync() do. --=20 Sashiko AI review =C2=B7 https://sashiko.dev/#/patchset/20261107-submit-raw= nand-retained-handle-lifetime-v1-v1-0-0181ef0cc4c8@gmail.com?part=3D4 From mboxrd@z Thu Jan 1 00:00:00 1970 Received: from bombadil.infradead.org (bombadil.infradead.org [198.137.202.133]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature ECDSA (prime256v1) server-digest SHA256) (No client certificate requested) by smtp.subspace.kernel.org (Postfix) with ESMTPS id C1296606A32D for ; Sat, 7 Nov 2026 20:42:07 +0000 (UTC) Authentication-Results: smtp.subspace.kernel.org; dkim=pass (2048-bit key) header.d=lists.infradead.org header.i=@lists.infradead.org header.a=rsa-sha256 header.s=bombadil.20210309 header.b=AlmwZN5O; dkim=fail reason="signature verification failed" (2048-bit key) header.d=kernel.org header.i=@kernel.org header.a=rsa-sha256 header.s=k20260515 header.b=HYEo0TeW DKIM-Signature: v=1; a=rsa-sha256; q=dns/txt; c=relaxed/relaxed; d=lists.infradead.org; s=bombadil.20210309; h=Sender: Content-Transfer-Encoding:Content-Type:MIME-Version:Reply-To:List-Subscribe: List-Help:List-Post:List-Archive:List-Unsubscribe:List-Id:Date:References: In-Reply-To:Cc:To:Subject:From:Message-ID:Content-ID:Content-Description: Resent-Date:Resent-From:Resent-Sender:Resent-To:Resent-Cc:Resent-Message-ID: List-Unsubscribe-Post:List-Owner; bh=NlUG5gq23M2mu2GZfll+q+zjmX9LpdxvSeBFtqEBi3U=; b=AlmwZN5O8GJXjZvtNGO+EGSwph A+Hi9sHCjy7fWjrlpX6gpPx442EevHzaLIVjX/7oAbZagBq28YxUBQv7KwhY1hueQqShbyo2OqwAW G5LG9dpNDnqGn9+7Vz/IbaazlvTMrJNEDUUZsTvdhY6FLiq9O3Fu4X6mfaYnA4xc6mCRVrAhBt733 vtEm5bSJOaAbaYxIhEY9ZwYTFuoeLd0UlawVdUYqTHmXvfzly/fOU4hJyCgEA8fdCNoSsbyQQBhuG NwbUP77VLggkhWpULsH67NyMXez/d7clYTQWjMatEmWQwpVb/2/CoAobgJ+vFk7J5lm3ANov56OsL mbe1bgAQ==; Received: from localhost ([::1] helo=bombadil.infradead.org) by bombadil.infradead.org with esmtp (Exim 4.100.1 #2 (Red Hat Linux)) id 1xPnEk-0000000FO7t-3RQk; Sat, 07 Nov 2026 20:42:06 +0000 Received: from sea.source.kernel.org ([2600:3c0a:e001:78e:0:1991:8:25]) by bombadil.infradead.org with esmtps (Exim 4.100.1 #2 (Red Hat Linux)) id 1xPnEj-0000000FO7Y-1Dxi; Sat, 07 Nov 2026 20:42:05 +0000 Received: from smtp.kernel.org (quasi.space.kernel.org [100.103.45.18]) by sea.source.kernel.org (Postfix) with ESMTP id B65BB43EFE; Sat, 7 Nov 2026 20:42:03 +0000 (UTC) Received: by smtp.kernel.org (Postfix) with ESMTPSA id ACA301F0089F; Sat, 7 Nov 2026 20:42:00 +0000 (UTC) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=kernel.org; s=k20260515; t=1794084123; bh=lwuEsjh9q5gPbKhlJcGbl7FK+AeSWFGu+PnGUu+3vhc=; h=From:Subject:Reply-To:To:Cc:In-Reply-To:References:Date; b=HYEo0TeWlYT8r1fdHC56Lgr3GMEibpbQNZUheFdun5BrOo095xOtsOOZ/ghwByI5N zawR+YyAvrI4RgGMXY0G3SRK2ogBlbTFCe13Hyk7RIwW+RXbg+x6ojFL1MnrWqFCso ZP/ZSxZOydWBDjrYq9IdzhcyFxcYMJyxm4kyOKp5XfojhupKlGP/qb7M+rla7KXA8p JoshuHDiQOMUC3h/J8WL3WNHL7rRJuwWgY2CMY8321RptAnnG3iKZxbTVxIJf53X0k 84cDIMVugD4Wv30OcZqFvBpPO/zGF9NDRlQlnq6QKGQb9lBLNaljHsBzQ8mw8LRbll fkC5snZSFp51Q== Message-ID: From: sashiko-bot@kernel.org Subject: Re: [PATCH 04/58] mtd: rawnand: separate hardware disconnection from cleanup To: "James Hilliard" , "Miquel Raynal" , "Richard Weinberger" , "Vignesh Raghavendra" , "Brian Norris" , "Boris Brezillon" , "Arseniy Krasnov" , "Chen-Yu Tsai" , "Jernej Skrabec" , "Samuel Holland" , "Thomas Gleixner" , "Vitaly Wool" , "David Woodhouse" , "Russell King" , "David Woodhouse" , "Mike Rapoport" , "Maxime Coquelin" , "Alexandre Torgue" , "Christophe Kerello" , "Jason Roberts" , "Michal Simek" , "Boris Brezillon" , "Mason Yang" , "Ramuthevar Vadivel Murugan" , "Stefan Agner" , "Lucas Stach" , "Thierry Reding" , "Jonathan Hunter" , "Dmitry Osipenko" , "Matthias Brugger" , "AngeloGioacchino Del Regno" , "Jorge Ramirez-Ortiz" , "Heiko Stuebner" , "Yifeng Zhao" , "Nicolas Ferre" , "Alexandre Belloni" , "Claudiu Beznea" , "Keguang Zhang" , "Jacky Huang" , "Shan-Chun Hung" , "Frank Li" , "Sascha Hauer" , "Pengutronix Kernel Team" , "Fabio Estevam" , "Han Xu" , "Liang Yang" , "Neil Armstrong" , "Kevin Hilman" , "Jerome Brunet" , "Martin Blumenstingl" , "Manivannan Sadhasivam" , "Kamal Dasu" , "Broadcom internal kernel review list" , "Vladimir Zapolskiy" , "Piotr Wojtaszczyk" , "Paul Cercueil" , "Harvey Hunt" , "Maxim Levitsky" , "Michael Walle" , "Srinivas Kandagatla" Cc: "Tze Yee Ng" , linux-mtd@lists.infradead.org, linux-sunxi@lists.linux.dev, imx@lists.linux.dev, linux-amlogic@lists.infradead.org, Frank.Li@kernel.org, wsa+renesas@sang-engineering.com In-Reply-To: <20261107-submit-rawnand-retained-handle-lifetime-v1-v1-4-0181ef0cc4c8@gmail.com> References: <20261107-submit-rawnand-retained-handle-lifetime-v1-v1-0-0181ef0cc4c8@gmail.com> <20261107-submit-rawnand-retained-handle-lifetime-v1-v1-4-0181ef0cc4c8@gmail.com> Date: Sat, 07 Nov 2026 20:42:00 +0000 X-BeenThere: linux-mtd@lists.infradead.org X-Mailman-Version: 2.1.34 Precedence: list List-Id: Linux MTD discussion mailing list List-Archive: List-Post: List-Help: List-Subscribe: , Reply-To: sashiko-reviews@lists.linux.dev X-Archived-By: MIME-Version: 1.0 Content-Type: text/plain; charset="utf-8" Content-Transfer-Encoding: base64 Sender: "linux-mtd" X-Spam-Status: No, score=-8.9 required=3.0 tests=BAYES_00,DKIMWL_WL_HIGH, DKIM_SIGNED,DKIM_VALID,DKIM_VALID_EF,HEADER_FROM_DIFFERENT_DOMAINS, INCLUDES_PATCH,MAILING_LIST_MULTI,SPF_HELO_NONE,SPF_PASS autolearn=ham autolearn_force=no version=4.0.1 X-Spam-Checker-Version: SpamAssassin 4.0.1 (2024-03-26) on aws-us-west-2-korg-listserv-alma10-1 VGhhbmsgeW91IGZvciB5b3VyIGNvbnRyaWJ1dGlvbiEgU2FzaGlrbyBBSSByZXZpZXcgZm91bmQg MiBwb3RlbnRpYWwKaXNzdWVzIHRvIGNvbnNpZGVyOgotIFtIaWdoXSBtdGQ6IHJhd25hbmQ6IHVu bG9ja2VkIGhhcmR3YXJlIGFjY2VzcyBhZnRlciBuYW5kX2Rpc2Nvbm5lY3QoKQogIGluIHdyaXRl X2JidCgpCi0gW01lZGl1bV0gbXRkOiByYXduYW5kOiBuYW5kX3N1c3BlbmQoKSByZXR1cm5pbmcg LUVOT0RFViBhYm9ydHMgc3lzdGVtCiAgc3VzcGVuZAotLQoKY29tbWl0IDBkNjk4MjgwMzBkMjFm MmU4YzNmMzkxNTQ0ZWU1YTU2NDA2ZTc5OTYKQXV0aG9yOiBKYW1lcyBIaWxsaWFyZCA8amFtZXMu aGlsbGlhcmQxQGdtYWlsLmNvbT4KCm10ZDogcmF3bmFuZDogc2VwYXJhdGUgaGFyZHdhcmUgZGlz Y29ubmVjdGlvbiBmcm9tIGNsZWFudXAKClRoaXMgY29tbWl0IGFkZHMgbmFuZF9kaXNjb25uZWN0 KCkgdG8gbWFyayBhIE5BTkQgY2hpcCBhcyBkaXNjb25uZWN0ZWQKdW5kZXIgdGhlIGNoaXAgYW5k IGNvbnRyb2xsZXIgbG9ja3MgYW5kIG1ha2VzIG5hbmRfZ2V0X2RldmljZSgpLApuYW5kX3N1c3Bl bmQoKSwgbmFuZF9yZXN1bWUoKSwgYW5kIHBhbmljX25hbmRfd3JpdGUoKSByZWplY3QgaGFyZHdh cmUKYWNjZXNzIG9uY2UgZGlzY29ubmVjdGVkLgoKPiBkaWZmIC0tZ2l0IGEvZHJpdmVycy9tdGQv bmFuZC9yYXcvbmFuZF9iYXNlLmMgYi9kcml2ZXJzL210ZC9uYW5kL3Jhdy9uYW5kX2Jhc2UuYwo+ IGluZGV4IGE1YjI3OGFiOTM4NGYuLjhmN2QyNTcxZThkOWEgMTAwNjQ0Cj4gLS0tIGEvZHJpdmVy cy9tdGQvbmFuZC9yYXcvbmFuZF9iYXNlLmMKPiArKysgYi9kcml2ZXJzL210ZC9uYW5kL3Jhdy9u YW5kX2Jhc2UuYwoKWyAuLi4gXQoKPiBAQCAtNTgxLDcgKzYwNyw5IEBAIHN0YXRpYyBpbnQgbmFu ZF9ibG9ja19tYXJrYmFkX2xvd2xldmVsKHN0cnVjdCBuYW5kX2NoaXAgKmNoaXAsIGxvZmZfdCBv ZnMpCj4gIAkJbmFuZF9lcmFzZV9uYW5kKGNoaXAsICZlaW5mbywgMCk7Cj4gIAo+ICAJCS8qIFdy aXRlIGJhZCBibG9jayBtYXJrZXIgdG8gT09CICovCj4gLQkJbmFuZF9nZXRfZGV2aWNlKGNoaXAp Owo+ICsJCXJldCA9IG5hbmRfZ2V0X2RldmljZShjaGlwKTsKPiArCQlpZiAocmV0KQo+ICsJCQly ZXR1cm4gcmV0Owo+ICAKPiAgCQlyZXQgPSBuYW5kX21hcmtiYWRfYmJtKGNoaXAsIG9mcyk7Cj4g IAkJbmFuZF9yZWxlYXNlX2RldmljZShjaGlwKTsKCltTZXZlcml0eTogSGlnaF0KQ2FuIGEgY29u Y3VycmVudCBuYW5kX2Rpc2Nvbm5lY3QoKSBjYXVzZSB3cml0ZV9iYnQoKSB0byBpc3N1ZSB1bmxv Y2tlZApoYXJkd2FyZSBvcGVyYXRpb25zIG9uIHRoZSBkaXNjb25uZWN0ZWQgY29udHJvbGxlciB3 aGVuIHVwZGF0aW5nIGFuCm9uLWZsYXNoIEJCVD8KCm5hbmRfYmxvY2tfbWFya2JhZF9sb3dsZXZl bCgpIHJlbGVhc2VzIHRoZSBjaGlwIGFuZCBjb250cm9sbGVyIGxvY2tzCmJlZm9yZSBjYWxsaW5n IG5hbmRfbWFya2JhZF9iYnQoKSAtPiBuYW5kX3VwZGF0ZV9iYnQoKSAtPiB3cml0ZV9iYnQoKS4K SWYgbmFuZF9kaXNjb25uZWN0KCkgcnVucyBiZWZvcmUgd3JpdGVfYmJ0KCkgY2FsbHMgbmFuZF9l cmFzZV9uYW5kKCkgb3IKc2Nhbl93cml0ZV9iYnQoKSwgbmFuZF9nZXRfZGV2aWNlKCkgcmV0dXJu cyAtRU5PREVWLCB3aGljaCB3cml0ZV9iYnQoKQp0cmVhdHMgYXMgYSBiYWQgQkJUIGVyYXNlYmxv Y2s6Cgpkcml2ZXJzL210ZC9uYW5kL3Jhdy9uYW5kX2JidC5jOndyaXRlX2JidCgpIHsKCS4uLgoJ CXJlcyA9IG5hbmRfZXJhc2VfbmFuZCh0aGlzLCAmZWluZm8sIDEpOwoJCWlmIChyZXMgPCAwKSB7 CgkJCXByX3dhcm4oIm5hbmRfYmJ0OiBlcnJvciB3aGlsZSBlcmFzaW5nIEJCVCBibG9jayAlZFxu IiwKCQkJCXJlcyk7CgkJCW1hcmtfYmJ0X2Jsb2NrX2JhZCh0aGlzLCB0ZCwgY2hpcCwgYmxvY2sp OwoJCQljb250aW51ZTsKCQl9CgkuLi4KfQoKbWFya19iYnRfYmxvY2tfYmFkKCkgdGhlbiBtYXJr cyBlYWNoIHJlc2VydmVkIEJCVCBibG9jayB3b3JuIGluIG1lbW9yeQphbmQgY2FsbHMgbmFuZF9t YXJrYmFkX2JibSgpIC0+IG5hbmRfZGVmYXVsdF9ibG9ja19tYXJrYmFkKCkgLT4KbmFuZF9kb193 cml0ZV9vb2IoKSB3aXRob3V0IGNhbGxpbmcgbmFuZF9nZXRfZGV2aWNlKCksIGFjY2Vzc2luZwpj b250cm9sbGVyIHJlc291cmNlcyB0aGF0IGhhdmUgYWxyZWFkeSBiZWVuIGZyZWVkIGFmdGVyCm5h bmRfZGlzY29ubmVjdCgpIHJldHVybmVkLgoKWyAuLi4gXQoKPiBAQCAtNDY4OCwxMCArNDcyOCwx NCBAQCBzdGF0aWMgaW50IG5hbmRfc3VzcGVuZChzdHJ1Y3QgbXRkX2luZm8gKm10ZCkKPiAgCWlu dCByZXQgPSAwOwo+ICAKPiAgCW11dGV4X2xvY2soJmNoaXAtPmxvY2spOwo+ICsJaWYgKGNoaXAt PmRpc2Nvbm5lY3RlZCkgewo+ICsJCW11dGV4X3VubG9jaygmY2hpcC0+bG9jayk7Cj4gKwkJcmV0 dXJuIC1FTk9ERVY7Cj4gKwl9Cj4gIAlpZiAoY2hpcC0+b3BzLnN1c3BlbmQpCj4gIAkJcmV0ID0g Y2hpcC0+b3BzLnN1c3BlbmQoY2hpcCk7Cj4gIAlpZiAoIXJldCkKPiAtCQljaGlwLT5zdXNwZW5k ZWQgPSAxOwo+ICsJCVdSSVRFX09OQ0UoY2hpcC0+c3VzcGVuZGVkLCB0cnVlKTsKPiAgCW11dGV4 X3VubG9jaygmY2hpcC0+bG9jayk7Cj4gIAo+ICAJcmV0dXJuIHJldDsKCltTZXZlcml0eTogTWVk aXVtXQpEb2VzIHJldHVybmluZyAtRU5PREVWIGZyb20gbmFuZF9zdXNwZW5kKCkgYWJvcnQgc3lz dGVtIHN1c3BlbmQgd2hlbiBhbgpvcGVuIE1URCBoYW5kbGUgb3V0bGl2ZXMgY29udHJvbGxlciB1 bmJpbmQ/CgpXaGlsZSBhbiBNVEQgaGFuZGxlIHJlbWFpbnMgb3BlbiBhZnRlciBkZWxfbXRkX2Rl dmljZSgpIGFuZApuYW5kX2Rpc2Nvbm5lY3QoKSwgbXRkLT5kZXYgc3RheXMgcmVnaXN0ZXJlZCBv biBkcG1fbGlzdCB1bnRpbCB0aGUgbGFzdApyZWZlcmVuY2UgaXMgcHV0IGluIG10ZF9kZXZpY2Vf cmVsZWFzZSgpLiAgRHVyaW5nIHN5c3RlbSBzdXNwZW5kLAptdGRfY2xzX3N1c3BlbmQoKSBjYWxs cyBtdGRfc3VzcGVuZCgpIC0+IG5hbmRfc3VzcGVuZCgpLCBhbmQgcmV0dXJuaW5nCi1FTk9ERVYg ZmFpbHMgZHBtX3N1c3BlbmQoKSBpbnN0ZWFkIG9mIHRyZWF0aW5nIHRoZSBkaXNjb25uZWN0ZWQg Y2hpcCBhcwphIG5vLW9wIGxpa2UgbmFuZF9yZXN1bWUoKSBhbmQgbmFuZF9zeW5jKCkgZG8uCgot LSAKU2FzaGlrbyBBSSByZXZpZXcgwrcgaHR0cHM6Ly9zYXNoaWtvLmRldi8jL3BhdGNoc2V0LzIw MjYxMTA3LXN1Ym1pdC1yYXduYW5kLXJldGFpbmVkLWhhbmRsZS1saWZldGltZS12MS12MS0wLTAx ODFlZjBjYzRjOEBnbWFpbC5jb20/cGFydD00CgpfX19fX19fX19fX19fX19fX19fX19fX19fX19f X19fX19fX19fX19fX19fX19fX19fX19fX18KTGludXggTVREIGRpc2N1c3Npb24gbWFpbGluZyBs aXN0Cmh0dHA6Ly9saXN0cy5pbmZyYWRlYWQub3JnL21haWxtYW4vbGlzdGluZm8vbGludXgtbXRk Lwo= From mboxrd@z Thu Jan 1 00:00:00 1970 Received: from bombadil.infradead.org (bombadil.infradead.org [198.137.202.133]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature ECDSA (prime256v1) server-digest SHA256) (No client certificate requested) by smtp.subspace.kernel.org (Postfix) with ESMTPS id 1BC4F606A326 for ; Sat, 7 Nov 2026 20:42:09 +0000 (UTC) Authentication-Results: smtp.subspace.kernel.org; dkim=pass (2048-bit key) header.d=lists.infradead.org header.i=@lists.infradead.org header.a=rsa-sha256 header.s=bombadil.20210309 header.b=dhvVOwJw; dkim=fail reason="signature verification failed" (2048-bit key) header.d=kernel.org header.i=@kernel.org header.a=rsa-sha256 header.s=k20260515 header.b=HYEo0TeW DKIM-Signature: v=1; a=rsa-sha256; q=dns/txt; c=relaxed/relaxed; d=lists.infradead.org; s=bombadil.20210309; h=Sender: Content-Transfer-Encoding:Content-Type:MIME-Version:Reply-To:List-Subscribe: List-Help:List-Post:List-Archive:List-Unsubscribe:List-Id:Date:References: In-Reply-To:Cc:To:Subject:From:Message-ID:Content-ID:Content-Description: Resent-Date:Resent-From:Resent-Sender:Resent-To:Resent-Cc:Resent-Message-ID: List-Unsubscribe-Post:List-Owner; bh=NHRY0Gf1Y9JTwkWPVHYd2oh7z56pseigee5KWMog5/Q=; b=dhvVOwJwaJydVCE/ohcSS7iect aBYTANye9TEiq8my+AcEe2ICGd9K1qCk/Zl5cwD9aY0stBog2OaWj0AcWcGWKYZDeOX+tOr96TIJ2 pzPk2WvtH/A2JuReir+7jh7VXFl+XoWbgW31qWt1Px4s7GpgCdqQmMEmkVpgByBuncMvaRq7KIUu0 eRV/cCC65et0Zg8/ds6JkMcdAoijKTEoQVQifriHE4kkRX8smEWXMaeZggyeM41dJmxPatiHWnPfa CqsnnYFg/yu6Cii5b6H7s2ROjgN+tobe/+GyUVHCOnWDVq5h1nnCkdBm+Od4YsA0fFKSRzN+my94t tjHhdEgQ==; Received: from localhost ([::1] helo=bombadil.infradead.org) by bombadil.infradead.org with esmtp (Exim 4.100.1 #2 (Red Hat Linux)) id 1xPnEk-0000000FO7p-33p9; Sat, 07 Nov 2026 20:42:06 +0000 Received: from sea.source.kernel.org ([2600:3c0a:e001:78e:0:1991:8:25]) by bombadil.infradead.org with esmtps (Exim 4.100.1 #2 (Red Hat Linux)) id 1xPnEj-0000000FO7Y-1Dxi; Sat, 07 Nov 2026 20:42:05 +0000 Received: from smtp.kernel.org (quasi.space.kernel.org [100.103.45.18]) by sea.source.kernel.org (Postfix) with ESMTP id B65BB43EFE; Sat, 7 Nov 2026 20:42:03 +0000 (UTC) Received: by smtp.kernel.org (Postfix) with ESMTPSA id ACA301F0089F; Sat, 7 Nov 2026 20:42:00 +0000 (UTC) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=kernel.org; s=k20260515; t=1794084123; bh=lwuEsjh9q5gPbKhlJcGbl7FK+AeSWFGu+PnGUu+3vhc=; h=From:Subject:Reply-To:To:Cc:In-Reply-To:References:Date; b=HYEo0TeWlYT8r1fdHC56Lgr3GMEibpbQNZUheFdun5BrOo095xOtsOOZ/ghwByI5N zawR+YyAvrI4RgGMXY0G3SRK2ogBlbTFCe13Hyk7RIwW+RXbg+x6ojFL1MnrWqFCso ZP/ZSxZOydWBDjrYq9IdzhcyFxcYMJyxm4kyOKp5XfojhupKlGP/qb7M+rla7KXA8p JoshuHDiQOMUC3h/J8WL3WNHL7rRJuwWgY2CMY8321RptAnnG3iKZxbTVxIJf53X0k 84cDIMVugD4Wv30OcZqFvBpPO/zGF9NDRlQlnq6QKGQb9lBLNaljHsBzQ8mw8LRbll fkC5snZSFp51Q== Message-ID: From: sashiko-bot@kernel.org Subject: Re: [PATCH 04/58] mtd: rawnand: separate hardware disconnection from cleanup To: "James Hilliard" , "Miquel Raynal" , "Richard Weinberger" , "Vignesh Raghavendra" , "Brian Norris" , "Boris Brezillon" , "Arseniy Krasnov" , "Chen-Yu Tsai" , "Jernej Skrabec" , "Samuel Holland" , "Thomas Gleixner" , "Vitaly Wool" , "David Woodhouse" , "Russell King" , "David Woodhouse" , "Mike Rapoport" , "Maxime Coquelin" , "Alexandre Torgue" , "Christophe Kerello" , "Jason Roberts" , "Michal Simek" , "Boris Brezillon" , "Mason Yang" , "Ramuthevar Vadivel Murugan" , "Stefan Agner" , "Lucas Stach" , "Thierry Reding" , "Jonathan Hunter" , "Dmitry Osipenko" , "Matthias Brugger" , "AngeloGioacchino Del Regno" , "Jorge Ramirez-Ortiz" , "Heiko Stuebner" , "Yifeng Zhao" , "Nicolas Ferre" , "Alexandre Belloni" , "Claudiu Beznea" , "Keguang Zhang" , "Jacky Huang" , "Shan-Chun Hung" , "Frank Li" , "Sascha Hauer" , "Pengutronix Kernel Team" , "Fabio Estevam" , "Han Xu" , "Liang Yang" , "Neil Armstrong" , "Kevin Hilman" , "Jerome Brunet" , "Martin Blumenstingl" , "Manivannan Sadhasivam" , "Kamal Dasu" , "Broadcom internal kernel review list" , "Vladimir Zapolskiy" , "Piotr Wojtaszczyk" , "Paul Cercueil" , "Harvey Hunt" , "Maxim Levitsky" , "Michael Walle" , "Srinivas Kandagatla" Cc: "Tze Yee Ng" , linux-mtd@lists.infradead.org, linux-sunxi@lists.linux.dev, imx@lists.linux.dev, linux-amlogic@lists.infradead.org, Frank.Li@kernel.org, wsa+renesas@sang-engineering.com In-Reply-To: <20261107-submit-rawnand-retained-handle-lifetime-v1-v1-4-0181ef0cc4c8@gmail.com> References: <20261107-submit-rawnand-retained-handle-lifetime-v1-v1-0-0181ef0cc4c8@gmail.com> <20261107-submit-rawnand-retained-handle-lifetime-v1-v1-4-0181ef0cc4c8@gmail.com> Date: Sat, 07 Nov 2026 20:42:00 +0000 X-BeenThere: linux-amlogic@lists.infradead.org X-Mailman-Version: 2.1.34 Precedence: list List-Id: List-Archive: List-Post: List-Help: List-Subscribe: , Reply-To: sashiko-reviews@lists.linux.dev X-Archived-By: MIME-Version: 1.0 Content-Type: text/plain; charset="utf-8" Content-Transfer-Encoding: base64 Sender: "linux-amlogic" X-Spam-Status: No, score=-8.9 required=3.0 tests=BAYES_00,DKIMWL_WL_HIGH, DKIM_SIGNED,DKIM_VALID,DKIM_VALID_EF,HEADER_FROM_DIFFERENT_DOMAINS, INCLUDES_PATCH,MAILING_LIST_MULTI,SPF_HELO_NONE,SPF_PASS autolearn=ham autolearn_force=no version=4.0.1 X-Spam-Checker-Version: SpamAssassin 4.0.1 (2024-03-26) on aws-us-west-2-korg-listserv-alma10-1 VGhhbmsgeW91IGZvciB5b3VyIGNvbnRyaWJ1dGlvbiEgU2FzaGlrbyBBSSByZXZpZXcgZm91bmQg MiBwb3RlbnRpYWwKaXNzdWVzIHRvIGNvbnNpZGVyOgotIFtIaWdoXSBtdGQ6IHJhd25hbmQ6IHVu bG9ja2VkIGhhcmR3YXJlIGFjY2VzcyBhZnRlciBuYW5kX2Rpc2Nvbm5lY3QoKQogIGluIHdyaXRl X2JidCgpCi0gW01lZGl1bV0gbXRkOiByYXduYW5kOiBuYW5kX3N1c3BlbmQoKSByZXR1cm5pbmcg LUVOT0RFViBhYm9ydHMgc3lzdGVtCiAgc3VzcGVuZAotLQoKY29tbWl0IDBkNjk4MjgwMzBkMjFm MmU4YzNmMzkxNTQ0ZWU1YTU2NDA2ZTc5OTYKQXV0aG9yOiBKYW1lcyBIaWxsaWFyZCA8amFtZXMu aGlsbGlhcmQxQGdtYWlsLmNvbT4KCm10ZDogcmF3bmFuZDogc2VwYXJhdGUgaGFyZHdhcmUgZGlz Y29ubmVjdGlvbiBmcm9tIGNsZWFudXAKClRoaXMgY29tbWl0IGFkZHMgbmFuZF9kaXNjb25uZWN0 KCkgdG8gbWFyayBhIE5BTkQgY2hpcCBhcyBkaXNjb25uZWN0ZWQKdW5kZXIgdGhlIGNoaXAgYW5k IGNvbnRyb2xsZXIgbG9ja3MgYW5kIG1ha2VzIG5hbmRfZ2V0X2RldmljZSgpLApuYW5kX3N1c3Bl bmQoKSwgbmFuZF9yZXN1bWUoKSwgYW5kIHBhbmljX25hbmRfd3JpdGUoKSByZWplY3QgaGFyZHdh cmUKYWNjZXNzIG9uY2UgZGlzY29ubmVjdGVkLgoKPiBkaWZmIC0tZ2l0IGEvZHJpdmVycy9tdGQv bmFuZC9yYXcvbmFuZF9iYXNlLmMgYi9kcml2ZXJzL210ZC9uYW5kL3Jhdy9uYW5kX2Jhc2UuYwo+ IGluZGV4IGE1YjI3OGFiOTM4NGYuLjhmN2QyNTcxZThkOWEgMTAwNjQ0Cj4gLS0tIGEvZHJpdmVy cy9tdGQvbmFuZC9yYXcvbmFuZF9iYXNlLmMKPiArKysgYi9kcml2ZXJzL210ZC9uYW5kL3Jhdy9u YW5kX2Jhc2UuYwoKWyAuLi4gXQoKPiBAQCAtNTgxLDcgKzYwNyw5IEBAIHN0YXRpYyBpbnQgbmFu ZF9ibG9ja19tYXJrYmFkX2xvd2xldmVsKHN0cnVjdCBuYW5kX2NoaXAgKmNoaXAsIGxvZmZfdCBv ZnMpCj4gIAkJbmFuZF9lcmFzZV9uYW5kKGNoaXAsICZlaW5mbywgMCk7Cj4gIAo+ICAJCS8qIFdy aXRlIGJhZCBibG9jayBtYXJrZXIgdG8gT09CICovCj4gLQkJbmFuZF9nZXRfZGV2aWNlKGNoaXAp Owo+ICsJCXJldCA9IG5hbmRfZ2V0X2RldmljZShjaGlwKTsKPiArCQlpZiAocmV0KQo+ICsJCQly ZXR1cm4gcmV0Owo+ICAKPiAgCQlyZXQgPSBuYW5kX21hcmtiYWRfYmJtKGNoaXAsIG9mcyk7Cj4g IAkJbmFuZF9yZWxlYXNlX2RldmljZShjaGlwKTsKCltTZXZlcml0eTogSGlnaF0KQ2FuIGEgY29u Y3VycmVudCBuYW5kX2Rpc2Nvbm5lY3QoKSBjYXVzZSB3cml0ZV9iYnQoKSB0byBpc3N1ZSB1bmxv Y2tlZApoYXJkd2FyZSBvcGVyYXRpb25zIG9uIHRoZSBkaXNjb25uZWN0ZWQgY29udHJvbGxlciB3 aGVuIHVwZGF0aW5nIGFuCm9uLWZsYXNoIEJCVD8KCm5hbmRfYmxvY2tfbWFya2JhZF9sb3dsZXZl bCgpIHJlbGVhc2VzIHRoZSBjaGlwIGFuZCBjb250cm9sbGVyIGxvY2tzCmJlZm9yZSBjYWxsaW5n IG5hbmRfbWFya2JhZF9iYnQoKSAtPiBuYW5kX3VwZGF0ZV9iYnQoKSAtPiB3cml0ZV9iYnQoKS4K SWYgbmFuZF9kaXNjb25uZWN0KCkgcnVucyBiZWZvcmUgd3JpdGVfYmJ0KCkgY2FsbHMgbmFuZF9l cmFzZV9uYW5kKCkgb3IKc2Nhbl93cml0ZV9iYnQoKSwgbmFuZF9nZXRfZGV2aWNlKCkgcmV0dXJu cyAtRU5PREVWLCB3aGljaCB3cml0ZV9iYnQoKQp0cmVhdHMgYXMgYSBiYWQgQkJUIGVyYXNlYmxv Y2s6Cgpkcml2ZXJzL210ZC9uYW5kL3Jhdy9uYW5kX2JidC5jOndyaXRlX2JidCgpIHsKCS4uLgoJ CXJlcyA9IG5hbmRfZXJhc2VfbmFuZCh0aGlzLCAmZWluZm8sIDEpOwoJCWlmIChyZXMgPCAwKSB7 CgkJCXByX3dhcm4oIm5hbmRfYmJ0OiBlcnJvciB3aGlsZSBlcmFzaW5nIEJCVCBibG9jayAlZFxu IiwKCQkJCXJlcyk7CgkJCW1hcmtfYmJ0X2Jsb2NrX2JhZCh0aGlzLCB0ZCwgY2hpcCwgYmxvY2sp OwoJCQljb250aW51ZTsKCQl9CgkuLi4KfQoKbWFya19iYnRfYmxvY2tfYmFkKCkgdGhlbiBtYXJr cyBlYWNoIHJlc2VydmVkIEJCVCBibG9jayB3b3JuIGluIG1lbW9yeQphbmQgY2FsbHMgbmFuZF9t YXJrYmFkX2JibSgpIC0+IG5hbmRfZGVmYXVsdF9ibG9ja19tYXJrYmFkKCkgLT4KbmFuZF9kb193 cml0ZV9vb2IoKSB3aXRob3V0IGNhbGxpbmcgbmFuZF9nZXRfZGV2aWNlKCksIGFjY2Vzc2luZwpj b250cm9sbGVyIHJlc291cmNlcyB0aGF0IGhhdmUgYWxyZWFkeSBiZWVuIGZyZWVkIGFmdGVyCm5h bmRfZGlzY29ubmVjdCgpIHJldHVybmVkLgoKWyAuLi4gXQoKPiBAQCAtNDY4OCwxMCArNDcyOCwx NCBAQCBzdGF0aWMgaW50IG5hbmRfc3VzcGVuZChzdHJ1Y3QgbXRkX2luZm8gKm10ZCkKPiAgCWlu dCByZXQgPSAwOwo+ICAKPiAgCW11dGV4X2xvY2soJmNoaXAtPmxvY2spOwo+ICsJaWYgKGNoaXAt PmRpc2Nvbm5lY3RlZCkgewo+ICsJCW11dGV4X3VubG9jaygmY2hpcC0+bG9jayk7Cj4gKwkJcmV0 dXJuIC1FTk9ERVY7Cj4gKwl9Cj4gIAlpZiAoY2hpcC0+b3BzLnN1c3BlbmQpCj4gIAkJcmV0ID0g Y2hpcC0+b3BzLnN1c3BlbmQoY2hpcCk7Cj4gIAlpZiAoIXJldCkKPiAtCQljaGlwLT5zdXNwZW5k ZWQgPSAxOwo+ICsJCVdSSVRFX09OQ0UoY2hpcC0+c3VzcGVuZGVkLCB0cnVlKTsKPiAgCW11dGV4 X3VubG9jaygmY2hpcC0+bG9jayk7Cj4gIAo+ICAJcmV0dXJuIHJldDsKCltTZXZlcml0eTogTWVk aXVtXQpEb2VzIHJldHVybmluZyAtRU5PREVWIGZyb20gbmFuZF9zdXNwZW5kKCkgYWJvcnQgc3lz dGVtIHN1c3BlbmQgd2hlbiBhbgpvcGVuIE1URCBoYW5kbGUgb3V0bGl2ZXMgY29udHJvbGxlciB1 bmJpbmQ/CgpXaGlsZSBhbiBNVEQgaGFuZGxlIHJlbWFpbnMgb3BlbiBhZnRlciBkZWxfbXRkX2Rl dmljZSgpIGFuZApuYW5kX2Rpc2Nvbm5lY3QoKSwgbXRkLT5kZXYgc3RheXMgcmVnaXN0ZXJlZCBv biBkcG1fbGlzdCB1bnRpbCB0aGUgbGFzdApyZWZlcmVuY2UgaXMgcHV0IGluIG10ZF9kZXZpY2Vf cmVsZWFzZSgpLiAgRHVyaW5nIHN5c3RlbSBzdXNwZW5kLAptdGRfY2xzX3N1c3BlbmQoKSBjYWxs cyBtdGRfc3VzcGVuZCgpIC0+IG5hbmRfc3VzcGVuZCgpLCBhbmQgcmV0dXJuaW5nCi1FTk9ERVYg ZmFpbHMgZHBtX3N1c3BlbmQoKSBpbnN0ZWFkIG9mIHRyZWF0aW5nIHRoZSBkaXNjb25uZWN0ZWQg Y2hpcCBhcwphIG5vLW9wIGxpa2UgbmFuZF9yZXN1bWUoKSBhbmQgbmFuZF9zeW5jKCkgZG8uCgot LSAKU2FzaGlrbyBBSSByZXZpZXcgwrcgaHR0cHM6Ly9zYXNoaWtvLmRldi8jL3BhdGNoc2V0LzIw MjYxMTA3LXN1Ym1pdC1yYXduYW5kLXJldGFpbmVkLWhhbmRsZS1saWZldGltZS12MS12MS0wLTAx ODFlZjBjYzRjOEBnbWFpbC5jb20/cGFydD00CgpfX19fX19fX19fX19fX19fX19fX19fX19fX19f X19fX19fX19fX19fX19fX19fXwpsaW51eC1hbWxvZ2ljIG1haWxpbmcgbGlzdApsaW51eC1hbWxv Z2ljQGxpc3RzLmluZnJhZGVhZC5vcmcKaHR0cDovL2xpc3RzLmluZnJhZGVhZC5vcmcvbWFpbG1h bi9saXN0aW5mby9saW51eC1hbWxvZ2ljCg==