[BUG?] ieee80211_ops.remove_interface() being called twice

Johannes Berg johannes at sipsolutions.net
Thu Feb 11 03:56:07 EST 2010


On Tue, 2010-02-09 at 12:24 -0800, Deepak Saxena wrote:
> I'm working on getting the libertas_tf driver on 2.6.31 working on an
> XO-1 laptopt with a USB connected device and running into the
> following
> situation during a suspend:
> 
> Upon initiating a suspend, lbtf_op_remove_interface() gets called via
> the wiphy_suspend() path:

> Later on, the USB device is removed from the tree and 
> lbtf_op_remove_interface() gets called again and this causes
> an OOOPS:


> Following is the code for lbtf_op_remove_interface().  Basically we
> set 
> priv->vif to NULL the first time around and then we crash on trying 
> to access priv->vif->type the second time around. Easy "fix" is a NULL
> 
> check in lbtf_op_remove_interface() to simply return to caller 
> if !priv->vif, but I don't think the remove_interface() function
> should be called twice. 

Indeed. mac80211's removal logic should cope with interfaces that are
suspended.

johannes
-------------- next part --------------
A non-text attachment was scrubbed...
Name: not available
Type: application/pgp-signature
Size: 801 bytes
Desc: This is a digitally signed message part
URL: <http://lists.infradead.org/pipermail/libertas-dev/attachments/20100211/3c7d4465/attachment.sig>


More information about the libertas-dev mailing list