| Message ID | 20260914-submit-sunxi-nand-vendor-oob-layout-v1-v6-7-2fb084fe0751@gmail.com (mailing list archive) |
|---|---|
| State | New |
| Headers |
Return-Path: <linux-sunxi+bounces-25921-sunxi=pue.re@lists.linux.dev>
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 <noreply@patchwork.local>; 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 <noreply@patchwork.local>; 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 <linux-sunxi@lists.linux.dev>; 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 <linux-sunxi@lists.linux.dev>;
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 <james.hilliard1@gmail.com>
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: <linux-sunxi.lists.linux.dev>
List-Subscribe: <mailto:linux-sunxi+subscribe@lists.linux.dev>
List-Unsubscribe: <mailto:linux-sunxi+unsubscribe@lists.linux.dev>
MIME-Version: 1.0
Content-Type: text/plain; charset="utf-8"
Content-Transfer-Encoding: 7bit
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 <miquel.raynal@bootlin.com>,
Richard Weinberger <richard@nod.at>, Vignesh Raghavendra <vigneshr@ti.com>,
Rob Herring <robh@kernel.org>, Krzysztof Kozlowski <krzk+dt@kernel.org>,
Conor Dooley <conor+dt@kernel.org>, Chen-Yu Tsai <wens@kernel.org>,
Jernej Skrabec <jernej.skrabec@gmail.com>,
Samuel Holland <samuel@sholland.org>, Maxime Ripard <mripard@kernel.org>,
Richard Genoud <richard.genoud@bootlin.com>,
Masahiro Yamada <yamada.masahiro@socionext.com>,
Boris Brezillon <bbrezillon@kernel.org>,
Brian Norris <computersforpeace@gmail.com>
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 <james.hilliard1@gmail.com>,
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?=
|
| Series |
mtd: rawnand: sunxi: support the Allwinner randomized OOB format
|
|
Commit Message
James Hilliard
Sept. 14, 2026, 9:09 p.m. UTC
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 <james.hilliard1@gmail.com>
---
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 = {