From patchwork Fri Jun 5 17:07:20 2020 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 8bit X-Patchwork-Submitter: =?utf-8?q?=C3=81lvaro_Fern=C3=A1ndez_Rojas?= X-Patchwork-Id: 1304285 X-Patchwork-Delegate: miquel.raynal@bootlin.com Return-Path: X-Original-To: incoming@patchwork.ozlabs.org Delivered-To: patchwork-incoming@bilbo.ozlabs.org Authentication-Results: ozlabs.org; spf=none (no SPF record) smtp.mailfrom=lists.infradead.org (client-ip=2607:7c80:54:e::133; helo=bombadil.infradead.org; envelope-from=linux-mtd-bounces+incoming=patchwork.ozlabs.org@lists.infradead.org; receiver=) Authentication-Results: ozlabs.org; dmarc=fail (p=none dis=none) header.from=gmail.com Authentication-Results: ozlabs.org; dkim=pass (2048-bit key; unprotected) header.d=lists.infradead.org header.i=@lists.infradead.org header.a=rsa-sha256 header.s=bombadil.20170209 header.b=q9w658L7; dkim=fail reason="signature verification failed" (2048-bit key; unprotected) header.d=gmail.com header.i=@gmail.com header.a=rsa-sha256 header.s=20161025 header.b=MfmHhx/s; dkim-atps=neutral Received: from bombadil.infradead.org (bombadil.infradead.org [IPv6:2607:7c80:54:e::133]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature RSA-PSS (4096 bits) server-digest SHA256) (No client certificate requested) by ozlabs.org (Postfix) with ESMTPS id 49dpy84GYzz9sSf for ; Sat, 6 Jun 2020 03:08:31 +1000 (AEST) DKIM-Signature: v=1; a=rsa-sha256; q=dns/txt; c=relaxed/relaxed; d=lists.infradead.org; s=bombadil.20170209; h=Sender: Content-Transfer-Encoding:Content-Type:Cc:List-Subscribe:List-Help:List-Post: List-Archive:List-Unsubscribe:List-Id:MIME-Version:Message-Id:Date:Subject:To :From:Reply-To:Content-ID:Content-Description:Resent-Date:Resent-From: Resent-Sender:Resent-To:Resent-Cc:Resent-Message-ID:In-Reply-To:References: List-Owner; bh=CHWw4/5uxbvXpewj7mVN0VfrjCVocW2Av3OirZ4r1+U=; b=q9w658L75MDJD6 m+uD3FbJmVm8oG9sIb4CprdF9ES6QipREDUoDAGsSKrHEu/w18GczZVPUQTlrI5VYx1qzMKC5Sd4N qd05tNSHhZe/G1YE7h5qBajyIap9fI5MEpxeoV3oe0TnAU4AFrXeuupY1JrGYm1q9WNVuVAE/+izv 3vjD3Wp+vwdfCMEXnvRytew+GTk+C8xfAnlSVgb52XifOcJ8BORolKH6seHXvhXJxpU+pr0P03lJY Cghg4rk7UCjx67Gqzef3GhzmoRcNDSEDyk8DvWv9e3cUGXzFT3pNJyeDXl8HD1FvwGiJd2951Edj5 6kLSYe4SG7GagOTpuwBg==; Received: from localhost ([127.0.0.1] helo=bombadil.infradead.org) by bombadil.infradead.org with esmtp (Exim 4.92.3 #3 (Red Hat Linux)) id 1jhFp3-0004Xv-O8; Fri, 05 Jun 2020 17:08:01 +0000 Received: from mail-wr1-x441.google.com ([2a00:1450:4864:20::441]) by bombadil.infradead.org with esmtps (Exim 4.92.3 #3 (Red Hat Linux)) id 1jhFp0-0004XO-Q2 for linux-mtd@lists.infradead.org; Fri, 05 Jun 2020 17:08:00 +0000 Received: by mail-wr1-x441.google.com with SMTP id y17so10473383wrn.11 for ; Fri, 05 Jun 2020 10:07:57 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20161025; h=from:to:cc:subject:date:message-id:mime-version :content-transfer-encoding; bh=rDqQJ0wEgnJldHfGesJHf9Wkye5+SA00t8jjMKl0QrU=; b=MfmHhx/s/MTQcyaBDQ3BExt/ArOMQW+pjtqKR8qDzCdLrlOhZs5baL0eeGXWaOYUfY zXmD41obhUqDcVNLvecHxsXpuXdSnAKrLFNKqrCcB/ZH+kSw7vjkfjbhljGI+F7FQ//Y XgJCzLXSkN2JcXS3qmAy/3p4frjkltzSNj3nBxoacJ/axaEk45gcMBdX0CFsUNybuxzY RpudbUm3VCdtS+IOZ5UPxPEpQ9FUB7PtJlIcU+mgMcuNHF6LpchQzs3DGzhMhjPLVGCc FmDm6Q3Gua8ngZaNaFnW/S6G5JgXfU2SZncCrg/KQ60g712xnsoFZS6SW+9o9LLc3pv4 hRoQ== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20161025; h=x-gm-message-state:from:to:cc:subject:date:message-id:mime-version :content-transfer-encoding; bh=rDqQJ0wEgnJldHfGesJHf9Wkye5+SA00t8jjMKl0QrU=; b=UC9qIEh5Tzzqv8baY5zIagyegEfau4BKdUqFkHzs9hSwwkavRU7uG5b91EfRnDECaJ wXl4nQjRaR9Qhhsf/S5pqBWW/q1xGU6Qp5KG5bmA1f0PRGPhvTD5Cw8xdGGPCHFHXrRs GYH93+8eyGMPet1u+5kFnoA4kW6DMZHBcxU1roCGFNhkxmQN2NMglM+CwEuWB4nwdyp1 8FixZYvSYjXUh+yS36YBzAjIZQlnnVQsIPx95FMNvzXyPaIN2YK4b56szRe9UoBvGREE qTjJjHBKt7uf1xuZzxVUgBWm88OZ0kmGLOhbrWmQRTaUaLS8JiSlNmYFd1Cn3t9bc9G8 J4Vw== X-Gm-Message-State: AOAM530xY8rGJe4FPpB+EBIhDedUdTEi9FwuGDBvEe4ohxfYcBnH0Ufz 58MWLdL/yZBgtUAY82TKo6FGLhxwWug= X-Google-Smtp-Source: ABdhPJzDT5SK9P6EKvrzWRuo4fxLa13YPkg+G9cBgaVHHl8YQkloc/wJYK3pvB31wWuMlrG3msflAw== X-Received: by 2002:adf:f988:: with SMTP id f8mr11453118wrr.81.1591376876540; Fri, 05 Jun 2020 10:07:56 -0700 (PDT) Received: from skynet.lan (28.red-83-49-61.dynamicip.rima-tde.net. [83.49.61.28]) by smtp.gmail.com with ESMTPSA id h7sm11820797wml.24.2020.06.05.10.07.55 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Fri, 05 Jun 2020 10:07:56 -0700 (PDT) From: =?utf-8?q?=C3=81lvaro_Fern=C3=A1ndez_Rojas?= To: computersforpeace@gmail.com, kdasu.kdev@gmail.com, miquel.raynal@bootlin.com, richard@nod.at, vigneshr@ti.com, sumit.semwal@linaro.org, linux-mtd@lists.infradead.org, bcm-kernel-feedback-list@broadcom.com, linux-kernel@vger.kernel.org, linux-media@vger.kernel.org, dri-devel@lists.freedesktop.org, linaro-mm-sig@lists.linaro.org Subject: [PATCH] mtd: rawnand: brcmnand: force raw OOB writes Date: Fri, 5 Jun 2020 19:07:20 +0200 Message-Id: <20200605170720.2478262-1-noltari@gmail.com> X-Mailer: git-send-email 2.26.2 MIME-Version: 1.0 X-CRM114-Version: 20100106-BlameMichelson ( TRE 0.8.0 (BSD) ) MR-646709E3 X-CRM114-CacheID: sfid-20200605_100758_861050_B401EEA4 X-CRM114-Status: UNSURE ( 9.88 ) X-CRM114-Notice: Please train this message. X-Spam-Score: -0.2 (/) X-Spam-Report: SpamAssassin version 3.4.4 on bombadil.infradead.org summary: Content analysis details: (-0.2 points) pts rule name description ---- ---------------------- -------------------------------------------------- -0.0 RCVD_IN_DNSWL_NONE RBL: Sender listed at https://www.dnswl.org/, no trust [2a00:1450:4864:20:0:0:0:441 listed in] [list.dnswl.org] 0.0 SPF_HELO_NONE SPF: HELO does not publish an SPF Record 0.0 FREEMAIL_FROM Sender email is commonly abused enduser mail provider [noltari[at]gmail.com] -0.0 SPF_PASS SPF: sender matches SPF record -0.1 DKIM_VALID Message has at least one valid DKIM or DK signature -0.1 DKIM_VALID_AU Message has a valid DKIM or DK signature from author's domain -0.1 DKIM_VALID_EF Message has a valid DKIM or DK signature from envelope-from domain 0.1 DKIM_SIGNED Message has a DKIM or DK signature, not necessarily valid X-BeenThere: linux-mtd@lists.infradead.org X-Mailman-Version: 2.1.29 Precedence: list List-Id: Linux MTD discussion mailing list List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Cc: =?utf-8?q?=C3=81lvaro_Fern=C3=A1ndez_Rojas?= Sender: "linux-mtd" Errors-To: linux-mtd-bounces+incoming=patchwork.ozlabs.org@lists.infradead.org MTD_OPS_AUTO_OOB is writting OOB with ECC enabled, which changes all ECC bytes from an erased page to 0x00 when JFFS2 cleanmarkers are added with mtd-utils. | BBI | JFFS2 | ECC | JFFS2 | Spare | 00000800 ff ff 19 85 20 03 00 00 00 00 00 00 08 ff ff ff However, if OOB is written with ECC disabled, the JFFS2 cleanmarkers are correctly written without changing the ECC bytes: | BBI | JFFS2 | ECC | JFFS2 | Spare | 00000800 ff ff 19 85 20 03 ff ff ff 00 00 00 08 ff ff ff Signed-off-by: Álvaro Fernández Rojas --- drivers/mtd/nand/raw/brcmnand/brcmnand.c | 9 +-------- 1 file changed, 1 insertion(+), 8 deletions(-) diff --git a/drivers/mtd/nand/raw/brcmnand/brcmnand.c b/drivers/mtd/nand/raw/brcmnand/brcmnand.c index 8f9ffb46a09f..566281770841 100644 --- a/drivers/mtd/nand/raw/brcmnand/brcmnand.c +++ b/drivers/mtd/nand/raw/brcmnand/brcmnand.c @@ -2279,13 +2279,6 @@ static int brcmnand_write_page_raw(struct nand_chip *chip, const uint8_t *buf, return nand_prog_page_end_op(chip); } -static int brcmnand_write_oob(struct nand_chip *chip, int page) -{ - return brcmnand_write(nand_to_mtd(chip), chip, - (u64)page << chip->page_shift, NULL, - chip->oob_poi); -} - static int brcmnand_write_oob_raw(struct nand_chip *chip, int page) { struct mtd_info *mtd = nand_to_mtd(chip); @@ -2642,7 +2635,7 @@ static int brcmnand_init_cs(struct brcmnand_host *host, struct device_node *dn) chip->ecc.write_oob_raw = brcmnand_write_oob_raw; chip->ecc.read_oob_raw = brcmnand_read_oob_raw; chip->ecc.read_oob = brcmnand_read_oob; - chip->ecc.write_oob = brcmnand_write_oob; + chip->ecc.write_oob = brcmnand_write_oob_raw; chip->controller = &ctrl->controller;