From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: X-Spam-Checker-Version: SpamAssassin 3.4.0 (2014-02-07) on aws-us-west-2-korg-lkml-1.web.codeaurora.org Received: from phobos.denx.de (phobos.denx.de [85.214.62.61]) (using TLSv1.2 with cipher ECDHE-RSA-AES128-GCM-SHA256 (128/128 bits)) (No client certificate requested) by smtp.lore.kernel.org (Postfix) with ESMTPS id 2DBDBC433F5 for ; Thu, 6 Oct 2022 22:02:35 +0000 (UTC) Received: from h2850616.stratoserver.net (localhost [IPv6:::1]) by phobos.denx.de (Postfix) with ESMTP id 5340D84DAA; Fri, 7 Oct 2022 00:02:33 +0200 (CEST) Authentication-Results: phobos.denx.de; dmarc=pass (p=quarantine dis=none) header.from=iopsys.eu Authentication-Results: phobos.denx.de; spf=pass smtp.mailfrom=u-boot-bounces@lists.denx.de Authentication-Results: phobos.denx.de; dkim=pass (1024-bit key; unprotected) header.d=iopsys.eu header.i=@iopsys.eu header.b="vGXn8FNr"; dkim-atps=neutral Received: by phobos.denx.de (Postfix, from userid 109) id 26B6484B61; Thu, 6 Oct 2022 17:52:31 +0200 (CEST) Received: from EUR03-DBA-obe.outbound.protection.outlook.com (mail-dbaeur03on2080.outbound.protection.outlook.com [40.107.104.80]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (No client certificate requested) by phobos.denx.de (Postfix) with ESMTPS id 7B5EC84BAA for ; Thu, 6 Oct 2022 17:52:16 +0200 (CEST) Authentication-Results: phobos.denx.de; dmarc=pass (p=quarantine dis=none) header.from=iopsys.eu Authentication-Results: phobos.denx.de; spf=pass smtp.mailfrom=mikhail.kshevetskiy@iopsys.eu ARC-Seal: i=1; a=rsa-sha256; s=arcselector9901; d=microsoft.com; cv=none; b=Ju/v0zIotSaerhdAliQzxK/RdvzEfBfdVzrVUzZ1bVXIe6WrpJGnpvYihBTmafkpxuX/IbhkrrS3jGKIi2AFXz0+UzQeNVlr+n+Pxah8v4AnMuXkLq9G+CqYcLki1yON2OPbHHC7fy8ogWAQspOiQwFja0w4UbFlrSfqBnO7ERFllbDops5xoOEVWYnvU7VxvtKvj2bqrkD7EeiM+s4uUdZzstRf9PhsQUuQP55Fntdo9Aq6PC46yX7gRdg65bVQQ5ou3YuKntzmsMHwBKRq6l0wFVl07cFganEI9dTZb7M+I5GWBWAt7KC10hMpuOU3f2Jy6artidLVeoxVpfXLvQ== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=microsoft.com; s=arcselector9901; h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-AntiSpam-MessageData-ChunkCount:X-MS-Exchange-AntiSpam-MessageData-0:X-MS-Exchange-AntiSpam-MessageData-1; bh=hFZQGKxSYGScWVyPPthRyP3Nw4C3UddkPEJQZRTbTcA=; b=eqRAfilZcFLVGYFBZ7BrNgN4lct7Blmumcz6RTG1wZHCrYYFc/1IzQ2vHfugVj4o8POj+LFOS7ApohRzXmdMwi08OaO6b+7OvQz7GAfBY6r3rXwYZcELExNNXk0P7hIhRDRzggCODtpgPPhN+1mv8n8lwjLoQpxYEIkwewy6e3CCSjxMg6ElcMcpff0As6yJtZrYgqnyFgDDQ6k4xY8bMGVFgFeYU5VNVQ1TBnHDnKFpPsz42IIhK1MBz7ZMubLzELbgu/HLu6G1Gx/HsXOCUh14Zg9AgrJYx4QaOs3iHB360YYIWgTruVXWkpZu0yGKm0N5DZwv4eXFNSnOZ7SVlg== ARC-Authentication-Results: i=1; mx.microsoft.com 1; spf=pass smtp.mailfrom=iopsys.eu; dmarc=pass action=none header.from=iopsys.eu; dkim=pass header.d=iopsys.eu; arc=none DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=iopsys.eu; s=selector1; h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-SenderADCheck; bh=hFZQGKxSYGScWVyPPthRyP3Nw4C3UddkPEJQZRTbTcA=; b=vGXn8FNr74jzGtCvyOwp2Gnv61CflgWecm8tg3+opgkqSWw1hFwKGQaUPRv8voGilRMrof+8cizrT8y42eGpbTxH/sfy2dOxbEb0IyWjtIPLTPBBUzy/8xDtK5d3PF9xE66K6nbShfOB4DvwLi1CQwHjI9924B7hr79A16fjerU= Authentication-Results: dkim=none (message not signed) header.d=none;dmarc=none action=none header.from=iopsys.eu; Received: from PAXPR08MB6494.eurprd08.prod.outlook.com (2603:10a6:102:154::16) by DB9PR08MB7819.eurprd08.prod.outlook.com (2603:10a6:10:39b::19) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.5676.34; Thu, 6 Oct 2022 15:52:14 +0000 Received: from PAXPR08MB6494.eurprd08.prod.outlook.com ([fe80::3c25:b934:e13d:d6bd]) by PAXPR08MB6494.eurprd08.prod.outlook.com ([fe80::3c25:b934:e13d:d6bd%5]) with mapi id 15.20.5676.032; Thu, 6 Oct 2022 15:52:14 +0000 Date: Thu, 6 Oct 2022 18:52:10 +0300 From: Mikhail Kshevetskiy To: Michael Nazzareno Trimarchi Cc: u-boot@lists.denx.de, Dario Binacchi , Stefan Roese , agnau@iopsys.eu Subject: Re: [PATCH 2/7] mtd/nand: try to erase bad blocks only if scrub flag is provided Message-ID: <20221006185210.537a28fb@laska.lan> In-Reply-To: References: <20221006031501.110290-1-mikhail.kshevetskiy@iopsys.eu> <20221006031501.110290-2-mikhail.kshevetskiy@iopsys.eu> X-Mailer: Claws Mail 4.1.0 (GTK 3.24.34; x86_64-pc-linux-gnu) Content-Type: text/plain; charset=US-ASCII Content-Transfer-Encoding: 7bit X-ClientProxiedBy: GV2PEPF00000100.SWEP280.PROD.OUTLOOK.COM (2603:10a6:144:1:0:1:0:c) To PAXPR08MB6494.eurprd08.prod.outlook.com (2603:10a6:102:154::16) MIME-Version: 1.0 X-MS-PublicTrafficType: Email X-MS-TrafficTypeDiagnostic: PAXPR08MB6494:EE_|DB9PR08MB7819:EE_ X-MS-Office365-Filtering-Correlation-Id: b8b34b78-95b9-40bf-05e5-08daa7b2bd1b X-MS-Exchange-SenderADCheck: 1 X-MS-Exchange-AntiSpam-Relay: 0 X-Microsoft-Antispam: BCL:0; X-Microsoft-Antispam-Message-Info: bWtryAs7U8pZykwpUAdzvFUlkVC7+O5BCy0PWyc8OCF0lBwGVurfKqrc9yXp2U+x1iUJW2bMdFSPjL86vPC58qan+XUyf28IC7j4uGTM2VG55ptkmCfshX2Y1S8r2q66AWFmp64YB1CWyovqCSYFgX2x3HmCnGKOQN30CZW2Qylx70KAt0AbWWKYhGT3GUmumP9e1JeLP/1h3IX/iyAUZLysemU7jwHZNzKpjKPKSJlGr0j0AWaHA3Hr1uIlSKivE8lO/RyBKSyJMkgYbLiU0fajMSrfmBIuLw3RavN9xU4PqQxx6VBNm3nHEln/0HTi2MK/Md/pKh1H+JS7v77Mo6dW/SMrA8wIFP6NkJRES/UwJhcFZJPV+eJg5R8/umYM7MSnHFOOOCjt/SYIepf7VcxvS4Cax/kokt66f02QQM0/VRh/FpvDtUJlyeoHc2VraYEFZi697EJtqFjGwOQFmfwkQRatjFZzDyehI6GtkRNoCa7o9qcGJRzY86FF+hoCy1RFJQuoeFbyhSJkhkkre+hYckYL49XgHpsF/4oxQM7y0uYtWjfpS9JELom6C9iTsehiLO4CPuBwumw4QJ32Z8lVm+aCA+mrPGjLA4qc0xGASEtImvQHs1oQB5otMPF6tteGv1tdxo0RGfdkQXccJI8wJN31BfzLq7+EB4e3q4My5vpwnUGSUTVIJFjzudsg7qPeLbJPmpycWWKfNcT/YyRBZq+xx1NWE/hgfHNjK41CGpWclLepS65zNwgehIAc9g8YS+Bc/ce3JsyulZHg5MZ2h/sbcR1rBGYoWUYmi/4= X-Forefront-Antispam-Report: CIP:255.255.255.255; CTRY:; LANG:en; SCL:1; SRV:; IPV:NLI; SFV:NSPM; H:PAXPR08MB6494.eurprd08.prod.outlook.com; PTR:; CAT:NONE; SFS:(13230022)(4636009)(346002)(366004)(396003)(39850400004)(376002)(136003)(451199015)(86362001)(9686003)(6512007)(26005)(53546011)(6506007)(52116002)(41300700001)(40140700001)(8936002)(45080400002)(8676002)(66946007)(66476007)(66556008)(316002)(6916009)(4326008)(54906003)(107886003)(478600001)(6666004)(6486002)(966005)(44832011)(5660300002)(2906002)(38350700002)(36756003)(38100700002)(1076003)(83380400001)(186003); DIR:OUT; SFP:1101; X-MS-Exchange-AntiSpam-MessageData-ChunkCount: 1 X-MS-Exchange-AntiSpam-MessageData-0: =?us-ascii?Q?tgnrsDdf5fiZEVmXJJznHqDMCnE1lb8o/fGdMQLGc7kaK4Xn4DCQLPotY/fD?= =?us-ascii?Q?P2P/Y12CrdKOXPnIuB2+KAPjaw6l66mbw8PtoG+TdEqrlpGyJ0Iu/Hm/kCjm?= =?us-ascii?Q?sfjb3cYrofCS1Sywn749pXdLxCwOIyZC5cuh02qBozxVIMiBzuY6VBvE+GIt?= =?us-ascii?Q?+7af3EK83fpEixv/P57YJk1Y/nyqi2AnZpXM0esZllrsB3PvINPPXmqDxIyD?= =?us-ascii?Q?Bcqs1ZZFWjqtII8RlOksxsMpXbmJfX4Bng+nk7HEp/l8pyHG0Nj3C4IeG+Xu?= =?us-ascii?Q?UCh3d626KH8ml+aE9le5l5Xxi4021/GgdcqHX0C1PwToLQS+itAGn68qFoes?= =?us-ascii?Q?JTETg9u/lglPLXyeKKM5MO9o3jnWczpj3v3PB0cla2RJwTTT65EhalxowWFl?= =?us-ascii?Q?LogoaX+a9Jw4i9Oe5EZ9vYUVQeDwk7d/DFSQomhZ0D9IgalrpyQqY5xxdq+D?= =?us-ascii?Q?BYyyWFDrqhy3M4gtEq7WnGRW8bAbaj2kb+rnSlRZLy2J4aw6eabVZUCYOdU7?= =?us-ascii?Q?yXQa+9VWZSDYPGje+Or6jx/VJyXoTNM5UDW+JQKX7awpK2/vj0cSRaBWOSMc?= =?us-ascii?Q?ffiWuyFFBAm/+ViJrP8j5TBUfnBdbsF7bikOFp2TtvR2AVcLl4/PDNNXLHNM?= =?us-ascii?Q?OriItN/4+xoMuidDDZhyePLovVnuAcC3hd9EEtqbudtub9A/kUj+iaQw/qK0?= =?us-ascii?Q?JADXtmMnxP5fnyKkP1QegZZMTMe1mtGRoRAJAre0UjLXtGpHdoY2z2BiMyrW?= =?us-ascii?Q?lyY5HwiAbpORyH8lPxUVal0eiudhhQCLgXkkX+5fD+NSXewlZ1Zz0CxA8BMj?= =?us-ascii?Q?21TvKHt+YF1PgQJM/gCiqooSp9fCU0pZWWhVKHwrd0QnLSe50XrOQ4K15cVV?= =?us-ascii?Q?l72VuddPLNnsXJrlQDFZNeiV4SGfbBSkyxpkJT6kqUvSBrk860Yx75VvhpuX?= =?us-ascii?Q?nUSRfcGneTsPsuaEuk4RjFaQaTDbRBxExVDbBk6MVyTlxMOJW+jMaStfKi1j?= =?us-ascii?Q?VeDlrg2+otg6X4wQwtVp2nrpD/VlM9chSi//tiAvYjsLMp6n4d6J4sKUlngD?= =?us-ascii?Q?1Un4/9ZlHg7e/kgEiRf6mW0cx1PYDXMy0kFzPHfTBibheN9xpgNToSkRMFfS?= =?us-ascii?Q?u9kSR1NimlZHyhOruRoM2N3jfMc96Upm23BMGnY99Uej5kPvVjUubugBaOLC?= =?us-ascii?Q?99ftYb7BMGeNa/0MxJDIhMXPCYaK0EE4PXcNJhCmvvJ5G/S3A5Ax9bkBNCpb?= =?us-ascii?Q?+kbmG4V+UL+Vd1OTtM2fA5KUlWmZK4nsQQ6n/1drt2KYrRbTzvqNPYERxvHr?= =?us-ascii?Q?+XsiQYd8KSs7fmiS5zC0qCn7Co3F6HE36eUru6Y2ovwl7yoIaoq4rDe0wW6O?= =?us-ascii?Q?mqHSLcRK7JSHEBMf0zzh2tVb86BfpL5rPMyU/cwuF0SJVb63/1yy3VxBWkao?= =?us-ascii?Q?GFnEdPjlUSSmt6RcKvfbfkpdn+1ksYvIAqu1rZ5BUL+ED3dsRpYUDwW7NZdn?= =?us-ascii?Q?ZOtvwBqaA8LAMceJuZBcqYyKvwuPGRJO+sydVedmvYyH1VSUc+Rgq65c3DkK?= =?us-ascii?Q?us9GytIrBSr4SSyiJ704gWdOa5BfjEme51gti8+gTRJvfHrpyCe6lvB7g9k5?= =?us-ascii?Q?Ng=3D=3D?= X-OriginatorOrg: iopsys.eu X-MS-Exchange-CrossTenant-Network-Message-Id: b8b34b78-95b9-40bf-05e5-08daa7b2bd1b X-MS-Exchange-CrossTenant-AuthSource: PAXPR08MB6494.eurprd08.prod.outlook.com X-MS-Exchange-CrossTenant-AuthAs: Internal X-MS-Exchange-CrossTenant-OriginalArrivalTime: 06 Oct 2022 15:52:14.7059 (UTC) X-MS-Exchange-CrossTenant-FromEntityHeader: Hosted X-MS-Exchange-CrossTenant-Id: 7ff78d65-2de4-40f5-8675-0569e5c7a65d X-MS-Exchange-CrossTenant-MailboxType: HOSTED X-MS-Exchange-CrossTenant-UserPrincipalName: 1zu947eryMMX+BDJepE81JRiHPO+pCWaxSMeZ3CzCFChAWs2K2G1TjfzmeO64zfRJ1Pal8rGu96QEm9o3uMFlQR+CaARVihEPIkfQf/cQCU= X-MS-Exchange-Transport-CrossTenantHeadersStamped: DB9PR08MB7819 X-Mailman-Approved-At: Fri, 07 Oct 2022 00:02:31 +0200 X-BeenThere: u-boot@lists.denx.de X-Mailman-Version: 2.1.39 Precedence: list List-Id: U-Boot discussion List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: u-boot-bounces@lists.denx.de Sender: "U-Boot" X-Virus-Scanned: clamav-milter 0.103.6 at phobos.denx.de X-Virus-Status: Clean On Thu, 6 Oct 2022 08:56:08 +0200 Michael Nazzareno Trimarchi wrote: > [External email] > > > > > > Hi > > On Thu, Oct 6, 2022 at 5:15 AM wrote: > > > > From: Mikhail Kshevetskiy > > > > 'mtd erase' command should not erase bad blocks. To force bad block erasing > > there is 'mtd erase.dontskipbad' command (this command sets 'scrub' flag > > to true in the erase_info structure). Unfortunately nand layer ignore > > scrub flag and try to erases bad blocks unconditionally. This is wrong. > > > > Add checks to allow bad block erasing only if scrub flag is set. > > > > Signed-off-by: Mikhail Kshevetskiy > > --- > > drivers/mtd/nand/core.c | 5 ++++- > > 1 file changed, 4 insertions(+), 1 deletion(-) > > > > diff --git a/drivers/mtd/nand/core.c b/drivers/mtd/nand/core.c > > index 99c29670c7..a4fb7602c9 100644 > > --- a/drivers/mtd/nand/core.c > > +++ b/drivers/mtd/nand/core.c > > @@ -174,7 +174,10 @@ int nanddev_mtd_erase(struct mtd_info *mtd, struct > > erase_info *einfo) nanddev_offs_to_pos(nand, einfo->addr + einfo->len - 1, > > &last); while (nanddev_pos_cmp(&pos, &last) <= 0) { > > schedule(); > > - ret = nanddev_erase(nand, &pos); > > + if (!einfo->scrub && nanddev_isbad(nand, &pos)) > > The nandev_erase already check it here: > > if (nanddev_isbad(nand, pos) || nanddev_isreserved(nand, pos)) { > no it does not work. see nanddev_erase() code if block is bad or reserverved, than warning is printed, than block is erased. > > + ret = -EIO; > > + else > > + ret = nanddev_erase(nand, &pos); > > erase opt should already take in account scrub. > > Please extend the problem > > Michael > > if (ret) { > > einfo->fail_addr = nanddev_pos_to_offs(nand, &pos); > > > > -- > > 2.35.1 > > > > > -- > Michael Nazzareno Trimarchi > Co-Founder & Chief Executive Officer > M. +39 347 913 2170 > michael@amarulasolutions.com > __________________________________ > > Amarula Solutions BV > Joop Geesinkweg 125, 1114 AB, Amsterdam, NL > T. +31 (0)85 111 9172 > info@amarulasolutions.com > https://eur03.safelinks.protection.outlook.com/?url=http%3A%2F%2Fwww.amarulasolutions.com%2F&data=05%7C01%7Cmikhail.kshevetskiy%40iopsys.eu%7C0271cbe11c804a8dfde608daa767e01b%7C7ff78d652de440f586750569e5c7a65d%7C0%7C0%7C638006361837818885%7CUnknown%7CTWFpbGZsb3d8eyJWIjoiMC4wLjAwMDAiLCJQIjoiV2luMzIiLCJBTiI6Ik1haWwiLCJXVCI6Mn0%3D%7C3000%7C%7C%7C&sdata=ZmdqQp%2FXl4XC7yFKmFEYWocIEsqQGYk8b2UI9i2cibo%3D&reserved=0