<feed xmlns='http://www.w3.org/2005/Atom'>
<title>linux.git/drivers/net/wireless/rt2x00, branch v2.6.30</title>
<subtitle>Linux kernel source tree</subtitle>
<link rel='alternate' type='text/html' href='https://git.tavy.me/linux.git/'/>
<entry>
<title>wireless: beyond ARRAY_SIZE of intf-&gt;crypto_stats</title>
<updated>2009-05-20T18:29:55+00:00</updated>
<author>
<name>Roel Kluin</name>
<email>roel.kluin@gmail.com</email>
</author>
<published>2009-05-20T00:12:56+00:00</published>
<link rel='alternate' type='text/html' href='https://git.tavy.me/linux.git/commit/?id=a6c67339784db5763d6f20ae1881aeebe8c5a9f4'/>
<id>a6c67339784db5763d6f20ae1881aeebe8c5a9f4</id>
<content type='text'>
Do not go beyond ARRAY_SIZE of intf-&gt;crypto_stats

Signed-off-by: Roel Kluin &lt;roel.kluin@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>
Do not go beyond ARRAY_SIZE of intf-&gt;crypto_stats

Signed-off-by: Roel Kluin &lt;roel.kluin@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>rt2x00: Don't free register information on suspend</title>
<updated>2009-04-20T20:36:26+00:00</updated>
<author>
<name>Ivo van Doorn</name>
<email>ivdoorn@gmail.com</email>
</author>
<published>2009-03-28T19:51:58+00:00</published>
<link rel='alternate' type='text/html' href='https://git.tavy.me/linux.git/commit/?id=499a214ca2765522d6a59ff73825d40e7bb31510'/>
<id>499a214ca2765522d6a59ff73825d40e7bb31510</id>
<content type='text'>
After suspend &amp; resume the rt2x00 devices won't wakeup
anymore due to a broken register information setup.
The most important problem is the release of the EEPROM
buffer which is completely cleared and never read again
after the suspend.

Signed-off-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>
After suspend &amp; resume the rt2x00 devices won't wakeup
anymore due to a broken register information setup.
The most important problem is the release of the EEPROM
buffer which is completely cleared and never read again
after the suspend.

Signed-off-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>rt2x00: prevent double kfree when failing to register hardware</title>
<updated>2009-04-16T14:39:15+00:00</updated>
<author>
<name>Herton Ronaldo Krzesinski</name>
<email>herton@mandriva.com.br</email>
</author>
<published>2009-04-10T21:05:14+00:00</published>
<link rel='alternate' type='text/html' href='https://git.tavy.me/linux.git/commit/?id=f05faa31c387fb07f4c561350f00ba12cf673c9f'/>
<id>f05faa31c387fb07f4c561350f00ba12cf673c9f</id>
<content type='text'>
In a scenario where there isn't any firmware available, we will have a
double kfree of rt2x00dev-&gt;spec.channels_info when ieee80211_register_hw
returns an error status inside rt2x00lib_probe_hw.

The problem is that if ieee80211_register_hw fails, we call
rt2x00lib_remove_hw twice:
* first inside rt2x00lib_probe_hw upon failure of ieee80211_register_hw
* error status is returned to rt2x00lib_probe_dev, which then sees it and
  calls in this case rt2x00lib_remove_dev that will again run
  rt2x00lib_remove_hw

Prevent this avoiding calling rt2x00lib_remove_hw inside
rt2x00lib_probe_hw

Problem was detected with CONFIG_DEBUG_PAGEALLOC=y, CONFIG_SLUB_DEBUG=y,
CONFIG_SLUB_DEBUG_ON=y, that dumps this with no firmware available:

rt61pci 0000:00:07.0: PCI INT A -&gt; GSI 19 (level, low) -&gt; IRQ 19
wmaster0 (rt61pci): not using net_device_ops yet
phy0: Selected rate control algorithm 'pid'
phy0: Failed to initialize wep: -2
phy0 -&gt; rt2x00lib_probe_dev: Error - Failed to initialize hw.
=============================================================================
BUG kmalloc-128: Object already free
-----------------------------------------------------------------------------

INFO: Allocated in rt61pci_probe_hw+0x3e5/0x6e0 [rt61pci] age=340 cpu=0 pid=21
INFO: Freed in rt2x00lib_remove_hw+0x59/0x70 [rt2x00lib] age=0 cpu=0 pid=21
INFO: Slab 0xc13ac3e0 objects=23 used=10 fp=0xdd59f6e0 flags=0x400000c3
INFO: Object 0xdd59f6e0 @offset=1760 fp=0xdd59f790

Bytes b4 0xdd59f6d0:  15 00 00 00 b2 8a fb ff 5a 5a 5a 5a 5a 5a 5a 5a ....².ûÿZZZZZZZZ
  Object 0xdd59f6e0:  6b 6b 6b 6b 6b 6b 6b 6b 6b 6b 6b 6b 6b 6b 6b 6b kkkkkkkkkkkkkkkk
  Object 0xdd59f6f0:  6b 6b 6b 6b 6b 6b 6b 6b 6b 6b 6b 6b 6b 6b 6b 6b kkkkkkkkkkkkkkkk
  Object 0xdd59f700:  6b 6b 6b 6b 6b 6b 6b 6b 6b 6b 6b 6b 6b 6b 6b 6b kkkkkkkkkkkkkkkk
  Object 0xdd59f710:  6b 6b 6b 6b 6b 6b 6b 6b 6b 6b 6b 6b 6b 6b 6b 6b kkkkkkkkkkkkkkkk
  Object 0xdd59f720:  6b 6b 6b 6b 6b 6b 6b 6b 6b 6b 6b 6b 6b 6b 6b 6b kkkkkkkkkkkkkkkk
  Object 0xdd59f730:  6b 6b 6b 6b 6b 6b 6b 6b 6b 6b 6b 6b 6b 6b 6b 6b kkkkkkkkkkkkkkkk
  Object 0xdd59f740:  6b 6b 6b 6b 6b 6b 6b 6b 6b 6b 6b 6b 6b 6b 6b 6b kkkkkkkkkkkkkkkk
  Object 0xdd59f750:  6b 6b 6b 6b 6b 6b 6b 6b 6b 6b 6b 6b 6b 6b 6b a5 kkkkkkkkkkkkkkk¥
 Redzone 0xdd59f760:  bb bb bb bb                                     »»»»
 Padding 0xdd59f788:  5a 5a 5a 5a 5a 5a 5a 5a                         ZZZZZZZZ
Pid: 21, comm: stage1 Not tainted 2.6.29.1-desktop-1.1mnb #1
Call Trace:
 [&lt;c01abbb3&gt;] print_trailer+0xd3/0x120
 [&lt;c01abd37&gt;] object_err+0x37/0x50
 [&lt;c01acf57&gt;] __slab_free+0xe7/0x2f0
 [&lt;c01ad1de&gt;] kfree+0x7e/0xd0
 [&lt;e0e4a239&gt;] ? rt2x00lib_remove_hw+0x59/0x70 [rt2x00lib]
 [&lt;e0e4a239&gt;] ? rt2x00lib_remove_hw+0x59/0x70 [rt2x00lib]
 [&lt;e0e4a239&gt;] rt2x00lib_remove_hw+0x59/0x70 [rt2x00lib]
 [&lt;e0e4acc7&gt;] rt2x00lib_remove_dev+0x37/0x50 [rt2x00lib]
 [&lt;e0e4b087&gt;] rt2x00lib_probe_dev+0x1a7/0x3b0 [rt2x00lib]
 [&lt;e0eb288f&gt;] rt2x00pci_probe+0xdf/0x1ee [rt2x00pci]
 [&lt;c026b9ee&gt;] local_pci_probe+0xe/0x10
 [&lt;c026c750&gt;] pci_device_probe+0x60/0x80
 [&lt;c02d5c2a&gt;] driver_probe_device+0x9a/0x2e0
 [&lt;c02d5ef9&gt;] __driver_attach+0x89/0x90
 [&lt;c02d541b&gt;] bus_for_each_dev+0x4b/0x70
 [&lt;c026c690&gt;] ? pci_device_remove+0x0/0x40
 [&lt;c02d59d9&gt;] driver_attach+0x19/0x20
 [&lt;c02d5e70&gt;] ? __driver_attach+0x0/0x90
 [&lt;c02d4cef&gt;] bus_add_driver+0x1cf/0x2a0
 [&lt;c026c690&gt;] ? pci_device_remove+0x0/0x40
 [&lt;c02d60c9&gt;] driver_register+0x69/0x140
 [&lt;c026c9b0&gt;] __pci_register_driver+0x40/0x80
 [&lt;e0ecc000&gt;] ? rt61pci_init+0x0/0x19 [rt61pci]
 [&lt;e0ecc017&gt;] rt61pci_init+0x17/0x19 [rt61pci]
 [&lt;c0101116&gt;] do_one_initcall+0x26/0x1c0
 [&lt;c01ab90c&gt;] ? slab_pad_check+0x3c/0x120
 [&lt;c01ab90c&gt;] ? slab_pad_check+0x3c/0x120
 [&lt;c01ac8da&gt;] ? check_object+0xda/0x210
 [&lt;c01b0026&gt;] ? percpu_free+0x46/0x50
 [&lt;c01ad09e&gt;] ? __slab_free+0x22e/0x2f0
 [&lt;c01b0026&gt;] ? percpu_free+0x46/0x50
 [&lt;c01b0026&gt;] ? percpu_free+0x46/0x50
 [&lt;c01b0026&gt;] ? percpu_free+0x46/0x50
 [&lt;c01687ec&gt;] ? stop_machine_destroy+0x3c/0x40
 [&lt;c015e515&gt;] ? load_module+0xa5/0x1c50
 [&lt;e0ec5000&gt;] ? rt61pci_eepromregister_read+0x0/0x40 [rt61pci]
 [&lt;e0eb2000&gt;] ? rt2x00pci_write_tx_data+0x0/0x90 [rt2x00pci]
 [&lt;c03ac2fb&gt;] ? mutex_lock+0xb/0x20
 [&lt;c03ac2fb&gt;] ? mutex_lock+0xb/0x20
 [&lt;c017ad16&gt;] ? tracepoint_update_probe_range+0x76/0xa0
 [&lt;c017ad6f&gt;] ? tracepoint_module_notify+0x2f/0x40
 [&lt;c03b02ed&gt;] ? notifier_call_chain+0x2d/0x70
 [&lt;c014f0ed&gt;] ? __blocking_notifier_call_chain+0x4d/0x60
 [&lt;c014f11a&gt;] ? blocking_notifier_call_chain+0x1a/0x20
 [&lt;c0160156&gt;] sys_init_module+0x96/0x1d0
 [&lt;c019dad6&gt;] ? sys_munmap+0x46/0x60
 [&lt;c0105546&gt;] syscall_call+0x7/0xb
FIX kmalloc-128: Object at 0xdd59f6e0 not freed
rt61pci 0000:00:07.0: PCI INT A disabled
rt61pci: probe of 0000:00:07.0 failed with error -2

Signed-off-by: Herton Ronaldo Krzesinski &lt;herton@mandriva.com.br&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>
In a scenario where there isn't any firmware available, we will have a
double kfree of rt2x00dev-&gt;spec.channels_info when ieee80211_register_hw
returns an error status inside rt2x00lib_probe_hw.

The problem is that if ieee80211_register_hw fails, we call
rt2x00lib_remove_hw twice:
* first inside rt2x00lib_probe_hw upon failure of ieee80211_register_hw
* error status is returned to rt2x00lib_probe_dev, which then sees it and
  calls in this case rt2x00lib_remove_dev that will again run
  rt2x00lib_remove_hw

Prevent this avoiding calling rt2x00lib_remove_hw inside
rt2x00lib_probe_hw

Problem was detected with CONFIG_DEBUG_PAGEALLOC=y, CONFIG_SLUB_DEBUG=y,
CONFIG_SLUB_DEBUG_ON=y, that dumps this with no firmware available:

rt61pci 0000:00:07.0: PCI INT A -&gt; GSI 19 (level, low) -&gt; IRQ 19
wmaster0 (rt61pci): not using net_device_ops yet
phy0: Selected rate control algorithm 'pid'
phy0: Failed to initialize wep: -2
phy0 -&gt; rt2x00lib_probe_dev: Error - Failed to initialize hw.
=============================================================================
BUG kmalloc-128: Object already free
-----------------------------------------------------------------------------

INFO: Allocated in rt61pci_probe_hw+0x3e5/0x6e0 [rt61pci] age=340 cpu=0 pid=21
INFO: Freed in rt2x00lib_remove_hw+0x59/0x70 [rt2x00lib] age=0 cpu=0 pid=21
INFO: Slab 0xc13ac3e0 objects=23 used=10 fp=0xdd59f6e0 flags=0x400000c3
INFO: Object 0xdd59f6e0 @offset=1760 fp=0xdd59f790

Bytes b4 0xdd59f6d0:  15 00 00 00 b2 8a fb ff 5a 5a 5a 5a 5a 5a 5a 5a ....².ûÿZZZZZZZZ
  Object 0xdd59f6e0:  6b 6b 6b 6b 6b 6b 6b 6b 6b 6b 6b 6b 6b 6b 6b 6b kkkkkkkkkkkkkkkk
  Object 0xdd59f6f0:  6b 6b 6b 6b 6b 6b 6b 6b 6b 6b 6b 6b 6b 6b 6b 6b kkkkkkkkkkkkkkkk
  Object 0xdd59f700:  6b 6b 6b 6b 6b 6b 6b 6b 6b 6b 6b 6b 6b 6b 6b 6b kkkkkkkkkkkkkkkk
  Object 0xdd59f710:  6b 6b 6b 6b 6b 6b 6b 6b 6b 6b 6b 6b 6b 6b 6b 6b kkkkkkkkkkkkkkkk
  Object 0xdd59f720:  6b 6b 6b 6b 6b 6b 6b 6b 6b 6b 6b 6b 6b 6b 6b 6b kkkkkkkkkkkkkkkk
  Object 0xdd59f730:  6b 6b 6b 6b 6b 6b 6b 6b 6b 6b 6b 6b 6b 6b 6b 6b kkkkkkkkkkkkkkkk
  Object 0xdd59f740:  6b 6b 6b 6b 6b 6b 6b 6b 6b 6b 6b 6b 6b 6b 6b 6b kkkkkkkkkkkkkkkk
  Object 0xdd59f750:  6b 6b 6b 6b 6b 6b 6b 6b 6b 6b 6b 6b 6b 6b 6b a5 kkkkkkkkkkkkkkk¥
 Redzone 0xdd59f760:  bb bb bb bb                                     »»»»
 Padding 0xdd59f788:  5a 5a 5a 5a 5a 5a 5a 5a                         ZZZZZZZZ
Pid: 21, comm: stage1 Not tainted 2.6.29.1-desktop-1.1mnb #1
Call Trace:
 [&lt;c01abbb3&gt;] print_trailer+0xd3/0x120
 [&lt;c01abd37&gt;] object_err+0x37/0x50
 [&lt;c01acf57&gt;] __slab_free+0xe7/0x2f0
 [&lt;c01ad1de&gt;] kfree+0x7e/0xd0
 [&lt;e0e4a239&gt;] ? rt2x00lib_remove_hw+0x59/0x70 [rt2x00lib]
 [&lt;e0e4a239&gt;] ? rt2x00lib_remove_hw+0x59/0x70 [rt2x00lib]
 [&lt;e0e4a239&gt;] rt2x00lib_remove_hw+0x59/0x70 [rt2x00lib]
 [&lt;e0e4acc7&gt;] rt2x00lib_remove_dev+0x37/0x50 [rt2x00lib]
 [&lt;e0e4b087&gt;] rt2x00lib_probe_dev+0x1a7/0x3b0 [rt2x00lib]
 [&lt;e0eb288f&gt;] rt2x00pci_probe+0xdf/0x1ee [rt2x00pci]
 [&lt;c026b9ee&gt;] local_pci_probe+0xe/0x10
 [&lt;c026c750&gt;] pci_device_probe+0x60/0x80
 [&lt;c02d5c2a&gt;] driver_probe_device+0x9a/0x2e0
 [&lt;c02d5ef9&gt;] __driver_attach+0x89/0x90
 [&lt;c02d541b&gt;] bus_for_each_dev+0x4b/0x70
 [&lt;c026c690&gt;] ? pci_device_remove+0x0/0x40
 [&lt;c02d59d9&gt;] driver_attach+0x19/0x20
 [&lt;c02d5e70&gt;] ? __driver_attach+0x0/0x90
 [&lt;c02d4cef&gt;] bus_add_driver+0x1cf/0x2a0
 [&lt;c026c690&gt;] ? pci_device_remove+0x0/0x40
 [&lt;c02d60c9&gt;] driver_register+0x69/0x140
 [&lt;c026c9b0&gt;] __pci_register_driver+0x40/0x80
 [&lt;e0ecc000&gt;] ? rt61pci_init+0x0/0x19 [rt61pci]
 [&lt;e0ecc017&gt;] rt61pci_init+0x17/0x19 [rt61pci]
 [&lt;c0101116&gt;] do_one_initcall+0x26/0x1c0
 [&lt;c01ab90c&gt;] ? slab_pad_check+0x3c/0x120
 [&lt;c01ab90c&gt;] ? slab_pad_check+0x3c/0x120
 [&lt;c01ac8da&gt;] ? check_object+0xda/0x210
 [&lt;c01b0026&gt;] ? percpu_free+0x46/0x50
 [&lt;c01ad09e&gt;] ? __slab_free+0x22e/0x2f0
 [&lt;c01b0026&gt;] ? percpu_free+0x46/0x50
 [&lt;c01b0026&gt;] ? percpu_free+0x46/0x50
 [&lt;c01b0026&gt;] ? percpu_free+0x46/0x50
 [&lt;c01687ec&gt;] ? stop_machine_destroy+0x3c/0x40
 [&lt;c015e515&gt;] ? load_module+0xa5/0x1c50
 [&lt;e0ec5000&gt;] ? rt61pci_eepromregister_read+0x0/0x40 [rt61pci]
 [&lt;e0eb2000&gt;] ? rt2x00pci_write_tx_data+0x0/0x90 [rt2x00pci]
 [&lt;c03ac2fb&gt;] ? mutex_lock+0xb/0x20
 [&lt;c03ac2fb&gt;] ? mutex_lock+0xb/0x20
 [&lt;c017ad16&gt;] ? tracepoint_update_probe_range+0x76/0xa0
 [&lt;c017ad6f&gt;] ? tracepoint_module_notify+0x2f/0x40
 [&lt;c03b02ed&gt;] ? notifier_call_chain+0x2d/0x70
 [&lt;c014f0ed&gt;] ? __blocking_notifier_call_chain+0x4d/0x60
 [&lt;c014f11a&gt;] ? blocking_notifier_call_chain+0x1a/0x20
 [&lt;c0160156&gt;] sys_init_module+0x96/0x1d0
 [&lt;c019dad6&gt;] ? sys_munmap+0x46/0x60
 [&lt;c0105546&gt;] syscall_call+0x7/0xb
FIX kmalloc-128: Object at 0xdd59f6e0 not freed
rt61pci 0000:00:07.0: PCI INT A disabled
rt61pci: probe of 0000:00:07.0 failed with error -2

Signed-off-by: Herton Ronaldo Krzesinski &lt;herton@mandriva.com.br&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>rt2x00: Add rt73usb USB IDs</title>
<updated>2009-04-16T14:39:13+00:00</updated>
<author>
<name>Ivo van Doorn</name>
<email>ivdoorn@gmail.com</email>
</author>
<published>2009-03-28T19:52:14+00:00</published>
<link rel='alternate' type='text/html' href='https://git.tavy.me/linux.git/commit/?id=6aabd4c4441133836ac969a9488458b37f83b677'/>
<id>6aabd4c4441133836ac969a9488458b37f83b677</id>
<content type='text'>
Signed-off-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>
Signed-off-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>dma-mapping: replace all DMA_32BIT_MASK macro with DMA_BIT_MASK(32)</title>
<updated>2009-04-07T15:31:11+00:00</updated>
<author>
<name>Yang Hongyang</name>
<email>yanghy@cn.fujitsu.com</email>
</author>
<published>2009-04-07T02:01:15+00:00</published>
<link rel='alternate' type='text/html' href='https://git.tavy.me/linux.git/commit/?id=284901a90a9e0b812ca3f5f852cbbfb60d10249d'/>
<id>284901a90a9e0b812ca3f5f852cbbfb60d10249d</id>
<content type='text'>
Replace all DMA_32BIT_MASK macro with DMA_BIT_MASK(32)

Signed-off-by: Yang Hongyang&lt;yanghy@cn.fujitsu.com&gt;
Signed-off-by: Andrew Morton &lt;akpm@linux-foundation.org&gt;
Signed-off-by: Linus Torvalds &lt;torvalds@linux-foundation.org&gt;
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
Replace all DMA_32BIT_MASK macro with DMA_BIT_MASK(32)

Signed-off-by: Yang Hongyang&lt;yanghy@cn.fujitsu.com&gt;
Signed-off-by: Andrew Morton &lt;akpm@linux-foundation.org&gt;
Signed-off-by: Linus Torvalds &lt;torvalds@linux-foundation.org&gt;
</pre>
</div>
</content>
</entry>
<entry>
<title>rt2x00: New USB ID for rt73usb</title>
<updated>2009-03-28T00:13:18+00:00</updated>
<author>
<name>Ivo van Doorn</name>
<email>ivdoorn@gmail.com</email>
</author>
<published>2009-03-20T23:00:57+00:00</published>
<link rel='alternate' type='text/html' href='https://git.tavy.me/linux.git/commit/?id=14344b81ec264efbe59de0183f5ba38650a479a6'/>
<id>14344b81ec264efbe59de0183f5ba38650a479a6</id>
<content type='text'>
Signed-off-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>
Signed-off-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 master.kernel.org:/pub/scm/linux/kernel/git/davem/net-2.6</title>
<updated>2009-03-10T12:04:16+00:00</updated>
<author>
<name>David S. Miller</name>
<email>davem@davemloft.net</email>
</author>
<published>2009-03-10T12:04:16+00:00</published>
<link rel='alternate' type='text/html' href='https://git.tavy.me/linux.git/commit/?id=d5df2a16133f4eb22f9a6bbc07723443568d362f'/>
<id>d5df2a16133f4eb22f9a6bbc07723443568d362f</id>
<content type='text'>
Conflicts:
	drivers/net/bnx2x_main.c
	drivers/net/wireless/iwlwifi/iwl3945-base.c
	drivers/net/wireless/rt2x00/rt73usb.c
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
Conflicts:
	drivers/net/bnx2x_main.c
	drivers/net/wireless/iwlwifi/iwl3945-base.c
	drivers/net/wireless/rt2x00/rt73usb.c
</pre>
</div>
</content>
</entry>
<entry>
<title>rt2x00: Export all register stats through debugfs</title>
<updated>2009-03-05T19:39:44+00:00</updated>
<author>
<name>Ivo van Doorn</name>
<email>ivdoorn@gmail.com</email>
</author>
<published>2009-03-03T17:14:18+00:00</published>
<link rel='alternate' type='text/html' href='https://git.tavy.me/linux.git/commit/?id=860559fe686b44a533c83c79fe5d1ad41bf9e090'/>
<id>860559fe686b44a533c83c79fe5d1ad41bf9e090</id>
<content type='text'>
By exporting the register base, and word size to userspace
through debugfs it will be easier to create scripts which
parse the register information. This makes debugging and
register dumps information easier.

This will break my previous scripts which dumped and parsed
all information, but since this is only for debugging purposes
this change should not be a problem.

Dumpfiles created with the old version can be easily manually
edited to make them compatible with this new approach, which
means there will be no problems comparing dumps from the
different versions either.

Also be more consistent with using tabs to seperate different
fields.

Signed-off-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>
By exporting the register base, and word size to userspace
through debugfs it will be easier to create scripts which
parse the register information. This makes debugging and
register dumps information easier.

This will break my previous scripts which dumped and parsed
all information, but since this is only for debugging purposes
this change should not be a problem.

Dumpfiles created with the old version can be easily manually
edited to make them compatible with this new approach, which
means there will be no problems comparing dumps from the
different versions either.

Also be more consistent with using tabs to seperate different
fields.

Signed-off-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>rt2x00: Fix SW antenna diversity</title>
<updated>2009-03-05T19:39:37+00:00</updated>
<author>
<name>Ivo van Doorn</name>
<email>ivdoorn@gmail.com</email>
</author>
<published>2009-03-01T16:42:00+00:00</published>
<link rel='alternate' type='text/html' href='https://git.tavy.me/linux.git/commit/?id=64abd80330baba9d87df2b952a7eec5af5158470'/>
<id>64abd80330baba9d87df2b952a7eec5af5158470</id>
<content type='text'>
Software antenna tuning is broken because of an function
ordering problem during rt2x00link_tuner().

rt2x00link_precalculate_signal()
rt2x00leds_led_quality()
rt2x00lib_antenna_diversity()

rt2x00link_precalculate_signal() will reset the quality TX/RX counters,
however rt2x00lib_antenna_diversity() requires the RX counter to
see what RSSI value must be used for a particular antenna.
We can't change the ordering since rt2x00lib_antenna_diversity() might
reset other statistics which are needed by the function called earlier.

Move the reset of the quality TX/RX counters into a seperate function
and move the call to after rt2x00lib_antenna_diversity().

Signed-off-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>
Software antenna tuning is broken because of an function
ordering problem during rt2x00link_tuner().

rt2x00link_precalculate_signal()
rt2x00leds_led_quality()
rt2x00lib_antenna_diversity()

rt2x00link_precalculate_signal() will reset the quality TX/RX counters,
however rt2x00lib_antenna_diversity() requires the RX counter to
see what RSSI value must be used for a particular antenna.
We can't change the ordering since rt2x00lib_antenna_diversity() might
reset other statistics which are needed by the function called earlier.

Move the reset of the quality TX/RX counters into a seperate function
and move the call to after rt2x00lib_antenna_diversity().

Signed-off-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>rt2x00 : more devices to rt73usb.c</title>
<updated>2009-03-05T18:43:05+00:00</updated>
<author>
<name>Xose Vazquez Perez</name>
<email>xose.vazquez@gmail.com</email>
</author>
<published>2009-02-27T23:34:23+00:00</published>
<link rel='alternate' type='text/html' href='https://git.tavy.me/linux.git/commit/?id=ef4bb70d876b4ae5787cc43727477d1a36cdc2e8'/>
<id>ef4bb70d876b4ae5787cc43727477d1a36cdc2e8</id>
<content type='text'>
add more usb_dev to rt73usb.c . IDs 'stolen' from the
windows inf file(10/21/2008, 1.03.02.0000) plus some
from the Ralink linux driver(2009_0206_RT73_Linux_STA_Drv1.1.0.2.tar.bz2)

Signed-off-by: Xose Vazquez Perez &lt;xose.vazquez@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>
add more usb_dev to rt73usb.c . IDs 'stolen' from the
windows inf file(10/21/2008, 1.03.02.0000) plus some
from the Ralink linux driver(2009_0206_RT73_Linux_STA_Drv1.1.0.2.tar.bz2)

Signed-off-by: Xose Vazquez Perez &lt;xose.vazquez@gmail.com&gt;
Signed-off-by: John W. Linville &lt;linville@tuxdriver.com&gt;
</pre>
</div>
</content>
</entry>
</feed>
