From patchwork Wed Nov 8 15:07:01 2023 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Han Xu X-Patchwork-Id: 1861643 Return-Path: X-Original-To: incoming@patchwork.ozlabs.org Delivered-To: patchwork-incoming@legolas.ozlabs.org Authentication-Results: legolas.ozlabs.org; dkim=pass (2048-bit key; secure) header.d=lists.infradead.org header.i=@lists.infradead.org header.a=rsa-sha256 header.s=bombadil.20210309 header.b=L9QzhetI; dkim=fail reason="signature verification failed" (1024-bit key; unprotected) header.d=nxp.com header.i=@nxp.com header.a=rsa-sha256 header.s=selector2 header.b=dX5znQqD; dkim-atps=neutral Authentication-Results: legolas.ozlabs.org; spf=none (no SPF record) smtp.mailfrom=lists.infradead.org (client-ip=2607:7c80:54:3::133; helo=bombadil.infradead.org; envelope-from=linux-mtd-bounces+incoming=patchwork.ozlabs.org@lists.infradead.org; receiver=patchwork.ozlabs.org) Received: from bombadil.infradead.org (bombadil.infradead.org [IPv6:2607:7c80:54:3::133]) (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 4SQT3r5qfZz1yQl for ; Thu, 9 Nov 2023 02:08:08 +1100 (AEDT) DKIM-Signature: v=1; a=rsa-sha256; q=dns/txt; c=relaxed/relaxed; d=lists.infradead.org; s=bombadil.20210309; h=Sender: Content-Transfer-Encoding:Content-Type:List-Subscribe:List-Help:List-Post: List-Archive:List-Unsubscribe:List-Id:MIME-Version:Message-Id:Date:Subject:Cc :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=ME5gouWX8S6ptkkzMPUL5+poSdzqiRIz23vR8Ldokwg=; b=L9QzhetIPNj/9i b2qZggjfa1iHVQw4cwIQVIDzcVcziyN8smeVfO577/tUMHVvujMAnJdFpEzzDZ4vP1otgnfDjweUR VwkRRdjxawo6taoznGBecQNKv2zGlaMzNlpDvBAEDAOAPfK4OVq9f+s9fNWuQK2LTYfK2yNp7Y/LT Vac0ureFlyYOwhw/IShJ7Wl242UEGFKcnXhJ+JGvk7Fcl9hDo9i8OJektdfq2UyWLA8FWCgHCYDNT bTPGD6DY9KW4L+inbKlzLC/xWIpAe7LDdusgD4XvVEkqLxmoc4Bcu+16eagXG9Z4yGVbWGMpNMh71 WMEAM0/YTQNXmMKAXjww==; Received: from localhost ([::1] helo=bombadil.infradead.org) by bombadil.infradead.org with esmtp (Exim 4.96 #2 (Red Hat Linux)) id 1r0k9Y-0049Hx-3D; Wed, 08 Nov 2023 15:07:37 +0000 Received: from mail-am6eur05on20622.outbound.protection.outlook.com ([2a01:111:f400:7e1b::622] helo=EUR05-AM6-obe.outbound.protection.outlook.com) by bombadil.infradead.org with esmtps (Exim 4.96 #2 (Red Hat Linux)) id 1r0k9W-0049HG-20 for linux-mtd@lists.infradead.org; Wed, 08 Nov 2023 15:07:35 +0000 ARC-Seal: i=1; a=rsa-sha256; s=arcselector9901; d=microsoft.com; cv=none; b=dH7k+bWyzjMWBNWWlLaCkh1Htd/XSfgrt1Sk8xJBAWT7tStBkFI6++MpMttWIV4stxWG1LcRs+a3RqB2ca2yfSXzlmpvjpvK3Fs2+P6Q6cAHGxxUWKuLcSyrxEnifizwJCK4k2vqjc7M8mu+b0ZFc/u9R9jHD8fryT8pOHq9DfHe5EJrO2tpsBDeyTnPQV+8krHLCpNdJRU5zyUHYRPBYpvlXrJ2S73uUN4To9o00vM4Zt/3EuXCCc/xBMzmRzvSPCU6fedHDSNfzVNEBhrJDzjEhteAFzbzhb5FGFMxKK+MFK6rL6mU9Drg0SdPLch7r8bXmpIeM1GpEgMYqNJ6Pw== 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=RnFIeWFVjD9MzIxm4tk5N/GodF6qN4x9pPgXueCfqJQ=; b=iTH702YgRJ/xVOLrDaft2gk4axD91kTWFTlKFky50zasByhLZEbq21UcIA73ZVn+tsWaWDHKWUy4qj9f5KIh1WeVnUO3QjqYfqRoobtzfDOkgOZDEyQ6+lFNxLyHytu45iLn8Si1iJaHOdPc8xzpUHfGhGbaWPgfikgDA2tHoPGtuyEzt7uVgDvqidVmMpm3Y+kDgemYPzBlfIReOvk1w6smZ72Oq5gKp1tqg/h12e8/PbGgXJKyxCOQX2m7EoTeR4pmqUd9k88WHd+4Ij4H8zPDbKzKo15Bu70eLQ+sN1s4PK2M9UvfQksRnF/NzUojDzsaSpiJLUbeYOhKw8Skgw== ARC-Authentication-Results: i=1; mx.microsoft.com 1; spf=pass smtp.mailfrom=nxp.com; dmarc=pass action=none header.from=nxp.com; dkim=pass header.d=nxp.com; arc=none DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=nxp.com; s=selector2; h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-SenderADCheck; bh=RnFIeWFVjD9MzIxm4tk5N/GodF6qN4x9pPgXueCfqJQ=; b=dX5znQqDWK5ROmBC1cyr+Rbi86iK1kPkRAqLsN4rEU/APbCeK16hwRuMBGACZs3RAnigyOj0O/Q9TPoUGzVoiWtAHFWY/4preNcPcyHR68aBamGrwbaJo2uDmzKP45YxsF1EQuTP1mlNtMyuE/H04zF2whclV1LDGfOLn4RhQSY= Authentication-Results: dkim=none (message not signed) header.d=none;dmarc=none action=none header.from=nxp.com; Received: from GV1PR04MB9071.eurprd04.prod.outlook.com (2603:10a6:150:22::11) by VI1PR04MB6797.eurprd04.prod.outlook.com (2603:10a6:803:13e::13) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.6977.18; Wed, 8 Nov 2023 15:07:23 +0000 Received: from GV1PR04MB9071.eurprd04.prod.outlook.com ([fe80::f582:d694:c655:89bf]) by GV1PR04MB9071.eurprd04.prod.outlook.com ([fe80::f582:d694:c655:89bf%3]) with mapi id 15.20.6977.018; Wed, 8 Nov 2023 15:07:22 +0000 From: Han Xu To: Miquel Raynal , Richard Weinberger , Vignesh Raghavendra , Stefan Roese , Boris Brezillon Cc: Han Xu , linux-mtd@lists.infradead.org, linux-kernel@vger.kernel.org Subject: [PATCH] mtd: spinand: gigadevice: Fix the get ecc status issue Date: Wed, 8 Nov 2023 09:07:01 -0600 Message-Id: <20231108150701.593912-1-han.xu@nxp.com> X-Mailer: git-send-email 2.34.1 X-ClientProxiedBy: BYAPR08CA0048.namprd08.prod.outlook.com (2603:10b6:a03:117::25) To GV1PR04MB9071.eurprd04.prod.outlook.com (2603:10a6:150:22::11) MIME-Version: 1.0 X-MS-PublicTrafficType: Email X-MS-TrafficTypeDiagnostic: GV1PR04MB9071:EE_|VI1PR04MB6797:EE_ X-MS-Office365-Filtering-Correlation-Id: 4b92f437-4615-47a7-9e32-08dbe06c68f6 X-MS-Exchange-SenderADCheck: 1 X-MS-Exchange-AntiSpam-Relay: 0 X-Microsoft-Antispam: BCL:0; X-Microsoft-Antispam-Message-Info: OUzimJ9GauYAFO3zx/k0pe/zBRPa8s7786E08oMHjRaxFFr6wo9k8dgoFYMy7AYKbjIHWarzeGPOgLf4ADbZX7RyrQWa5shmW1UXZP/aL1NZoMRcUvIhysdoqhjFrK4ySN7cxu92CbKb0B1l57H08KerDSvdBHJsex8N89HlBWYs8lTEgFhcyk3Fo3yBdIIu2UCl96NMvJfbXw35CBGuBwX9T1u+BQvCJes2keuu6ULd0xqoTWyDLPiboeau6sNexSJmOxpslur6S7hHvnaLG8wLoR4F5Jz8SjyoBTX0qi0c65+Dil6rnwofINy51Gc8TF2cDBDj/bRKyDC89dqarC6AncdeBuUYVK1NUoWNuF0Mnsl5N/uhtvjv7UVzOPJjtIBXf15ylgMn4qS8wcVfdB83WrKe7gHktr6BWH2WM4mUrIFPDxmofyUNRQNHXVmt2v5k1s7oDn0pinxRQWEpSWaPcvB53MBcUN465r3itlmP3TFXAxpTQVpQiB8FRLxd29NJPTPviP8R7zIRkiGBfDkCAi3SJbNuZirIFWMZpHqHmABiAp0YaBTTGHfUHZQQBM6PYcOPRKgPzxFAqLV8kFhNYdsR/UZzten/Pgw+5hAwVBGguM3USLohFCgsjWaO X-Forefront-Antispam-Report: CIP:255.255.255.255;CTRY:;LANG:en;SCL:1;SRV:;IPV:NLI;SFV:NSPM;H:GV1PR04MB9071.eurprd04.prod.outlook.com;PTR:;CAT:NONE;SFS:(13230031)(136003)(396003)(376002)(346002)(39860400002)(366004)(230922051799003)(64100799003)(451199024)(186009)(1800799009)(6506007)(6512007)(478600001)(2616005)(52116002)(6486002)(6666004)(36756003)(38100700002)(86362001)(44832011)(66946007)(66476007)(66556008)(41300700001)(83380400001)(2906002)(1076003)(26005)(316002)(5660300002)(38350700005)(8676002)(4326008)(8936002)(110136005);DIR:OUT;SFP:1101; X-MS-Exchange-AntiSpam-MessageData-ChunkCount: 1 X-MS-Exchange-AntiSpam-MessageData-0: 9p1c22B0W4Kpo5NKzbhIRA/ZJE05kplvHFkiDTjeqbGQAolcc7xWajPapfHg7Yzza6h/SSIeGAwcvezvPJyicHPZRqI2WfvjxzESlSrvtNczo7dxqtQarI/aElETxdwz5L/Ao5IBngc85JxOt4jx9t3VwAlTNZhnAO7r3tuEZ/WsThoAoJRd/pNJfdhs2jZ36H6o0ANfQ4zFZUd2Re1KlxOAH9RR6mySQux55k7gbKxtQUEFarPkKbgVL2SK+CpjdM/+TgbLZXw/q18hib3j2okP/w9K4J8SZEeaWQDHBRPFVnvuiR+CbpunroQ9MhNMVCOL50esIOmdfJh+FH6siJQ1kfmKdV/L65fH7iYE3S73DTzDWdYarFEv+6teupPpLHDPN5DMAOx2hEt3ozWV6rrghpfC5No+pUqnOLXL7+tfypOmzF3OSD1Dq0wmu//1pwFSLm0KlmqekXGxEJ2VqGfjwAi2B6koVFGJpu80ASEN5innwXbsCqaW+IhwZ76lUi2vc5hj7o2Lxrm6JO2Za7HCIMaMfFRfm0mYOnFQTTQ+YqPSbavKnjax3SGecxif7+MVJfI7KXiK13BNkyJSSHD1V5PBTIzEcrVcebm+Q9NfUePzoMe3iM+xQDbsg2etTSMmYBkIvb52y6qnHgU/+isj7zC7Dic+MIV4XV8p9T5j/yM5rAuTNO6dKOd0JZlBMpKpjzUzQqt3NfAPsxnFyqc/8EuqaU+iCCv4vNV/r0Y/YtCT/eUtW+wXbu25y+goTInd+VsLhli09qqoAMrpBC06WAl9vceiqMxHq9flqv1qCN6iz28x7KMXDecGPzeCyH8wqmTFbtdeFvJBQCKQLdi0srro+vQUxAbOCXkf2jEFhvR8BrHs49Mr/fn6e6z7qJ60DX93ecZiAOFbRd3My7vxrrwsXpKIroYzPch07YLZjOVqmjGKdiAd60cAOzd/hcM6qV0JItHWab8Y2NTdUOwGpne5UkQBObR8g8Q+YnBXD9leqqWPoxi4OntIHZKtlLFUDAPmryJF7ELLp5q8VqDHxdm6dTlHKbqvVx4SBsucovu7nfvilzo1Uf3MOufR9SuNXwcpxlbAud2HoZX/GTvTK/RvO03/jEWInR3lnmRjpoHZ77fsoLWAOBuSS74aJF5lZBv4j9HKJA6LXz8Z12jm1zCVq4OA1cUm5Qq5nvyNBECC2QrXpUmGOMTq/oGmGQLAe7C7jtOHVQsvymACqZm8QBs+9iXh2rZg7o+Oh5oH8g5GA6nvYruCmUOWR/L4JpN5r3PEOHemnwbJ2m8ysq2e4o4m1uYxsWtdwJ7ZgBivbfHG7vx9+9jAKdfS3ePnK4403KiAqzcS52unDN+VJ6L0qc/f6GNpiIWj7o7cKCez4jVn6npwjRgNH3QzTiuyq6fF5PP1vV0OvfrQN7O/dQiI93UowBaTcWAz63Ju0gnC+c9lGg+slKN40LlBHGlbaSJnH11zGnRlRXK4JxiR1KYmp++HTGNbR86uFan/9aaysSJOdZg/2HXr9h0x5M2oel1SuF571ESbhcnrtg/nO+nnoRPOkNGq19cqRYvskR8= X-OriginatorOrg: nxp.com X-MS-Exchange-CrossTenant-Network-Message-Id: 4b92f437-4615-47a7-9e32-08dbe06c68f6 X-MS-Exchange-CrossTenant-AuthSource: GV1PR04MB9071.eurprd04.prod.outlook.com X-MS-Exchange-CrossTenant-AuthAs: Internal X-MS-Exchange-CrossTenant-OriginalArrivalTime: 08 Nov 2023 15:07:22.7625 (UTC) X-MS-Exchange-CrossTenant-FromEntityHeader: Hosted X-MS-Exchange-CrossTenant-Id: 686ea1d3-bc2b-4c6f-a92c-d99c5c301635 X-MS-Exchange-CrossTenant-MailboxType: HOSTED X-MS-Exchange-CrossTenant-UserPrincipalName: H8T0SQC0mUEgarT49EFbMzj2CIUHu/N0zi2KdFm0gykvTGWvtJKKzjnHumihZ31+ X-MS-Exchange-Transport-CrossTenantHeadersStamped: VI1PR04MB6797 X-CRM114-Version: 20100106-BlameMichelson ( TRE 0.8.0 (BSD) ) MR-646709E3 X-CRM114-CacheID: sfid-20231108_070734_683069_7159FC11 X-CRM114-Status: GOOD ( 14.02 ) X-Spam-Score: 0.8 (/) X-Spam-Report: Spam detection software, running on the system "bombadil.infradead.org", has NOT identified this incoming email as spam. The original message has been attached to this so you can view it or label similar future email. If you have any questions, see the administrator of that system for details. Content preview: Some GigaDevice ecc_get_status functions use on-stack buffer for spi_mem_op causes spi_mem_check_op failing, fix the issue by using spinand scratchbuf. Fixes: c40c7a990a46 ("mtd: spinand: Add support for GigaDevice GD5F1GQ4UExxG") Signed-off-by: Han Xu --- drivers/mtd/nand/spi/gigadevice.c | 6 ++++-- 1 file changed, 4 insertions(+), [...] Content analysis details: (0.8 points, 5.0 required) pts rule name description ---- ---------------------- -------------------------------------------------- 0.0 T_SPF_PERMERROR SPF: test of record failed (permerror) -0.0 SPF_HELO_PASS SPF: HELO matches SPF record -0.1 DKIM_VALID_AU Message has a valid DKIM or DK signature from author's domain -0.1 DKIM_VALID Message has at least one valid DKIM or DK signature 0.1 DKIM_SIGNED Message has a DKIM or DK signature, not necessarily valid -0.1 DKIM_VALID_EF Message has a valid DKIM or DK signature from envelope-from domain 1.0 FORGED_SPF_HELO No description available. X-BeenThere: linux-mtd@lists.infradead.org X-Mailman-Version: 2.1.34 Precedence: list List-Id: Linux MTD discussion mailing list List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Sender: "linux-mtd" Errors-To: linux-mtd-bounces+incoming=patchwork.ozlabs.org@lists.infradead.org Some GigaDevice ecc_get_status functions use on-stack buffer for spi_mem_op causes spi_mem_check_op failing, fix the issue by using spinand scratchbuf. Fixes: c40c7a990a46 ("mtd: spinand: Add support for GigaDevice GD5F1GQ4UExxG") Signed-off-by: Han Xu --- drivers/mtd/nand/spi/gigadevice.c | 6 ++++-- 1 file changed, 4 insertions(+), 2 deletions(-) diff --git a/drivers/mtd/nand/spi/gigadevice.c b/drivers/mtd/nand/spi/gigadevice.c index 987710e09441..6023cba748bb 100644 --- a/drivers/mtd/nand/spi/gigadevice.c +++ b/drivers/mtd/nand/spi/gigadevice.c @@ -186,7 +186,7 @@ static int gd5fxgq4uexxg_ecc_get_status(struct spinand_device *spinand, { u8 status2; struct spi_mem_op op = SPINAND_GET_FEATURE_OP(GD5FXGQXXEXXG_REG_STATUS2, - &status2); + spinand->scratchbuf); int ret; switch (status & STATUS_ECC_MASK) { @@ -207,6 +207,7 @@ static int gd5fxgq4uexxg_ecc_get_status(struct spinand_device *spinand, * report the maximum of 4 in this case */ /* bits sorted this way (3...0): ECCS1,ECCS0,ECCSE1,ECCSE0 */ + status2 = *(spinand->scratchbuf); return ((status & STATUS_ECC_MASK) >> 2) | ((status2 & STATUS_ECC_MASK) >> 4); @@ -228,7 +229,7 @@ static int gd5fxgq5xexxg_ecc_get_status(struct spinand_device *spinand, { u8 status2; struct spi_mem_op op = SPINAND_GET_FEATURE_OP(GD5FXGQXXEXXG_REG_STATUS2, - &status2); + spinand->scratchbuf); int ret; switch (status & STATUS_ECC_MASK) { @@ -248,6 +249,7 @@ static int gd5fxgq5xexxg_ecc_get_status(struct spinand_device *spinand, * 1 ... 4 bits are flipped (and corrected) */ /* bits sorted this way (1...0): ECCSE1, ECCSE0 */ + status2 = *(spinand->scratchbuf); return ((status2 & STATUS_ECC_MASK) >> 4) + 1; case STATUS_ECC_UNCOR_ERROR: