[PATCH] mtd: cfi_cmdset_0001 - fixup for PC28F512P33TFA

Christoph Fritz chf.fritz at googlemail.com
Mon Apr 7 02:54:14 PDT 2014


On Mon, 2014-04-07 at 10:41 +0200, Christian Riesch wrote:
> > The board is back on my desk and I did some further promising tests.
> 
> Since the board is "on your desk", I guess you did the test at room 
> temperature, right? Your desk is not cooled down to -40°C, right?

Further tests, as done with the disabled suspend erase patch, will be in
a climatic exposure test cabinet. Here on my desk I use massive amounts
of cooling spray. Its tin is labeled for cooling down to max -35°C.

> At first sight I thought it was quite strange that a delay of 1000us does 
> not solve the problem, whereas it works fine with 1024us. But then I had a 
> look at the implementation of cfi_udelay(): Actually, 
> cfi_udelay(900)/cond_resched() becomes udelay(900), cfi_udelay(1000) 
> becomes msleep(1), and cfi_udelay(1024) becomes msleep(2).

Nice catch! According to timers-howto.txt [1] usleep_range() should be
used here because:

    msleep(1~20) may not do what the caller intends, and
    will often sleep longer (~20 ms actual sleep for any
    value given in the 1~20ms range)

[1] https://www.kernel.org/doc/Documentation/timers/timers-howto.txt

> > Preferably I would go with a cleaned up version of patch "TESTHACK 12",
> > after some more stress testings have been passed. What do you think?
> 
> You should thoroughly test it at -40°C. This temperature required the 
> largest delays for the M29EW.

I'll try to kick of some tests with usleep_range() in a climatic
exposure test cabinet the next days.

> > I now also have a contact to Micron, so I hope they can shed some light
> > on this issue.
> 
> I am looking forward to their response ;-)

I also invited them to this open discussion.

Thanks
  -- Christoph




More information about the linux-mtd mailing list