<feed xmlns='http://www.w3.org/2005/Atom'>
<title>linux.git/net/wireless/reg.c, branch v2.6.32</title>
<subtitle>Linux kernel source tree</subtitle>
<link rel='alternate' type='text/html' href='https://git.tavy.me/linux.git/'/>
<entry>
<title>trivial: remove duplicate "different" from comment</title>
<updated>2009-08-14T13:14:02+00:00</updated>
<author>
<name>Thadeu Lima de Souza Cascardo</name>
<email>cascardo@holoscopio.com</email>
</author>
<published>2009-08-11T14:18:42+00:00</published>
<link rel='alternate' type='text/html' href='https://git.tavy.me/linux.git/commit/?id=1fe90b033e04d7402b3deb392420fe2ff57986a5'/>
<id>1fe90b033e04d7402b3deb392420fe2ff57986a5</id>
<content type='text'>
Signed-off-by: Thadeu Lima de Souza Cascardo &lt;cascardo@holoscopio.com&gt;
Signed-off-by: John W. Linville &lt;linville@tuxdriver.com&gt;
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
Signed-off-by: Thadeu Lima de Souza Cascardo &lt;cascardo@holoscopio.com&gt;
Signed-off-by: John W. Linville &lt;linville@tuxdriver.com&gt;
</pre>
</div>
</content>
</entry>
<entry>
<title>mac80211: remove max_bandwidth</title>
<updated>2009-08-14T13:13:53+00:00</updated>
<author>
<name>Pat Erley</name>
<email>pat-lkml@erley.org</email>
</author>
<published>2009-08-08T21:53:19+00:00</published>
<link rel='alternate' type='text/html' href='https://git.tavy.me/linux.git/commit/?id=d5b96a6f39a8aaa7534069b3db71048df44f023b'/>
<id>d5b96a6f39a8aaa7534069b3db71048df44f023b</id>
<content type='text'>
This removes the max_bandwidth attribute.  It is only ever
written to, and is duplicated by max_bandwidth_khz in the
regulatory code.

Signed-off-by: Pat Erley &lt;pat-lkml@erley.org&gt;
Acked-by: Johannes Berg &lt;johannes@sipsolutions.net&gt;
Signed-off-by: John W. Linville &lt;linville@tuxdriver.com&gt;
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
This removes the max_bandwidth attribute.  It is only ever
written to, and is duplicated by max_bandwidth_khz in the
regulatory code.

Signed-off-by: Pat Erley &lt;pat-lkml@erley.org&gt;
Acked-by: Johannes Berg &lt;johannes@sipsolutions.net&gt;
Signed-off-by: John W. Linville &lt;linville@tuxdriver.com&gt;
</pre>
</div>
</content>
</entry>
<entry>
<title>Merge branch 'master' of master.kernel.org:/pub/scm/linux/kernel/git/davem/net-2.6</title>
<updated>2009-08-13T00:44:53+00:00</updated>
<author>
<name>David S. Miller</name>
<email>davem@davemloft.net</email>
</author>
<published>2009-08-13T00:44:53+00:00</published>
<link rel='alternate' type='text/html' href='https://git.tavy.me/linux.git/commit/?id=aa11d958d1a6572eda08214d7c6a735804fe48a5'/>
<id>aa11d958d1a6572eda08214d7c6a735804fe48a5</id>
<content type='text'>
Conflicts:
	arch/microblaze/include/asm/socket.h
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
Conflicts:
	arch/microblaze/include/asm/socket.h
</pre>
</div>
</content>
</entry>
<entry>
<title>cfg80211: enable country IE support to all cfg80211 drivers</title>
<updated>2009-08-04T20:44:19+00:00</updated>
<author>
<name>Luis R. Rodriguez</name>
<email>lrodriguez@atheros.com</email>
</author>
<published>2009-07-31T00:38:09+00:00</published>
<link rel='alternate' type='text/html' href='https://git.tavy.me/linux.git/commit/?id=8b19e6ca3bac7e04e93fb73f561d670e77c5fae6'/>
<id>8b19e6ca3bac7e04e93fb73f561d670e77c5fae6</id>
<content type='text'>
Since the bss is always set now once we are connected, if the
bss has its own information element we refer to it and pass that
instead of relying on mac80211's parsing.

Now all cfg80211 drivers get country IE support, automatically and
we reduce the call overhead that we had on mac80211 which called this
upon every beacon and instead now call this only upon a successfull
connection by a STA on cfg80211.

Acked-by: Johannes Berg &lt;johannes@sipsolutions.net&gt;
Signed-off-by: Luis R. Rodriguez &lt;lrodriguez@atheros.com&gt;
Signed-off-by: John W. Linville &lt;linville@tuxdriver.com&gt;
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
Since the bss is always set now once we are connected, if the
bss has its own information element we refer to it and pass that
instead of relying on mac80211's parsing.

Now all cfg80211 drivers get country IE support, automatically and
we reduce the call overhead that we had on mac80211 which called this
upon every beacon and instead now call this only upon a successfull
connection by a STA on cfg80211.

Acked-by: Johannes Berg &lt;johannes@sipsolutions.net&gt;
Signed-off-by: Luis R. Rodriguez &lt;lrodriguez@atheros.com&gt;
Signed-off-by: John W. Linville &lt;linville@tuxdriver.com&gt;
</pre>
</div>
</content>
</entry>
<entry>
<title>cfg80211: decouple regulatory variables from cfg80211_mutex</title>
<updated>2009-08-04T20:44:18+00:00</updated>
<author>
<name>Luis R. Rodriguez</name>
<email>lrodriguez@atheros.com</email>
</author>
<published>2009-07-31T00:38:08+00:00</published>
<link rel='alternate' type='text/html' href='https://git.tavy.me/linux.git/commit/?id=abc7381bcca6ce9dc101f112a13e14957bfbda7e'/>
<id>abc7381bcca6ce9dc101f112a13e14957bfbda7e</id>
<content type='text'>
We change regulatory code to be protected by its own regulatory
mutex and alleviate cfg80211_mutex to only be used to protect
cfg80211_rdev_list, the registered device list.

By doing this we will be able to work on regulatory core components
without having to have hog up the cfg80211_mutex. An example here is
we no longer need to use the cfg80211_mutex during driver specific
wiphy_apply_custom_regulatory(). We also no longer need it for the
the country IE regulatory hint; by doing so we end up curing this
new lockdep warning:

=======================================================
[ INFO: possible circular locking dependency detected ]
2.6.31-rc4-wl #12
-------------------------------------------------------
phy1/1709 is trying to acquire lock:
 (cfg80211_mutex){+.+.+.}, at: [&lt;ffffffffa00af852&gt;] regulatory_hint_11d+0x32/0x3f0 [cfg80211]

but task is already holding lock:
 (&amp;ifmgd-&gt;mtx){+.+.+.}, at: [&lt;ffffffffa0144228&gt;] ieee80211_sta_work+0x108/0x10f0 [mac80211]

which lock already depends on the new lock.

the existing dependency chain (in reverse order) is:

-&gt; #3 (&amp;ifmgd-&gt;mtx){+.+.+.}:
       [&lt;ffffffff810857b6&gt;] __lock_acquire+0xd76/0x12b0
       [&lt;ffffffff81085dd3&gt;] lock_acquire+0xe3/0x120
       [&lt;ffffffff814eeae4&gt;] mutex_lock_nested+0x44/0x350
       [&lt;ffffffffa0141bb8&gt;] ieee80211_mgd_auth+0x108/0x1f0 [mac80211]
       [&lt;ffffffffa0148563&gt;] ieee80211_auth+0x13/0x20 [mac80211]
       [&lt;ffffffffa00bc3a1&gt;] __cfg80211_mlme_auth+0x1b1/0x2a0 [cfg80211]
       [&lt;ffffffffa00bc516&gt;] cfg80211_mlme_auth+0x86/0xc0 [cfg80211]
       [&lt;ffffffffa00b368d&gt;] nl80211_authenticate+0x21d/0x230 [cfg80211]
       [&lt;ffffffff81416ba6&gt;] genl_rcv_msg+0x1b6/0x1f0
       [&lt;ffffffff81415c39&gt;] netlink_rcv_skb+0x89/0xb0
       [&lt;ffffffff814169d9&gt;] genl_rcv+0x29/0x40
       [&lt;ffffffff8141591d&gt;] netlink_unicast+0x29d/0x2b0
       [&lt;ffffffff81416514&gt;] netlink_sendmsg+0x214/0x300
       [&lt;ffffffff813e4407&gt;] sock_sendmsg+0x107/0x130
       [&lt;ffffffff813e45b9&gt;] sys_sendmsg+0x189/0x320
       [&lt;ffffffff81011f82&gt;] system_call_fastpath+0x16/0x1b
       [&lt;ffffffffffffffff&gt;] 0xffffffffffffffff

-&gt; #2 (&amp;wdev-&gt;mtx){+.+.+.}:
       [&lt;ffffffff810857b6&gt;] __lock_acquire+0xd76/0x12b0
       [&lt;ffffffff81085dd3&gt;] lock_acquire+0xe3/0x120
       [&lt;ffffffff814eeae4&gt;] mutex_lock_nested+0x44/0x350
       [&lt;ffffffffa00ab304&gt;] cfg80211_netdev_notifier_call+0x1a4/0x390 [cfg80211]
       [&lt;ffffffff814f3dff&gt;] notifier_call_chain+0x3f/0x80
       [&lt;ffffffff81075a91&gt;] raw_notifier_call_chain+0x11/0x20
       [&lt;ffffffff813f665a&gt;] dev_open+0x10a/0x120
       [&lt;ffffffff813f59bd&gt;] dev_change_flags+0x9d/0x1e0
       [&lt;ffffffff8144eb6e&gt;] devinet_ioctl+0x6fe/0x760
       [&lt;ffffffff81450204&gt;] inet_ioctl+0x94/0xc0
       [&lt;ffffffff813e25fa&gt;] sock_ioctl+0x6a/0x290
       [&lt;ffffffff8111e911&gt;] vfs_ioctl+0x31/0xa0
       [&lt;ffffffff8111ea9a&gt;] do_vfs_ioctl+0x8a/0x5c0
       [&lt;ffffffff8111f069&gt;] sys_ioctl+0x99/0xa0
       [&lt;ffffffff81011f82&gt;] system_call_fastpath+0x16/0x1b
       [&lt;ffffffffffffffff&gt;] 0xffffffffffffffff

-&gt; #1 (&amp;rdev-&gt;mtx){+.+.+.}:
       [&lt;ffffffff810857b6&gt;] __lock_acquire+0xd76/0x12b0
       [&lt;ffffffff81085dd3&gt;] lock_acquire+0xe3/0x120
       [&lt;ffffffff814eeae4&gt;] mutex_lock_nested+0x44/0x350
       [&lt;ffffffffa00ac4d0&gt;] cfg80211_get_dev_from_ifindex+0x60/0x90 [cfg80211]
       [&lt;ffffffffa00b21ff&gt;] get_rdev_dev_by_info_ifindex+0x6f/0xa0 [cfg80211]
       [&lt;ffffffffa00b51eb&gt;] nl80211_set_interface+0x3b/0x260 [cfg80211]
       [&lt;ffffffff81416ba6&gt;] genl_rcv_msg+0x1b6/0x1f0
       [&lt;ffffffff81415c39&gt;] netlink_rcv_skb+0x89/0xb0
       [&lt;ffffffff814169d9&gt;] genl_rcv+0x29/0x40
       [&lt;ffffffff8141591d&gt;] netlink_unicast+0x29d/0x2b0
       [&lt;ffffffff81416514&gt;] netlink_sendmsg+0x214/0x300
       [&lt;ffffffff813e4407&gt;] sock_sendmsg+0x107/0x130
       [&lt;ffffffff813e45b9&gt;] sys_sendmsg+0x189/0x320
       [&lt;ffffffff81011f82&gt;] system_call_fastpath+0x16/0x1b
       [&lt;ffffffffffffffff&gt;] 0xffffffffffffffff

other info that might help us debug this:

3 locks held by phy1/1709:
 #0:  ((wiphy_name(local-&gt;hw.wiphy))){+.+.+.}, at: [&lt;ffffffff8106b45d&gt;] worker_thread+0x19d/0x340
 #1:  (&amp;ifmgd-&gt;work){+.+.+.}, at: [&lt;ffffffff8106b45d&gt;] worker_thread+0x19d/0x340
 #2:  (&amp;ifmgd-&gt;mtx){+.+.+.}, at: [&lt;ffffffffa0144228&gt;] ieee80211_sta_work+0x108/0x10f0 [mac80211]

Reported-by: Reinette Chatre &lt;reinette.chatre@intel.com&gt;
Acked-by: Johannes Berg &lt;johannes@sipsolutions.net&gt;
Signed-off-by: Luis R. Rodriguez &lt;lrodriguez@atheros.com&gt;
Signed-off-by: John W. Linville &lt;linville@tuxdriver.com&gt;
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
We change regulatory code to be protected by its own regulatory
mutex and alleviate cfg80211_mutex to only be used to protect
cfg80211_rdev_list, the registered device list.

By doing this we will be able to work on regulatory core components
without having to have hog up the cfg80211_mutex. An example here is
we no longer need to use the cfg80211_mutex during driver specific
wiphy_apply_custom_regulatory(). We also no longer need it for the
the country IE regulatory hint; by doing so we end up curing this
new lockdep warning:

=======================================================
[ INFO: possible circular locking dependency detected ]
2.6.31-rc4-wl #12
-------------------------------------------------------
phy1/1709 is trying to acquire lock:
 (cfg80211_mutex){+.+.+.}, at: [&lt;ffffffffa00af852&gt;] regulatory_hint_11d+0x32/0x3f0 [cfg80211]

but task is already holding lock:
 (&amp;ifmgd-&gt;mtx){+.+.+.}, at: [&lt;ffffffffa0144228&gt;] ieee80211_sta_work+0x108/0x10f0 [mac80211]

which lock already depends on the new lock.

the existing dependency chain (in reverse order) is:

-&gt; #3 (&amp;ifmgd-&gt;mtx){+.+.+.}:
       [&lt;ffffffff810857b6&gt;] __lock_acquire+0xd76/0x12b0
       [&lt;ffffffff81085dd3&gt;] lock_acquire+0xe3/0x120
       [&lt;ffffffff814eeae4&gt;] mutex_lock_nested+0x44/0x350
       [&lt;ffffffffa0141bb8&gt;] ieee80211_mgd_auth+0x108/0x1f0 [mac80211]
       [&lt;ffffffffa0148563&gt;] ieee80211_auth+0x13/0x20 [mac80211]
       [&lt;ffffffffa00bc3a1&gt;] __cfg80211_mlme_auth+0x1b1/0x2a0 [cfg80211]
       [&lt;ffffffffa00bc516&gt;] cfg80211_mlme_auth+0x86/0xc0 [cfg80211]
       [&lt;ffffffffa00b368d&gt;] nl80211_authenticate+0x21d/0x230 [cfg80211]
       [&lt;ffffffff81416ba6&gt;] genl_rcv_msg+0x1b6/0x1f0
       [&lt;ffffffff81415c39&gt;] netlink_rcv_skb+0x89/0xb0
       [&lt;ffffffff814169d9&gt;] genl_rcv+0x29/0x40
       [&lt;ffffffff8141591d&gt;] netlink_unicast+0x29d/0x2b0
       [&lt;ffffffff81416514&gt;] netlink_sendmsg+0x214/0x300
       [&lt;ffffffff813e4407&gt;] sock_sendmsg+0x107/0x130
       [&lt;ffffffff813e45b9&gt;] sys_sendmsg+0x189/0x320
       [&lt;ffffffff81011f82&gt;] system_call_fastpath+0x16/0x1b
       [&lt;ffffffffffffffff&gt;] 0xffffffffffffffff

-&gt; #2 (&amp;wdev-&gt;mtx){+.+.+.}:
       [&lt;ffffffff810857b6&gt;] __lock_acquire+0xd76/0x12b0
       [&lt;ffffffff81085dd3&gt;] lock_acquire+0xe3/0x120
       [&lt;ffffffff814eeae4&gt;] mutex_lock_nested+0x44/0x350
       [&lt;ffffffffa00ab304&gt;] cfg80211_netdev_notifier_call+0x1a4/0x390 [cfg80211]
       [&lt;ffffffff814f3dff&gt;] notifier_call_chain+0x3f/0x80
       [&lt;ffffffff81075a91&gt;] raw_notifier_call_chain+0x11/0x20
       [&lt;ffffffff813f665a&gt;] dev_open+0x10a/0x120
       [&lt;ffffffff813f59bd&gt;] dev_change_flags+0x9d/0x1e0
       [&lt;ffffffff8144eb6e&gt;] devinet_ioctl+0x6fe/0x760
       [&lt;ffffffff81450204&gt;] inet_ioctl+0x94/0xc0
       [&lt;ffffffff813e25fa&gt;] sock_ioctl+0x6a/0x290
       [&lt;ffffffff8111e911&gt;] vfs_ioctl+0x31/0xa0
       [&lt;ffffffff8111ea9a&gt;] do_vfs_ioctl+0x8a/0x5c0
       [&lt;ffffffff8111f069&gt;] sys_ioctl+0x99/0xa0
       [&lt;ffffffff81011f82&gt;] system_call_fastpath+0x16/0x1b
       [&lt;ffffffffffffffff&gt;] 0xffffffffffffffff

-&gt; #1 (&amp;rdev-&gt;mtx){+.+.+.}:
       [&lt;ffffffff810857b6&gt;] __lock_acquire+0xd76/0x12b0
       [&lt;ffffffff81085dd3&gt;] lock_acquire+0xe3/0x120
       [&lt;ffffffff814eeae4&gt;] mutex_lock_nested+0x44/0x350
       [&lt;ffffffffa00ac4d0&gt;] cfg80211_get_dev_from_ifindex+0x60/0x90 [cfg80211]
       [&lt;ffffffffa00b21ff&gt;] get_rdev_dev_by_info_ifindex+0x6f/0xa0 [cfg80211]
       [&lt;ffffffffa00b51eb&gt;] nl80211_set_interface+0x3b/0x260 [cfg80211]
       [&lt;ffffffff81416ba6&gt;] genl_rcv_msg+0x1b6/0x1f0
       [&lt;ffffffff81415c39&gt;] netlink_rcv_skb+0x89/0xb0
       [&lt;ffffffff814169d9&gt;] genl_rcv+0x29/0x40
       [&lt;ffffffff8141591d&gt;] netlink_unicast+0x29d/0x2b0
       [&lt;ffffffff81416514&gt;] netlink_sendmsg+0x214/0x300
       [&lt;ffffffff813e4407&gt;] sock_sendmsg+0x107/0x130
       [&lt;ffffffff813e45b9&gt;] sys_sendmsg+0x189/0x320
       [&lt;ffffffff81011f82&gt;] system_call_fastpath+0x16/0x1b
       [&lt;ffffffffffffffff&gt;] 0xffffffffffffffff

other info that might help us debug this:

3 locks held by phy1/1709:
 #0:  ((wiphy_name(local-&gt;hw.wiphy))){+.+.+.}, at: [&lt;ffffffff8106b45d&gt;] worker_thread+0x19d/0x340
 #1:  (&amp;ifmgd-&gt;work){+.+.+.}, at: [&lt;ffffffff8106b45d&gt;] worker_thread+0x19d/0x340
 #2:  (&amp;ifmgd-&gt;mtx){+.+.+.}, at: [&lt;ffffffffa0144228&gt;] ieee80211_sta_work+0x108/0x10f0 [mac80211]

Reported-by: Reinette Chatre &lt;reinette.chatre@intel.com&gt;
Acked-by: Johannes Berg &lt;johannes@sipsolutions.net&gt;
Signed-off-by: Luis R. Rodriguez &lt;lrodriguez@atheros.com&gt;
Signed-off-by: John W. Linville &lt;linville@tuxdriver.com&gt;
</pre>
</div>
</content>
</entry>
<entry>
<title>cfg80211: do not iterate over rdev list on country IE hint</title>
<updated>2009-08-04T20:44:18+00:00</updated>
<author>
<name>Luis R. Rodriguez</name>
<email>lrodriguez@atheros.com</email>
</author>
<published>2009-07-31T00:38:07+00:00</published>
<link rel='alternate' type='text/html' href='https://git.tavy.me/linux.git/commit/?id=4b44c8bc4d077f1a7a9e5e946a1400c3cbcadee7'/>
<id>4b44c8bc4d077f1a7a9e5e946a1400c3cbcadee7</id>
<content type='text'>
Simplify the country IE hint code by just bailing out if
a previous country IE has been issued. We currently just trust
the first AP we connect to on any card. The idea was to perform
conflict resolution within this routine but since we can no longer
iterate over the registered device list here we leave conflict
resolution to be dealt with at a later time on the workqueue.

This code has no functional changes other than saving us an
interation over the registered device list when a second card
is connected, or you unplug and connect the same one, and a
country IE is received. This would have been done upon every
beacon received.

Signed-off-by: Luis R. Rodriguez &lt;lrodriguez@atheros.com&gt;
Signed-off-by: John W. Linville &lt;linville@tuxdriver.com&gt;
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
Simplify the country IE hint code by just bailing out if
a previous country IE has been issued. We currently just trust
the first AP we connect to on any card. The idea was to perform
conflict resolution within this routine but since we can no longer
iterate over the registered device list here we leave conflict
resolution to be dealt with at a later time on the workqueue.

This code has no functional changes other than saving us an
interation over the registered device list when a second card
is connected, or you unplug and connect the same one, and a
country IE is received. This would have been done upon every
beacon received.

Signed-off-by: Luis R. Rodriguez &lt;lrodriguez@atheros.com&gt;
Signed-off-by: John W. Linville &lt;linville@tuxdriver.com&gt;
</pre>
</div>
</content>
</entry>
<entry>
<title>cfg80211: use goto out on country IE reg hint failure</title>
<updated>2009-08-04T20:44:18+00:00</updated>
<author>
<name>Luis R. Rodriguez</name>
<email>lrodriguez@atheros.com</email>
</author>
<published>2009-07-31T00:38:06+00:00</published>
<link rel='alternate' type='text/html' href='https://git.tavy.me/linux.git/commit/?id=9828b0170eef541c3fa583caa0134dadbb1d3ea6'/>
<id>9828b0170eef541c3fa583caa0134dadbb1d3ea6</id>
<content type='text'>
This has no functional changes.

Acked-by: Johannes Berg &lt;johannes@sipsolutions.net&gt;
Signed-off-by: Luis R. Rodriguez &lt;lrodriguez@atheros.com&gt;
Signed-off-by: John W. Linville &lt;linville@tuxdriver.com&gt;
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
This has no functional changes.

Acked-by: Johannes Berg &lt;johannes@sipsolutions.net&gt;
Signed-off-by: Luis R. Rodriguez &lt;lrodriguez@atheros.com&gt;
Signed-off-by: John W. Linville &lt;linville@tuxdriver.com&gt;
</pre>
</div>
</content>
</entry>
<entry>
<title>cfg80211: fix regression on beacon world roaming feature</title>
<updated>2009-08-03T20:31:21+00:00</updated>
<author>
<name>Luis R. Rodriguez</name>
<email>lrodriguez@atheros.com</email>
</author>
<published>2009-07-31T00:43:48+00:00</published>
<link rel='alternate' type='text/html' href='https://git.tavy.me/linux.git/commit/?id=371842448c05b42d11a4be1c8e4e81d62ecc7534'/>
<id>371842448c05b42d11a4be1c8e4e81d62ecc7534</id>
<content type='text'>
A regression was added through patch a4ed90d6:

"cfg80211: respect API on orig_flags on channel for beacon hint"

We did indeed respect _orig flags but the intention was not clearly
stated in the commit log. This patch fixes firmware issues picked
up by iwlwifi when we lift passive scan of beaconing restrictions
on channels its EEPROM has been configured to always enable.

By doing so though we also disallowed beacon hints on devices
registering their wiphy with custom world regulatory domains
enabled, this happens to be currently ath5k, ath9k and ar9170.
The passive scan and beacon restrictions on those devices would
never be lifted even if we did find a beacon and the hardware did
support such enhancements when world roaming.

Since Johannes indicates iwlwifi firmware cannot be changed to
allow beacon hinting we set up a flag now to specifically allow
drivers to disable beacon hints for devices which cannot use them.

We enable the flag on iwlwifi to disable beacon hints and by default
enable it for all other drivers. It should be noted beacon hints lift
passive scan flags and beacon restrictions when we receive a beacon from
an AP on any 5 GHz non-DFS channels, and channels 12-14 on the 2.4 GHz
band. We don't bother with channels 1-11 as those channels are allowed
world wide.

This should fix world roaming for ath5k, ath9k and ar9170, thereby
improving scan time when we receive the first beacon from any AP,
and also enabling beaconing operation (AP/IBSS/Mesh) on cards which
would otherwise not be allowed to do so. Drivers not using custom
regulatory stuff (wiphy_apply_custom_regulatory()) were not affected
by this as the orig_flags for the channels would have been cleared
upon wiphy registration.

I tested this with a world roaming ath5k card.

Cc: Jouni Malinen &lt;jouni.malinen@atheros.com&gt;
Signed-off-by: Luis R. Rodriguez &lt;lrodriguez@atheros.com&gt;
Reviewed-by: Johannes Berg &lt;johannes@sipsolutions.net&gt;
Signed-off-by: John W. Linville &lt;linville@tuxdriver.com&gt;
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
A regression was added through patch a4ed90d6:

"cfg80211: respect API on orig_flags on channel for beacon hint"

We did indeed respect _orig flags but the intention was not clearly
stated in the commit log. This patch fixes firmware issues picked
up by iwlwifi when we lift passive scan of beaconing restrictions
on channels its EEPROM has been configured to always enable.

By doing so though we also disallowed beacon hints on devices
registering their wiphy with custom world regulatory domains
enabled, this happens to be currently ath5k, ath9k and ar9170.
The passive scan and beacon restrictions on those devices would
never be lifted even if we did find a beacon and the hardware did
support such enhancements when world roaming.

Since Johannes indicates iwlwifi firmware cannot be changed to
allow beacon hinting we set up a flag now to specifically allow
drivers to disable beacon hints for devices which cannot use them.

We enable the flag on iwlwifi to disable beacon hints and by default
enable it for all other drivers. It should be noted beacon hints lift
passive scan flags and beacon restrictions when we receive a beacon from
an AP on any 5 GHz non-DFS channels, and channels 12-14 on the 2.4 GHz
band. We don't bother with channels 1-11 as those channels are allowed
world wide.

This should fix world roaming for ath5k, ath9k and ar9170, thereby
improving scan time when we receive the first beacon from any AP,
and also enabling beaconing operation (AP/IBSS/Mesh) on cards which
would otherwise not be allowed to do so. Drivers not using custom
regulatory stuff (wiphy_apply_custom_regulatory()) were not affected
by this as the orig_flags for the channels would have been cleared
upon wiphy registration.

I tested this with a world roaming ath5k card.

Cc: Jouni Malinen &lt;jouni.malinen@atheros.com&gt;
Signed-off-by: Luis R. Rodriguez &lt;lrodriguez@atheros.com&gt;
Reviewed-by: Johannes Berg &lt;johannes@sipsolutions.net&gt;
Signed-off-by: John W. Linville &lt;linville@tuxdriver.com&gt;
</pre>
</div>
</content>
</entry>
<entry>
<title>cfg80211: treat ieee80211_regdom hints as user hints</title>
<updated>2009-07-24T19:05:19+00:00</updated>
<author>
<name>Luis R. Rodriguez</name>
<email>lrodriguez@atheros.com</email>
</author>
<published>2009-07-15T00:23:15+00:00</published>
<link rel='alternate' type='text/html' href='https://git.tavy.me/linux.git/commit/?id=ae9e4b0d1a43fd66da43918491834f9e5c1b6cca'/>
<id>ae9e4b0d1a43fd66da43918491834f9e5c1b6cca</id>
<content type='text'>
We were treating ieee80211_regdom module parameter hints
as core hints, this means we were not letting the user help
compliance further when using the module parameter. It also
meant that users with a device with a custom regulatory
domain set (wiphy-&gt;custom_regulatory) using this module
parameter were being stuck to the original default core
static regualtory domain. We fix this by using the static
cfg80211_regdomain alpha2 as the core hint and treating the
module parameter separately.

All iwlwifi and ath5k/ath9k/ar9170 devices which world roam
set the wiphy-&gt;custom_regulatory. This change allows users
using this module parameter to have it trated as a a proper
user hint and not have it ignored.

Signed-off-by: Luis R. Rodriguez &lt;lrodriguez@atheros.com&gt;
Acked-by: Johannes Berg &lt;johannes@sipsolutions.net&gt;
Signed-off-by: John W. Linville &lt;linville@tuxdriver.com&gt;
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
We were treating ieee80211_regdom module parameter hints
as core hints, this means we were not letting the user help
compliance further when using the module parameter. It also
meant that users with a device with a custom regulatory
domain set (wiphy-&gt;custom_regulatory) using this module
parameter were being stuck to the original default core
static regualtory domain. We fix this by using the static
cfg80211_regdomain alpha2 as the core hint and treating the
module parameter separately.

All iwlwifi and ath5k/ath9k/ar9170 devices which world roam
set the wiphy-&gt;custom_regulatory. This change allows users
using this module parameter to have it trated as a a proper
user hint and not have it ignored.

Signed-off-by: Luis R. Rodriguez &lt;lrodriguez@atheros.com&gt;
Acked-by: Johannes Berg &lt;johannes@sipsolutions.net&gt;
Signed-off-by: John W. Linville &lt;linville@tuxdriver.com&gt;
</pre>
</div>
</content>
</entry>
<entry>
<title>cfg80211: clean up naming once and for all</title>
<updated>2009-07-10T19:02:33+00:00</updated>
<author>
<name>Johannes Berg</name>
<email>johannes@sipsolutions.net</email>
</author>
<published>2009-07-07T01:56:12+00:00</published>
<link rel='alternate' type='text/html' href='https://git.tavy.me/linux.git/commit/?id=79c97e97aed7f760d2826c7daf2d42d8eefe9838'/>
<id>79c97e97aed7f760d2826c7daf2d42d8eefe9838</id>
<content type='text'>
We've named the registered devices 'drv' sometimes,
thinking of "driver", which is not what it is, it's
the internal representation of a wiphy, i.e. a
device. Let's clean up the naming once and and use
'rdev' aka 'registered device' everywhere.

Signed-off-by: Johannes Berg &lt;johannes@sipsolutions.net&gt;
Signed-off-by: John W. Linville &lt;linville@tuxdriver.com&gt;
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
We've named the registered devices 'drv' sometimes,
thinking of "driver", which is not what it is, it's
the internal representation of a wiphy, i.e. a
device. Let's clean up the naming once and and use
'rdev' aka 'registered device' everywhere.

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