<feed xmlns='http://www.w3.org/2005/Atom'>
<title>linux.git/drivers/net/wireless/rt2x00, branch v2.6.36</title>
<subtitle>Linux kernel source tree</subtitle>
<link rel='alternate' type='text/html' href='https://git.tavy.me/linux.git/'/>
<entry>
<title>rt2x00: do not use PCI resources before pci_enable_device()</title>
<updated>2010-08-04T19:28:37+00:00</updated>
<author>
<name>Kulikov Vasiliy</name>
<email>segooon@gmail.com</email>
</author>
<published>2010-08-03T15:43:22+00:00</published>
<link rel='alternate' type='text/html' href='https://git.tavy.me/linux.git/commit/?id=47cb905d6b1f46bf403998f4838baa3f3b597391'/>
<id>47cb905d6b1f46bf403998f4838baa3f3b597391</id>
<content type='text'>
IRQ and resource[] may not have correct values until
after PCI hotplug setup occurs at pci_enable_device() time.

The semantic match that finds this problem is as follows:

// &lt;smpl&gt;
@@
identifier x;
identifier request ~= "pci_request.*|pci_resource.*";
@@

(
* x-&gt;irq
|
* x-&gt;resource
|
* request(x, ...)
)
 ...
*pci_enable_device(x)
// &lt;/smpl&gt;

Signed-off-by: Kulikov Vasiliy &lt;segooon@gmail.com&gt;
Acked-by: Gertjan van Wingerde &lt;gwingerde@gmail.com&gt;
Acked-by: Ivo van Doorn &lt;IvDoorn@gmail.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>
IRQ and resource[] may not have correct values until
after PCI hotplug setup occurs at pci_enable_device() time.

The semantic match that finds this problem is as follows:

// &lt;smpl&gt;
@@
identifier x;
identifier request ~= "pci_request.*|pci_resource.*";
@@

(
* x-&gt;irq
|
* x-&gt;resource
|
* request(x, ...)
)
 ...
*pci_enable_device(x)
// &lt;/smpl&gt;

Signed-off-by: Kulikov Vasiliy &lt;segooon@gmail.com&gt;
Acked-by: Gertjan van Wingerde &lt;gwingerde@gmail.com&gt;
Acked-by: Ivo van Doorn &lt;IvDoorn@gmail.com&gt;
Signed-off-by: John W. Linville &lt;linville@tuxdriver.com&gt;
</pre>
</div>
</content>
</entry>
<entry>
<title>rt2500usb: disallow to set WEP key with non zero index</title>
<updated>2010-07-27T18:59:59+00:00</updated>
<author>
<name>Stanislaw Gruszka</name>
<email>sgruszka@redhat.com</email>
</author>
<published>2010-07-27T14:48:24+00:00</published>
<link rel='alternate' type='text/html' href='https://git.tavy.me/linux.git/commit/?id=98ec62185cd940765a096c88a3f14147dd1d3bd4'/>
<id>98ec62185cd940765a096c88a3f14147dd1d3bd4</id>
<content type='text'>
On our hardware (050d:7050 Belkin Components F5D7050 Wireless G Adapter),
setting any WEP key with non zero index, cause rx frames corruption.

Note: perhaps (I did not check) this can be fixed differently - by using
hw_key_idx the same as true MAC key index. But according to the comment in
rt2x00mac_set_key():

"the hardware requires keys to be assigned in correct order (When key 1
is provided but key 0 is not, then the key is not found by the hardware
during RX)"

this will be quite problematic. Since WEP should not be used, disabling
hardware crypto offload for it will not hurt much. Beside static
one key WEP will still be offloaded.

Signed-off-by: Stanislaw Gruszka &lt;sgruszka@redhat.com&gt;
Acked-by: Ivo van Doorn &lt;IvDoorn@gmail.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>
On our hardware (050d:7050 Belkin Components F5D7050 Wireless G Adapter),
setting any WEP key with non zero index, cause rx frames corruption.

Note: perhaps (I did not check) this can be fixed differently - by using
hw_key_idx the same as true MAC key index. But according to the comment in
rt2x00mac_set_key():

"the hardware requires keys to be assigned in correct order (When key 1
is provided but key 0 is not, then the key is not found by the hardware
during RX)"

this will be quite problematic. Since WEP should not be used, disabling
hardware crypto offload for it will not hurt much. Beside static
one key WEP will still be offloaded.

Signed-off-by: Stanislaw Gruszka &lt;sgruszka@redhat.com&gt;
Acked-by: Ivo van Doorn &lt;IvDoorn@gmail.com&gt;
Signed-off-by: John W. Linville &lt;linville@tuxdriver.com&gt;
</pre>
</div>
</content>
</entry>
<entry>
<title>rt2500usb: truly disable encryption when initialize</title>
<updated>2010-07-27T18:59:59+00:00</updated>
<author>
<name>Stanislaw Gruszka</name>
<email>sgruszka@redhat.com</email>
</author>
<published>2010-07-27T14:48:17+00:00</published>
<link rel='alternate' type='text/html' href='https://git.tavy.me/linux.git/commit/?id=ac59b496d9fd0b7425219e8dc5d4f1f6f0083efc'/>
<id>ac59b496d9fd0b7425219e8dc5d4f1f6f0083efc</id>
<content type='text'>
Without cipher part nullify of TXRX_CSR0 register we can receive
corrupted frames (removed IV or IVC), after reloading rt2500usb module
with nohwcrypt=1 option, if previous some keys were configured into
the hardware.

Signed-off-by: Stanislaw Gruszka &lt;sgruszka@redhat.com&gt;
Acked-by: Ivo van Doorn &lt;IvDoorn@gmail.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>
Without cipher part nullify of TXRX_CSR0 register we can receive
corrupted frames (removed IV or IVC), after reloading rt2500usb module
with nohwcrypt=1 option, if previous some keys were configured into
the hardware.

Signed-off-by: Stanislaw Gruszka &lt;sgruszka@redhat.com&gt;
Acked-by: Ivo van Doorn &lt;IvDoorn@gmail.com&gt;
Signed-off-by: John W. Linville &lt;linville@tuxdriver.com&gt;
</pre>
</div>
</content>
</entry>
<entry>
<title>rt2500usb: write keys to proper registers</title>
<updated>2010-07-27T18:59:59+00:00</updated>
<author>
<name>Stanislaw Gruszka</name>
<email>sgruszka@redhat.com</email>
</author>
<published>2010-07-27T14:48:10+00:00</published>
<link rel='alternate' type='text/html' href='https://git.tavy.me/linux.git/commit/?id=1279f5edb6d25f2a955696fdec1ac96ca5bcb121'/>
<id>1279f5edb6d25f2a955696fdec1ac96ca5bcb121</id>
<content type='text'>
Fix rt2500usb hardware encryption broken by commit
96b61bafe22b2f2abcc833d651739edb977f1b1e
"rt2x00: Clean up USB vendor request buffer functions"

Signed-off-by: Stanislaw Gruszka &lt;sgruszka@redhat.com&gt;
Acked-by: Ivo van Doorn &lt;IvDoorn@gmail.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>
Fix rt2500usb hardware encryption broken by commit
96b61bafe22b2f2abcc833d651739edb977f1b1e
"rt2x00: Clean up USB vendor request buffer functions"

Signed-off-by: Stanislaw Gruszka &lt;sgruszka@redhat.com&gt;
Acked-by: Ivo van Doorn &lt;IvDoorn@gmail.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/holtmann/bluetooth-next-2.6</title>
<updated>2010-07-27T15:59:19+00:00</updated>
<author>
<name>John W. Linville</name>
<email>linville@tuxdriver.com</email>
</author>
<published>2010-07-27T15:59:19+00:00</published>
<link rel='alternate' type='text/html' href='https://git.tavy.me/linux.git/commit/?id=800f65bba8d2030b3fef62850e203f9f176625a8'/>
<id>800f65bba8d2030b3fef62850e203f9f176625a8</id>
<content type='text'>
Conflicts:
	drivers/net/wireless/iwlwifi/iwl-commands.h
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
Conflicts:
	drivers/net/wireless/iwlwifi/iwl-commands.h
</pre>
</div>
</content>
</entry>
<entry>
<title>rt2x00: Fix regression for rt2500pci</title>
<updated>2010-07-26T19:32:43+00:00</updated>
<author>
<name>Ivo van Doorn</name>
<email>ivdoorn@gmail.com</email>
</author>
<published>2010-07-24T17:32:25+00:00</published>
<link rel='alternate' type='text/html' href='https://git.tavy.me/linux.git/commit/?id=06b3cda0c12986f5bba578b918b188d731c4e191'/>
<id>06b3cda0c12986f5bba578b918b188d731c4e191</id>
<content type='text'>
Since commit:
     commit f1aa4c541e98afa8b770a75ccaa8504d0bff44a7
     Author: Ivo van Doorn &lt;ivdoorn@gmail.com&gt;
     Date:   Tue Jun 29 21:38:55 2010 +0200

     rt2x00: Write the BSSID to register when interface is added

mananged mode in rt2500pci was broken, due to intf-&gt;bssid containing
random data rather then the expected 00:00:00:00:00:00

This is corrected by sending the BSSID to rt2x00lib_config_intf
only in AP mode where the bssid is set to a valid value.

Signed-off-by: Ivo van Doorn &lt;IvDoorn@gmail.com&gt;
Acked-by: Helmut Schaa &lt;helmut.schaa@googlemail.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 commit:
     commit f1aa4c541e98afa8b770a75ccaa8504d0bff44a7
     Author: Ivo van Doorn &lt;ivdoorn@gmail.com&gt;
     Date:   Tue Jun 29 21:38:55 2010 +0200

     rt2x00: Write the BSSID to register when interface is added

mananged mode in rt2500pci was broken, due to intf-&gt;bssid containing
random data rather then the expected 00:00:00:00:00:00

This is corrected by sending the BSSID to rt2x00lib_config_intf
only in AP mode where the bssid is set to a valid value.

Signed-off-by: Ivo van Doorn &lt;IvDoorn@gmail.com&gt;
Acked-by: Helmut Schaa &lt;helmut.schaa@googlemail.com&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>2010-07-21T01:25:24+00:00</updated>
<author>
<name>David S. Miller</name>
<email>davem@davemloft.net</email>
</author>
<published>2010-07-21T01:25:24+00:00</published>
<link rel='alternate' type='text/html' href='https://git.tavy.me/linux.git/commit/?id=11fe883936980fe242869d671092a466cf1db3e3'/>
<id>11fe883936980fe242869d671092a466cf1db3e3</id>
<content type='text'>
Conflicts:
	drivers/vhost/net.c
	net/bridge/br_device.c

Fix merge conflict in drivers/vhost/net.c with guidance from
Stephen Rothwell.

Revert the effects of net-2.6 commit 573201f36fd9c7c6d5218cdcd9948cee700b277d
since net-next-2.6 has fixes that make bridge netpoll work properly thus
we don't need it disabled.

Signed-off-by: David S. Miller &lt;davem@davemloft.net&gt;
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
Conflicts:
	drivers/vhost/net.c
	net/bridge/br_device.c

Fix merge conflict in drivers/vhost/net.c with guidance from
Stephen Rothwell.

Revert the effects of net-2.6 commit 573201f36fd9c7c6d5218cdcd9948cee700b277d
since net-next-2.6 has fixes that make bridge netpoll work properly thus
we don't need it disabled.

Signed-off-by: David S. Miller &lt;davem@davemloft.net&gt;
</pre>
</div>
</content>
</entry>
<entry>
<title>rt2x00: correct sparse warning in rt2x00debug.c</title>
<updated>2010-07-20T20:49:41+00:00</updated>
<author>
<name>John W. Linville</name>
<email>linville@tuxdriver.com</email>
</author>
<published>2010-07-20T18:21:48+00:00</published>
<link rel='alternate' type='text/html' href='https://git.tavy.me/linux.git/commit/?id=16124541321e3c4030973b34b3f013605f052679'/>
<id>16124541321e3c4030973b34b3f013605f052679</id>
<content type='text'>
  CHECK   drivers/net/wireless/rt2x00/rt2x00debug.c
drivers/net/wireless/rt2x00/rt2x00debug.c:193:28: warning: incorrect type in assignment (different base types)
drivers/net/wireless/rt2x00/rt2x00debug.c:193:28:    expected restricted __le32 [usertype] chip_rev
drivers/net/wireless/rt2x00/rt2x00debug.c:193:28:    got restricted __le16 [usertype] &lt;noident&gt;

Signed-off-by: John W. Linville &lt;linville@tuxdriver.com&gt;
Acked-by: Ivo van Doorn &lt;IvDoorn@gmail.com&gt;
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
  CHECK   drivers/net/wireless/rt2x00/rt2x00debug.c
drivers/net/wireless/rt2x00/rt2x00debug.c:193:28: warning: incorrect type in assignment (different base types)
drivers/net/wireless/rt2x00/rt2x00debug.c:193:28:    expected restricted __le32 [usertype] chip_rev
drivers/net/wireless/rt2x00/rt2x00debug.c:193:28:    got restricted __le16 [usertype] &lt;noident&gt;

Signed-off-by: John W. Linville &lt;linville@tuxdriver.com&gt;
Acked-by: Ivo van Doorn &lt;IvDoorn@gmail.com&gt;
</pre>
</div>
</content>
</entry>
<entry>
<title>rt2x00: Fix lockdep warning in rt2x00lib_probe_dev()</title>
<updated>2010-07-16T17:57:59+00:00</updated>
<author>
<name>Stephen Boyd</name>
<email>bebarino@gmail.com</email>
</author>
<published>2010-07-16T16:50:10+00:00</published>
<link rel='alternate' type='text/html' href='https://git.tavy.me/linux.git/commit/?id=9acd56d3f2a05191ee369cbdd8c37dd547aa19b8'/>
<id>9acd56d3f2a05191ee369cbdd8c37dd547aa19b8</id>
<content type='text'>
The rt2x00dev-&gt;intf_work workqueue is never initialized when a driver is
probed for a non-existent device (in this case rt2500usb). On such a
path we call rt2x00lib_remove_dev() to free any resources initialized
during the probe before we use INIT_WORK to initialize the workqueue.
This causes lockdep to get confused since the lock used in the workqueue
hasn't been initialized yet but is now being acquired during
cancel_work_sync() called by rt2x00lib_remove_dev().

Fix this by initializing the workqueue first before we attempt to probe
the device. This should make lockdep happy and avoid breaking any
assumptions about how the library cleans up after a probe fails.

phy0 -&gt; rt2x00lib_probe_dev: Error - Failed to allocate device.
INFO: trying to register non-static key.
the code is fine but needs lockdep annotation.
turning off the locking correctness validator.
Pid: 2027, comm: modprobe Not tainted 2.6.35-rc5+ #60
Call Trace:
 [&lt;ffffffff8105fe59&gt;] register_lock_class+0x152/0x31f
 [&lt;ffffffff81344a00&gt;] ? usb_control_msg+0xd5/0x111
 [&lt;ffffffff81061bde&gt;] __lock_acquire+0xce/0xcf4
 [&lt;ffffffff8105f6fd&gt;] ? trace_hardirqs_off+0xd/0xf
 [&lt;ffffffff81492aef&gt;] ?  _raw_spin_unlock_irqrestore+0x33/0x41
 [&lt;ffffffff810628d5&gt;] lock_acquire+0xd1/0xf7
 [&lt;ffffffff8104f037&gt;] ? __cancel_work_timer+0x99/0x17e
 [&lt;ffffffff8104f06e&gt;] __cancel_work_timer+0xd0/0x17e
 [&lt;ffffffff8104f037&gt;] ? __cancel_work_timer+0x99/0x17e
 [&lt;ffffffff8104f136&gt;] cancel_work_sync+0xb/0xd
 [&lt;ffffffffa0096675&gt;] rt2x00lib_remove_dev+0x25/0xb0 [rt2x00lib]
 [&lt;ffffffffa0096bf7&gt;] rt2x00lib_probe_dev+0x380/0x3ed [rt2x00lib]
 [&lt;ffffffff811d78a7&gt;] ? __raw_spin_lock_init+0x31/0x52
 [&lt;ffffffffa00bbd2c&gt;] ? T.676+0xe/0x10 [rt2x00usb]
 [&lt;ffffffffa00bbe4f&gt;] rt2x00usb_probe+0x121/0x15e [rt2x00usb]
 [&lt;ffffffff813468bd&gt;] usb_probe_interface+0x151/0x19e
 [&lt;ffffffff812ea08e&gt;] driver_probe_device+0xa7/0x136
 [&lt;ffffffff812ea167&gt;] __driver_attach+0x4a/0x66
 [&lt;ffffffff812ea11d&gt;] ? __driver_attach+0x0/0x66
 [&lt;ffffffff812e96ca&gt;] bus_for_each_dev+0x54/0x89
 [&lt;ffffffff812e9efd&gt;] driver_attach+0x19/0x1b
 [&lt;ffffffff812e9b64&gt;] bus_add_driver+0xb4/0x204
 [&lt;ffffffff812ea41b&gt;] driver_register+0x98/0x109
 [&lt;ffffffff813465dd&gt;] usb_register_driver+0xb2/0x173
 [&lt;ffffffffa00ca000&gt;] ? rt2500usb_init+0x0/0x20 [rt2500usb]
 [&lt;ffffffffa00ca01e&gt;] rt2500usb_init+0x1e/0x20 [rt2500usb]
 [&lt;ffffffff81000203&gt;] do_one_initcall+0x6d/0x17a
 [&lt;ffffffff8106cae8&gt;] sys_init_module+0x9c/0x1e0
 [&lt;ffffffff8100296b&gt;] system_call_fastpath+0x16/0x1b

Signed-off-by: Stephen Boyd &lt;bebarino@gmail.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 rt2x00dev-&gt;intf_work workqueue is never initialized when a driver is
probed for a non-existent device (in this case rt2500usb). On such a
path we call rt2x00lib_remove_dev() to free any resources initialized
during the probe before we use INIT_WORK to initialize the workqueue.
This causes lockdep to get confused since the lock used in the workqueue
hasn't been initialized yet but is now being acquired during
cancel_work_sync() called by rt2x00lib_remove_dev().

Fix this by initializing the workqueue first before we attempt to probe
the device. This should make lockdep happy and avoid breaking any
assumptions about how the library cleans up after a probe fails.

phy0 -&gt; rt2x00lib_probe_dev: Error - Failed to allocate device.
INFO: trying to register non-static key.
the code is fine but needs lockdep annotation.
turning off the locking correctness validator.
Pid: 2027, comm: modprobe Not tainted 2.6.35-rc5+ #60
Call Trace:
 [&lt;ffffffff8105fe59&gt;] register_lock_class+0x152/0x31f
 [&lt;ffffffff81344a00&gt;] ? usb_control_msg+0xd5/0x111
 [&lt;ffffffff81061bde&gt;] __lock_acquire+0xce/0xcf4
 [&lt;ffffffff8105f6fd&gt;] ? trace_hardirqs_off+0xd/0xf
 [&lt;ffffffff81492aef&gt;] ?  _raw_spin_unlock_irqrestore+0x33/0x41
 [&lt;ffffffff810628d5&gt;] lock_acquire+0xd1/0xf7
 [&lt;ffffffff8104f037&gt;] ? __cancel_work_timer+0x99/0x17e
 [&lt;ffffffff8104f06e&gt;] __cancel_work_timer+0xd0/0x17e
 [&lt;ffffffff8104f037&gt;] ? __cancel_work_timer+0x99/0x17e
 [&lt;ffffffff8104f136&gt;] cancel_work_sync+0xb/0xd
 [&lt;ffffffffa0096675&gt;] rt2x00lib_remove_dev+0x25/0xb0 [rt2x00lib]
 [&lt;ffffffffa0096bf7&gt;] rt2x00lib_probe_dev+0x380/0x3ed [rt2x00lib]
 [&lt;ffffffff811d78a7&gt;] ? __raw_spin_lock_init+0x31/0x52
 [&lt;ffffffffa00bbd2c&gt;] ? T.676+0xe/0x10 [rt2x00usb]
 [&lt;ffffffffa00bbe4f&gt;] rt2x00usb_probe+0x121/0x15e [rt2x00usb]
 [&lt;ffffffff813468bd&gt;] usb_probe_interface+0x151/0x19e
 [&lt;ffffffff812ea08e&gt;] driver_probe_device+0xa7/0x136
 [&lt;ffffffff812ea167&gt;] __driver_attach+0x4a/0x66
 [&lt;ffffffff812ea11d&gt;] ? __driver_attach+0x0/0x66
 [&lt;ffffffff812e96ca&gt;] bus_for_each_dev+0x54/0x89
 [&lt;ffffffff812e9efd&gt;] driver_attach+0x19/0x1b
 [&lt;ffffffff812e9b64&gt;] bus_add_driver+0xb4/0x204
 [&lt;ffffffff812ea41b&gt;] driver_register+0x98/0x109
 [&lt;ffffffff813465dd&gt;] usb_register_driver+0xb2/0x173
 [&lt;ffffffffa00ca000&gt;] ? rt2500usb_init+0x0/0x20 [rt2500usb]
 [&lt;ffffffffa00ca01e&gt;] rt2500usb_init+0x1e/0x20 [rt2500usb]
 [&lt;ffffffff81000203&gt;] do_one_initcall+0x6d/0x17a
 [&lt;ffffffff8106cae8&gt;] sys_init_module+0x9c/0x1e0
 [&lt;ffffffff8100296b&gt;] system_call_fastpath+0x16/0x1b

Signed-off-by: Stephen Boyd &lt;bebarino@gmail.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-next-2.6 into for-davem</title>
<updated>2010-07-13T19:57:29+00:00</updated>
<author>
<name>John W. Linville</name>
<email>linville@tuxdriver.com</email>
</author>
<published>2010-07-13T19:57:29+00:00</published>
<link rel='alternate' type='text/html' href='https://git.tavy.me/linux.git/commit/?id=e300d955debdadf599c36e47eb0bc16f5976215c'/>
<id>e300d955debdadf599c36e47eb0bc16f5976215c</id>
<content type='text'>
Conflicts:
	drivers/net/wireless/wl12xx/wl1271_cmd.h
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
Conflicts:
	drivers/net/wireless/wl12xx/wl1271_cmd.h
</pre>
</div>
</content>
</entry>
</feed>
