sd8686 linux system hang when associating to access point
Wood, Brian J
brian.j.wood at intel.com
Tue Jun 9 16:26:25 EDT 2009
>From: Jonathan Cameron [mailto:jic23 at cam.ac.uk]
>Sent: Tuesday, June 09, 2009 11:41 AM
>To: Wood, Brian J
>Subject: Re: sd8686 linux system hang when associating to access point
>Wood, Brian J wrote:
>>> -----Original Message-----
>>> From: Jonathan Cameron [mailto:jic23 at cam.ac.uk]
>>> Sent: Tuesday, June 09, 2009 11:31 AM
>>> To: Dario Vlah
>>> Cc: Wood, Brian J; Philip Rakity; libertas-dev at lists.infradead.org
>>> Subject: Re: sd8686 linux system hang when associating to access point
>>> Dario Vlah wrote:
>>>> I got the wireless-testing driver to work on JAX10 after I applied the
>>>> patch that James Cameron posted a while ago on this mailing list.
>>>> (attached). Before that it was crashing as you describe; IIRC there was
>>>> some memory corruption due to calling GET_LOG in the wrong context.
>>> Oops, that one is still sat in my patches to clean up list.
>>> I didn't think that a GET_LOG call occurred in association but if you
>>> hit it whilst trying to associate, my guess is something has changed
>>> in wireless tools.
>>> The patch in question was meant to address some issues when getting
>>> signal strength readings but I never really considered what else might
>>> trigger it.
>> I just applied the patch to the 18.104.22.168 kernel and its complaining when I recompile that wext.c
>still has two calls to the "log" structure present (must have been inserted after your branch):
>> priv->wstats.discard.code = le32_to_cpu(log.wepundecryptable);
>> priv->wstats.discard.misc = le32_to_cpu(log.ackfailure);
>> Do you happen to know what I can change these to?
>> Thank you, Brian.
>As a quick sanity check to see if this is your problem, set them to 0 (claim no errors ;)
>We can clean up what they should actually be as and when resubmitting that patch.
I set those calls to 0 (and had to set some more inside cmdresp.c), recompiled the kernel and tested...still hangs on association to an accesspoint.
I also tried to Philip's suggestion of replacing:
sz = ((sz +3)/4)*4;
sz = ((sz + 63)/64)*64;
inside the function mmc_align_data_size() inside the core.c file...same hang during the association.
More information about the libertas-dev