From mboxrd@z Thu Jan 1 00:00:00 1970 From: Scott Wood Date: Mon, 17 Dec 2012 18:05:12 -0600 Subject: [U-Boot] [PATCH v3] imls: Add support to list images in NAND device In-Reply-To: <50CED650.3090000@st.com> (from vipin.kumar@st.com on Mon Dec 17 02:22:40 2012) Message-ID: <1355789112.18495.7@snotra> List-Id: MIME-Version: 1.0 Content-Type: text/plain; charset="us-ascii" Content-Transfer-Encoding: 7bit To: u-boot@lists.denx.de On 12/17/2012 02:22:40 AM, Vipin Kumar wrote: > On 12/14/2012 11:40 PM, Scott Wood wrote: >> On 12/14/2012 03:32:04 AM, Vipin Kumar wrote: >>>>> + >>>>> + switch (genimg_get_format(buffer)) { >>>>> + case IMAGE_FORMAT_LEGACY: >>>>> + header = (const image_header_t *)buffer; >>>>> + len = image_get_image_size(header); >>>>> + >>>>> + ret = nand_imls_legacyimage(nand, >>>>> nand_dev, >>>>> + off, len); >>>>> + if (ret< 0&& ret != -ENOMEM) >>>>> + return ret; >>>>> + break; >>>>> +#if defined(CONFIG_FIT) >>>>> + case IMAGE_FORMAT_FIT: >>>>> + len = fit_get_size(buffer); >>>>> + ret = nand_imls_fitimage(nand, nand_dev, >>>>> + off, len); >>>>> + if (ret< 0&& ret != -ENOMEM) >>>>> + return ret; >>>>> + break; >>>>> +#endif >>>>> + } >>>> >>>> Do you really mean to return from the main imls function just >>>> because >>>> one image has an error? By "use return" I meant return from the >>>> subfunction. >>>> >>> >>> This return only corresponds to the situation when there is an error >>> returned from nand read routine. In that case, I don't think there >>> is >>> any use reading the NAND any further. >> >> Just because one page has an uncorrectable error doesn't mean the >> entire NAND is bad. Note that this is different from what you >> currently do if you get an error on the initial read where you look >> for >> a header. >> > > Yes, I got your point. > > I would now not announce the uncorrectable errors as they may hog the > whole stdout and still continue to work for the whole NAND device. > Please check the implementation in v4 I'd rather see errors be announced, with some reasonable limit on how many (and a message indicating if further errors exist that were suppressed). -Scott