Re: [Bug #13337] [post 2.6.29 regression] hang during suspend ofb44/b43 modules

From: Johannes Berg
Date: Sat Jul 11 2009 - 10:36:43 EST


On Sat, 2009-07-11 at 16:07 +0200, Jan Scholz wrote:

> > Jan, can you run with console_suspend=0 (or whatever it is now, Rafael
> > will correct me if I'm wrong) that should work on your platform, and put
> > a bunch of printk calls into __ieee80211_suspend in net/mac80211/pm.c to
> > see where in there it's hanging?
>
> Did that, seems like it hangs in
> drv_remove_interface(local, &conf);

Ok, thanks! I was going to suggest doing the same in
b43_op_remove_interface in drivers/net/wireless/b43/main.c, but I think
the problem is just that we have an ordering problem and call drv_stop
before drv_remove_interface. I'll try to come up with a fix soon --
might not be able to today though, in the meantime I guess you can just
move the drv_stop call to the end of the function and tell me if that
works -- that would be racy but should be ok most of the time.

johannes

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