2009-11-23 02:11:14

by Larry Finger

[permalink] [raw]
Subject: Question about mac80211 callback

Johannes,

I tried to figure this out from the code, but I kept getting lost.

When a computer goes into hibernation, which of the mac80211 callback routines
are called, and which ones on the following resume? The problem arises due to
the problem in Bug #14267. The routine to check the hardware status of the
RFKILL switch is being entered with b43_status() returning 0, thus the hardware
switch is not checked. If we do not check for that condition, then we get a
machine fault on PPC. I would like to be able to track this problem down. I've
already entered two bad patches in this area.

Thanks,

Larry


2009-11-23 09:38:07

by Johannes Berg

[permalink] [raw]
Subject: Re: Question about mac80211 callback

Larry,

> I tried to figure this out from the code, but I kept getting lost.
>
> When a computer goes into hibernation, which of the mac80211 callback routines
> are called, and which ones on the following resume?

mac80211 will be called via cfg80211, and will run __ieee80211_suspend()
which calls a whole bunch of driver things. This is _before_ the
driver's suspend() callback runs.

Then, after the driver's resume() callback runs, we go into
ieee80211_reconfig() in mac80211.

You can find the interaction with the PM subsystem in
net/wireless/sysfs.c.

> The problem arises due to
> the problem in Bug #14267.

Wrong bug number?

johannes


Attachments:
signature.asc (801.00 B)
This is a digitally signed message part