<feed xmlns='http://www.w3.org/2005/Atom'>
<title>kernel.git/net/mac80211/pm.c, branch linux-3.7.y</title>
<subtitle>Hosts the 0x221E linux distro kernel.
</subtitle>
<id>https://git.0xinfinity.dev/distro/kernel.git/atom?h=linux-3.7.y</id>
<link rel='self' href='https://git.0xinfinity.dev/distro/kernel.git/atom?h=linux-3.7.y'/>
<link rel='alternate' type='text/html' href='https://git.0xinfinity.dev/distro/kernel.git/'/>
<updated>2012-06-20T15:39:51Z</updated>
<entry>
<title>mac80211: fix cleanup if driver suspend callback fails</title>
<updated>2012-06-20T15:39:51Z</updated>
<author>
<name>Eyal Shapira</name>
</author>
<published>2012-06-20T10:10:14Z</published>
<link rel='alternate' type='text/html' href='https://git.0xinfinity.dev/distro/kernel.git/commit/?id=9ea4fa158f3a038d5be82ccc7e142f198233f059'/>
<id>urn:sha1:9ea4fa158f3a038d5be82ccc7e142f198233f059</id>
<content type='text'>
In case the driver suspend callback fails, mac80211 is left
with stopped queues which prevents any further traffic as well
as all STAs are left marked with WLAN_STA_BLOCK_BA which will
cause any further ADDBA requests to be declined. Fix it by
undoing both before returning from __iee80211_suspend.

Reported-by: Vitaly Wool &lt;vitalywool@gmail.com&gt;
Signed-off-by: Eyal Shapira &lt;eyal@wizery.com&gt;
Signed-off-by: Johannes Berg &lt;johannes.berg@intel.com&gt;
</content>
</entry>
<entry>
<title>mac80211: Clear wowlan flag when drv_suspend returns failure</title>
<updated>2012-06-06T19:20:22Z</updated>
<author>
<name>Pontus Fuchs</name>
</author>
<published>2012-05-31T10:34:47Z</published>
<link rel='alternate' type='text/html' href='https://git.0xinfinity.dev/distro/kernel.git/commit/?id=3b08cf6bd2763bfe9d04fad4d7de29ee7735cd76'/>
<id>urn:sha1:3b08cf6bd2763bfe9d04fad4d7de29ee7735cd76</id>
<content type='text'>
drv_resume can get called without a prior call to drv_suspend.
Consider the following steps:

1. Suspend is started but driver's drv_suspend returns error.
2. Suspend is aborted. local-&gt;wowlan flag is left set.
3. Interface is removed.
4. Suspend again. This time open_count is 0 so drv_suspend is
   not called and local-&gt;wowlan not cleared.
5. On resume ieee80211_reconfig will call drv_resume since
   local-&gt;wowlan is set.

Signed-off-by: Pontus Fuchs &lt;pontus.fuchs@gmail.com&gt;
Signed-off-by: John W. Linville &lt;linville@tuxdriver.com&gt;
</content>
</entry>
<entry>
<title>mac80211: add explicit monitor interface if needed</title>
<updated>2012-04-11T20:23:49Z</updated>
<author>
<name>Johannes Berg</name>
</author>
<published>2012-04-03T12:35:57Z</published>
<link rel='alternate' type='text/html' href='https://git.0xinfinity.dev/distro/kernel.git/commit/?id=4b6f1dd6a6faf4ed8d209bbd548e78b15e55aee8'/>
<id>urn:sha1:4b6f1dd6a6faf4ed8d209bbd548e78b15e55aee8</id>
<content type='text'>
The queue mapping redesign that I'm planning to do
will break pure injection unless we handle monitor
interfaces explicitly. One possible option would
be to have the driver tell mac80211 about monitor
mode queues etc., but that would duplicate the API
since we already need to have queue assignments
handled per virtual interface.

So in order to solve this, have a virtual monitor
interface that is added whenever all active vifs
are monitors. We could also use the state of one
of the monitor interfaces, but managing that would
be complicated, so allocate separate state.

Signed-off-by: Johannes Berg &lt;johannes.berg@intel.com&gt;
Signed-off-by: John W. Linville &lt;linville@tuxdriver.com&gt;
</content>
</entry>
<entry>
<title>mac80211: use proper sub_if_data on suspend path</title>
<updated>2012-02-27T19:06:40Z</updated>
<author>
<name>Jakub Kicinski</name>
</author>
<published>2012-02-23T01:17:48Z</published>
<link rel='alternate' type='text/html' href='https://git.0xinfinity.dev/distro/kernel.git/commit/?id=9d88c7f6709aab0e4342d80fad6fb7d3f7efc7ff'/>
<id>urn:sha1:9d88c7f6709aab0e4342d80fad6fb7d3f7efc7ff</id>
<content type='text'>
Use interface data from sta instead of invalid pointer
to list head in calls to drv_sta_state.

Signed-off-by: Jakub Kicinski &lt;kubakici@wp.pl&gt;
Reviewed-by: Johannes Berg &lt;johannes@sipsolutions.net&gt;
Signed-off-by: John W. Linville &lt;linville@tuxdriver.com&gt;
</content>
</entry>
<entry>
<title>mac80211: implement sta_add/sta_remove in sta_state</title>
<updated>2012-02-06T19:48:25Z</updated>
<author>
<name>Johannes Berg</name>
</author>
<published>2012-01-20T12:55:22Z</published>
<link rel='alternate' type='text/html' href='https://git.0xinfinity.dev/distro/kernel.git/commit/?id=a4ec45a421b80bc36fd37578accf081f32527a7f'/>
<id>urn:sha1:a4ec45a421b80bc36fd37578accf081f32527a7f</id>
<content type='text'>
Instead of maintaining separate sta_add/sta_remove
callsites, implement it in sta_state when the driver
has no sta_state implementation.

The only behavioural change this should cause is in
secure mesh mode: with this the station entries will
only be created after the stations are set to AUTH.
Given which drivers support mesh, this seems to not
be a problem.

Signed-off-by: Johannes Berg &lt;johannes.berg@intel.com&gt;
Signed-off-by: John W. Linville &lt;linville@tuxdriver.com&gt;
</content>
</entry>
<entry>
<title>mac80211: add sta_state callback</title>
<updated>2012-02-06T19:48:24Z</updated>
<author>
<name>Johannes Berg</name>
</author>
<published>2012-01-20T12:55:21Z</published>
<link rel='alternate' type='text/html' href='https://git.0xinfinity.dev/distro/kernel.git/commit/?id=f09603a259ffef69ad4516a04eb06cd65ac522fe'/>
<id>urn:sha1:f09603a259ffef69ad4516a04eb06cd65ac522fe</id>
<content type='text'>
(based on Eliad's patch)

Add a callback to notify the low-level driver whenever
the state of a station changes. The driver is only
notified when the station is actually in the mac80211
hash table, not for pre-insert state transitions.

To allow the driver to replace sta_add/remove calls
with this, call extra transitions with the NOTEXIST
state.

This callback can fail, so we need to be careful in
handling it when a station is inserted, particularly
in the IBSS case where we still keep the station entry
around for mac80211 purposes.

Signed-off-by: Eliad Peller &lt;eliad@wizery.com&gt;
Signed-off-by: Johannes Berg &lt;johannes.berg@intel.com&gt;
Signed-off-by: John W. Linville &lt;linville@tuxdriver.com&gt;
</content>
</entry>
<entry>
<title>mac80211: simplify AP_VLAN handling</title>
<updated>2012-02-06T19:48:24Z</updated>
<author>
<name>Johannes Berg</name>
</author>
<published>2012-01-20T12:55:18Z</published>
<link rel='alternate' type='text/html' href='https://git.0xinfinity.dev/distro/kernel.git/commit/?id=077f49392819608084c6d8d20e3dcca230afe07d'/>
<id>urn:sha1:077f49392819608084c6d8d20e3dcca230afe07d</id>
<content type='text'>
Setting keys and updating TKIP keys must use the
BSS sdata (not AP_VLAN), so we translate. Move
the translation into driver-ops wrappers instead
of having it inline in the code to simplify the
normal code flow.

The same can be done for sta_add/remove which
already does the translation in the wrapper.

Signed-off-by: Johannes Berg &lt;johannes.berg@intel.com&gt;
Signed-off-by: John W. Linville &lt;linville@tuxdriver.com&gt;
</content>
</entry>
<entry>
<title>mac80211: verify virtual interfaces in driver API</title>
<updated>2011-11-09T21:01:02Z</updated>
<author>
<name>Johannes Berg</name>
</author>
<published>2011-11-03T13:41:13Z</published>
<link rel='alternate' type='text/html' href='https://git.0xinfinity.dev/distro/kernel.git/commit/?id=7b7eab6fc1bc8852d9649541b59283cd89cc526f'/>
<id>urn:sha1:7b7eab6fc1bc8852d9649541b59283cd89cc526f</id>
<content type='text'>
The driver is never informed about monitor or
AP_VLAN interfaces, so whenever we pass those
to it later this is a bug. Verify we don't as
there are some cases where this could happen.

Signed-off-by: Johannes Berg &lt;johannes.berg@intel.com&gt;
Signed-off-by: John W. Linville &lt;linville@tuxdriver.com&gt;
</content>
</entry>
<entry>
<title>mac80211: optimise station flags</title>
<updated>2011-09-30T19:57:19Z</updated>
<author>
<name>Johannes Berg</name>
</author>
<published>2011-09-29T14:04:36Z</published>
<link rel='alternate' type='text/html' href='https://git.0xinfinity.dev/distro/kernel.git/commit/?id=c2c98fdeb5c897499644eb247285c8e3dacc6450'/>
<id>urn:sha1:c2c98fdeb5c897499644eb247285c8e3dacc6450</id>
<content type='text'>
The flaglock in struct sta_info has long been
something that I wanted to get rid of, this
finally does the conversion to atomic bitops.

The conversion itself is straight-forward in
most places, a few things needed to change a
bit since we can no longer use multiple bits
at the same time.

On x86-64, this is a fairly significant code
size reduction:
   text	   data	    bss	    dec	    hex
 427861	  23648	   1008	 452517	  6e7a5	before
 425383	  23648	    976	 450007	  6ddd7	after

Signed-off-by: Johannes Berg &lt;johannes.berg@intel.com&gt;
Signed-off-by: John W. Linville &lt;linville@tuxdriver.com&gt;
</content>
</entry>
<entry>
<title>mac80211: be more careful in suspend/resume</title>
<updated>2011-07-15T17:39:42Z</updated>
<author>
<name>Johannes Berg</name>
</author>
<published>2011-07-14T14:48:54Z</published>
<link rel='alternate' type='text/html' href='https://git.0xinfinity.dev/distro/kernel.git/commit/?id=94f9b97be5b3bf67392e43fb7f567721b09142c2'/>
<id>urn:sha1:94f9b97be5b3bf67392e43fb7f567721b09142c2</id>
<content type='text'>
When suspending with all netdevs down, the device
is stopped but we still call a number of driver
callbacks that the driver might not expect. The
same happens during resume, we might call a few
callbacks without starting the driver. Fix this
by checking open_count around more things and
exiting quickly if it is 0.

Also, while at this I noticed that the coverage
class isn't reprogrammed after resume, so add
that.

Signed-off-by: Johannes Berg &lt;johannes.berg@intel.com&gt;
Signed-off-by: John W. Linville &lt;linville@tuxdriver.com&gt;
</content>
</entry>
</feed>
