[PATCH, take 3] libertas: fix compact flash interrupt handling
Holger Schurig
hs4233 at mail.mn-solutions.de
Wed May 28 04:46:35 EDT 2008
> But again; if the patch works better for you, I'll ack it
> because it doesn't work any worse for me. Logs with
> libertas_debug=0x443af available if you want to see them.
Yes, I'd like this. You can send me this as a .bz2 file.
For me, the problem with the old approach was in the "tx done"
part. With take1+take2 of my patch, an error showed up when,
while I was executing if_cs_send_data(), an interrupt could
happen and my code did touch other chip registers, while it just
should continue to send the data. Take 3 fixed this for me.
> I really don't know what to do to trace it further. Is there a
> way to reset the CF card and kick the firmware in the head that
> I can try from the TX handler, like a USB port reset or
> something? I also might be able to set this machine up for
> remote access so you can play with it if you like.
On CF, there's always one way to kick the firmware into the
head: "pcmciactrl eject; pcmciactrl insert". You can be quite
pretty sure that after this every state in the card, the
firmware, the driver and the networking subsystem has been
cleared :-)
However, maybe there are better ways, less sledge-hammer-like
ones. I'll dig more into this.
One reason for my digging is this error that I had:
libertas_cs: card not ready for commands
libertas: DNLD_CMD: hw_host_to_card failed: -1
libertas: command 0x001f timed out
libertas: requeueing command 0x001f due to timeout (#1)
libertas_cs: card not ready for commands
libertas: DNLD_CMD: hw_host_to_card failed: -1
libertas: command 0x001f timed out
libertas: requeueing command 0x001f due to timeout (#2)
libertas_cs: card not ready for commands
libertas: DNLD_CMD: hw_host_to_card failed: -1
libertas: command 0x001f timed out
libertas: requeueing command 0x001f due to timeout (#3)
libertas_cs: card not ready for commands
libertas: DNLD_CMD: hw_host_to_card failed: -1
libertas: command 0x001f timed out
libertas: Excessive timeouts submitting command 0x001f
libertas_cs: no cmd response in card
libertas: PREP_CMD: command 0x0006 failed: -2
libertas: SCAN_CMD failed
However, I'm not yet sure if I can say (in this case) "the
firmware is hosed" and I'm also not sure if it's wise to just
send a CMD_802_11_RSSI command down as the driver currently
does.
More information about the libertas-dev
mailing list