<feed xmlns='http://www.w3.org/2005/Atom'>
<title>linux-toradex.git/drivers/net/wireless/rt2x00, branch v3.2.56</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>rt2x00: check if device is still available on rt2x00mac_flush()</title>
<updated>2014-01-03T04:33:15+00:00</updated>
<author>
<name>Stanislaw Gruszka</name>
<email>stf_xl@wp.pl</email>
</author>
<published>2013-10-15T12:31:12+00:00</published>
<link rel='alternate' type='text/html' href='https://git.toradex.cn/cgit/linux-toradex.git/commit/?id=3044670ab992479da23ed94234e0fe9d1cddb722'/>
<id>3044670ab992479da23ed94234e0fe9d1cddb722</id>
<content type='text'>
commit 5671ab05cf2a579218985ef56595387932d78ee4 upstream.

Fix random kernel panic with below messages when remove dongle.

[ 2212.355447] BUG: unable to handle kernel NULL pointer dereference at 0000000000000250
[ 2212.355527] IP: [&lt;ffffffffa02667f2&gt;] rt2x00usb_kick_tx_entry+0x12/0x160 [rt2x00usb]
[ 2212.355599] PGD 0
[ 2212.355626] Oops: 0000 [#1] SMP
[ 2212.355664] Modules linked in: rt2800usb rt2x00usb rt2800lib crc_ccitt rt2x00lib mac80211 cfg80211 tun arc4 fuse rfcomm bnep snd_hda_codec_realtek snd_hda_intel snd_hda_codec btusb uvcvideo bluetooth snd_hwdep x86_pkg_temp_thermal snd_seq coretemp aesni_intel aes_x86_64 snd_seq_device glue_helper snd_pcm ablk_helper videobuf2_vmalloc sdhci_pci videobuf2_memops videobuf2_core sdhci videodev mmc_core serio_raw snd_page_alloc microcode i2c_i801 snd_timer hid_multitouch thinkpad_acpi lpc_ich mfd_core snd tpm_tis wmi tpm tpm_bios soundcore acpi_cpufreq i915 i2c_algo_bit drm_kms_helper drm i2c_core video [last unloaded: cfg80211]
[ 2212.356224] CPU: 0 PID: 34 Comm: khubd Not tainted 3.12.0-rc3-wl+ #3
[ 2212.356268] Hardware name: LENOVO 3444CUU/3444CUU, BIOS G6ET93WW (2.53 ) 02/04/2013
[ 2212.356319] task: ffff880212f687c0 ti: ffff880212f66000 task.ti: ffff880212f66000
[ 2212.356392] RIP: 0010:[&lt;ffffffffa02667f2&gt;]  [&lt;ffffffffa02667f2&gt;] rt2x00usb_kick_tx_entry+0x12/0x160 [rt2x00usb]
[ 2212.356481] RSP: 0018:ffff880212f67750  EFLAGS: 00010202
[ 2212.356519] RAX: 000000000000000c RBX: 000000000000000c RCX: 0000000000000293
[ 2212.356568] RDX: ffff8801f4dc219a RSI: 0000000000000000 RDI: 0000000000000240
[ 2212.356617] RBP: ffff880212f67778 R08: ffffffffa02667e0 R09: 0000000000000002
[ 2212.356665] R10: 0001f95254ab4b40 R11: ffff880212f675be R12: ffff8801f4dc2150
[ 2212.356712] R13: 0000000000000000 R14: ffffffffa02667e0 R15: 000000000000000d
[ 2212.356761] FS:  0000000000000000(0000) GS:ffff88021e200000(0000) knlGS:0000000000000000
[ 2212.356813] CS:  0010 DS: 0000 ES: 0000 CR0: 0000000080050033
[ 2212.356852] CR2: 0000000000000250 CR3: 0000000001a0c000 CR4: 00000000001407f0
[ 2212.356899] Stack:
[ 2212.356917]  000000000000000c ffff8801f4dc2150 0000000000000000 ffffffffa02667e0
[ 2212.356980]  000000000000000d ffff880212f677b8 ffffffffa03a31ad ffff8801f4dc219a
[ 2212.357038]  ffff8801f4dc2150 0000000000000000 ffff8800b93217a0 ffff8801f49bc800
[ 2212.357099] Call Trace:
[ 2212.357122]  [&lt;ffffffffa02667e0&gt;] ? rt2x00usb_interrupt_txdone+0x90/0x90 [rt2x00usb]
[ 2212.357174]  [&lt;ffffffffa03a31ad&gt;] rt2x00queue_for_each_entry+0xed/0x170 [rt2x00lib]
[ 2212.357244]  [&lt;ffffffffa026701c&gt;] rt2x00usb_kick_queue+0x5c/0x60 [rt2x00usb]
[ 2212.357314]  [&lt;ffffffffa03a3682&gt;] rt2x00queue_flush_queue+0x62/0xa0 [rt2x00lib]
[ 2212.357386]  [&lt;ffffffffa03a2930&gt;] rt2x00mac_flush+0x30/0x70 [rt2x00lib]
[ 2212.357470]  [&lt;ffffffffa04edded&gt;] ieee80211_flush_queues+0xbd/0x140 [mac80211]
[ 2212.357555]  [&lt;ffffffffa0502e52&gt;] ieee80211_set_disassoc+0x2d2/0x3d0 [mac80211]
[ 2212.357645]  [&lt;ffffffffa0506da3&gt;] ieee80211_mgd_deauth+0x1d3/0x240 [mac80211]
[ 2212.357718]  [&lt;ffffffff8108b17c&gt;] ? try_to_wake_up+0xec/0x290
[ 2212.357788]  [&lt;ffffffffa04dbd18&gt;] ieee80211_deauth+0x18/0x20 [mac80211]
[ 2212.357872]  [&lt;ffffffffa0418ddc&gt;] cfg80211_mlme_deauth+0x9c/0x140 [cfg80211]
[ 2212.357913]  [&lt;ffffffffa041907c&gt;] cfg80211_mlme_down+0x5c/0x60 [cfg80211]
[ 2212.357962]  [&lt;ffffffffa041cd18&gt;] cfg80211_disconnect+0x188/0x1a0 [cfg80211]
[ 2212.358014]  [&lt;ffffffffa04013bc&gt;] ? __cfg80211_stop_sched_scan+0x1c/0x130 [cfg80211]
[ 2212.358067]  [&lt;ffffffffa03f8954&gt;] cfg80211_leave+0xc4/0xe0 [cfg80211]
[ 2212.358124]  [&lt;ffffffffa03f8d1b&gt;] cfg80211_netdev_notifier_call+0x3ab/0x5e0 [cfg80211]
[ 2212.358177]  [&lt;ffffffff815140f8&gt;] ? inetdev_event+0x38/0x510
[ 2212.358217]  [&lt;ffffffff81085a94&gt;] ? __wake_up+0x44/0x50
[ 2212.358254]  [&lt;ffffffff8155995c&gt;] notifier_call_chain+0x4c/0x70
[ 2212.358293]  [&lt;ffffffff81081156&gt;] raw_notifier_call_chain+0x16/0x20
[ 2212.358361]  [&lt;ffffffff814b6dd5&gt;] call_netdevice_notifiers_info+0x35/0x60
[ 2212.358429]  [&lt;ffffffff814b6ec9&gt;] __dev_close_many+0x49/0xd0
[ 2212.358487]  [&lt;ffffffff814b7028&gt;] dev_close_many+0x88/0x100
[ 2212.358546]  [&lt;ffffffff814b8150&gt;] rollback_registered_many+0xb0/0x220
[ 2212.358612]  [&lt;ffffffff814b8319&gt;] unregister_netdevice_many+0x19/0x60
[ 2212.358694]  [&lt;ffffffffa04d8eb2&gt;] ieee80211_remove_interfaces+0x112/0x190 [mac80211]
[ 2212.358791]  [&lt;ffffffffa04c585f&gt;] ieee80211_unregister_hw+0x4f/0x100 [mac80211]
[ 2212.361994]  [&lt;ffffffffa03a1221&gt;] rt2x00lib_remove_dev+0x161/0x1a0 [rt2x00lib]
[ 2212.365240]  [&lt;ffffffffa0266e2e&gt;] rt2x00usb_disconnect+0x2e/0x70 [rt2x00usb]
[ 2212.368470]  [&lt;ffffffff81419ce4&gt;] usb_unbind_interface+0x64/0x1c0
[ 2212.371734]  [&lt;ffffffff813b446f&gt;] __device_release_driver+0x7f/0xf0
[ 2212.374999]  [&lt;ffffffff813b4503&gt;] device_release_driver+0x23/0x30
[ 2212.378131]  [&lt;ffffffff813b3c98&gt;] bus_remove_device+0x108/0x180
[ 2212.381358]  [&lt;ffffffff813b0565&gt;] device_del+0x135/0x1d0
[ 2212.384454]  [&lt;ffffffff81417760&gt;] usb_disable_device+0xb0/0x270
[ 2212.387451]  [&lt;ffffffff8140d9cd&gt;] usb_disconnect+0xad/0x1d0
[ 2212.390294]  [&lt;ffffffff8140f6cd&gt;] hub_thread+0x63d/0x1660
[ 2212.393034]  [&lt;ffffffff8107c860&gt;] ? wake_up_atomic_t+0x30/0x30
[ 2212.395728]  [&lt;ffffffff8140f090&gt;] ? hub_port_debounce+0x130/0x130
[ 2212.398412]  [&lt;ffffffff8107baa0&gt;] kthread+0xc0/0xd0
[ 2212.401058]  [&lt;ffffffff8107b9e0&gt;] ? insert_kthread_work+0x40/0x40
[ 2212.403639]  [&lt;ffffffff8155de3c&gt;] ret_from_fork+0x7c/0xb0
[ 2212.406193]  [&lt;ffffffff8107b9e0&gt;] ? insert_kthread_work+0x40/0x40
[ 2212.408732] Code: 24 58 08 00 00 bf 80 00 00 00 e8 3a c3 e0 e0 5b 41 5c 5d c3 0f 1f 44 00 00 0f 1f 44 00 00 55 48 89 e5 41 57 41 56 41 55 41 54 53 &lt;48&gt; 8b 47 10 48 89 fb 4c 8b 6f 28 4c 8b 20 49 8b 04 24 4c 8b 30
[ 2212.414671] RIP  [&lt;ffffffffa02667f2&gt;] rt2x00usb_kick_tx_entry+0x12/0x160 [rt2x00usb]
[ 2212.417646]  RSP &lt;ffff880212f67750&gt;
[ 2212.420547] CR2: 0000000000000250
[ 2212.441024] ---[ end trace 5442918f33832bce ]---

Signed-off-by: Stanislaw Gruszka &lt;stf_xl@wp.pl&gt;
Acked-by: Helmut Schaa &lt;helmut.schaa@googlemail.com&gt;
Signed-off-by: John W. Linville &lt;linville@tuxdriver.com&gt;
Signed-off-by: Ben Hutchings &lt;ben@decadent.org.uk&gt;
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
commit 5671ab05cf2a579218985ef56595387932d78ee4 upstream.

Fix random kernel panic with below messages when remove dongle.

[ 2212.355447] BUG: unable to handle kernel NULL pointer dereference at 0000000000000250
[ 2212.355527] IP: [&lt;ffffffffa02667f2&gt;] rt2x00usb_kick_tx_entry+0x12/0x160 [rt2x00usb]
[ 2212.355599] PGD 0
[ 2212.355626] Oops: 0000 [#1] SMP
[ 2212.355664] Modules linked in: rt2800usb rt2x00usb rt2800lib crc_ccitt rt2x00lib mac80211 cfg80211 tun arc4 fuse rfcomm bnep snd_hda_codec_realtek snd_hda_intel snd_hda_codec btusb uvcvideo bluetooth snd_hwdep x86_pkg_temp_thermal snd_seq coretemp aesni_intel aes_x86_64 snd_seq_device glue_helper snd_pcm ablk_helper videobuf2_vmalloc sdhci_pci videobuf2_memops videobuf2_core sdhci videodev mmc_core serio_raw snd_page_alloc microcode i2c_i801 snd_timer hid_multitouch thinkpad_acpi lpc_ich mfd_core snd tpm_tis wmi tpm tpm_bios soundcore acpi_cpufreq i915 i2c_algo_bit drm_kms_helper drm i2c_core video [last unloaded: cfg80211]
[ 2212.356224] CPU: 0 PID: 34 Comm: khubd Not tainted 3.12.0-rc3-wl+ #3
[ 2212.356268] Hardware name: LENOVO 3444CUU/3444CUU, BIOS G6ET93WW (2.53 ) 02/04/2013
[ 2212.356319] task: ffff880212f687c0 ti: ffff880212f66000 task.ti: ffff880212f66000
[ 2212.356392] RIP: 0010:[&lt;ffffffffa02667f2&gt;]  [&lt;ffffffffa02667f2&gt;] rt2x00usb_kick_tx_entry+0x12/0x160 [rt2x00usb]
[ 2212.356481] RSP: 0018:ffff880212f67750  EFLAGS: 00010202
[ 2212.356519] RAX: 000000000000000c RBX: 000000000000000c RCX: 0000000000000293
[ 2212.356568] RDX: ffff8801f4dc219a RSI: 0000000000000000 RDI: 0000000000000240
[ 2212.356617] RBP: ffff880212f67778 R08: ffffffffa02667e0 R09: 0000000000000002
[ 2212.356665] R10: 0001f95254ab4b40 R11: ffff880212f675be R12: ffff8801f4dc2150
[ 2212.356712] R13: 0000000000000000 R14: ffffffffa02667e0 R15: 000000000000000d
[ 2212.356761] FS:  0000000000000000(0000) GS:ffff88021e200000(0000) knlGS:0000000000000000
[ 2212.356813] CS:  0010 DS: 0000 ES: 0000 CR0: 0000000080050033
[ 2212.356852] CR2: 0000000000000250 CR3: 0000000001a0c000 CR4: 00000000001407f0
[ 2212.356899] Stack:
[ 2212.356917]  000000000000000c ffff8801f4dc2150 0000000000000000 ffffffffa02667e0
[ 2212.356980]  000000000000000d ffff880212f677b8 ffffffffa03a31ad ffff8801f4dc219a
[ 2212.357038]  ffff8801f4dc2150 0000000000000000 ffff8800b93217a0 ffff8801f49bc800
[ 2212.357099] Call Trace:
[ 2212.357122]  [&lt;ffffffffa02667e0&gt;] ? rt2x00usb_interrupt_txdone+0x90/0x90 [rt2x00usb]
[ 2212.357174]  [&lt;ffffffffa03a31ad&gt;] rt2x00queue_for_each_entry+0xed/0x170 [rt2x00lib]
[ 2212.357244]  [&lt;ffffffffa026701c&gt;] rt2x00usb_kick_queue+0x5c/0x60 [rt2x00usb]
[ 2212.357314]  [&lt;ffffffffa03a3682&gt;] rt2x00queue_flush_queue+0x62/0xa0 [rt2x00lib]
[ 2212.357386]  [&lt;ffffffffa03a2930&gt;] rt2x00mac_flush+0x30/0x70 [rt2x00lib]
[ 2212.357470]  [&lt;ffffffffa04edded&gt;] ieee80211_flush_queues+0xbd/0x140 [mac80211]
[ 2212.357555]  [&lt;ffffffffa0502e52&gt;] ieee80211_set_disassoc+0x2d2/0x3d0 [mac80211]
[ 2212.357645]  [&lt;ffffffffa0506da3&gt;] ieee80211_mgd_deauth+0x1d3/0x240 [mac80211]
[ 2212.357718]  [&lt;ffffffff8108b17c&gt;] ? try_to_wake_up+0xec/0x290
[ 2212.357788]  [&lt;ffffffffa04dbd18&gt;] ieee80211_deauth+0x18/0x20 [mac80211]
[ 2212.357872]  [&lt;ffffffffa0418ddc&gt;] cfg80211_mlme_deauth+0x9c/0x140 [cfg80211]
[ 2212.357913]  [&lt;ffffffffa041907c&gt;] cfg80211_mlme_down+0x5c/0x60 [cfg80211]
[ 2212.357962]  [&lt;ffffffffa041cd18&gt;] cfg80211_disconnect+0x188/0x1a0 [cfg80211]
[ 2212.358014]  [&lt;ffffffffa04013bc&gt;] ? __cfg80211_stop_sched_scan+0x1c/0x130 [cfg80211]
[ 2212.358067]  [&lt;ffffffffa03f8954&gt;] cfg80211_leave+0xc4/0xe0 [cfg80211]
[ 2212.358124]  [&lt;ffffffffa03f8d1b&gt;] cfg80211_netdev_notifier_call+0x3ab/0x5e0 [cfg80211]
[ 2212.358177]  [&lt;ffffffff815140f8&gt;] ? inetdev_event+0x38/0x510
[ 2212.358217]  [&lt;ffffffff81085a94&gt;] ? __wake_up+0x44/0x50
[ 2212.358254]  [&lt;ffffffff8155995c&gt;] notifier_call_chain+0x4c/0x70
[ 2212.358293]  [&lt;ffffffff81081156&gt;] raw_notifier_call_chain+0x16/0x20
[ 2212.358361]  [&lt;ffffffff814b6dd5&gt;] call_netdevice_notifiers_info+0x35/0x60
[ 2212.358429]  [&lt;ffffffff814b6ec9&gt;] __dev_close_many+0x49/0xd0
[ 2212.358487]  [&lt;ffffffff814b7028&gt;] dev_close_many+0x88/0x100
[ 2212.358546]  [&lt;ffffffff814b8150&gt;] rollback_registered_many+0xb0/0x220
[ 2212.358612]  [&lt;ffffffff814b8319&gt;] unregister_netdevice_many+0x19/0x60
[ 2212.358694]  [&lt;ffffffffa04d8eb2&gt;] ieee80211_remove_interfaces+0x112/0x190 [mac80211]
[ 2212.358791]  [&lt;ffffffffa04c585f&gt;] ieee80211_unregister_hw+0x4f/0x100 [mac80211]
[ 2212.361994]  [&lt;ffffffffa03a1221&gt;] rt2x00lib_remove_dev+0x161/0x1a0 [rt2x00lib]
[ 2212.365240]  [&lt;ffffffffa0266e2e&gt;] rt2x00usb_disconnect+0x2e/0x70 [rt2x00usb]
[ 2212.368470]  [&lt;ffffffff81419ce4&gt;] usb_unbind_interface+0x64/0x1c0
[ 2212.371734]  [&lt;ffffffff813b446f&gt;] __device_release_driver+0x7f/0xf0
[ 2212.374999]  [&lt;ffffffff813b4503&gt;] device_release_driver+0x23/0x30
[ 2212.378131]  [&lt;ffffffff813b3c98&gt;] bus_remove_device+0x108/0x180
[ 2212.381358]  [&lt;ffffffff813b0565&gt;] device_del+0x135/0x1d0
[ 2212.384454]  [&lt;ffffffff81417760&gt;] usb_disable_device+0xb0/0x270
[ 2212.387451]  [&lt;ffffffff8140d9cd&gt;] usb_disconnect+0xad/0x1d0
[ 2212.390294]  [&lt;ffffffff8140f6cd&gt;] hub_thread+0x63d/0x1660
[ 2212.393034]  [&lt;ffffffff8107c860&gt;] ? wake_up_atomic_t+0x30/0x30
[ 2212.395728]  [&lt;ffffffff8140f090&gt;] ? hub_port_debounce+0x130/0x130
[ 2212.398412]  [&lt;ffffffff8107baa0&gt;] kthread+0xc0/0xd0
[ 2212.401058]  [&lt;ffffffff8107b9e0&gt;] ? insert_kthread_work+0x40/0x40
[ 2212.403639]  [&lt;ffffffff8155de3c&gt;] ret_from_fork+0x7c/0xb0
[ 2212.406193]  [&lt;ffffffff8107b9e0&gt;] ? insert_kthread_work+0x40/0x40
[ 2212.408732] Code: 24 58 08 00 00 bf 80 00 00 00 e8 3a c3 e0 e0 5b 41 5c 5d c3 0f 1f 44 00 00 0f 1f 44 00 00 55 48 89 e5 41 57 41 56 41 55 41 54 53 &lt;48&gt; 8b 47 10 48 89 fb 4c 8b 6f 28 4c 8b 20 49 8b 04 24 4c 8b 30
[ 2212.414671] RIP  [&lt;ffffffffa02667f2&gt;] rt2x00usb_kick_tx_entry+0x12/0x160 [rt2x00usb]
[ 2212.417646]  RSP &lt;ffff880212f67750&gt;
[ 2212.420547] CR2: 0000000000000250
[ 2212.441024] ---[ end trace 5442918f33832bce ]---

Signed-off-by: Stanislaw Gruszka &lt;stf_xl@wp.pl&gt;
Acked-by: Helmut Schaa &lt;helmut.schaa@googlemail.com&gt;
Signed-off-by: John W. Linville &lt;linville@tuxdriver.com&gt;
Signed-off-by: Ben Hutchings &lt;ben@decadent.org.uk&gt;
</pre>
</div>
</content>
</entry>
<entry>
<title>rt2400pci: fix RSSI read</title>
<updated>2014-01-03T04:33:14+00:00</updated>
<author>
<name>Stanislaw Gruszka</name>
<email>stf_xl@wp.pl</email>
</author>
<published>2013-10-15T12:28:48+00:00</published>
<link rel='alternate' type='text/html' href='https://git.toradex.cn/cgit/linux-toradex.git/commit/?id=c13355c7b4a21643c7c940f94a589731224b1ada'/>
<id>c13355c7b4a21643c7c940f94a589731224b1ada</id>
<content type='text'>
commit 2bf127a5cc372b9319afcbae10b090663b621c8b upstream.

RSSI value is provided on word3 not on word2.

Signed-off-by: Stanislaw Gruszka &lt;stf_xl@wp.pl&gt;
Signed-off-by: John W. Linville &lt;linville@tuxdriver.com&gt;
Signed-off-by: Ben Hutchings &lt;ben@decadent.org.uk&gt;
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
commit 2bf127a5cc372b9319afcbae10b090663b621c8b upstream.

RSSI value is provided on word3 not on word2.

Signed-off-by: Stanislaw Gruszka &lt;stf_xl@wp.pl&gt;
Signed-off-by: John W. Linville &lt;linville@tuxdriver.com&gt;
Signed-off-by: Ben Hutchings &lt;ben@decadent.org.uk&gt;
</pre>
</div>
</content>
</entry>
<entry>
<title>rt2800: fix wrong TX power compensation</title>
<updated>2013-10-26T20:05:59+00:00</updated>
<author>
<name>Stanislaw Gruszka</name>
<email>sgruszka@redhat.com</email>
</author>
<published>2013-08-26T13:18:53+00:00</published>
<link rel='alternate' type='text/html' href='https://git.toradex.cn/cgit/linux-toradex.git/commit/?id=72b55735d2f26b1dfcb206773974c465ca7ef04d'/>
<id>72b55735d2f26b1dfcb206773974c465ca7ef04d</id>
<content type='text'>
commit 6e956da2027c767859128b9bfef085cf2a8e233b upstream.

We should not do temperature compensation on devices without
EXTERNAL_TX_ALC bit set (called DynamicTxAgcControl on vendor driver).
Such devices can have totally bogus TSSI parameters on the EEPROM,
but still threaded by us as valid and result doing wrong TX power
calculations.

This fix inability to connect to AP on slightly longer distance on
some Ralink chips/devices.

Reported-and-tested-by: Fabien ADAM &lt;id2ndr@crocobox.org&gt;
Signed-off-by: Stanislaw Gruszka &lt;sgruszka@redhat.com&gt;
Signed-off-by: John W. Linville &lt;linville@tuxdriver.com&gt;
[bwh: Backported to 3.2: use rt2x00_eeprom_read()]
Signed-off-by: Ben Hutchings &lt;ben@decadent.org.uk&gt;
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
commit 6e956da2027c767859128b9bfef085cf2a8e233b upstream.

We should not do temperature compensation on devices without
EXTERNAL_TX_ALC bit set (called DynamicTxAgcControl on vendor driver).
Such devices can have totally bogus TSSI parameters on the EEPROM,
but still threaded by us as valid and result doing wrong TX power
calculations.

This fix inability to connect to AP on slightly longer distance on
some Ralink chips/devices.

Reported-and-tested-by: Fabien ADAM &lt;id2ndr@crocobox.org&gt;
Signed-off-by: Stanislaw Gruszka &lt;sgruszka@redhat.com&gt;
Signed-off-by: John W. Linville &lt;linville@tuxdriver.com&gt;
[bwh: Backported to 3.2: use rt2x00_eeprom_read()]
Signed-off-by: Ben Hutchings &lt;ben@decadent.org.uk&gt;
</pre>
</div>
</content>
</entry>
<entry>
<title>rt2x00: fix stop queue</title>
<updated>2013-09-10T00:57:17+00:00</updated>
<author>
<name>Stanislaw Gruszka</name>
<email>stf_xl@wp.pl</email>
</author>
<published>2013-07-28T11:17:22+00:00</published>
<link rel='alternate' type='text/html' href='https://git.toradex.cn/cgit/linux-toradex.git/commit/?id=9e77047af335a301ca5be02a7dcd5d73db0f92e5'/>
<id>9e77047af335a301ca5be02a7dcd5d73db0f92e5</id>
<content type='text'>
commit e2288b66fe7ff0288382b2af671b4da558b44472 upstream.

Since we clear QUEUE_STARTED in rt2x00queue_stop_queue(), following
call to rt2x00queue_pause_queue() reduce to noop, i.e we do not
stop queue in mac80211.

To fix that introduce rt2x00queue_pause_queue_nocheck() function,
which will stop queue in mac80211 directly.

Note that rt2x00_start_queue() explicitly set QUEUE_PAUSED bit.

Note also that reordering operations i.e. first call to
rt2x00queue_pause_queue() and then clear QUEUE_STARTED bit, will race
with rt2x00queue_unpause_queue(), so calling ieee80211_stop_queue()
directly is the only available solution to fix the problem without
major rework.

Signed-off-by: Stanislaw Gruszka &lt;stf_xl@wp.pl&gt;
Signed-off-by: John W. Linville &lt;linville@tuxdriver.com&gt;
Signed-off-by: Ben Hutchings &lt;ben@decadent.org.uk&gt;
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
commit e2288b66fe7ff0288382b2af671b4da558b44472 upstream.

Since we clear QUEUE_STARTED in rt2x00queue_stop_queue(), following
call to rt2x00queue_pause_queue() reduce to noop, i.e we do not
stop queue in mac80211.

To fix that introduce rt2x00queue_pause_queue_nocheck() function,
which will stop queue in mac80211 directly.

Note that rt2x00_start_queue() explicitly set QUEUE_PAUSED bit.

Note also that reordering operations i.e. first call to
rt2x00queue_pause_queue() and then clear QUEUE_STARTED bit, will race
with rt2x00queue_unpause_queue(), so calling ieee80211_stop_queue()
directly is the only available solution to fix the problem without
major rework.

Signed-off-by: Stanislaw Gruszka &lt;stf_xl@wp.pl&gt;
Signed-off-by: John W. Linville &lt;linville@tuxdriver.com&gt;
Signed-off-by: Ben Hutchings &lt;ben@decadent.org.uk&gt;
</pre>
</div>
</content>
</entry>
<entry>
<title>rt2x00: rt2x00pci_regbusy_read() - only print register access failure once</title>
<updated>2013-04-25T19:25:31+00:00</updated>
<author>
<name>Tim Gardner</name>
<email>tim.gardner@canonical.com</email>
</author>
<published>2013-02-18T19:56:28+00:00</published>
<link rel='alternate' type='text/html' href='https://git.toradex.cn/cgit/linux-toradex.git/commit/?id=61d50e126c00f8fd72d803578108236cc81d0dfa'/>
<id>61d50e126c00f8fd72d803578108236cc81d0dfa</id>
<content type='text'>
commit 83589b30f1e1dc9898986293c9336b8ce1705dec upstream.

BugLink: http://bugs.launchpad.net/bugs/1128840

It appears that when this register read fails it never recovers, so
I think there is no need to repeat the same error message ad infinitum.

Cc: Ivo van Doorn &lt;IvDoorn@gmail.com&gt;
Cc: Gertjan van Wingerde &lt;gwingerde@gmail.com&gt;
Cc: Helmut Schaa &lt;helmut.schaa@googlemail.com&gt;
Cc: "John W. Linville" &lt;linville@tuxdriver.com&gt;
Cc: linux-wireless@vger.kernel.org
Cc: users@rt2x00.serialmonkey.com
Cc: netdev@vger.kernel.org
Signed-off-by: Tim Gardner &lt;tim.gardner@canonical.com&gt;
Signed-off-by: John W. Linville &lt;linville@tuxdriver.com&gt;
Signed-off-by: Ben Hutchings &lt;ben@decadent.org.uk&gt;
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
commit 83589b30f1e1dc9898986293c9336b8ce1705dec upstream.

BugLink: http://bugs.launchpad.net/bugs/1128840

It appears that when this register read fails it never recovers, so
I think there is no need to repeat the same error message ad infinitum.

Cc: Ivo van Doorn &lt;IvDoorn@gmail.com&gt;
Cc: Gertjan van Wingerde &lt;gwingerde@gmail.com&gt;
Cc: Helmut Schaa &lt;helmut.schaa@googlemail.com&gt;
Cc: "John W. Linville" &lt;linville@tuxdriver.com&gt;
Cc: linux-wireless@vger.kernel.org
Cc: users@rt2x00.serialmonkey.com
Cc: netdev@vger.kernel.org
Signed-off-by: Tim Gardner &lt;tim.gardner@canonical.com&gt;
Signed-off-by: John W. Linville &lt;linville@tuxdriver.com&gt;
Signed-off-by: Ben Hutchings &lt;ben@decadent.org.uk&gt;
</pre>
</div>
</content>
</entry>
<entry>
<title>rt2x00: error in configurations with  mesh support disabled</title>
<updated>2013-04-10T02:20:08+00:00</updated>
<author>
<name>Felix Fietkau</name>
<email>nbd@openwrt.org</email>
</author>
<published>2013-02-26T15:09:55+00:00</published>
<link rel='alternate' type='text/html' href='https://git.toradex.cn/cgit/linux-toradex.git/commit/?id=6a2c19ca2210f3f3eef99eeca550acd06e54c0c0'/>
<id>6a2c19ca2210f3f3eef99eeca550acd06e54c0c0</id>
<content type='text'>
commit 6ef9e2f6d12ce9e2120916804d2ddd46b954a70b upstream.

If CONFIG_MAC80211_MESH is not set, cfg80211 will now allow advertising
interface combinations with NL80211_IFTYPE_MESH_POINT present.
Add appropriate ifdefs to avoid running into errors.

Signed-off-by: Felix Fietkau &lt;nbd@openwrt.org&gt;
Acked-by: Gertjan van Wingerde &lt;gwingerde@gmail.com&gt;
Signed-off-by: John W. Linville &lt;linville@tuxdriver.com&gt;
[lxiang: Backported for 3.4-stable. Removed code of simultaneous AP and mesh
 mode added in 4a5fc6d 3.9-rc1.]
Signed-off-by: Lingzhu Xiang &lt;lxiang@redhat.com&gt;
Reviewed-by: CAI Qian &lt;caiqian@redhat.com&gt;
Signed-off-by: Ben Hutchings &lt;ben@decadent.org.uk&gt;
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
commit 6ef9e2f6d12ce9e2120916804d2ddd46b954a70b upstream.

If CONFIG_MAC80211_MESH is not set, cfg80211 will now allow advertising
interface combinations with NL80211_IFTYPE_MESH_POINT present.
Add appropriate ifdefs to avoid running into errors.

Signed-off-by: Felix Fietkau &lt;nbd@openwrt.org&gt;
Acked-by: Gertjan van Wingerde &lt;gwingerde@gmail.com&gt;
Signed-off-by: John W. Linville &lt;linville@tuxdriver.com&gt;
[lxiang: Backported for 3.4-stable. Removed code of simultaneous AP and mesh
 mode added in 4a5fc6d 3.9-rc1.]
Signed-off-by: Lingzhu Xiang &lt;lxiang@redhat.com&gt;
Reviewed-by: CAI Qian &lt;caiqian@redhat.com&gt;
Signed-off-by: Ben Hutchings &lt;ben@decadent.org.uk&gt;
</pre>
</div>
</content>
</entry>
<entry>
<title>rt2800usb: Add support for 2001:3c1e (D-Link DWA-125 rev B1) USB Wi-Fi adapter</title>
<updated>2013-02-20T03:15:27+00:00</updated>
<author>
<name>Maia Kozheva</name>
<email>sikon@ubuntu.com</email>
</author>
<published>2012-12-09T09:07:40+00:00</published>
<link rel='alternate' type='text/html' href='https://git.toradex.cn/cgit/linux-toradex.git/commit/?id=31317e96c36a1d45bf6618a8f02839c924d2bcaf'/>
<id>31317e96c36a1d45bf6618a8f02839c924d2bcaf</id>
<content type='text'>
commit fd7b9270120ca7e53fbf0469febe0c68acf6a0a2 upstream.

D-Link DWA-125/B1 is a relatively new USB Wi-Fi adapter, using a
Ralink chipset supported by the rt2800usb driver. Currently, to work
around the problem (it's missing in all present kernel versions,
up to and including 3.7.x), I had to add this to /etc/rc.local:

echo 2001 3c1e &gt;&gt; /sys/bus/usb/drivers/rt2800usb/new_id

After that, the device works without problems. Been using it for over
a week with no bugs in sight.

The attached patch is trivial and simply adds the new USB ID to the
list of devices handled by rt2800usb.

Signed-off-by: Maia Kozheva &lt;sikon@ubuntu.com&gt;
Signed-off-by: John W. Linville &lt;linville@tuxdriver.com&gt;
Signed-off-by: Ben Hutchings &lt;ben@decadent.org.uk&gt;
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
commit fd7b9270120ca7e53fbf0469febe0c68acf6a0a2 upstream.

D-Link DWA-125/B1 is a relatively new USB Wi-Fi adapter, using a
Ralink chipset supported by the rt2800usb driver. Currently, to work
around the problem (it's missing in all present kernel versions,
up to and including 3.7.x), I had to add this to /etc/rc.local:

echo 2001 3c1e &gt;&gt; /sys/bus/usb/drivers/rt2800usb/new_id

After that, the device works without problems. Been using it for over
a week with no bugs in sight.

The attached patch is trivial and simply adds the new USB ID to the
list of devices handled by rt2800usb.

Signed-off-by: Maia Kozheva &lt;sikon@ubuntu.com&gt;
Signed-off-by: John W. Linville &lt;linville@tuxdriver.com&gt;
Signed-off-by: Ben Hutchings &lt;ben@decadent.org.uk&gt;
</pre>
</div>
</content>
</entry>
<entry>
<title>Wireless: rt2x00: Add device id for Sweex LW323 to rt2800usb.c</title>
<updated>2013-02-20T03:15:27+00:00</updated>
<author>
<name>Jaume Delclòs</name>
<email>jaume@delclos.com</email>
</author>
<published>2012-11-02T22:35:20+00:00</published>
<link rel='alternate' type='text/html' href='https://git.toradex.cn/cgit/linux-toradex.git/commit/?id=8d675985b73d797b21e945979c473613690916cd'/>
<id>8d675985b73d797b21e945979c473613690916cd</id>
<content type='text'>
commit 36f318bb124b231c01db6965a009f46d5731f012 upstream.

This patch adds detection for the Sweex LW323 USB wireless network card
in the rt2x00 driver (just one line in rt2800usb.c).
It applies to linux-3.7-rc3.

Signed-off-by: Jaume Delclòs &lt;jaume@delclos.com&gt;
Signed-off-by: John W. Linville &lt;linville@tuxdriver.com&gt;
Signed-off-by: Ben Hutchings &lt;ben@decadent.org.uk&gt;
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
commit 36f318bb124b231c01db6965a009f46d5731f012 upstream.

This patch adds detection for the Sweex LW323 USB wireless network card
in the rt2x00 driver (just one line in rt2800usb.c).
It applies to linux-3.7-rc3.

Signed-off-by: Jaume Delclòs &lt;jaume@delclos.com&gt;
Signed-off-by: John W. Linville &lt;linville@tuxdriver.com&gt;
Signed-off-by: Ben Hutchings &lt;ben@decadent.org.uk&gt;
</pre>
</div>
</content>
</entry>
<entry>
<title>wireless: rt2x00: rt{2500,73}usb.c put back duplicate id</title>
<updated>2013-02-20T03:15:27+00:00</updated>
<author>
<name>Xose Vazquez Perez</name>
<email>xose.vazquez@gmail.com</email>
</author>
<published>2012-04-14T21:00:01+00:00</published>
<link rel='alternate' type='text/html' href='https://git.toradex.cn/cgit/linux-toradex.git/commit/?id=647adb462006c503a7e9f5756685fb9a1f6b1334'/>
<id>647adb462006c503a7e9f5756685fb9a1f6b1334</id>
<content type='text'>
commit 8f35f787b75e9b6435ea37dabcae2d40dc72d31c upstream.

put back 0x050d,0x7050 to rt73usb, same usb_id for two chips:

K7SF5D7050A ver 2xxx is rt2500
K7SF5D7050B ver 3xxx is rt73

&lt;http://en-us-support.belkin.com/app/answers/detail/a_id/297/kw/K7SF5D7050&gt;

Signed-off-by: Xose Vazquez Perez &lt;xose.vazquez@gmail.com&gt;
Signed-off-by: John W. Linville &lt;linville@tuxdriver.com&gt;
Signed-off-by: Ben Hutchings &lt;ben@decadent.org.uk&gt;
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
commit 8f35f787b75e9b6435ea37dabcae2d40dc72d31c upstream.

put back 0x050d,0x7050 to rt73usb, same usb_id for two chips:

K7SF5D7050A ver 2xxx is rt2500
K7SF5D7050B ver 3xxx is rt73

&lt;http://en-us-support.belkin.com/app/answers/detail/a_id/297/kw/K7SF5D7050&gt;

Signed-off-by: Xose Vazquez Perez &lt;xose.vazquez@gmail.com&gt;
Signed-off-by: John W. Linville &lt;linville@tuxdriver.com&gt;
Signed-off-by: Ben Hutchings &lt;ben@decadent.org.uk&gt;
</pre>
</div>
</content>
</entry>
<entry>
<title>Revert: "rt2x00: Don't let mac80211 send a BAR when an AMPDU subframe fails"</title>
<updated>2013-01-16T01:13:23+00:00</updated>
<author>
<name>Stanislaw Gruszka</name>
<email>sgruszka@redhat.com</email>
</author>
<published>2012-12-03T11:59:04+00:00</published>
<link rel='alternate' type='text/html' href='https://git.toradex.cn/cgit/linux-toradex.git/commit/?id=c31f484c903a7d8ad628ef446fc4c55b21e2d26d'/>
<id>c31f484c903a7d8ad628ef446fc4c55b21e2d26d</id>
<content type='text'>
commit ab9d6e4ffe192427ce9e93d4f927b0faaa8a941e upstream.

This revert:

commit be03d4a45c09ee5100d3aaaedd087f19bc20d01f
Author: Andreas Hartmann &lt;andihartmann@01019freenet.de&gt;
Date:   Tue Apr 17 00:25:28 2012 +0200

    rt2x00: Don't let mac80211 send a BAR when an AMPDU subframe fails

To fix problem workaround by above commit use
IEEE80211_HW_TEARDOWN_AGGR_ON_BAR_FAIL flag (see change log for
"mac80211: introduce IEEE80211_HW_TEARDOWN_AGGR_ON_BAR_FAIL" patch).

Resolve: https://bugzilla.kernel.org/show_bug.cgi?id=42828
Bisected-by: Francisco Pina Martins &lt;f.pinamartins@gmail.com&gt;
Signed-off-by: Stanislaw Gruszka &lt;sgruszka@redhat.com&gt;
Signed-off-by: Johannes Berg &lt;johannes.berg@intel.com&gt;
[bwh: Backported to 3.2: adjust context]
Signed-off-by: Ben Hutchings &lt;ben@decadent.org.uk&gt;
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
commit ab9d6e4ffe192427ce9e93d4f927b0faaa8a941e upstream.

This revert:

commit be03d4a45c09ee5100d3aaaedd087f19bc20d01f
Author: Andreas Hartmann &lt;andihartmann@01019freenet.de&gt;
Date:   Tue Apr 17 00:25:28 2012 +0200

    rt2x00: Don't let mac80211 send a BAR when an AMPDU subframe fails

To fix problem workaround by above commit use
IEEE80211_HW_TEARDOWN_AGGR_ON_BAR_FAIL flag (see change log for
"mac80211: introduce IEEE80211_HW_TEARDOWN_AGGR_ON_BAR_FAIL" patch).

Resolve: https://bugzilla.kernel.org/show_bug.cgi?id=42828
Bisected-by: Francisco Pina Martins &lt;f.pinamartins@gmail.com&gt;
Signed-off-by: Stanislaw Gruszka &lt;sgruszka@redhat.com&gt;
Signed-off-by: Johannes Berg &lt;johannes.berg@intel.com&gt;
[bwh: Backported to 3.2: adjust context]
Signed-off-by: Ben Hutchings &lt;ben@decadent.org.uk&gt;
</pre>
</div>
</content>
</entry>
</feed>
