<feed xmlns='http://www.w3.org/2005/Atom'>
<title>linux.git/net/wireless/core.c, branch v2.6.38</title>
<subtitle>Linux kernel source tree</subtitle>
<link rel='alternate' type='text/html' href='https://git.tavy.me/linux.git/'/>
<entry>
<title>mac80211: Let userspace enable and configure vendor specific path selection.</title>
<updated>2010-12-20T19:46:57+00:00</updated>
<author>
<name>Javier Cardona</name>
<email>javier@cozybit.com</email>
</author>
<published>2010-12-17T01:37:49+00:00</published>
<link rel='alternate' type='text/html' href='https://git.tavy.me/linux.git/commit/?id=c80d545da3f7c0e534ccd4a780f322f80a92cff1'/>
<id>c80d545da3f7c0e534ccd4a780f322f80a92cff1</id>
<content type='text'>
Userspace will now be allowed to toggle between the default path
selection algorithm (HWMP, implemented in the kernel), and a vendor
specific alternative.  Also in the same patch, allow userspace to add
information elements to mesh beacons.  This is accordance with the
Extensible Path Selection Framework specified in version 7.0 of the
802.11s draft.

Signed-off-by: Javier Cardona &lt;javier@cozybit.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>
Userspace will now be allowed to toggle between the default path
selection algorithm (HWMP, implemented in the kernel), and a vendor
specific alternative.  Also in the same patch, allow userspace to add
information elements to mesh beacons.  This is accordance with the
Extensible Path Selection Framework specified in version 7.0 of the
802.11s draft.

Signed-off-by: Javier Cardona &lt;javier@cozybit.com&gt;
Signed-off-by: John W. Linville &lt;linville@tuxdriver.com&gt;
</pre>
</div>
</content>
</entry>
<entry>
<title>cfg80211/mac80211: add mesh join/leave commands</title>
<updated>2010-12-06T21:01:29+00:00</updated>
<author>
<name>Johannes Berg</name>
<email>johannes.berg@intel.com</email>
</author>
<published>2010-12-03T08:20:44+00:00</published>
<link rel='alternate' type='text/html' href='https://git.tavy.me/linux.git/commit/?id=29cbe68c516a48a9a88b3226878570c6cbd83c02'/>
<id>29cbe68c516a48a9a88b3226878570c6cbd83c02</id>
<content type='text'>
Instead of tying mesh activity to interface up,
add join and leave commands for mesh. Since we
must be backward compatible, let cfg80211 handle
joining a mesh if a mesh ID was pre-configured
when the device goes up.

Note that this therefore must modify mac80211 as
well since mac80211 needs to lose the logic to
start the mesh on interface up.

We now allow querying mesh parameters before the
mesh is connected, which simply returns defaults.
Setting them (internally renamed to "update") is
only allowed while connected. Specify them with
the new mesh join command instead where needed.

In mac80211, beaconing must now also follow the
mesh enabled/not enabled state, which is done
by testing the mesh ID.

Signed-off-by: Javier Cardona &lt;javier@cozybit.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>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
Instead of tying mesh activity to interface up,
add join and leave commands for mesh. Since we
must be backward compatible, let cfg80211 handle
joining a mesh if a mesh ID was pre-configured
when the device goes up.

Note that this therefore must modify mac80211 as
well since mac80211 needs to lose the logic to
start the mesh on interface up.

We now allow querying mesh parameters before the
mesh is connected, which simply returns defaults.
Setting them (internally renamed to "update") is
only allowed while connected. Specify them with
the new mesh join command instead where needed.

In mac80211, beaconing must now also follow the
mesh enabled/not enabled state, which is done
by testing the mesh ID.

Signed-off-by: Javier Cardona &lt;javier@cozybit.com&gt;
Signed-off-by: Johannes Berg &lt;johannes.berg@intel.com&gt;
Signed-off-by: John W. Linville &lt;linville@tuxdriver.com&gt;
</pre>
</div>
</content>
</entry>
<entry>
<title>net/wireless: Use pr_&lt;level&gt; and netdev_&lt;level&gt;</title>
<updated>2010-11-24T21:19:33+00:00</updated>
<author>
<name>Joe Perches</name>
<email>joe@perches.com</email>
</author>
<published>2010-11-17T03:56:49+00:00</published>
<link rel='alternate' type='text/html' href='https://git.tavy.me/linux.git/commit/?id=e9c0268f02f8970149158a9b7ea1e5c1c45c819d'/>
<id>e9c0268f02f8970149158a9b7ea1e5c1c45c819d</id>
<content type='text'>
No change in output for pr_&lt;level&gt; prefixes.
netdev_&lt;level&gt; output is different, arguably improved.

Signed-off-by: Joe Perches &lt;joe@perches.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>
No change in output for pr_&lt;level&gt; prefixes.
netdev_&lt;level&gt; output is different, arguably improved.

Signed-off-by: Joe Perches &lt;joe@perches.com&gt;
Signed-off-by: John W. Linville &lt;linville@tuxdriver.com&gt;
</pre>
</div>
</content>
</entry>
<entry>
<title>Revert "wireless: Use first phyX name available when registering phy devices."</title>
<updated>2010-10-11T18:46:52+00:00</updated>
<author>
<name>Johannes Berg</name>
<email>johannes@sipsolutions.net</email>
</author>
<published>2010-10-11T18:46:52+00:00</published>
<link rel='alternate' type='text/html' href='https://git.tavy.me/linux.git/commit/?id=7623225f905263424c7254dc6a07bff083a498dd'/>
<id>7623225f905263424c7254dc6a07bff083a498dd</id>
<content type='text'>
This reverts commit 5a254ffe3ffdfa84fe076009bd8e88da412180d2.

The commit failed to take into account that allocated wireless devices
(wiphys) are not added into the device list upon allocation, but only
when they are registered. Therefore, it opened up a race between
allocating and registering a name, so that if two processes allocate and
register concurrently ("alloc, alloc, register, register" rather than
"alloc, register, alloc, register") the code will attempt to use the
same name twice.

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 reverts commit 5a254ffe3ffdfa84fe076009bd8e88da412180d2.

The commit failed to take into account that allocated wireless devices
(wiphys) are not added into the device list upon allocation, but only
when they are registered. Therefore, it opened up a race between
allocating and registering a name, so that if two processes allocate and
register concurrently ("alloc, alloc, register, register" rather than
"alloc, register, alloc, register") the code will attempt to use the
same name twice.

Signed-off-by: Johannes Berg &lt;johannes.berg@intel.com&gt;
</pre>
</div>
</content>
</entry>
<entry>
<title>wireless: Use first phyX name available when registering phy devices.</title>
<updated>2010-10-05T17:35:21+00:00</updated>
<author>
<name>Ben Greear</name>
<email>greearb@candelatech.com</email>
</author>
<published>2010-09-27T16:07:26+00:00</published>
<link rel='alternate' type='text/html' href='https://git.tavy.me/linux.git/commit/?id=5a254ffe3ffdfa84fe076009bd8e88da412180d2'/>
<id>5a254ffe3ffdfa84fe076009bd8e88da412180d2</id>
<content type='text'>
Choose first available phyX name when creating phy devices.  This
means that reloading a wifi driver will not cause a change in the
name of it's phy device.

Also, allow users to rename a phy to any un-used name, including
phy%d.

Signed-off-by: Ben Greear &lt;greearb@candelatech.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>
Choose first available phyX name when creating phy devices.  This
means that reloading a wifi driver will not cause a change in the
name of it's phy device.

Also, allow users to rename a phy to any un-used name, including
phy%d.

Signed-off-by: Ben Greear &lt;greearb@candelatech.com&gt;
Signed-off-by: John W. Linville &lt;linville@tuxdriver.com&gt;
</pre>
</div>
</content>
</entry>
<entry>
<title>Merge branch 'master' of git://git.kernel.org/pub/scm/linux/kernel/git/linville/wireless-2.6</title>
<updated>2010-09-24T19:52:34+00:00</updated>
<author>
<name>John W. Linville</name>
<email>linville@tuxdriver.com</email>
</author>
<published>2010-09-24T19:52:34+00:00</published>
<link rel='alternate' type='text/html' href='https://git.tavy.me/linux.git/commit/?id=29ad2facd47f8e37eab8b156e2c384fa181c8b4a'/>
<id>29ad2facd47f8e37eab8b156e2c384fa181c8b4a</id>
<content type='text'>
Conflicts:
	drivers/net/wireless/ath/ath5k/base.c
	net/mac80211/main.c
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
Conflicts:
	drivers/net/wireless/ath/ath5k/base.c
	net/mac80211/main.c
</pre>
</div>
</content>
</entry>
<entry>
<title>cfg80211/nl80211: introduce p2p device types</title>
<updated>2010-09-16T19:46:06+00:00</updated>
<author>
<name>Johannes Berg</name>
<email>johannes.berg@intel.com</email>
</author>
<published>2010-09-16T12:58:22+00:00</published>
<link rel='alternate' type='text/html' href='https://git.tavy.me/linux.git/commit/?id=074ac8df9f93f2a35a356d92fd7f16cd846f0a03'/>
<id>074ac8df9f93f2a35a356d92fd7f16cd846f0a03</id>
<content type='text'>
This adds P2P-STA and P2P-GO as device types so
we can distinguish between those and normal STA
or AP (respectively) type interfaces.

Signed-off-by: Johannes Berg &lt;johannes.berg@intel.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 adds P2P-STA and P2P-GO as device types so
we can distinguish between those and normal STA
or AP (respectively) type interfaces.

Signed-off-by: Johannes Berg &lt;johannes.berg@intel.com&gt;
Signed-off-by: John W. Linville &lt;linville@tuxdriver.com&gt;
</pre>
</div>
</content>
</entry>
<entry>
<title>include/net/cfg80211.h: wiphy_&lt;level&gt; messages use dev_printk</title>
<updated>2010-09-16T19:19:44+00:00</updated>
<author>
<name>Joe Perches</name>
<email>joe@perches.com</email>
</author>
<published>2010-08-20T22:13:59+00:00</published>
<link rel='alternate' type='text/html' href='https://git.tavy.me/linux.git/commit/?id=9c376639297d3dd82d40e54c9cdca8da9dfc22f1'/>
<id>9c376639297d3dd82d40e54c9cdca8da9dfc22f1</id>
<content type='text'>
The output becomes:

[   41.261941] ieee80211 phy0: Selected rate control algorithm 'minstrel_ht'

Signed-off-by: Joe Perches &lt;joe@perches.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>
The output becomes:

[   41.261941] ieee80211 phy0: Selected rate control algorithm 'minstrel_ht'

Signed-off-by: Joe Perches &lt;joe@perches.com&gt;
Signed-off-by: John W. Linville &lt;linville@tuxdriver.com&gt;
</pre>
</div>
</content>
</entry>
<entry>
<title>wireless: register wiphy rfkill w/o holding cfg80211_mutex</title>
<updated>2010-08-31T18:48:47+00:00</updated>
<author>
<name>John W. Linville</name>
<email>linville@tuxdriver.com</email>
</author>
<published>2010-08-30T21:36:40+00:00</published>
<link rel='alternate' type='text/html' href='https://git.tavy.me/linux.git/commit/?id=c3d34d5d9654ec9c2510f9341bfb1030b8f029d1'/>
<id>c3d34d5d9654ec9c2510f9341bfb1030b8f029d1</id>
<content type='text'>
Otherwise lockdep complains...

https://bugzilla.kernel.org/show_bug.cgi?id=17311

[ INFO: possible circular locking dependency detected ]
2.6.36-rc2-git4 #12
-------------------------------------------------------
kworker/0:3/3630 is trying to acquire lock:
 (rtnl_mutex){+.+.+.}, at: [&lt;ffffffff813396c7&gt;] rtnl_lock+0x12/0x14

but task is already holding lock:
 (rfkill_global_mutex){+.+.+.}, at: [&lt;ffffffffa014b129&gt;]
rfkill_switch_all+0x24/0x49 [rfkill]

which lock already depends on the new lock.

the existing dependency chain (in reverse order) is:

-&gt; #2 (rfkill_global_mutex){+.+.+.}:
       [&lt;ffffffff81079ad7&gt;] lock_acquire+0x120/0x15b
       [&lt;ffffffff813ae869&gt;] __mutex_lock_common+0x54/0x52e
       [&lt;ffffffff813aede9&gt;] mutex_lock_nested+0x34/0x39
       [&lt;ffffffffa014b4ab&gt;] rfkill_register+0x2b/0x29c [rfkill]
       [&lt;ffffffffa0185ba0&gt;] wiphy_register+0x1ae/0x270 [cfg80211]
       [&lt;ffffffffa0206f01&gt;] ieee80211_register_hw+0x1b4/0x3cf [mac80211]
       [&lt;ffffffffa0292e98&gt;] iwl_ucode_callback+0x9e9/0xae3 [iwlagn]
       [&lt;ffffffff812d3e9d&gt;] request_firmware_work_func+0x54/0x6f
       [&lt;ffffffff81065d15&gt;] kthread+0x8c/0x94
       [&lt;ffffffff8100ac24&gt;] kernel_thread_helper+0x4/0x10

-&gt; #1 (cfg80211_mutex){+.+.+.}:
       [&lt;ffffffff81079ad7&gt;] lock_acquire+0x120/0x15b
       [&lt;ffffffff813ae869&gt;] __mutex_lock_common+0x54/0x52e
       [&lt;ffffffff813aede9&gt;] mutex_lock_nested+0x34/0x39
       [&lt;ffffffffa018605e&gt;] cfg80211_get_dev_from_ifindex+0x1b/0x7c [cfg80211]
       [&lt;ffffffffa0189f36&gt;] cfg80211_wext_giwscan+0x58/0x990 [cfg80211]
       [&lt;ffffffff8139a3ce&gt;] ioctl_standard_iw_point+0x1a8/0x272
       [&lt;ffffffff8139a529&gt;] ioctl_standard_call+0x91/0xa7
       [&lt;ffffffff8139a687&gt;] T.723+0xbd/0x12c
       [&lt;ffffffff8139a727&gt;] wext_handle_ioctl+0x31/0x6d
       [&lt;ffffffff8133014e&gt;] dev_ioctl+0x63d/0x67a
       [&lt;ffffffff8131afd9&gt;] sock_ioctl+0x48/0x21d
       [&lt;ffffffff81102abd&gt;] do_vfs_ioctl+0x4ba/0x509
       [&lt;ffffffff81102b5d&gt;] sys_ioctl+0x51/0x74
       [&lt;ffffffff81009e02&gt;] system_call_fastpath+0x16/0x1b

-&gt; #0 (rtnl_mutex){+.+.+.}:
       [&lt;ffffffff810796b0&gt;] __lock_acquire+0xa93/0xd9a
       [&lt;ffffffff81079ad7&gt;] lock_acquire+0x120/0x15b
       [&lt;ffffffff813ae869&gt;] __mutex_lock_common+0x54/0x52e
       [&lt;ffffffff813aede9&gt;] mutex_lock_nested+0x34/0x39
       [&lt;ffffffff813396c7&gt;] rtnl_lock+0x12/0x14
       [&lt;ffffffffa0185cb5&gt;] cfg80211_rfkill_set_block+0x1a/0x7b [cfg80211]
       [&lt;ffffffffa014aed0&gt;] rfkill_set_block+0x80/0xd5 [rfkill]
       [&lt;ffffffffa014b07e&gt;] __rfkill_switch_all+0x3f/0x6f [rfkill]
       [&lt;ffffffffa014b13d&gt;] rfkill_switch_all+0x38/0x49 [rfkill]
       [&lt;ffffffffa014b821&gt;] rfkill_op_handler+0x105/0x136 [rfkill]
       [&lt;ffffffff81060708&gt;] process_one_work+0x248/0x403
       [&lt;ffffffff81062620&gt;] worker_thread+0x139/0x214
       [&lt;ffffffff81065d15&gt;] kthread+0x8c/0x94
       [&lt;ffffffff8100ac24&gt;] kernel_thread_helper+0x4/0x10

Signed-off-by: John W. Linville &lt;linville@tuxdriver.com&gt;
Acked-by: Johannes Berg &lt;johannes@sipsolutions.net&gt;
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
Otherwise lockdep complains...

https://bugzilla.kernel.org/show_bug.cgi?id=17311

[ INFO: possible circular locking dependency detected ]
2.6.36-rc2-git4 #12
-------------------------------------------------------
kworker/0:3/3630 is trying to acquire lock:
 (rtnl_mutex){+.+.+.}, at: [&lt;ffffffff813396c7&gt;] rtnl_lock+0x12/0x14

but task is already holding lock:
 (rfkill_global_mutex){+.+.+.}, at: [&lt;ffffffffa014b129&gt;]
rfkill_switch_all+0x24/0x49 [rfkill]

which lock already depends on the new lock.

the existing dependency chain (in reverse order) is:

-&gt; #2 (rfkill_global_mutex){+.+.+.}:
       [&lt;ffffffff81079ad7&gt;] lock_acquire+0x120/0x15b
       [&lt;ffffffff813ae869&gt;] __mutex_lock_common+0x54/0x52e
       [&lt;ffffffff813aede9&gt;] mutex_lock_nested+0x34/0x39
       [&lt;ffffffffa014b4ab&gt;] rfkill_register+0x2b/0x29c [rfkill]
       [&lt;ffffffffa0185ba0&gt;] wiphy_register+0x1ae/0x270 [cfg80211]
       [&lt;ffffffffa0206f01&gt;] ieee80211_register_hw+0x1b4/0x3cf [mac80211]
       [&lt;ffffffffa0292e98&gt;] iwl_ucode_callback+0x9e9/0xae3 [iwlagn]
       [&lt;ffffffff812d3e9d&gt;] request_firmware_work_func+0x54/0x6f
       [&lt;ffffffff81065d15&gt;] kthread+0x8c/0x94
       [&lt;ffffffff8100ac24&gt;] kernel_thread_helper+0x4/0x10

-&gt; #1 (cfg80211_mutex){+.+.+.}:
       [&lt;ffffffff81079ad7&gt;] lock_acquire+0x120/0x15b
       [&lt;ffffffff813ae869&gt;] __mutex_lock_common+0x54/0x52e
       [&lt;ffffffff813aede9&gt;] mutex_lock_nested+0x34/0x39
       [&lt;ffffffffa018605e&gt;] cfg80211_get_dev_from_ifindex+0x1b/0x7c [cfg80211]
       [&lt;ffffffffa0189f36&gt;] cfg80211_wext_giwscan+0x58/0x990 [cfg80211]
       [&lt;ffffffff8139a3ce&gt;] ioctl_standard_iw_point+0x1a8/0x272
       [&lt;ffffffff8139a529&gt;] ioctl_standard_call+0x91/0xa7
       [&lt;ffffffff8139a687&gt;] T.723+0xbd/0x12c
       [&lt;ffffffff8139a727&gt;] wext_handle_ioctl+0x31/0x6d
       [&lt;ffffffff8133014e&gt;] dev_ioctl+0x63d/0x67a
       [&lt;ffffffff8131afd9&gt;] sock_ioctl+0x48/0x21d
       [&lt;ffffffff81102abd&gt;] do_vfs_ioctl+0x4ba/0x509
       [&lt;ffffffff81102b5d&gt;] sys_ioctl+0x51/0x74
       [&lt;ffffffff81009e02&gt;] system_call_fastpath+0x16/0x1b

-&gt; #0 (rtnl_mutex){+.+.+.}:
       [&lt;ffffffff810796b0&gt;] __lock_acquire+0xa93/0xd9a
       [&lt;ffffffff81079ad7&gt;] lock_acquire+0x120/0x15b
       [&lt;ffffffff813ae869&gt;] __mutex_lock_common+0x54/0x52e
       [&lt;ffffffff813aede9&gt;] mutex_lock_nested+0x34/0x39
       [&lt;ffffffff813396c7&gt;] rtnl_lock+0x12/0x14
       [&lt;ffffffffa0185cb5&gt;] cfg80211_rfkill_set_block+0x1a/0x7b [cfg80211]
       [&lt;ffffffffa014aed0&gt;] rfkill_set_block+0x80/0xd5 [rfkill]
       [&lt;ffffffffa014b07e&gt;] __rfkill_switch_all+0x3f/0x6f [rfkill]
       [&lt;ffffffffa014b13d&gt;] rfkill_switch_all+0x38/0x49 [rfkill]
       [&lt;ffffffffa014b821&gt;] rfkill_op_handler+0x105/0x136 [rfkill]
       [&lt;ffffffff81060708&gt;] process_one_work+0x248/0x403
       [&lt;ffffffff81062620&gt;] worker_thread+0x139/0x214
       [&lt;ffffffff81065d15&gt;] kthread+0x8c/0x94
       [&lt;ffffffff8100ac24&gt;] kernel_thread_helper+0x4/0x10

Signed-off-by: John W. Linville &lt;linville@tuxdriver.com&gt;
Acked-by: Johannes Berg &lt;johannes@sipsolutions.net&gt;
</pre>
</div>
</content>
</entry>
<entry>
<title>cfg80211/mac80211: extensible frame processing</title>
<updated>2010-08-24T20:27:56+00:00</updated>
<author>
<name>Johannes Berg</name>
<email>johannes.berg@intel.com</email>
</author>
<published>2010-08-12T13:38:38+00:00</published>
<link rel='alternate' type='text/html' href='https://git.tavy.me/linux.git/commit/?id=2e161f78e5f63a7f9fd25a766bb7f816a01eb14a'/>
<id>2e161f78e5f63a7f9fd25a766bb7f816a01eb14a</id>
<content type='text'>
Allow userspace to register for more than just
action frames by giving the frame subtype, and
make it possible to use this in various modes
as well.

With some tweaks and some added functionality
this will, in the future, also be usable in AP
mode and be able to replace the cooked monitor
interface currently used in that case.

Signed-off-by: Johannes Berg &lt;johannes.berg@intel.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>
Allow userspace to register for more than just
action frames by giving the frame subtype, and
make it possible to use this in various modes
as well.

With some tweaks and some added functionality
this will, in the future, also be usable in AP
mode and be able to replace the cooked monitor
interface currently used in that case.

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