[PATCH] libertas: before sleeping, check for a command result

Johan Adolfsson Johan.Adolfsson at axis.com
Thu May 29 09:39:40 EDT 2008


> 
> >> I have experience a couple of timeout and resends and after
> >> sending another commands I get the response from the previous
> >> one, and the patch seems to solve a couple of those for me -
> >> still se some problem fetching packet from  firmware with ret
> >> = -22 though. And it could be dependant on how much debug I
> >> have turned on..
> >
> > Keep in mind that maybe the firmware actually really takes ages
> > to complete a command. David Woodhouse reported this.
> >
> > In my case, because I had the proper debugging statements in my
> > interrupt handler, I knew for sure that I already received the
> > response. Can you verify that, for the comment timeouts you
> > noticed, if this did happen or not?
> 
> While trying to find out what went wrong I believe I stumbled
> on a cache issue since our sdio driver didn't invalidate the cache
> and the DMA is not cachecoherent.
> 
> Possible something for others to check in their SDIO drivers
> as well.
> Ran into some weird problems when trying to verify if it 
> solved my problem 
> though, so I will get back with more info when I get it up 
> and running 
> again.
> 
> Best regards
> /Johan

Hi,
The move of the priv->resp_len check wasn't the cure of my problems
even though it looked like it, must have just rearranged the cache hits
or something. 
After adding cache invalidation/clean in the sdio driver I no longer get 
the strange errors I had before.
iwconfig just reports Bit Rate: 1MB/s or 0 kb/s though, although
Link Quality=100/100 or 95/100

Johan




More information about the libertas-dev mailing list