"cfg80211: separate internal SME implementation" causes regression for libertas wifi

NeilBrown neilb at suse.de
Mon Aug 12 03:07:05 EDT 2013


Ping?  Any hints?

Thanks,
NeilBrown


On Wed, 31 Jul 2013 10:16:39 +1000 NeilBrown <neilb at suse.de> wrote:

> 
> Hi Johannes,
> 
> it seems that your commit:
> 
> commit ceca7b7121795ef81bd598a240d53a925662d0c1
> Author: Johannes Berg <johannes.berg at intel.com>
> Date:   Thu May 16 00:55:45 2013 +0200
> 
>     cfg80211: separate internal SME implementation
> 
> results in a regression for SDIO attached libertas wifi devices.
> In particular it hangs during suspend.
> 
> In the scenario that I am testing the wifi is not active (ifconfig down).
> 
> The key difference is that before your patch, cfg80211_disconnect() would
> *not* call rdev_disconnect(), because of
> 
>        if (wdev->sme_state == CFG80211_SME_IDLE)
>                return -EINVAL;
> 
> (and the state was IDLE).
> 
> After your change, rdev_disconnect() is called.  This leads to
> lbs_disconnect() which submits a CMD_802_11_DEAUTHENTICATE command and waits
> for the reply.
> This waits forever.  My guess is that it is waiting for something that has
> been disabled by the process of entering suspend.
> 
> Given that the interface isn't active, maybe it shouldn't try to disconnect,
> and it almost certainly shouldn't try to deauthenticate.
> 
> I am not at all familiar with this code and was hoping you could outline how
> this sort of this was supposed to work.  i.e.  which part of the call chain
> should determine that the interface is sufficiently idle that nothing needs
> to happen?
> 
> (this isn't the only suspend related problem I have with libertas and it
> could well be that libertas is suffering significant bit-rot.  If there is a
> driver that could be seen as a good and modern prototype I could try to
> restructure libertas to match ... but I'm really hoping for an easier fix...)
> 
> Thanks,
> NeilBrown

-------------- next part --------------
A non-text attachment was scrubbed...
Name: signature.asc
Type: application/pgp-signature
Size: 828 bytes
Desc: not available
URL: <http://lists.infradead.org/pipermail/libertas-dev/attachments/20130812/1255bb93/attachment.sig>


More information about the libertas-dev mailing list