Bug : Can't read CIS (2.6.0-test4)
jt at bougret.hpl.hp.com
Mon Sep 8 11:40:54 BST 2003
On Sat, Sep 06, 2003 at 10:32:00AM +0100, Russell King wrote:
> On Fri, Sep 05, 2003 at 05:55:52PM -0700, Jean Tourrilhes wrote:
> > If anybody has other suggestions for debugging that, I'm a
> > taker.
> Ahhhhhhh, I see _exactly_ what's causing this problem. It's a nice race
> condition between cs.c initialising the socket, and ds.c loading.
> We appear to be doing this:
> - detect card
> - apply power
> - assert reset
> - deassert reset, but before we've finished resetting...
> - load ds
> - setup CIS maps
> - try to read CIS
> but because the reset hasn't finished, we read rubbish.
> Also, it seems that we report an insertion of a card into a socket in
> ds.c before cs.c has finished setting it up. Gah. Ok, now I know exactly
> what's going on, I'll see about fixing the damned thing.
> Russell King
Thanks a lot ! I'm glad my bug report was useful, this bug was
starting to get old ;-)
I tested the patch from your web page, rather than the patch
you sent me, as it seemed more "complete", and that's the one you sent
to Linus. With the patch, the CIS is read properly, the driver loads
and the card works properly.
On a side note, I'm disapointed that you pushed into the
kernel only half of the DEBUG patch. This means that the debug code is
still not functional (won't compile in cistpl.c). This also means that
random users still can't send you detailed bug report by just toggling
a kernel option.
I would just like to ask you to push the other half of my
patch into the kernel.
More information about the linux-pcmcia