On Thu, 2013-01-31 at 15:10 +0100, Wolfgang Denk wrote:
> Dear Lubomir Rintel,
> 
> In message <1359630144.16475.6.camel@hobbes> you wrote:
> >
> > Mine is a Kobo Mini e-book reader, which is basically Freescale MX50
> > with the only storage there being an MMC/SD card (removable from a slot
> > if disassembled), which contains uboot and its environment as well as
> > partition table, root and storage volume.
> 
> OK - but you do not comment on my remarks about the actual code?

On Thu, 2013-01-31 at 07:48 +0100, Wolfgang Denk wrote: 
> > diff --git a/tools/env/fw_env.c b/tools/env/fw_env.c
> > index 37b60b8..0d8052d 100644
> > --- a/tools/env/fw_env.c
> > +++ b/tools/env/fw_env.c
> > @@ -838,7 +838,7 @@ static int flash_write_buf (int dev, int fd, void *buf, 
> > size_t count,
> >             ioctl (fd, MEMUNLOCK, &erase);
> >  
> >             /* Dataflash does not need an explicit erase cycle */
> > -           if (mtd_type != MTD_DATAFLASH)
> > +           if (mtd_type && mtd_type != MTD_DATAFLASH)
> 
> This change appears to be redundant.  If mtd_type is null, then this
> is already caught iun te test mtd_type != MTD_DATAFLASH, isn't it?

No. We don't want the erase ioctl to be called for non-MTD devices and
files (where mtd_type is null).

> > -   rc = ioctl (fd, MEMGETINFO, &mtdinfo);
> > +   rc = fstat (fd, &st);
> >     if (rc < 0) {
> > -           perror ("Cannot get MTD information");
> > +           perror ("Cannot access MTD device");
> 
> I don't understand this.  You talk about a MTD device here, but expect
> that MEMGETINFO will not work on it?  Please explain in which exact
> circumstances such a situation wouldhappen.

The error message (mention of MTD at that point) is incorrect. fstat()
is called to determine whether the device is a character device (such as
MTD devices -- MEMGETINFO call will follow) or not (it might be a
blockdevice or flat file).

> >     if (mtdinfo.type != MTD_NORFLASH &&
> >         mtdinfo.type != MTD_NANDFLASH &&
> > -       mtdinfo.type != MTD_DATAFLASH) {
> > +       mtdinfo.type != MTD_DATAFLASH &&
> > +       mtdinfo.type) {
> 
> Again, this last line appears to be redundant.

The same response again -- if the type is nul, then the device is not a
flash device at all.

> 
> >     }
> >  
> >     DEVTYPE(dev_current) = mtdinfo.type;
> > -
> >     rc = flash_read_buf(dev_current, fd, environment.image, CUR_ENVSIZE,
> 
> Please don't make such unrelated white space changes in this commit.

That was a mistake.

Have a nice day!
--
Lubo

_______________________________________________
U-Boot mailing list
U-Boot@lists.denx.de
http://lists.denx.de/mailman/listinfo/u-boot

Reply via email to