<feed xmlns='http://www.w3.org/2005/Atom'>
<title>linux/net/mac80211, branch v3.4.5</title>
<subtitle>Linux kernel source tree</subtitle>
<id>https://git.amat.us/linux/atom/net/mac80211?h=v3.4.5</id>
<link rel='self' href='https://git.amat.us/linux/atom/net/mac80211?h=v3.4.5'/>
<link rel='alternate' type='text/html' href='https://git.amat.us/linux/'/>
<updated>2012-07-16T16:04:40Z</updated>
<entry>
<title>mac80211: fix queues stuck issue with HT bandwidth change</title>
<updated>2012-07-16T16:04:40Z</updated>
<author>
<name>Johannes Berg</name>
<email>johannes.berg@intel.com</email>
</author>
<published>2012-06-27T16:11:56Z</published>
<link rel='alternate' type='text/html' href='https://git.amat.us/linux/commit/?id=bf2370ff886b0059f574d78c7dfc9c1cb6fd38e0'/>
<id>urn:sha1:bf2370ff886b0059f574d78c7dfc9c1cb6fd38e0</id>
<content type='text'>
No upstream commit, the buggy code was removed in 3.5 in commit
7213cf2cb0dfbb4d6b55a1da000d34338f76c0e3 and others.

Rajkumar changed code for handling channel switching in
mac80211 to stop the queues in

  commit 7cc44ed48d0ec0937c1f098642540b6c9ca38de5
  Author: Rajkumar Manoharan &lt;rmanohar@qca.qualcomm.com&gt;
  Date:   Fri Sep 16 15:32:34 2011 +0530

      mac80211: Fix regression on queue stop during 2040 bss change

which went into 3.2. In the 3.4 cycle, Paul's change

  commit 3117bbdb7899d43927c8ce4fe885ab7c1231c121
  Author: Paul Stewart &lt;pstew@chromium.org&gt;
  Date:   Tue Mar 13 07:46:18 2012 -0700

      mac80211: Don't let regulatory make us deaf

went in and changed the TX/RX enable logic, but now
the conditions for stopping and restarting the queues
were different so that now, if the AP changes between
20/40 MHz bandwidth, it can happen that we stop but
never restart the queues. This breaks the connection
and the module actually has to be reloaded to get it
back to work.

Fix this by making sure the queues are always started
when they were stopped.

Reported-by: Florian Manschwetus &lt;manschwetus@googlemail.com&gt;
Signed-off-by: Johannes Berg &lt;johannes.berg@intel.com&gt;
Signed-off-by: Greg Kroah-Hartman &lt;gregkh@linuxfoundation.org&gt;
</content>
</entry>
<entry>
<title>mac80211: correct behaviour on unrecognised action frames</title>
<updated>2012-07-16T16:04:23Z</updated>
<author>
<name>Johannes Berg</name>
<email>johannes.berg@intel.com</email>
</author>
<published>2012-06-27T13:38:56Z</published>
<link rel='alternate' type='text/html' href='https://git.amat.us/linux/commit/?id=cec8fdaf9656e82c599729595baae99c2c2a78b7'/>
<id>urn:sha1:cec8fdaf9656e82c599729595baae99c2c2a78b7</id>
<content type='text'>
commit 4b5ebccc40843104d980f0714bc86bfcd5568941 upstream.

When receiving an "individually addressed" action frame, the
receiver is required to return it to the sender. mac80211
gets this wrong as it also returns group addressed (mcast)
frames to the sender. Fix this and update the reference to
the new 802.11 standards version since things were shuffled
around significantly.

Signed-off-by: Johannes Berg &lt;johannes.berg@intel.com&gt;
Signed-off-by: John W. Linville &lt;linville@tuxdriver.com&gt;
Signed-off-by: Greg Kroah-Hartman &lt;gregkh@linuxfoundation.org&gt;

</content>
</entry>
<entry>
<title>mac80211: clear ifmgd-&gt;bssid only after building DELBA</title>
<updated>2012-07-16T16:04:22Z</updated>
<author>
<name>Eliad Peller</name>
<email>eliad@wizery.com</email>
</author>
<published>2012-06-01T08:14:03Z</published>
<link rel='alternate' type='text/html' href='https://git.amat.us/linux/commit/?id=576f080b901d7258874a4632850ad94fc296911f'/>
<id>urn:sha1:576f080b901d7258874a4632850ad94fc296911f</id>
<content type='text'>
commit 88a9e31c506c00c8b7a2f1611406d0e38dcb33b3 upstream.

ieee80211_set_disassoc() clears ifmgd-&gt;bssid before
building DELBA frames, resulting in frames with invalid
bssid ("00:00:00:00:00:00").

Fix it by clearing ifmgd-&gt;bssid only after building
all the needed frames.

After this change, we no longer need to save the
bssid (before clearing it), so remove the local array.

Reported-by: Ido Yariv &lt;ido@wizery.com&gt;
Signed-off-by: Eliad Peller &lt;eliad@wizery.com&gt;
Signed-off-by: Johannes Berg &lt;johannes.berg@intel.com&gt;
Signed-off-by: Greg Kroah-Hartman &lt;gregkh@linuxfoundation.org&gt;

</content>
</entry>
<entry>
<title>mac80211: fix non RCU-safe sta_list manipulation</title>
<updated>2012-06-17T18:21:25Z</updated>
<author>
<name>Arik Nemtsov</name>
<email>arik@wizery.com</email>
</author>
<published>2012-06-03T20:32:32Z</published>
<link rel='alternate' type='text/html' href='https://git.amat.us/linux/commit/?id=073e100877a39f36163398cde868e98fa6d3f0a1'/>
<id>urn:sha1:073e100877a39f36163398cde868e98fa6d3f0a1</id>
<content type='text'>
commit 794454ce72a298de6f4536ade597bdcc7dcde7c7 upstream.

sta_info_cleanup locks the sta_list using rcu_read_lock however
the delete operation isn't rcu safe. A race between sta_info_cleanup
timer being called and a STA being removed can occur which leads
to a panic while traversing sta_list. Fix this by switching to the
RCU-safe versions.

Reported-by: Eyal Shapira &lt;eyal@wizery.com&gt;
Signed-off-by: Arik Nemtsov &lt;arik@wizery.com&gt;
Signed-off-by: John W. Linville &lt;linville@tuxdriver.com&gt;
Signed-off-by: Greg Kroah-Hartman &lt;gregkh@linuxfoundation.org&gt;

</content>
</entry>
<entry>
<title>mac80211: clean up remain-on-channel on interface stop</title>
<updated>2012-06-17T18:21:25Z</updated>
<author>
<name>Johannes Berg</name>
<email>johannes.berg@intel.com</email>
</author>
<published>2012-05-31T13:09:27Z</published>
<link rel='alternate' type='text/html' href='https://git.amat.us/linux/commit/?id=d4bb7f49f4d5ea7a287899178df55b4725bb32d2'/>
<id>urn:sha1:d4bb7f49f4d5ea7a287899178df55b4725bb32d2</id>
<content type='text'>
commit 71ecfa1893034eeb1c93e02e22ee2ad26d080858 upstream.

When any interface goes down, it could be the one that we
were doing a remain-on-channel with. We therefore need to
cancel the remain-on-channel and flush the related work
structs so they don't run after the interface has been
removed or even destroyed.

It's also possible in this case that an off-channel SKB
was never transmitted, so free it if this is the case.
Note that this can also happen if the driver finishes
the off-channel period without ever starting it.

Reported-by: Nirav Shah &lt;nirav.j2.shah@intel.com&gt;
Signed-off-by: Johannes Berg &lt;johannes.berg@intel.com&gt;
Signed-off-by: John W. Linville &lt;linville@tuxdriver.com&gt;
Signed-off-by: Greg Kroah-Hartman &lt;gregkh@linuxfoundation.org&gt;

</content>
</entry>
<entry>
<title>mac80211: fix error in station state transitions during reconfig</title>
<updated>2012-06-17T18:21:25Z</updated>
<author>
<name>Meenakshi Venkataraman</name>
<email>meenakshi.venkataraman@intel.com</email>
</author>
<published>2012-05-30T09:39:33Z</published>
<link rel='alternate' type='text/html' href='https://git.amat.us/linux/commit/?id=721632c39add11e5d5fa5dd8b956dcae63d02b17'/>
<id>urn:sha1:721632c39add11e5d5fa5dd8b956dcae63d02b17</id>
<content type='text'>
commit bd34ab62a3297bd7685da11b0cbe05ae4cd8b02c upstream.

As part of hardware reconfig mac80211 tries
to restore the station state to its values
before the hardware reconfig, but it only
goes to the last-state - 1. Fix this
off-by-one error.

Signed-off-by: Meenakshi Venkataraman &lt;meenakshi.venkataraman@intel.com&gt;
Reviewed-by: Emmanuel Grumbach &lt;emmanuel.grumbach@intel.com&gt;
Signed-off-by: Johannes Berg &lt;johannes.berg@intel.com&gt;
Signed-off-by: John W. Linville &lt;linville@tuxdriver.com&gt;
Signed-off-by: Greg Kroah-Hartman &lt;gregkh@linuxfoundation.org&gt;

</content>
</entry>
<entry>
<title>mac80211: fix ADDBA declined after suspend with wowlan</title>
<updated>2012-06-09T15:36:08Z</updated>
<author>
<name>Eyal Shapira</name>
<email>eyal@wizery.com</email>
</author>
<published>2012-05-29T09:00:22Z</published>
<link rel='alternate' type='text/html' href='https://git.amat.us/linux/commit/?id=74b31d2a64a49ce8dbf8620eba0a116a892d4d0b'/>
<id>urn:sha1:74b31d2a64a49ce8dbf8620eba0a116a892d4d0b</id>
<content type='text'>
commit 7b21aea04d084916ac4e0e8852dcc9cd60ec0d1d upstream.

WLAN_STA_BLOCK_BA is set while suspending but doesn't get cleared
when resuming in case of wowlan. This causes further ADDBA requests
received to be rejected. Fix it by clearing it in the wowlan path
as well.

Signed-off-by: Eyal Shapira &lt;eyal@wizery.com&gt;
Reviewed-by: Johannes Berg &lt;johannes@sipsolutions.net&gt;
Signed-off-by: John W. Linville &lt;linville@tuxdriver.com&gt;
Signed-off-by: Greg Kroah-Hartman &lt;gregkh@linuxfoundation.org&gt;

</content>
</entry>
<entry>
<title>mac80211: fix AP mode EAP tx for VLAN stations</title>
<updated>2012-04-30T18:40:05Z</updated>
<author>
<name>Felix Fietkau</name>
<email>nbd@openwrt.org</email>
</author>
<published>2012-04-29T13:44:16Z</published>
<link rel='alternate' type='text/html' href='https://git.amat.us/linux/commit/?id=66f2c99af3d6f2d0aa1120884cf1c60613ef61c0'/>
<id>urn:sha1:66f2c99af3d6f2d0aa1120884cf1c60613ef61c0</id>
<content type='text'>
EAP frames for stations in an AP VLAN are sent on the main AP interface
to avoid race conditions wrt. moving stations.
For that to work properly, sta_info_get_bss must be used instead of
sta_info_get when sending EAP packets.
Previously this was only done for cooked monitor injected packets, so
this patch adds a check for tx-&gt;skb-&gt;protocol to the same place.

Signed-off-by: Felix Fietkau &lt;nbd@openwrt.org&gt;
Cc: stable@vger.kernel.org
Signed-off-by: John W. Linville &lt;linville@tuxdriver.com&gt;
</content>
</entry>
<entry>
<title>mac80211: call ieee80211_mgd_stop() on interface stop</title>
<updated>2012-04-24T18:42:42Z</updated>
<author>
<name>Eliad Peller</name>
<email>eliad@wizery.com</email>
</author>
<published>2012-04-23T11:45:15Z</published>
<link rel='alternate' type='text/html' href='https://git.amat.us/linux/commit/?id=afa762f6871a8cb05fbef5d0f83fac14304aa816'/>
<id>urn:sha1:afa762f6871a8cb05fbef5d0f83fac14304aa816</id>
<content type='text'>
ieee80211_mgd_teardown() is called on netdev removal, which
occurs after the vif was already removed from the low-level
driver, resulting in the following warning:

[ 4809.014734] ------------[ cut here ]------------
[ 4809.019861] WARNING: at net/mac80211/driver-ops.h:12 ieee80211_bss_info_change_notify+0x200/0x2c8 [mac80211]()
[ 4809.030388] wlan0:  Failed check-sdata-in-driver check, flags: 0x4
[ 4809.036862] Modules linked in: wlcore_sdio(-) wl12xx wlcore mac80211 cfg80211 [last unloaded: cfg80211]
[ 4809.046849] [&lt;c001bd4c&gt;] (unwind_backtrace+0x0/0x12c)
[ 4809.055937] [&lt;c047cf1c&gt;] (dump_stack+0x20/0x24)
[ 4809.065385] [&lt;c003e334&gt;] (warn_slowpath_common+0x5c/0x74)
[ 4809.075589] [&lt;c003e408&gt;] (warn_slowpath_fmt+0x40/0x48)
[ 4809.088291] [&lt;bf033630&gt;] (ieee80211_bss_info_change_notify+0x200/0x2c8 [mac80211])
[ 4809.102844] [&lt;bf067f84&gt;] (ieee80211_destroy_auth_data+0x80/0xa4 [mac80211])
[ 4809.116276] [&lt;bf068004&gt;] (ieee80211_mgd_teardown+0x5c/0x74 [mac80211])
[ 4809.129331] [&lt;bf043f18&gt;] (ieee80211_teardown_sdata+0xb0/0xd8 [mac80211])
[ 4809.141595] [&lt;c03b5e58&gt;] (rollback_registered_many+0x228/0x2f0)
[ 4809.153056] [&lt;c03b5f48&gt;] (unregister_netdevice_many+0x28/0x50)
[ 4809.165696] [&lt;bf041ea8&gt;] (ieee80211_remove_interfaces+0xb4/0xdc [mac80211])
[ 4809.179151] [&lt;bf032174&gt;] (ieee80211_unregister_hw+0x50/0xf0 [mac80211])
[ 4809.191043] [&lt;bf0bebb4&gt;] (wlcore_remove+0x5c/0x7c [wlcore])
[ 4809.201491] [&lt;c02c6918&gt;] (platform_drv_remove+0x24/0x28)
[ 4809.212029] [&lt;c02c4d50&gt;] (__device_release_driver+0x8c/0xcc)
[ 4809.222738] [&lt;c02c4e84&gt;] (device_release_driver+0x30/0x3c)
[ 4809.233099] [&lt;c02c4258&gt;] (bus_remove_device+0x10c/0x128)
[ 4809.242620] [&lt;c02c26f8&gt;] (device_del+0x11c/0x17c)
[ 4809.252150] [&lt;c02c6de0&gt;] (platform_device_del+0x28/0x68)
[ 4809.263051] [&lt;bf0df49c&gt;] (wl1271_remove+0x3c/0x50 [wlcore_sdio])
[ 4809.273590] [&lt;c03806b0&gt;] (sdio_bus_remove+0x48/0xf8)
[ 4809.283754] [&lt;c02c4d50&gt;] (__device_release_driver+0x8c/0xcc)
[ 4809.293729] [&lt;c02c4e2c&gt;] (driver_detach+0x9c/0xc4)
[ 4809.303163] [&lt;c02c3d7c&gt;] (bus_remove_driver+0xc4/0xf4)
[ 4809.312973] [&lt;c02c5a98&gt;] (driver_unregister+0x70/0x7c)
[ 4809.323220] [&lt;c03809c4&gt;] (sdio_unregister_driver+0x24/0x2c)
[ 4809.334213] [&lt;bf0df458&gt;] (wl1271_exit+0x14/0x1c [wlcore_sdio])
[ 4809.344930] [&lt;c009b1a4&gt;] (sys_delete_module+0x228/0x2a8)
[ 4809.354734] ---[ end trace 515290ccf5feb522 ]---

Rename ieee80211_mgd_teardown() to ieee80211_mgd_stop(),
and call it on ieee80211_do_stop().

Signed-off-by: Eliad Peller &lt;eliad@wizery.com&gt;
Signed-off-by: John W. Linville &lt;linville@tuxdriver.com&gt;
</content>
</entry>
<entry>
<title>mac80211: fix logic error in ibss channel type check</title>
<updated>2012-04-17T18:17:04Z</updated>
<author>
<name>Felix Fietkau</name>
<email>nbd@openwrt.org</email>
</author>
<published>2012-04-16T20:10:42Z</published>
<link rel='alternate' type='text/html' href='https://git.amat.us/linux/commit/?id=6741e7f048dacc92e37c5d724ff5c64e45f6c2c9'/>
<id>urn:sha1:6741e7f048dacc92e37c5d724ff5c64e45f6c2c9</id>
<content type='text'>
The broken check leads to rate control attempting to use HT40 while
the driver is configured for HT20. This leads to interesting hardware
issues.

HT40 can only be used if the channel type is either HT40- or HT40+
and if the channel type of the cell matches the local type.

Signed-off-by: Felix Fietkau &lt;nbd@openwrt.org&gt;
Cc: stable@vger.kernel.org
Signed-off-by: John W. Linville &lt;linville@tuxdriver.com&gt;
</content>
</entry>
</feed>
