From mboxrd@z Thu Jan 1 00:00:00 1970 Date: Mon, 22 Oct 2018 11:15:43 +0200 From: Boris Brezillon To: Yogesh Narayan Gaur Cc: Tudor Ambarus , "richard@nod.at" , Mark Brown , "linux-kernel@vger.kernel.org" , "nicolas.ferre@microchip.com" , "marek.vasut@gmail.com" , "cyrille.pitchen@microchip.com" , "linux-mtd@lists.infradead.org" , "Cristian.Birsan@microchip.com" , Cyrille Pitchen , "computersforpeace@gmail.com" , "dwmw2@infradead.org" , "linux-arm-kernel@lists.infradead.org" Subject: Re: [PATCH v3 1/2] mtd: spi-nor: add support to non-uniform SFDP SPI NOR flash memories Message-ID: <20181022111543.2a607efc@bbrezillon> In-Reply-To: References: <20180911154007.17195-1-tudor.ambarus@microchip.com> <20180911154007.17195-2-tudor.ambarus@microchip.com> <31a8f6a9-1459-443a-6ef8-2b2c17769ae4@microchip.com> <20181017090724.12f2cd79@bbrezillon> <20181017091045.124e0266@bbrezillon> <20181017092941.3658bd9a@bbrezillon> <20181017115237.07310b74@bbrezillon> MIME-Version: 1.0 Content-Type: text/plain; charset=US-ASCII Content-Transfer-Encoding: 7bit List-Id: Linux MTD discussion mailing list List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , On Mon, 22 Oct 2018 06:04:13 +0000 Yogesh Narayan Gaur wrote: > - /* Find the matching configuration map */ > - while (SMPT_MAP_ID(smpt[i]) != map_id) { > - if (smpt[i] & SMPT_DESC_END) > - goto out; > + if (map_id_is_valid) > + pr_info("%s:%i map_id=%d\n", __func__, __LINE__, map_id); > + else > + pr_info("%s:%i NO map_id\n", __func__, __LINE__); > + > + for (nmaps = 0; nmaps< smpt_len; nmaps++) { Why did you change this for loop? > + if(!(smpt[nmaps] & SMPT_DESC_TYPE_MAP)) > + continue; > + > + if(!map_id_is_valid) { > + if (nmaps) { With your change in the for () block, this test is no longer valid... Please keep the original patch and patch the if () condition as suggested. > + ret = NULL; > + break; > + } > + > + ret = smpt+nmaps; > + } else if (map_id == SMPT_MAP_ID(smpt[nmaps])) { > + ret = smpt+nmaps; > + break; > + } > + > /* increment the table index to the next map */ > - i += SMPT_MAP_REGION_COUNT(smpt[i]) + 1; > + nmaps += SMPT_MAP_REGION_COUNT(smpt[nmaps]) + 1; > } > > - ret = smpt + i; > /* fall through */ > out: > nor->addr_width = addr_width;