From patchwork Sat Apr 27 16:15:28 2024 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Ravi Minnikanti X-Patchwork-Id: 1928649 X-Patchwork-Delegate: dario.binacchi@amarulasolutions.com Return-Path: X-Original-To: incoming@patchwork.ozlabs.org Delivered-To: patchwork-incoming@legolas.ozlabs.org Authentication-Results: legolas.ozlabs.org; dkim=pass (1024-bit key; unprotected) header.d=marvell.com header.i=@marvell.com header.a=rsa-sha256 header.s=selector1 header.b=u2YoFQOc; dkim-atps=neutral Authentication-Results: legolas.ozlabs.org; spf=pass (sender SPF authorized) smtp.mailfrom=lists.denx.de (client-ip=2a01:238:438b:c500:173d:9f52:ddab:ee01; helo=phobos.denx.de; envelope-from=u-boot-bounces@lists.denx.de; receiver=patchwork.ozlabs.org) Received: from phobos.denx.de (phobos.denx.de [IPv6:2a01:238:438b:c500:173d:9f52:ddab:ee01]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature ECDSA (secp384r1) server-digest SHA384) (No client certificate requested) by legolas.ozlabs.org (Postfix) with ESMTPS id 4VS5dC675cz1yZk for ; Sun, 28 Apr 2024 22:39:43 +1000 (AEST) Received: from h2850616.stratoserver.net (localhost [IPv6:::1]) by phobos.denx.de (Postfix) with ESMTP id 68A4E88267; Sun, 28 Apr 2024 14:39:33 +0200 (CEST) Authentication-Results: phobos.denx.de; dmarc=pass (p=none dis=none) header.from=marvell.com 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=marvell.com header.i=@marvell.com header.b="u2YoFQOc"; dkim-atps=neutral Received: by phobos.denx.de (Postfix, from userid 109) id BF24188458; Sat, 27 Apr 2024 18:15:50 +0200 (CEST) X-Spam-Checker-Version: SpamAssassin 3.4.2 (2018-09-13) on phobos.denx.de X-Spam-Level: X-Spam-Status: No, score=-2.1 required=5.0 tests=BAYES_00,DKIM_SIGNED, DKIM_VALID,DKIM_VALID_AU,DKIM_VALID_EF,SPF_HELO_NONE,SPF_PASS autolearn=unavailable autolearn_force=no version=3.4.2 Received: from mx0b-0016f401.pphosted.com (mx0b-0016f401.pphosted.com [67.231.156.173]) (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 B41618828B for ; Sat, 27 Apr 2024 18:15:48 +0200 (CEST) Authentication-Results: phobos.denx.de; dmarc=pass (p=none dis=none) header.from=marvell.com Authentication-Results: phobos.denx.de; spf=pass smtp.mailfrom=rminnikanti@marvell.com Received: from pps.filterd (m0045851.ppops.net [127.0.0.1]) by mx0b-0016f401.pphosted.com (8.18.1.2/8.18.1.2) with ESMTP id 43REkY3G029531; Sat, 27 Apr 2024 09:15:45 -0700 Received: from nam10-dm6-obe.outbound.protection.outlook.com (mail-dm6nam10lp2100.outbound.protection.outlook.com [104.47.58.100]) by mx0b-0016f401.pphosted.com (PPS) with ESMTPS id 3xs0vfrb7d-1 (version=TLSv1.2 cipher=ECDHE-RSA-AES256-GCM-SHA384 bits=256 verify=NOT); Sat, 27 Apr 2024 09:15:44 -0700 (PDT) ARC-Seal: i=1; a=rsa-sha256; s=arcselector9901; d=microsoft.com; cv=none; b=U4WtxitnEEjH9R5srLZ3fXnTaDf65e1KIhlrYOhsJwSm2GWVzfRD64UvqocE7NXYZWKfrIrkT7QP0NPH1xmXUBHK2KWGaBSuJUMvxD3ES4dLx5GezgoQY6VwFJpeWTj+Xr+KQOHtz7/KCr2lZ5EaOjZCy0P/Moku3hXTJg4gpV9p9y0A8KodBfKo7RUUxfEPFdK43TcyFKC20Ta00re9kfHGmX79Qm9gu5vY2n2ZJzoFTuufUqVP6v+QsmhcG1kp/fUqvbebpyBpk71C5BOqz37umybUwdxco1yj2uIZ909CI9N7FFG45+/N4wq1gS/PMSnV6v/eHI2EMlMDs2s39w== 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=2xK3sLjdx+bCsbTQVz7tQOKWCC2hlisRUm3CuiMpGqs=; b=S4yM03dx+286tWzggUVT4zyecY34/+sYUh6UQNIaHBb1GKQsuizKwg0Hq5nv1+YF+lGSvUZH0mTmBLE5rMR94JJMC84cDnOdakUEBHmP+ux+c35ztX1hovE8W/v0zjcs57VjaAtiW5J9bTDrlb8p6sva25rfoL07wpMljqACfd4CZggfDhSlpsBuG6wWfzUuWoAihg093xUiNxda7UPL3YeeYV63sM32eStexNlxt5wtpd0XTjcFd2NKVMMzRVHBniGUK2cFtzkpNXlLumCqgv3nkQxCMi/fJ4l7fXJx7kzJzKrzDUiLUouw0vaj188VnaC+wDP5mF1aSgpShuT82A== ARC-Authentication-Results: i=1; mx.microsoft.com 1; spf=pass smtp.mailfrom=marvell.com; dmarc=pass action=none header.from=marvell.com; dkim=pass header.d=marvell.com; arc=none DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=marvell.com; s=selector1; h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-SenderADCheck; bh=2xK3sLjdx+bCsbTQVz7tQOKWCC2hlisRUm3CuiMpGqs=; b=u2YoFQOcBNHOr9lWjh0d9ERPjWDWggxdCDMONSEOfmhZ7HtLTFc1kwH0PdSa4GGBPvjKz+QDEy0lmKXPSeoK23iTOCPts4z6OKsA5jIzC2LseDMkXA+YPwHAy7jv7Ta0EI98Z6jqG3BVhQeD0EVGrohl8/BmTwNS+dAZBdkY/6U= Received: from CO6PR18MB4451.namprd18.prod.outlook.com (2603:10b6:303:138::12) by BY1PR18MB5840.namprd18.prod.outlook.com (2603:10b6:a03:4b5::5) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.7472.48; Sat, 27 Apr 2024 16:15:39 +0000 Received: from CO6PR18MB4451.namprd18.prod.outlook.com ([fe80::c0ef:b62a:5356:65cc]) by CO6PR18MB4451.namprd18.prod.outlook.com ([fe80::c0ef:b62a:5356:65cc%5]) with mapi id 15.20.7519.031; Sat, 27 Apr 2024 16:15:39 +0000 Message-ID: Date: Sat, 27 Apr 2024 09:15:28 -0700 User-Agent: Mozilla/5.0 (X11; Linux x86_64; rv:102.0) Gecko/20100101 Thunderbird/102.6.0 Content-Language: en-US From: Ravi Minnikanti To: u-boot@lists.denx.de Cc: hs@denx.de, trini@konsulko.com, sr@denx.de, judge.packham@gmail.com Subject: [PATCH] mtd: nand: pxa3xx: Incorrect bitflip return on page read X-ClientProxiedBy: SJ0PR03CA0337.namprd03.prod.outlook.com (2603:10b6:a03:39c::12) To CO6PR18MB4451.namprd18.prod.outlook.com (2603:10b6:303:138::12) MIME-Version: 1.0 X-MS-PublicTrafficType: Email X-MS-TrafficTypeDiagnostic: CO6PR18MB4451:EE_|BY1PR18MB5840:EE_ X-MS-Office365-Filtering-Correlation-Id: d522ebaf-c1d1-4e46-9c27-08dc66d5478f X-MS-Exchange-SenderADCheck: 1 X-MS-Exchange-AntiSpam-Relay: 0 X-Microsoft-Antispam: BCL:0; X-Microsoft-Antispam-Message-Info: =?utf-8?q?O6wEL6MTDwubRyyoixvgV1b7qxwGiJk?= =?utf-8?q?PhKI2uu6HwPXMHGimmPPxIMB7OE3gmbbkhZM8f2+HTjKNV3x2IrzoEwUkdJeEk0my?= =?utf-8?q?eIZyYC0pQaYu2jDD4GtF/bIbbGtH6eJHGvSEa37uOl83jj53DDOp5VB+QJ4J3bIJO?= =?utf-8?q?eP9sET6wuuDNVHUhJz8yEw+daA42tLlC2ez4gYdwON253Jaw0kMAaEusmdTCymI3K?= =?utf-8?q?ErTcvMXAmdiVoshk+0H8oh4qZBJJvWOf89sw5rNyJnOyUt6+NoVU97qkLneIowfhb?= =?utf-8?q?AXJuJYikfTH3ISMCWwe7sPs+bNjtB/6ZB5bqwugAdfYXts33D/RGovKWwG/nnNbzu?= =?utf-8?q?BNQLiCYYfEGTPUaV0h+4IuFDfX2K2wQj0sly4+bG8FzR1oOOc7gnlWhYedEGE11ue?= =?utf-8?q?fEPdoQ4jZVG0ZorOzjolImezXv3bmjfrRKraLtbC/J0FzGlZx2SO/ffIMLvK0xMWs?= =?utf-8?q?TdqgCFF3a3ntLox+72qRRWl+RHFSH9qMFwPLKkBr/IcKbTlmoEY9sZNj4HdCD55og?= =?utf-8?q?pa/OStdOrY4/LmzN9Jy2Gpcj813dD71MfT+d0meP8UhvV6Pjs7MKS4ed4lhkNpnaa?= =?utf-8?q?sRW0ua6FkN/Xbu3xDQwAC7NfUEqZuASV2I8Aa8h1p4i7bICKpF58Yo12/Z6x4ybko?= =?utf-8?q?duKOlT5UDIjnIQH7eg2j2d3sTr5ai5O8A3Dbmp+6qtWddBEmNmop0mNu/s3EHYmfr?= =?utf-8?q?GOYGMavyxw5F38MlTpXy0RkJiizuSPT4rVFdjGyvVDCM6I0GqIuwWi0RM/+1qEoto?= =?utf-8?q?WQCx7ECvcDH++eKbpV3toTf5kInDnBhX0sS9PT84cYBXfQGtvAGgw4HE18hrgJn+J?= =?utf-8?q?AB81gUcVcaLcaFNEscv3iUu3YxXy8VLomMCvJ36jZkPJXdbeT9s0yZLisNrOD3o2D?= =?utf-8?q?fEaypWGdX2AUHf8fQtVMLpfij+Zssaa4nKfKp8c2hKjuPe++cwiLvo0AaqpHfQ2Me?= =?utf-8?q?OqypTG/xMWlCMl4pYu1WQPQRZAFWlkqVbzCl+fJJVE9kHc/D4MzV/bgJP1ZUqAcTt?= =?utf-8?q?xlli3jqAvPqz85afBh5LmL98ZrPS3EUL99fhPxVhUYz7j+Hte1BaIzUAe5XPayUTP?= =?utf-8?q?1P185umSYRflmK2bEUFiiEq/d/pqG+gCGuAYI7eCtf5Sn0G23w1DKy4/cQVPavQbf?= =?utf-8?q?T3HjwIEcYTx3sV2cwaRHsBOr89R/bjkHYwjF9nMsqdHML3mZLFs/81R91erbh9z3e?= =?utf-8?q?U3F4N+YWi8GhRqydbPO/QmqFxEzA9L4HxfpA=3D=3D?= X-Forefront-Antispam-Report: CIP:255.255.255.255; CTRY:; LANG:en; SCL:1; SRV:; IPV:NLI; SFV:NSPM; H:CO6PR18MB4451.namprd18.prod.outlook.com; PTR:; CAT:NONE; SFS:(13230031)(1800799015)(366007)(376005); DIR:OUT; SFP:1102; X-MS-Exchange-AntiSpam-MessageData-ChunkCount: 1 X-MS-Exchange-AntiSpam-MessageData-0: =?utf-8?q?B+/BnyNyFzB0/Q6de8zOqW0mwTjD?= =?utf-8?q?jAbAs0KbrIjXm5jiP5KiSlhTKjznkpVvsAR68JK+nNPSkG6pqrQlUSbfC2hqGDXOB?= =?utf-8?q?AtkQ8H49XHzEuPltUuqDue1MOiU2O5TT0LEmkZZgBl0K5jZx6o8mJwAdywarenbc5?= =?utf-8?q?yHAXlTptHkNM/LAd3DJimQ/HoSDY0kKGWdduZMIU38u+XPUiXJDaPJU1lXjmgXAZH?= =?utf-8?q?A05DhaYIiGvuNCtPJjGkprJBGsKh8GIXa4kB43HTvI7x0/R60KHlBx2L+pC13mnxT?= =?utf-8?q?KBMURqWq19L6aTLTE1RkF1HzEzIi8+lyyVI9nWD4sPc7PJS52y3Re38kvF+wMcLh0?= =?utf-8?q?9Ewivztyrkf5kty5wJGv+qEnuj+fWmg/R01gKbFWoxxu1s1ZhIgULkeWjueW5STp4?= =?utf-8?q?G5Rfa+bM14hZ8FOLYlzTPAgVhSgu9WRZq0yEcdm63b8Xqld98u+IY81/eCvSasVsk?= =?utf-8?q?HiFUms+wPNz5DzDquqEjjPW+L2pf06FJ85XuVTiqQj1J/54OXxcsEKYjItIjitu8M?= =?utf-8?q?ADz165S0+/mUVcqw4YJON+oBzHYA9PftPdpAIcwvRa08ai0XAiT56dfD6JoN+ChSu?= =?utf-8?q?pyQPt/OcK3ETPgibG6NCQRH7knaFHCkbZXqx4US8sgIOeflTMrYCct0dHd5R9/qaB?= =?utf-8?q?7emnyY1YR/s4wphHlznvQDmpHnFGvuFGlni0oslC/NxLN2CNvTlGkzwV9+X28MyhN?= =?utf-8?q?HTxeCnf7HCgUFjIFc5u4JgKHN+RBqRhyayMazdRoOOb/Oe3q4qahghIIFHU7+NXqF?= =?utf-8?q?ppwkB2yrBDNmNgWUjvSG5ZONDSJfxqI5uj38/JQRKCvHF3NbHMeIJQ+vO93bUDDI8?= =?utf-8?q?iYjeqLQSjhSEEwtDaCQNNwfUt6njXlWIdFKcxdhpiy7JC6t0ffUxeKWUCScEx7Oxl?= =?utf-8?q?tbe3XInqMcZkjPPMNWjOXab4r4mtb36TRZoDfaZ1NnXRz7Fipzy4FVKLITDlFnR+1?= =?utf-8?q?ALrHYzpWpAEuzr0qrxQu9qN3Te8BaZT7x0g86mOhhTU77hrY2CsbBH6Jn1T8K/uM9?= =?utf-8?q?Ca/xYmS/MqKb+986ZWKlbHty0CzLiFdjb4MM8wrJSGWEII2br7M5mMoaPI51ZZIN8?= =?utf-8?q?f4N3xhvSev+2GcMcOGymWJqz+DmViYR2KfGa1EWPn7mYsjDKjI5hqESPOxVnV0ozA?= =?utf-8?q?J5/wPrt5KWEaKEVugxyNS0FM6waTXRmSJRPMD/FtByPpFk0WPv5UIOZ3o8Y4Fv8LA?= =?utf-8?q?vFOkG77Inc9d7Sodu1YhL3p9LR79AcnW3Cs52Bgd0m/b21K4RRMGLU19aXruLslg4?= =?utf-8?q?yRAdFgLsz63UyaryFYQtbqxetIv4UmNZRzyUC2dfunm6aF9ISnYURWsTHAXQpkkIx?= =?utf-8?q?yKLhgL7weDRHZxelH/BFd1oX7odQdibfaZfmsZT7xPInzFbD9a+vjESwbYkqy3Kaj?= =?utf-8?q?vnOl89PBSj7p9WFLr68wKK4ki1D3UTgEqHwn02ZiQ9iYgEKupDw2a6HtI0ciisdWZ?= =?utf-8?q?7wHKD3rFbojxmLaHWeSiqNcU5ona1diuDKzYyCUpTYsQ0NEuXw2enJjkhiLpO6SZ/?= =?utf-8?q?KCmVb7fzx9KWzM/5cEunGEvDLDMboHK3qQ=3D=3D?= X-OriginatorOrg: marvell.com X-MS-Exchange-CrossTenant-Network-Message-Id: d522ebaf-c1d1-4e46-9c27-08dc66d5478f X-MS-Exchange-CrossTenant-AuthSource: CO6PR18MB4451.namprd18.prod.outlook.com X-MS-Exchange-CrossTenant-AuthAs: Internal X-MS-Exchange-CrossTenant-OriginalArrivalTime: 27 Apr 2024 16:15:39.5440 (UTC) X-MS-Exchange-CrossTenant-FromEntityHeader: Hosted X-MS-Exchange-CrossTenant-Id: 70e1fb47-1155-421d-87fc-2e58f638b6e0 X-MS-Exchange-CrossTenant-MailboxType: HOSTED X-MS-Exchange-CrossTenant-UserPrincipalName: hW27c/Eb3ZSTJoErN8YY0Cgli5LKtbdyljm0IhMKqmLxF4MIrhOwZkuRu5O9WtV1y7/4wq0q6b/hHv6kUuCSJw== X-MS-Exchange-Transport-CrossTenantHeadersStamped: BY1PR18MB5840 X-Proofpoint-ORIG-GUID: YGV1-OaKlmXGo3ZAlHlcLigdikMMuvUQ X-Proofpoint-GUID: YGV1-OaKlmXGo3ZAlHlcLigdikMMuvUQ X-Proofpoint-Virus-Version: vendor=baseguard engine=ICAP:2.0.293,Aquarius:18.0.1011,Hydra:6.0.650,FMLib:17.11.176.26 definitions=2024-04-27_14,2024-04-26_02,2023-05-22_02 X-Mailman-Approved-At: Sun, 28 Apr 2024 14:39: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.8 at phobos.denx.de X-Virus-Status: Clean Once a page is read with higher bitflips all subsequent reads are returning the same bitflip value even though they have none. max_bitflip variable is not being reset to 0 across page reads. This is causing problems like incorrectly marking erase blocks bad by UBI and causing read failures. Verified the change with both MTD reads and UBI. This change is inline with other NFC drivers. Sample error log where a block is marked bad incorrectly: ubi0: fixable bit-flip detected at PEB 125 ubi0: run torture test for PEB 125 ubi0: fixable bit-flip detected at PEB 125 ubi0 error: torture_peb: read problems on freshly erased PEB 125, must be bad ubi0 error: erase_worker: failed to erase PEB 125, error -5 ubi0: mark PEB 125 as bad Signed-off-by: rminnikanti Reviewed-by: Chris Packham Signed-off-by: rminnikanti Acked-by: Michael Trimarchi --- drivers/mtd/nand/raw/pxa3xx_nand.c | 5 +++++ 1 file changed, 5 insertions(+) diff --git a/drivers/mtd/nand/raw/pxa3xx_nand.c b/drivers/mtd/nand/raw/pxa3xx_nand.c index 1d9a6d107b..d2a4faad56 100644 --- a/drivers/mtd/nand/raw/pxa3xx_nand.c +++ b/drivers/mtd/nand/raw/pxa3xx_nand.c @@ -800,6 +800,11 @@ static void prepare_start_command(struct pxa3xx_nand_info *info, int command) info->ecc_err_cnt = 0; info->ndcb3 = 0; info->need_wait = 0; + /* + * Reset max_bitflips to zero. Once command is complete, + * max_bitflips for this READ is returned in ecc.read_page() + */ + info->max_bitflips = 0; switch (command) { case NAND_CMD_READ0: