<feed xmlns='http://www.w3.org/2005/Atom'>
<title>linux-toradex.git/net/mac80211/ht.c, branch v4.4.158</title>
<subtitle>Linux kernel for Apalis and Colibri modules</subtitle>
<link rel='alternate' type='text/html' href='https://git.toradex.cn/cgit/linux-toradex.git/'/>
<entry>
<title>mac80211: add VHT support for IBSS</title>
<updated>2015-03-30T08:48:26+00:00</updated>
<author>
<name>Janusz.Dziedzic@tieto.com</name>
<email>Janusz.Dziedzic@tieto.com</email>
</author>
<published>2015-03-20T05:37:01+00:00</published>
<link rel='alternate' type='text/html' href='https://git.toradex.cn/cgit/linux-toradex.git/commit/?id=abcff6ef01f9ffa6958e50457574132f8f786308'/>
<id>abcff6ef01f9ffa6958e50457574132f8f786308</id>
<content type='text'>
Add VHT support for IBSS. Drivers could activate
this feature by setting NL80211_EXT_FEATURE_VHT_IBSS
flag.

Signed-off-by: Janusz Dziedzic &lt;janusz.dziedzic@tieto.com&gt;
Signed-off-by: Johannes Berg &lt;johannes.berg@intel.com&gt;
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
Add VHT support for IBSS. Drivers could activate
this feature by setting NL80211_EXT_FEATURE_VHT_IBSS
flag.

Signed-off-by: Janusz Dziedzic &lt;janusz.dziedzic@tieto.com&gt;
Signed-off-by: Johannes Berg &lt;johannes.berg@intel.com&gt;
</pre>
</div>
</content>
</entry>
<entry>
<title>mac80211: set Rx highest rate in ht_cap</title>
<updated>2014-07-21T10:14:04+00:00</updated>
<author>
<name>Arik Nemtsov</name>
<email>arik@wizery.com</email>
</author>
<published>2014-07-17T14:14:27+00:00</published>
<link rel='alternate' type='text/html' href='https://git.toradex.cn/cgit/linux-toradex.git/commit/?id=dc5943d54092467b7b56ff6adaeb63165f692fa2'/>
<id>dc5943d54092467b7b56ff6adaeb63165f692fa2</id>
<content type='text'>
Set for completeness mostly, currently unused in the code.

Signed-off-by: Arik Nemtsov &lt;arikx.nemtsov@intel.com&gt;
Reviewed-by: Emmanuel Grumbach &lt;emmanuel.grumbach@intel.com&gt;
Signed-off-by: Johannes Berg &lt;johannes.berg@intel.com&gt;
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
Set for completeness mostly, currently unused in the code.

Signed-off-by: Arik Nemtsov &lt;arikx.nemtsov@intel.com&gt;
Reviewed-by: Emmanuel Grumbach &lt;emmanuel.grumbach@intel.com&gt;
Signed-off-by: Johannes Berg &lt;johannes.berg@intel.com&gt;
</pre>
</div>
</content>
</entry>
<entry>
<title>mac80211: support HT for TDLS stations</title>
<updated>2014-07-21T10:14:04+00:00</updated>
<author>
<name>Arik Nemtsov</name>
<email>arik@wizery.com</email>
</author>
<published>2014-07-17T14:14:26+00:00</published>
<link rel='alternate' type='text/html' href='https://git.toradex.cn/cgit/linux-toradex.git/commit/?id=13cc8a4a1d24ff1f3b8b6de16779ef925371b18b'/>
<id>13cc8a4a1d24ff1f3b8b6de16779ef925371b18b</id>
<content type='text'>
Add the HT capabilities and HT operation information elements to TDLS
setup packets where appropriate.

Signed-off-by: Arik Nemtsov &lt;arikx.nemtsov@intel.com&gt;
Reviewed-by: Emmanuel Grumbach &lt;emmanuel.grumbach@intel.com&gt;
Signed-off-by: Johannes Berg &lt;johannes.berg@intel.com&gt;
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
Add the HT capabilities and HT operation information elements to TDLS
setup packets where appropriate.

Signed-off-by: Arik Nemtsov &lt;arikx.nemtsov@intel.com&gt;
Reviewed-by: Emmanuel Grumbach &lt;emmanuel.grumbach@intel.com&gt;
Signed-off-by: Johannes Berg &lt;johannes.berg@intel.com&gt;
</pre>
</div>
</content>
</entry>
<entry>
<title>mac80211: Allow HT capa override to add 40 MHz intolerant</title>
<updated>2014-04-22T15:23:19+00:00</updated>
<author>
<name>Jouni Malinen</name>
<email>jouni@qca.qualcomm.com</email>
</author>
<published>2014-04-15T16:13:56+00:00</published>
<link rel='alternate' type='text/html' href='https://git.toradex.cn/cgit/linux-toradex.git/commit/?id=9a07bf507dfc5402e63d96596341f2a15e4142c7'/>
<id>9a07bf507dfc5402e63d96596341f2a15e4142c7</id>
<content type='text'>
This can be useful for testing purposes to confirm valid AP behavior on
HT 20/40 co-existence functionality.

Signed-off-by: Jouni Malinen &lt;jouni@qca.qualcomm.com&gt;
Signed-off-by: Johannes Berg &lt;johannes.berg@intel.com&gt;
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
This can be useful for testing purposes to confirm valid AP behavior on
HT 20/40 co-existence functionality.

Signed-off-by: Jouni Malinen &lt;jouni@qca.qualcomm.com&gt;
Signed-off-by: Johannes Berg &lt;johannes.berg@intel.com&gt;
</pre>
</div>
</content>
</entry>
<entry>
<title>mac80211: Allow disabling LDPC</title>
<updated>2014-04-09T08:56:00+00:00</updated>
<author>
<name>Pawel Kulakowski</name>
<email>pawel.kulakowski@tieto.com</email>
</author>
<published>2014-04-01T05:13:21+00:00</published>
<link rel='alternate' type='text/html' href='https://git.toradex.cn/cgit/linux-toradex.git/commit/?id=a2e7495d639baeb4692ae80539963cf35dbcb467'/>
<id>a2e7495d639baeb4692ae80539963cf35dbcb467</id>
<content type='text'>
This allows user-space (wpa_supplicant) to disable LDPC coding.

Signed-off-by: Pawel Kulakowski &lt;pawel.kulakowski@tieto.com&gt;
Signed-off-by: Johannes Berg &lt;johannes.berg@intel.com&gt;
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
This allows user-space (wpa_supplicant) to disable LDPC coding.

Signed-off-by: Pawel Kulakowski &lt;pawel.kulakowski@tieto.com&gt;
Signed-off-by: Johannes Berg &lt;johannes.berg@intel.com&gt;
</pre>
</div>
</content>
</entry>
<entry>
<title>mac80211: allow drivers to request SMPS off</title>
<updated>2014-02-21T08:28:52+00:00</updated>
<author>
<name>Luciano Coelho</name>
<email>luciano.coelho@intel.com</email>
</author>
<published>2014-02-20T14:41:51+00:00</published>
<link rel='alternate' type='text/html' href='https://git.toradex.cn/cgit/linux-toradex.git/commit/?id=30f55dc171a32d60e3753c9e0a3cf33a4d6c4610'/>
<id>30f55dc171a32d60e3753c9e0a3cf33a4d6c4610</id>
<content type='text'>
Previously we were warning and using automatic when a driver sent an
update request with SMPS off.  This patch makes it possible for
drivers to disable SMPS at runtime, for whatever reason.

Signed-off-by: Luciano Coelho &lt;luciano.coelho@intel.com&gt;
Signed-off-by: Johannes Berg &lt;johannes.berg@intel.com&gt;
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
Previously we were warning and using automatic when a driver sent an
update request with SMPS off.  This patch makes it possible for
drivers to disable SMPS at runtime, for whatever reason.

Signed-off-by: Luciano Coelho &lt;luciano.coelho@intel.com&gt;
Signed-off-by: Johannes Berg &lt;johannes.berg@intel.com&gt;
</pre>
</div>
</content>
</entry>
<entry>
<title>Merge branch 'master' of git://git.kernel.org/pub/scm/linux/kernel/git/linville/wireless</title>
<updated>2014-02-13T19:43:02+00:00</updated>
<author>
<name>John W. Linville</name>
<email>linville@tuxdriver.com</email>
</author>
<published>2014-02-13T19:43:02+00:00</published>
<link rel='alternate' type='text/html' href='https://git.toradex.cn/cgit/linux-toradex.git/commit/?id=0e028ab0fb2da47fd235dafd4159859892e73d08'/>
<id>0e028ab0fb2da47fd235dafd4159859892e73d08</id>
<content type='text'>
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
</pre>
</div>
</content>
</entry>
<entry>
<title>mac80211: avoid deadlock revealed by lockdep</title>
<updated>2014-02-06T08:55:18+00:00</updated>
<author>
<name>Emmanuel Grumbach</name>
<email>emmanuel.grumbach@intel.com</email>
</author>
<published>2014-01-23T12:28:16+00:00</published>
<link rel='alternate' type='text/html' href='https://git.toradex.cn/cgit/linux-toradex.git/commit/?id=8ffcc704c963b4157391bd87a4544cdfd18b574d'/>
<id>8ffcc704c963b4157391bd87a4544cdfd18b574d</id>
<content type='text'>
sdata-&gt;u.ap.request_smps_work can’t be flushed synchronously
under wdev_lock(wdev) since ieee80211_request_smps_ap_work
itself locks the same lock.
While at it, reset the driver_smps_mode when the ap is
stopped to its default: OFF.

This solves:

======================================================
[ INFO: possible circular locking dependency detected ]
3.12.0-ipeer+ #2 Tainted: G           O
-------------------------------------------------------
rmmod/2867 is trying to acquire lock:
  ((&amp;sdata-&gt;u.ap.request_smps_work)){+.+...}, at: [&lt;c105b8d0&gt;] flush_work+0x0/0x90

but task is already holding lock:
  (&amp;wdev-&gt;mtx){+.+.+.}, at: [&lt;f9b32626&gt;] cfg80211_stop_ap+0x26/0x230 [cfg80211]

which lock already depends on the new lock.

the existing dependency chain (in reverse order) is:

-&gt; #1 (&amp;wdev-&gt;mtx){+.+.+.}:
        [&lt;c10aefa9&gt;] lock_acquire+0x79/0xe0
        [&lt;c1607a1a&gt;] mutex_lock_nested+0x4a/0x360
        [&lt;fb06288b&gt;] ieee80211_request_smps_ap_work+0x2b/0x50 [mac80211]
        [&lt;c105cdd8&gt;] process_one_work+0x198/0x450
        [&lt;c105d469&gt;] worker_thread+0xf9/0x320
        [&lt;c10669ff&gt;] kthread+0x9f/0xb0
        [&lt;c1613397&gt;] ret_from_kernel_thread+0x1b/0x28

-&gt; #0 ((&amp;sdata-&gt;u.ap.request_smps_work)){+.+...}:
        [&lt;c10ae9df&gt;] __lock_acquire+0x183f/0x1910
        [&lt;c10aefa9&gt;] lock_acquire+0x79/0xe0
        [&lt;c105b917&gt;] flush_work+0x47/0x90
        [&lt;c105d867&gt;] __cancel_work_timer+0x67/0xe0
        [&lt;c105d90f&gt;] cancel_work_sync+0xf/0x20
        [&lt;fb0765cc&gt;] ieee80211_stop_ap+0x8c/0x340 [mac80211]
        [&lt;f9b3268c&gt;] cfg80211_stop_ap+0x8c/0x230 [cfg80211]
        [&lt;f9b0d8f9&gt;] cfg80211_leave+0x79/0x100 [cfg80211]
        [&lt;f9b0da72&gt;] cfg80211_netdev_notifier_call+0xf2/0x4f0 [cfg80211]
        [&lt;c160f2c9&gt;] notifier_call_chain+0x59/0x130
        [&lt;c106c6de&gt;] __raw_notifier_call_chain+0x1e/0x30
        [&lt;c106c70f&gt;] raw_notifier_call_chain+0x1f/0x30
        [&lt;c14f8213&gt;] call_netdevice_notifiers_info+0x33/0x70
        [&lt;c14f8263&gt;] call_netdevice_notifiers+0x13/0x20
        [&lt;c14f82a4&gt;] __dev_close_many+0x34/0xb0
        [&lt;c14f83fe&gt;] dev_close_many+0x6e/0xc0
        [&lt;c14f9c77&gt;] rollback_registered_many+0xa7/0x1f0
        [&lt;c14f9dd4&gt;] unregister_netdevice_many+0x14/0x60
        [&lt;fb06f4d9&gt;] ieee80211_remove_interfaces+0xe9/0x170 [mac80211]
        [&lt;fb055116&gt;] ieee80211_unregister_hw+0x56/0x110 [mac80211]
        [&lt;fa3e9396&gt;] iwl_op_mode_mvm_stop+0x26/0xe0 [iwlmvm]
        [&lt;f9b9d8ca&gt;] _iwl_op_mode_stop+0x3a/0x70 [iwlwifi]
        [&lt;f9b9d96f&gt;] iwl_opmode_deregister+0x6f/0x90 [iwlwifi]
        [&lt;fa405179&gt;] __exit_compat+0xd/0x19 [iwlmvm]
        [&lt;c10b8bf9&gt;] SyS_delete_module+0x179/0x2b0
        [&lt;c1613421&gt;] sysenter_do_call+0x12/0x32

Fixes: 687da132234f ("mac80211: implement SMPS for AP")
Cc: &lt;stable@vger.kernel.org&gt; [3.13]
Reported-by: Ilan Peer &lt;ilan.peer@intel.com&gt;
Signed-off-by: Emmanuel Grumbach &lt;emmanuel.grumbach@intel.com&gt;
Signed-off-by: Johannes Berg &lt;johannes.berg@intel.com&gt;
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
sdata-&gt;u.ap.request_smps_work can’t be flushed synchronously
under wdev_lock(wdev) since ieee80211_request_smps_ap_work
itself locks the same lock.
While at it, reset the driver_smps_mode when the ap is
stopped to its default: OFF.

This solves:

======================================================
[ INFO: possible circular locking dependency detected ]
3.12.0-ipeer+ #2 Tainted: G           O
-------------------------------------------------------
rmmod/2867 is trying to acquire lock:
  ((&amp;sdata-&gt;u.ap.request_smps_work)){+.+...}, at: [&lt;c105b8d0&gt;] flush_work+0x0/0x90

but task is already holding lock:
  (&amp;wdev-&gt;mtx){+.+.+.}, at: [&lt;f9b32626&gt;] cfg80211_stop_ap+0x26/0x230 [cfg80211]

which lock already depends on the new lock.

the existing dependency chain (in reverse order) is:

-&gt; #1 (&amp;wdev-&gt;mtx){+.+.+.}:
        [&lt;c10aefa9&gt;] lock_acquire+0x79/0xe0
        [&lt;c1607a1a&gt;] mutex_lock_nested+0x4a/0x360
        [&lt;fb06288b&gt;] ieee80211_request_smps_ap_work+0x2b/0x50 [mac80211]
        [&lt;c105cdd8&gt;] process_one_work+0x198/0x450
        [&lt;c105d469&gt;] worker_thread+0xf9/0x320
        [&lt;c10669ff&gt;] kthread+0x9f/0xb0
        [&lt;c1613397&gt;] ret_from_kernel_thread+0x1b/0x28

-&gt; #0 ((&amp;sdata-&gt;u.ap.request_smps_work)){+.+...}:
        [&lt;c10ae9df&gt;] __lock_acquire+0x183f/0x1910
        [&lt;c10aefa9&gt;] lock_acquire+0x79/0xe0
        [&lt;c105b917&gt;] flush_work+0x47/0x90
        [&lt;c105d867&gt;] __cancel_work_timer+0x67/0xe0
        [&lt;c105d90f&gt;] cancel_work_sync+0xf/0x20
        [&lt;fb0765cc&gt;] ieee80211_stop_ap+0x8c/0x340 [mac80211]
        [&lt;f9b3268c&gt;] cfg80211_stop_ap+0x8c/0x230 [cfg80211]
        [&lt;f9b0d8f9&gt;] cfg80211_leave+0x79/0x100 [cfg80211]
        [&lt;f9b0da72&gt;] cfg80211_netdev_notifier_call+0xf2/0x4f0 [cfg80211]
        [&lt;c160f2c9&gt;] notifier_call_chain+0x59/0x130
        [&lt;c106c6de&gt;] __raw_notifier_call_chain+0x1e/0x30
        [&lt;c106c70f&gt;] raw_notifier_call_chain+0x1f/0x30
        [&lt;c14f8213&gt;] call_netdevice_notifiers_info+0x33/0x70
        [&lt;c14f8263&gt;] call_netdevice_notifiers+0x13/0x20
        [&lt;c14f82a4&gt;] __dev_close_many+0x34/0xb0
        [&lt;c14f83fe&gt;] dev_close_many+0x6e/0xc0
        [&lt;c14f9c77&gt;] rollback_registered_many+0xa7/0x1f0
        [&lt;c14f9dd4&gt;] unregister_netdevice_many+0x14/0x60
        [&lt;fb06f4d9&gt;] ieee80211_remove_interfaces+0xe9/0x170 [mac80211]
        [&lt;fb055116&gt;] ieee80211_unregister_hw+0x56/0x110 [mac80211]
        [&lt;fa3e9396&gt;] iwl_op_mode_mvm_stop+0x26/0xe0 [iwlmvm]
        [&lt;f9b9d8ca&gt;] _iwl_op_mode_stop+0x3a/0x70 [iwlwifi]
        [&lt;f9b9d96f&gt;] iwl_opmode_deregister+0x6f/0x90 [iwlwifi]
        [&lt;fa405179&gt;] __exit_compat+0xd/0x19 [iwlmvm]
        [&lt;c10b8bf9&gt;] SyS_delete_module+0x179/0x2b0
        [&lt;c1613421&gt;] sysenter_do_call+0x12/0x32

Fixes: 687da132234f ("mac80211: implement SMPS for AP")
Cc: &lt;stable@vger.kernel.org&gt; [3.13]
Reported-by: Ilan Peer &lt;ilan.peer@intel.com&gt;
Signed-off-by: Emmanuel Grumbach &lt;emmanuel.grumbach@intel.com&gt;
Signed-off-by: Johannes Berg &lt;johannes.berg@intel.com&gt;
</pre>
</div>
</content>
</entry>
<entry>
<title>mac80211: send {ADD,DEL}BA on AC_VO like other mgmt frames, as per spec</title>
<updated>2014-02-04T20:48:28+00:00</updated>
<author>
<name>Karl Beldan</name>
<email>karl.beldan@rivierawaves.com</email>
</author>
<published>2014-01-23T19:06:34+00:00</published>
<link rel='alternate' type='text/html' href='https://git.toradex.cn/cgit/linux-toradex.git/commit/?id=c6e133277bcf05597ad32f2699b928b284138d59'/>
<id>c6e133277bcf05597ad32f2699b928b284138d59</id>
<content type='text'>
ATM, {ADD,DEL}BA and BAR frames are sent on the AC matching the TID of
the BA parameters. In the discussion [1] about this patch, Johannes
recalled that it fixed some races with the DELBA and indeed this
behavior was introduced in [2].
While [2] is right for the BARs, the part queueing the {ADD,DEL}BAs on
their BA params TID AC violates the spec and is more a workaround for
some drivers. Helmut expressed some concerns wrt such drivers, in
particular DELBAs in rt2x00.

ATM, DELBAs are sent after a driver has called (hence "purposely")
ieee80211_start_tx_ba_cb_irqsafe and Johannes and Emmanuel gave some
details wrt intentions behind the split of the IEEE80211_AMPDU_TX_STOP_*
given to the driver ampdu_action supposed to call this function, which
could prove handy to people trying to do the right thing in faulty
drivers (if their fw/hw don't get in their way).

[1] http://mid.gmane.org/1390391564-18481-1-git-send-email-karl.beldan@gmail.com
[2] Commit: cf6bb79ad828 ("mac80211: Use appropriate TID for sending BAR, ADDBA and DELBA frames")

Signed-off-by: Karl Beldan &lt;karl.beldan@rivierawaves.com&gt;
Cc: Helmut Schaa &lt;helmut.schaa@googlemail.com&gt;
Cc: Emmanuel Grumbach &lt;emmanuel.grumbach@intel.com&gt;
Signed-off-by: Johannes Berg &lt;johannes.berg@intel.com&gt;
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
ATM, {ADD,DEL}BA and BAR frames are sent on the AC matching the TID of
the BA parameters. In the discussion [1] about this patch, Johannes
recalled that it fixed some races with the DELBA and indeed this
behavior was introduced in [2].
While [2] is right for the BARs, the part queueing the {ADD,DEL}BAs on
their BA params TID AC violates the spec and is more a workaround for
some drivers. Helmut expressed some concerns wrt such drivers, in
particular DELBAs in rt2x00.

ATM, DELBAs are sent after a driver has called (hence "purposely")
ieee80211_start_tx_ba_cb_irqsafe and Johannes and Emmanuel gave some
details wrt intentions behind the split of the IEEE80211_AMPDU_TX_STOP_*
given to the driver ampdu_action supposed to call this function, which
could prove handy to people trying to do the right thing in faulty
drivers (if their fw/hw don't get in their way).

[1] http://mid.gmane.org/1390391564-18481-1-git-send-email-karl.beldan@gmail.com
[2] Commit: cf6bb79ad828 ("mac80211: Use appropriate TID for sending BAR, ADDBA and DELBA frames")

Signed-off-by: Karl Beldan &lt;karl.beldan@rivierawaves.com&gt;
Cc: Helmut Schaa &lt;helmut.schaa@googlemail.com&gt;
Cc: Emmanuel Grumbach &lt;emmanuel.grumbach@intel.com&gt;
Signed-off-by: Johannes Berg &lt;johannes.berg@intel.com&gt;
</pre>
</div>
</content>
</entry>
<entry>
<title>mac80211: allow to set smps mode to OFF in AP mode</title>
<updated>2014-01-07T15:25:49+00:00</updated>
<author>
<name>Emmanuel Grumbach</name>
<email>emmanuel.grumbach@intel.com</email>
</author>
<published>2014-01-07T11:11:41+00:00</published>
<link rel='alternate' type='text/html' href='https://git.toradex.cn/cgit/linux-toradex.git/commit/?id=349b196044d38a3bf5be2b4dd2fe28ca2f12a258'/>
<id>349b196044d38a3bf5be2b4dd2fe28ca2f12a258</id>
<content type='text'>
In managed mode, we should not ask for OFF mode because the
power settings may still require DYNAMIC. In AP mode, this
should be allowed since the default settings is OFF and
AUTOMATIC is not allowed.

Signed-off-by: Emmanuel Grumbach &lt;emmanuel.grumbach@intel.com&gt;
Signed-off-by: Johannes Berg &lt;johannes.berg@intel.com&gt;
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
In managed mode, we should not ask for OFF mode because the
power settings may still require DYNAMIC. In AP mode, this
should be allowed since the default settings is OFF and
AUTOMATIC is not allowed.

Signed-off-by: Emmanuel Grumbach &lt;emmanuel.grumbach@intel.com&gt;
Signed-off-by: Johannes Berg &lt;johannes.berg@intel.com&gt;
</pre>
</div>
</content>
</entry>
</feed>
