From patchwork Fri Nov 9 16:56:48 2018 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Tudor Ambarus X-Patchwork-Id: 995658 X-Patchwork-Delegate: boris.brezillon@free-electrons.com Return-Path: X-Original-To: incoming@patchwork.ozlabs.org Delivered-To: patchwork-incoming@bilbo.ozlabs.org Authentication-Results: ozlabs.org; spf=none (mailfrom) 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=none (p=none dis=none) header.from=microchip.com Authentication-Results: ozlabs.org; dkim=pass (2048-bit key; unprotected) header.d=lists.infradead.org header.i=@lists.infradead.org header.b="DxGTcJri"; dkim=fail reason="signature verification failed" (2048-bit key; unprotected) header.d=infradead.org header.i=@infradead.org header.b="jzLQ7jYg"; dkim=fail reason="signature verification failed" (1024-bit key; unprotected) header.d=microchiptechnology.onmicrosoft.com header.i=@microchiptechnology.onmicrosoft.com header.b="0B9CcOvf"; dkim-atps=neutral Received: from bombadil.infradead.org (bombadil.infradead.org [IPv6:2607:7c80:54:e::133]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (No client certificate requested) by ozlabs.org (Postfix) with ESMTPS id 42s5tQ3Bssz9sBk for ; Sat, 10 Nov 2018 03:57:34 +1100 (AEDT) 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:In-Reply-To:References: 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: List-Owner; bh=23Z0bl+132esc/5P6Fl/pRQUUtWPEe9W6jp4ivsRiQM=; b=DxGTcJri88DUCA quRqT5Ymp3cIKltGMPRgM3gOBvsn7W1zqcTwblr0e6bgvH8gFARvlVmmG3ikK4MgHzX9nACC+qzeQ h3UXLFOonb8qJ/7sOfzquVcHnnrqGDN5bga6Yp7tV3GRANgWFZL6aGy1rc/oVpsEre4z3ny73//Dt d9j0Tayz5rpR/+/qk5vymgJBQs6EQk3sRgP8V25lGKaflT8dc2iIdxOWbyo0S+W9XWksyUeGqHYeB /T79Ov1pBBrOkj2jTCmsEBNjZhNk78gIqw72SbFadSIXnvkxYVQxeHQ3MYyzVoEmUxQi7GqtxAOza 0Oode8frAT13/6ngbggg==; Received: from localhost ([127.0.0.1] helo=bombadil.infradead.org) by bombadil.infradead.org with esmtp (Exim 4.90_1 #2 (Red Hat Linux)) id 1gLA61-00057t-Ch; Fri, 09 Nov 2018 16:57:25 +0000 Received: from merlin.infradead.org ([2001:8b0:10b:1231::1]) by bombadil.infradead.org with esmtps (Exim 4.90_1 #2 (Red Hat Linux)) id 1gLA5l-00055n-6D for linux-mtd@bombadil.infradead.org; Fri, 09 Nov 2018 16:57:09 +0000 DKIM-Signature: v=1; a=rsa-sha256; q=dns/txt; c=relaxed/relaxed; d=infradead.org; s=merlin.20170209; h=MIME-Version:Content-Transfer-Encoding: Content-Type:In-Reply-To:References:Message-ID:Date:Subject:CC:To:From:Sender :Reply-To:Content-ID:Content-Description:Resent-Date:Resent-From: Resent-Sender:Resent-To:Resent-Cc:Resent-Message-ID:List-Id:List-Help: List-Unsubscribe:List-Subscribe:List-Post:List-Owner:List-Archive; bh=pBBSzEe9gydsLeyDawc+cy8G49k0qpYgoa87pCEfNS4=; b=jzLQ7jYg6A7b/2pyodci6LviST sRfwmOG54HLVB4MuyF5r6BjV22AIWZmsoFXMnvMSQF0XK2XGauUk192e7MKHIj4Za4N9Uq5A/HnVT P1mBMCw2ncIL8ymNhKZOSq+PUwWs92sWy/QMO2Vfk7xZRrpTUMC/+QyvAXCwFVP5AbX6601s9T5IT LZ3qXxSmdvoQeqzOtQil/h7ETE7pv9FlbPoRDWizVffxdrvnn+0V6PjJNnz1RIFfu3dHY5H74B0Tk Rej3tS3lApLpCdS4H6oW6Tu1DARTYSFiOxwHTdS3sig+JZIkVEDyBT44TX1dlDbgk85Jps6QUy2jp dOXQ2tbw==; Received: from esa4.microchip.iphmx.com ([68.232.154.123]) by merlin.infradead.org with esmtps (Exim 4.90_1 #2 (Red Hat Linux)) id 1gLA5i-00064C-EG for linux-mtd@lists.infradead.org; Fri, 09 Nov 2018 16:57:07 +0000 X-IronPort-AV: E=Sophos;i="5.54,483,1534834800"; d="scan'208";a="22610343" Received: from smtpout.microchip.com (HELO email.microchip.com) ([198.175.253.82]) by esa4.microchip.iphmx.com with ESMTP/TLS/DHE-RSA-AES256-SHA; 09 Nov 2018 09:56:51 -0700 Received: from NAM02-SN1-obe.outbound.protection.outlook.com (10.10.215.89) by email.microchip.com (10.10.76.105) with Microsoft SMTP Server (TLS) id 14.3.352.0; Fri, 9 Nov 2018 09:56:51 -0700 DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=microchiptechnology.onmicrosoft.com; s=selector1-microchiptechnology-onmicrosoft-com; h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-SenderADCheck; bh=pBBSzEe9gydsLeyDawc+cy8G49k0qpYgoa87pCEfNS4=; b=0B9CcOvfFPJyR3KDxeytfhicRS3Ts9GF23vw5/1p/jprrtt1qaWDWHPEnwtfmk9sWlB67ABdanQ0rDcn6jC+ZQaHeMTpi2PAZ+dxkrxLM6XZoKweFjrejsvfSDWM9CPLcp8JnuDlHupx92WYXvAd5p36X1vpYQ+tOulgP9vg+p8= Received: from BN6PR11MB1842.namprd11.prod.outlook.com (10.175.99.146) by BN6PR11MB1905.namprd11.prod.outlook.com (10.175.100.17) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.1294.26; Fri, 9 Nov 2018 16:56:48 +0000 Received: from BN6PR11MB1842.namprd11.prod.outlook.com ([fe80::11b7:21db:803a:7cfa]) by BN6PR11MB1842.namprd11.prod.outlook.com ([fe80::11b7:21db:803a:7cfa%5]) with mapi id 15.20.1294.034; Fri, 9 Nov 2018 16:56:48 +0000 From: To: , , , , Subject: [PATCH v2 1/5] mtd: spi-nor: don't drop sfdp data if optional parsers fail Thread-Topic: [PATCH v2 1/5] mtd: spi-nor: don't drop sfdp data if optional parsers fail Thread-Index: AQHUeE00AxQBHvrBzkKb1srph+UtJg== Date: Fri, 9 Nov 2018 16:56:48 +0000 Message-ID: <20181109165644.30534-2-tudor.ambarus@microchip.com> References: <20181109165644.30534-1-tudor.ambarus@microchip.com> In-Reply-To: <20181109165644.30534-1-tudor.ambarus@microchip.com> Accept-Language: en-US Content-Language: en-US X-MS-Has-Attach: X-MS-TNEF-Correlator: x-clientproxiedby: VI1PR07CA0231.eurprd07.prod.outlook.com (2603:10a6:802:58::34) To BN6PR11MB1842.namprd11.prod.outlook.com (2603:10b6:404:103::18) authentication-results: spf=none (sender IP is ) smtp.mailfrom=Tudor.Ambarus@microchip.com; x-ms-exchange-messagesentrepresentingtype: 1 x-originating-ip: [94.177.32.154] x-ms-publictraffictype: Email x-microsoft-exchange-diagnostics: 1; BN6PR11MB1905; 6:X6S7o0/mx1ak3AXtlzbNJ0okp4THbuPR4Yl+eIPxBIWyAP56z+o62LM9OyIWXfByxQMWvEKY89E20dWPwvZJr3gE/ldm4wyiD6WRPowVFlOKVZcAFMP8I16nRFqAgv8Tg2ItxUfJmhEs0II7bIRVH/YfTcHe30aD0yp8ko+cZtCDyjYV4UnRD4pteJoQFN1B9sTwe+c63qKqSVvlTOrHN9U5uV5nFxmV2yQPTtNuGAkNvS5joTP84u68I2HiMD0fmid1qAD8/1DHc6fdNPbrcv1SNhJNoGBY8XIudll8e1ooy0oHwD8EvOTu4dNVtoxnMMWYoSnQsgMSOO7qk/+I5OqDfp7Nt14HhA+Zr4Weu9YLAu5Ff5cwidhUYZ0yHypZnsh+cjCVpcTRfSRk+UrEWD7HFgZom/9AWT7bebRIe7p77KrYe+yGoRKs6tNfQe+/5FNGuKZYArBgi93jDjelsQ==; 5:kfQ5XVFdQcmy9UNpHzboHpGCmYvxnsPzWb5N3t3ba2TxmcXUuyjSeWZjmj3pDP4PGQq8fS/d+r1l/lSfF68j0vhmhGbzTmfsJeODOmTWPSMJdYzclSpOkV0UZrhBWz1IXlPmEpGvfwzWMHWfMmQr6/osNo/hQbilGm02F/58G8w=; 7:qa8aHhpyernTJ5m3HQ7Urb43XkIxptYp0oLUaOTDX6k7Q1zTYUpfcvKnLHIMgDfIQLyV7EpVv2JB0Gn6Nr8SS8TpBs3f0EIh/vKnfVN5qbB45dl8yE1krE1UidoKVWmJU5mAekhN6dOK2yuTITUM+w== x-ms-office365-filtering-correlation-id: eee4182f-ab9d-445d-1450-08d6466456bc x-microsoft-antispam: BCL:0; PCL:0; RULEID:(7020095)(4652040)(8989299)(5600074)(711020)(4534185)(4627221)(201703031133081)(201702281549075)(8990200)(2017052603328)(7153060)(7193020); SRVR:BN6PR11MB1905; x-ms-traffictypediagnostic: BN6PR11MB1905: x-microsoft-antispam-prvs: x-exchange-antispam-report-test: UriScan:(185117386973197); x-ms-exchange-senderadcheck: 1 x-exchange-antispam-report-cfa-test: BCL:0; PCL:0; RULEID:(6040522)(2401047)(8121501046)(5005006)(10201501046)(3002001)(3231382)(944501410)(52105095)(93006095)(93001095)(148016)(149066)(150057)(6041310)(20161123558120)(20161123562045)(201703131423095)(201702281528075)(20161123555045)(201703061421075)(201703061406153)(20161123560045)(20161123564045)(201708071742011)(7699051)(76991095); SRVR:BN6PR11MB1905; BCL:0; PCL:0; RULEID:; SRVR:BN6PR11MB1905; x-forefront-prvs: 08512C5403 x-forefront-antispam-report: SFV:NSPM; SFS:(10009020)(366004)(396003)(376002)(39860400002)(346002)(136003)(189003)(199004)(6486002)(8936002)(68736007)(3846002)(81156014)(486006)(8676002)(316002)(71190400001)(2616005)(110136005)(6116002)(11346002)(14444005)(256004)(86362001)(66066001)(2201001)(39060400002)(186003)(446003)(102836004)(54906003)(71200400001)(7736002)(305945005)(14454004)(81166006)(6436002)(5660300001)(2501003)(97736004)(26005)(2906002)(1076002)(476003)(72206003)(76176011)(4326008)(99286004)(6512007)(52116002)(478600001)(386003)(2900100001)(105586002)(25786009)(106356001)(107886003)(6506007)(53936002)(36756003); DIR:OUT; SFP:1101; SCL:1; SRVR:BN6PR11MB1905; H:BN6PR11MB1842.namprd11.prod.outlook.com; FPR:; SPF:None; LANG:en; PTR:InfoNoRecords; MX:1; A:1; received-spf: None (protection.outlook.com: microchip.com does not designate permitted sender hosts) x-microsoft-antispam-message-info: VzEtzmAmIJvKeBK0mCrCt4BRezl2MuVbyvL1nUY7M6u0glGry/s0qHgx/mm72OnUb+ypUQxnVQ0MRiKlIPif0p+P3Pqo8a4c+nqmNX9Lc9PpNHr9zClTGI++/pFJCOSMLBgWRQhR+TvJnQHGV5o9DNm1SU/DEsR8zrpJB9QDt9kSp5q03nJG/R3iCgKKkHOT5MmtG62HMgdVtgQBtya0UaYa7qaSvslODbNVVLYm9KnUDH5/79FiDvrAiih+NnqYeMVEgcWnlMhIodCyzFcycp+NjHNl3NGK0v6fGYaNMao5FWMKi5pfGAXmvOxZzPUDf3f7K8Cibl8vnVkYxsnAXD1gWfyw7tBXhvtoDmBEHJs= spamdiagnosticoutput: 1:99 spamdiagnosticmetadata: NSPM MIME-Version: 1.0 X-MS-Exchange-CrossTenant-Network-Message-Id: eee4182f-ab9d-445d-1450-08d6466456bc X-MS-Exchange-CrossTenant-originalarrivaltime: 09 Nov 2018 16:56:48.7446 (UTC) X-MS-Exchange-CrossTenant-fromentityheader: Hosted X-MS-Exchange-CrossTenant-id: 3f4057f3-b418-4d4e-ba84-d55b4e897d88 X-MS-Exchange-Transport-CrossTenantHeadersStamped: BN6PR11MB1905 X-OriginatorOrg: microchip.com X-CRM114-Version: 20100106-BlameMichelson ( TRE 0.8.0 (BSD) ) MR-646709E3 X-CRM114-CacheID: sfid-20181109_115706_796270_2AD04559 X-CRM114-Status: GOOD ( 14.75 ) X-Spam-Score: -0.8 (/) X-Spam-Report: SpamAssassin version 3.4.2 on merlin.infradead.org summary: Content analysis details: (-0.8 points) pts rule name description ---- ---------------------- -------------------------------------------------- -0.7 RCVD_IN_DNSWL_LOW RBL: Sender listed at http://www.dnswl.org/, low trust [68.232.154.123 listed in list.dnswl.org] -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_SIGNED Message has a DKIM or DK signature, not necessarily valid -0.1 DKIMWL_WL_MED DKIMwl.org - Whitelisted Medium sender X-BeenThere: linux-mtd@lists.infradead.org X-Mailman-Version: 2.1.21 Precedence: list List-Id: Linux MTD discussion mailing list List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Cc: yogeshnarayan.gaur@nxp.com, linux-mtd@lists.infradead.org, linux-kernel@vger.kernel.org, Tudor.Ambarus@microchip.com, cyrille.pitchen@wedev4u.fr Sender: "linux-mtd" Errors-To: linux-mtd-bounces+incoming=patchwork.ozlabs.org@lists.infradead.org JESD216C states that just the Basic Flash Parameter Table is mandatory. Already defined (or future) additional parameter headers and tables are optional. Don't drop already collected sfdp data in case an optional table parser fails. In case of failing, each optional parser is responsible to roll back to the previously known spi_nor data. Fixes: b038e8e3be72 ("mtd: spi-nor: parse SFDP Sector Map Parameter Table") Reported-by: Yogesh Gaur Suggested-by: Boris Brezillon Signed-off-by: Tudor Ambarus Tested-by: Yogesh Gaur --- v2: update Fixes tag to point to correct commit drivers/mtd/spi-nor/spi-nor.c | 15 ++++++++++++--- 1 file changed, 12 insertions(+), 3 deletions(-) diff --git a/drivers/mtd/spi-nor/spi-nor.c b/drivers/mtd/spi-nor/spi-nor.c index 4a96ee719e5a..2cdf96013689 100644 --- a/drivers/mtd/spi-nor/spi-nor.c +++ b/drivers/mtd/spi-nor/spi-nor.c @@ -3130,7 +3130,7 @@ static int spi_nor_parse_sfdp(struct spi_nor *nor, if (err) goto exit; - /* Parse other parameter headers. */ + /* Parse optional parameter tables. */ for (i = 0; i < header.nph; i++) { param_header = ¶m_headers[i]; @@ -3143,8 +3143,17 @@ static int spi_nor_parse_sfdp(struct spi_nor *nor, break; } - if (err) - goto exit; + if (err) { + dev_warn(dev, "Failed to parse optional parameter table: %04x\n", + SFDP_PARAM_HEADER_ID(param_header)); + /* + * Let's not drop all information we extracted so far + * if optional table parsers fail. In case of failing, + * each optional parser is responsible to roll back to + * the previously known spi_nor data. + */ + err = 0; + } } exit: