[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