From patchwork Mon Sep 14 21:09:53 2026 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: James Hilliard X-Patchwork-Id: 3347 Return-Path: X-Original-To: noreply@patchwork.local Delivered-To: noreply@patchwork.local Received: from sto.lore.kernel.org (sto.lore.kernel.org [172.232.135.74]) by mxe881.netcup.net (Postfix) with ESMTPS id 4405F1C4D1B for ; Mon, 14 Sep 2026 23:11:56 +0200 (CEST) Authentication-Results: mxe881; dkim=pass header.d=gmail.com; spf=pass (sender IP is 172.232.135.74) smtp.mailfrom=linux-sunxi+bounces-25921-noreply=patchwork.local@lists.linux.dev smtp.helo=sto.lore.kernel.org Received-SPF: pass (mxe881: domain of lists.linux.dev designates 172.232.135.74 as permitted sender) client-ip=172.232.135.74; envelope-from=linux-sunxi+bounces-25921-noreply=patchwork.local@lists.linux.dev; helo=sto.lore.kernel.org; Received: from smtp.subspace.kernel.org (conduit.subspace.kernel.org [100.90.174.1]) by sto.lore.kernel.org (Postfix) with ESMTP id 5B98260B61C for ; Mon, 14 Sep 2026 21:10:48 +0000 (UTC) Received: from localhost.localdomain (localhost.localdomain [127.0.0.1]) by smtp.subspace.kernel.org (Postfix) with ESMTP id 42D914A2071; Mon, 14 Sep 2026 21:10:12 +0000 (UTC) Authentication-Results: smtp.subspace.kernel.org; dkim=pass (2048-bit key) header.d=gmail.com header.i=@gmail.com header.b="d5WA6VqL" X-Original-To: linux-sunxi@lists.linux.dev Received: from mail-oo2-f18.google.com (mail-oo2-f18.google.com [74.125.231.146]) (using TLSv1.2 with cipher ECDHE-RSA-AES128-GCM-SHA256 (128/128 bits)) (No client certificate requested) by smtp.subspace.kernel.org (Postfix) with ESMTPS id F31824A0F00 for ; Mon, 14 Sep 2026 21:10:07 +0000 (UTC) Authentication-Results: smtp.subspace.kernel.org; arc=none smtp.client-ip=74.125.231.146 ARC-Seal: i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1789420211; cv=none; b=s8KZoXhsVQ5VlM8g/ul7cHId+sQcOsh2/BuKOCHvFQ901znkHL2jScIS+WekIwaruZCP1BYBmfThclyeg/OmYt9iO6VZayM7qYy3IEvcwJRsQUFisRWuTnYGCexCTLw6BsTk49N8coZMfwdanV+G6VWnseAtnx8cs38HDoI52Gg= ARC-Message-Signature: i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1789420211; c=relaxed/simple; bh=ovOsliEdUhvhRoeaXGSGPM3LycBRMZNPRXeHkTBG1HM=; h=From:Date:Subject:MIME-Version:Content-Type:Message-Id:References: In-Reply-To:To:Cc; b=bMUyo9MQvpOM5RIggUdhK1pQ5pVWIXCbJeO61AOhPtS+/WsaBg+QBLkat0ByKyYjhcKAx9kAcN2f4o63uMnEXh7jrPymP3mcKfQRCdxLPQ+ObIOloDdXSeEwLAhhJizHcgHbRn22XxE3pTqa0z/llzs+BMFYrp/oZwNnZWClnd8= ARC-Authentication-Results: i=1; smtp.subspace.kernel.org; dmarc=pass (p=none dis=none) header.from=gmail.com; spf=pass smtp.mailfrom=gmail.com; dkim=pass (2048-bit key) header.d=gmail.com header.i=@gmail.com header.b=d5WA6VqL; arc=none smtp.client-ip=74.125.231.146 Authentication-Results: smtp.subspace.kernel.org; dmarc=pass (p=none dis=none) header.from=gmail.com Authentication-Results: smtp.subspace.kernel.org; spf=pass smtp.mailfrom=gmail.com Received: by mail-oo2-f18.google.com with SMTP id 006d021491bc7-6b390bcab0cso1519699eaf.2 for ; Mon, 14 Sep 2026 14:10:07 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20251104; t=1789420205; x=1790025005; darn=lists.linux.dev; h=cc:to:in-reply-to:references:message-id:content-transfer-encoding :content-type:mime-version:subject:date:from:from:to:cc:subject:date :message-id:reply-to:content-type; bh=b70jsSBwLMejAy7LligcsivCdZpJr/KiRJCHlaFZ8JI=; b=d5WA6VqL6D1qrRfsYFhFHB2f7KWItK60G2W2YEbz7Unm/kP7RtkPSnRSUpURL/xSnk Jg+EfCvjWAuci7grnUyUIPj8F8BY+YABVpkiw1as+p4oFlfKcB3VoSF5qVgvjJYNAPwl 5btZ1svb4U4pO3Dt2nCV8lbZzkJdbGBPdutpXFcdPjvaA6vHErAH5O81lCsk4yPnMYpo HVFiAvX5w2FUvH04sWN4m2QxzLXRu6xg6t/0Z036KcNgPfaIibUWKkup2LQCFQ/7AUbs D402/jpz8Z9GED55j8+4m+yYiKZlKUdi/nygTMyQo1Z5VGXkJuFMxKrC+OP6qsR+mBtV 2jag== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20260707; t=1789420205; x=1790025005; h=cc:to:in-reply-to:references:message-id:content-transfer-encoding :content-type:mime-version:subject:date:from:x-gm-gg :x-gm-message-state:from:to:cc:subject:date:message-id:reply-to :content-type; bh=b70jsSBwLMejAy7LligcsivCdZpJr/KiRJCHlaFZ8JI=; b=O8HAQ5FcgfCk5YXiqsH682Vs1TNl8CNu2mM5H26YFwLvDl3SRzCEWlNdzGBdOB43vz yRtfNEcdB9VNIpHEeUzdJRZkRk5z5UfMoNTk73LIOGyGBv/m+PP41jO0FDQHOGVUHCVW glXn90JoLd9jUxwTHFykK5Nr6zyzOG0PADuy7Q2/Tru6V1XjQuKbVakLFO8OwXDv6aP8 qhE/+AkqCdMFQ5dVTaU3LWebY1RwPwBkXnidI1IwaBiF4ARsDNCc15G3vDxakIwCncqf JEu1GSVg/r3Xgqvr0xYgd1iVbbyu/nFBi3o/6l0PV3jiD5Iue76Q45m2Occcf9uBzemJ 8Hmg== X-Forwarded-Encrypted: i=1; AKwUvByiZiVw8dUaz0UUOKdlnnF/Qk1nunM50Y2TBb1CMPlEG6qQy1o61zmGfj8SDfKixoG7MGhVpj3FM9eYAQ==@lists.linux.dev X-Gm-Message-State: AFuF++njNXy+ynCE7jsGYV2He60CXUicvts7L3qCfeBnYFIiWpOE/Wtu xw+aI1UOm3hQm/p2l9pOpk320+rgfUQlub4nmZKif4iM+ra9SEZ3VRuo X-Gm-Gg: AYBFou3k/cYSkz1kmQoP9Hk5rihtxMgU2zJernU6Zj76NxePsaDHHghhRkztiiiRnr+ aZVGOvyK33woBO29NjyuUZ2OeHHdiNUtLfiTcs3hMr2HC4GKU4NrxyjStGPjpscwHdSxHkXbhEV PY0uuR6Pyi9QCe/mZTbKLW0/BFUJkhW97UzY4wjz7lUoUN9GW2mnlgOWTnbkcq9bflF5GcXeu4V TPzfQPON+TiWVn4upKwazSGbFX+U4z/UqWRqkJvyabapx3muBJyollWRhUzPwHDlRXd/vWieUnj 10N/xeyN66uAZjlB5dWjyOj2o1ohhgdqe3j30jSKDMIJwbXz/lErpxmqk8n9kCnijXCqK4udGqW uS4aIv/9TJmLSIcqpTHOZuB4W3pdn80jJw6BWJe9UajWCn1GZ1OBB33V7JwCwhemX8v/Rbi9GDZ aGeJwUq11EZGprOcCLgCcUQqSgFAecoG7JQb0eJ/q8ML4KZTy/OUxhr8xdPc0Vk0IVY6nKUvhAU MyW76IL6eiNl/EeFHHH++gIphX5skntYJnGPKn6O60zuGL2SG73a03CEkhMaDCGosvki+n2f3dr KGeMn8iMwVZ9HHoxErAXYKPan9k+ZCxFoJXZnO/fZnGErit3+dS1iZl1S7itZh/yx+3vt6A9P0M YShBOKvNoz3m4vtWeg19AuhDNe/HH X-Received: by 2002:a05:6820:1626:b0:6b6:93d6:afcd with SMTP id 006d021491bc7-6c540b66d8bmr2665520eaf.26.1789420204843; Mon, 14 Sep 2026 14:10:04 -0700 (PDT) Received: from [127.0.1.1] (184-96-157-145.hlrn.qwest.net. [184.96.157.145]) by smtp.gmail.com with ESMTPSA id 006d021491bc7-6c45bfc3fe9sm4698544eaf.15.2026.09.14.14.10.03 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Mon, 14 Sep 2026 14:10:04 -0700 (PDT) From: James Hilliard Date: Mon, 14 Sep 2026 15:09:53 -0600 Subject: [PATCH v6 07/18] mtd: rawnand: sunxi: avoid a second program confirm for OOB writes Precedence: bulk X-Mailing-List: linux-sunxi@lists.linux.dev List-Id: List-Subscribe: List-Unsubscribe: MIME-Version: 1.0 Message-Id: <20260914-submit-sunxi-nand-vendor-oob-layout-v1-v6-7-2fb084fe0751@gmail.com> References: <20260914-submit-sunxi-nand-vendor-oob-layout-v1-v6-0-2fb084fe0751@gmail.com> In-Reply-To: <20260914-submit-sunxi-nand-vendor-oob-layout-v1-v6-0-2fb084fe0751@gmail.com> To: Miquel Raynal , Richard Weinberger , Vignesh Raghavendra , Rob Herring , Krzysztof Kozlowski , Conor Dooley , Chen-Yu Tsai , Jernej Skrabec , Samuel Holland , Maxime Ripard , Richard Genoud , Masahiro Yamada , Boris Brezillon , Brian Norris Cc: linux-mtd@lists.infradead.org, devicetree@vger.kernel.org, linux-arm-kernel@lists.infradead.org, linux-sunxi@lists.linux.dev, linux-kernel@vger.kernel.org, James Hilliard , stable@vger.kernel.org X-Mailer: b4 0.15.2 X-Rspamd-Server: rspamd-worker-8404 X-Spamd-Result: default: False [-1.16 / 15.00]; BAYES_HAM(-5.50)[100.00%]; RBL_SENDERSCORE(2.00)[172.232.135.74:from]; SUSPICIOUS_RECIPS(1.50)[]; DMARC_POLICY_SOFTFAIL(1.00)[gmail.com : SPF not aligned (relaxed), No valid DKIM,none]; MAILLIST(-0.15)[generic]; MIME_GOOD(-0.10)[text/plain]; BAD_REP_POLICIES(0.10)[]; HAS_LIST_UNSUB(-0.01)[]; PRECEDENCE_BULK(0.00)[]; FROM_HAS_DN(0.00)[]; DBL_BLOCKED_OPENRESOLVER(0.00)[sto.lore.kernel.org:rdns,sto.lore.kernel.org:helo]; TAGGED_RCPT(0.00)[dt]; FORGED_SENDER_MAILLIST(0.00)[]; FREEMAIL_CC(0.00)[lists.infradead.org,vger.kernel.org,lists.linux.dev,gmail.com]; RCPT_COUNT_TWELVE(0.00)[21]; RCVD_COUNT_FIVE(0.00)[6]; ASN(0.00)[asn:63949, ipnet:172.232.128.0/19, country:SG]; R_SPF_ALLOW(0.00)[+ip4:172.232.135.74]; FREEMAIL_TO(0.00)[bootlin.com,nod.at,ti.com,kernel.org,gmail.com,sholland.org,socionext.com]; FREEMAIL_FROM(0.00)[gmail.com]; TO_DN_SOME(0.00)[]; FROM_NEQ_ENVFROM(0.00)[jameshilliard1@gmail.com,linux-sunxi@lists.linux.dev]; FORGED_RECIPIENTS_MAILLIST(0.00)[]; RCVD_TLS_LAST(0.00)[]; TAGGED_FROM(0.00)[bounces-25921-noreply=patchwork.local]; MIME_TRACE(0.00)[0:+]; MID_RHS_MATCH_FROM(0.00)[]; ARC_ALLOW(0.00)[subspace.kernel.org:s=arc-20240116:i=1]; RCVD_VIA_SMTP_AUTH(0.00)[] X-Rspamd-Queue-Id: 4405F1C4D1B X-MORS-Enabled: yes X-MORS-DOMAIN: patchwork.local X-MORS-HOSTING: hosting172546 X-MORS-USER: hosting172546 X-getmail-retrieved-from-mailbox: =?utf-8?q?INBOX?= The hardware-ECC OOB writer delegates to the page writer, which already issues PAGEPROG, waits for completion and checks the NAND status. The OOB wrapper then calls nand_prog_page_end_op() again, sending an extra program confirm without a corresponding program setup. An error on this redundant operation is returned even though the page writer has already succeeded. Return the page writer's result directly. This leaves both PIO and DMA responsible for completing their own program operation and preserves their error results, including for bad-block-marker writes. Fixes: 25f815f66a14 ("mtd: nand: force drivers to explicitly send READ/PROG commands") Cc: stable@vger.kernel.org Signed-off-by: James Hilliard --- drivers/mtd/nand/raw/sunxi_nand.c | 7 +------ 1 file changed, 1 insertion(+), 6 deletions(-) diff --git a/drivers/mtd/nand/raw/sunxi_nand.c b/drivers/mtd/nand/raw/sunxi_nand.c index 72b79f893e29..41d6560d7df7 100644 --- a/drivers/mtd/nand/raw/sunxi_nand.c +++ b/drivers/mtd/nand/raw/sunxi_nand.c @@ -1843,15 +1843,10 @@ static int sunxi_nfc_hw_ecc_write_oob(struct nand_chip *nand, int page) { struct mtd_info *mtd = nand_to_mtd(nand); u8 *buf = nand_get_data_buf(nand); - int ret; memset(buf, 0xff, mtd->writesize); - ret = nand->ecc.write_page(nand, buf, 1, page); - if (ret) - return ret; - /* Send command to program the OOB data */ - return nand_prog_page_end_op(nand); + return nand->ecc.write_page(nand, buf, 1, page); } static const struct sunxi_nfc_timings sun4i_a10_nfc_timings = {