Re: Suspend to RAM regression in 2.6.28-rc2 (bisected)

From: Johannes Berg
Date: Mon Oct 27 2008 - 15:03:38 EST


On Mon, 2008-10-27 at 20:00 +0100, Carlos R. Mafra wrote:
> On Mon 27.Oct'08 at 19:44:42 +0100, Johannes Berg wrote:
> > On Mon, 2008-10-27 at 19:31 +0100, Johannes Berg wrote:
> > > On Mon, 2008-10-27 at 19:07 +0100, Soeren Sonnenburg wrote:
> > >
> > > > > Johannes, can you pls have a look?
> > >
> > > I did, and I have no idea. Makes no sense at all.
> >
> > The only thing I can remotely think of is that iwlwifi doesn't like
> > being called back from within the call that it did to mac80211, which
> > obviously happens here. But I have no idea, the code as it stands is
> > correct, just the interaction with iwlwifi's resume seems to be broken.
> >
> > Try this patch instead:
>
> Yep, with this patch it also works!

> > --- everything.orig/drivers/net/wireless/iwlwifi/iwl-agn.c 2008-10-27 19:44:12.000000000 +0100
> > +++ everything/drivers/net/wireless/iwlwifi/iwl-agn.c 2008-10-27 19:44:15.000000000 +0100
> > @@ -2084,7 +2084,6 @@ static void iwl_alive_start(struct iwl_p
> > iwl4965_error_recovery(priv);
> >
> > iwl_power_update_mode(priv, 1);
> > - ieee80211_notify_mac(priv->hw, IEEE80211_NOTIFY_RE_ASSOC);

alright, well, if nothing else turns up soon then we should probably put
this patch in rather than reverting the other one, imho mac80211 is
doing the right thing there and the driver is calling into it at a point
where either mac80211 or the driver cannot handle it.

Do you get any kernel messages output? If you do, could you put messages
into each line of ieee80211_set_disassoc to see where it hangs?

johannes

Attachment: signature.asc
Description: This is a digitally signed message part