<feed xmlns='http://www.w3.org/2005/Atom'>
<title>linux-toradex.git/drivers/net, branch v3.4.71</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>rt2800usb: slow down TX status polling</title>
<updated>2013-11-29T18:50:37+00:00</updated>
<author>
<name>Stanislaw Gruszka</name>
<email>sgruszka@redhat.com</email>
</author>
<published>2013-10-18T09:36:54+00:00</published>
<link rel='alternate' type='text/html' href='https://git.toradex.cn/cgit/linux-toradex.git/commit/?id=f087a3e5c6d46a7ce7eeb5481612118104abebb8'/>
<id>f087a3e5c6d46a7ce7eeb5481612118104abebb8</id>
<content type='text'>
commit 36165fd5b00bf8163f89c21bb16a3e9834555b10 upstream.

Polling TX statuses too frequently has two negative effects. First is
randomly peek CPU usage, causing overall system functioning delays.
Second bad effect is that device is not able to fill TX statuses in
H/W register on some workloads and we get lot of timeouts like below:

ieee80211 phy4: rt2800usb_entry_txstatus_timeout: Warning - TX status timeout for entry 7 in queue 2
ieee80211 phy4: rt2800usb_entry_txstatus_timeout: Warning - TX status timeout for entry 7 in queue 2
ieee80211 phy4: rt2800usb_txdone: Warning - Got TX status for an empty queue 2, dropping

This not only cause flood of messages in dmesg, but also bad throughput,
since rate scaling algorithm can not work optimally.

In the future, we should probably make polling interval be adjusted
automatically, but for now just increase values, this make mentioned
problems gone.

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

Signed-off-by: Stanislaw Gruszka &lt;sgruszka@redhat.com&gt;
Signed-off-by: John W. Linville &lt;linville@tuxdriver.com&gt;
Signed-off-by: Greg Kroah-Hartman &lt;gregkh@linuxfoundation.org&gt;

</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
commit 36165fd5b00bf8163f89c21bb16a3e9834555b10 upstream.

Polling TX statuses too frequently has two negative effects. First is
randomly peek CPU usage, causing overall system functioning delays.
Second bad effect is that device is not able to fill TX statuses in
H/W register on some workloads and we get lot of timeouts like below:

ieee80211 phy4: rt2800usb_entry_txstatus_timeout: Warning - TX status timeout for entry 7 in queue 2
ieee80211 phy4: rt2800usb_entry_txstatus_timeout: Warning - TX status timeout for entry 7 in queue 2
ieee80211 phy4: rt2800usb_txdone: Warning - Got TX status for an empty queue 2, dropping

This not only cause flood of messages in dmesg, but also bad throughput,
since rate scaling algorithm can not work optimally.

In the future, we should probably make polling interval be adjusted
automatically, but for now just increase values, this make mentioned
problems gone.

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

Signed-off-by: Stanislaw Gruszka &lt;sgruszka@redhat.com&gt;
Signed-off-by: John W. Linville &lt;linville@tuxdriver.com&gt;
Signed-off-by: Greg Kroah-Hartman &lt;gregkh@linuxfoundation.org&gt;

</pre>
</div>
</content>
</entry>
<entry>
<title>rt2x00: check if device is still available on rt2x00mac_flush()</title>
<updated>2013-11-29T18:50:33+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=7eebf56b11ac00f164583a217b65fa264f62cb07'/>
<id>7eebf56b11ac00f164583a217b65fa264f62cb07</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: Greg Kroah-Hartman &lt;gregkh@linuxfoundation.org&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: Greg Kroah-Hartman &lt;gregkh@linuxfoundation.org&gt;

</pre>
</div>
</content>
</entry>
<entry>
<title>8139cp: re-enable interrupts after tx timeout</title>
<updated>2013-11-29T18:50:32+00:00</updated>
<author>
<name>David Woodhouse</name>
<email>dwmw2@infradead.org</email>
</author>
<published>2012-11-24T12:11:21+00:00</published>
<link rel='alternate' type='text/html' href='https://git.toradex.cn/cgit/linux-toradex.git/commit/?id=d05ee9e14f71acbc101358ac0659b67794ca644f'/>
<id>d05ee9e14f71acbc101358ac0659b67794ca644f</id>
<content type='text'>
commit 01ffc0a7f1c1801a2354719dedbc32aff45b987d upstream.

Recovery doesn't work too well if we leave interrupts disabled...

Signed-off-by: David Woodhouse &lt;David.Woodhouse@intel.com&gt;
Acked-by: Francois Romieu &lt;romieu@fr.zoreil.com&gt;
Signed-off-by: David S. Miller &lt;davem@davemloft.net&gt;
Cc: Luis Henriques &lt;luis.henriques@canonical.com&gt;
Signed-off-by: Greg Kroah-Hartman &lt;gregkh@linuxfoundation.org&gt;

</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
commit 01ffc0a7f1c1801a2354719dedbc32aff45b987d upstream.

Recovery doesn't work too well if we leave interrupts disabled...

Signed-off-by: David Woodhouse &lt;David.Woodhouse@intel.com&gt;
Acked-by: Francois Romieu &lt;romieu@fr.zoreil.com&gt;
Signed-off-by: David S. Miller &lt;davem@davemloft.net&gt;
Cc: Luis Henriques &lt;luis.henriques@canonical.com&gt;
Signed-off-by: Greg Kroah-Hartman &lt;gregkh@linuxfoundation.org&gt;

</pre>
</div>
</content>
</entry>
<entry>
<title>can: c_can: Fix RX message handling, handle lost message before EOB</title>
<updated>2013-11-29T18:50:32+00:00</updated>
<author>
<name>Markus Pargmann</name>
<email>mpa@pengutronix.de</email>
</author>
<published>2013-10-28T08:54:40+00:00</published>
<link rel='alternate' type='text/html' href='https://git.toradex.cn/cgit/linux-toradex.git/commit/?id=06d5a745ee1257f4dbf49385bf63e2b7554cc9b7'/>
<id>06d5a745ee1257f4dbf49385bf63e2b7554cc9b7</id>
<content type='text'>
commit 5d0f801a2ccec3b1fdabc3392c8d99ed0413d216 upstream.

If we handle end of block messages with higher priority than a lost message,
we can run into an endless interrupt loop.

This is reproducable with a am335x processor and "cansequence -r" at 1Mbit.
As soon as we loose a packet we can't escape from an interrupt loop.

This patch fixes the problem by handling lost packets before EOB packets.

Signed-off-by: Markus Pargmann &lt;mpa@pengutronix.de&gt;
Signed-off-by: Marc Kleine-Budde &lt;mkl@pengutronix.de&gt;
Signed-off-by: Greg Kroah-Hartman &lt;gregkh@linuxfoundation.org&gt;

</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
commit 5d0f801a2ccec3b1fdabc3392c8d99ed0413d216 upstream.

If we handle end of block messages with higher priority than a lost message,
we can run into an endless interrupt loop.

This is reproducable with a am335x processor and "cansequence -r" at 1Mbit.
As soon as we loose a packet we can't escape from an interrupt loop.

This patch fixes the problem by handling lost packets before EOB packets.

Signed-off-by: Markus Pargmann &lt;mpa@pengutronix.de&gt;
Signed-off-by: Marc Kleine-Budde &lt;mkl@pengutronix.de&gt;
Signed-off-by: Greg Kroah-Hartman &lt;gregkh@linuxfoundation.org&gt;

</pre>
</div>
</content>
</entry>
<entry>
<title>libertas: potential oops in debugfs</title>
<updated>2013-11-29T18:50:30+00:00</updated>
<author>
<name>Dan Carpenter</name>
<email>dan.carpenter@oracle.com</email>
</author>
<published>2013-10-30T17:12:51+00:00</published>
<link rel='alternate' type='text/html' href='https://git.toradex.cn/cgit/linux-toradex.git/commit/?id=e181e37563a1ef5dcc25565c12b03f6a816b0f36'/>
<id>e181e37563a1ef5dcc25565c12b03f6a816b0f36</id>
<content type='text'>
commit a497e47d4aec37aaf8f13509f3ef3d1f6a717d88 upstream.

If we do a zero size allocation then it will oops.  Also we can't be
sure the user passes us a NUL terminated string so I've added a
terminator.

This code can only be triggered by root.

Reported-by: Nico Golde &lt;nico@ngolde.de&gt;
Reported-by: Fabian Yamaguchi &lt;fabs@goesec.de&gt;
Signed-off-by: Dan Carpenter &lt;dan.carpenter@oracle.com&gt;
Acked-by: Dan Williams &lt;dcbw@redhat.com&gt;
Signed-off-by: John W. Linville &lt;linville@tuxdriver.com&gt;
Cc: Kees Cook &lt;keescook@chromium.org&gt;
Signed-off-by: Greg Kroah-Hartman &lt;gregkh@linuxfoundation.org&gt;

</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
commit a497e47d4aec37aaf8f13509f3ef3d1f6a717d88 upstream.

If we do a zero size allocation then it will oops.  Also we can't be
sure the user passes us a NUL terminated string so I've added a
terminator.

This code can only be triggered by root.

Reported-by: Nico Golde &lt;nico@ngolde.de&gt;
Reported-by: Fabian Yamaguchi &lt;fabs@goesec.de&gt;
Signed-off-by: Dan Carpenter &lt;dan.carpenter@oracle.com&gt;
Acked-by: Dan Williams &lt;dcbw@redhat.com&gt;
Signed-off-by: John W. Linville &lt;linville@tuxdriver.com&gt;
Cc: Kees Cook &lt;keescook@chromium.org&gt;
Signed-off-by: Greg Kroah-Hartman &lt;gregkh@linuxfoundation.org&gt;

</pre>
</div>
</content>
</entry>
<entry>
<title>xen-netback: use jiffies_64 value to calculate credit timeout</title>
<updated>2013-11-20T18:43:18+00:00</updated>
<author>
<name>Wei Liu</name>
<email>wei.liu2@citrix.com</email>
</author>
<published>2013-10-28T12:07:57+00:00</published>
<link rel='alternate' type='text/html' href='https://git.toradex.cn/cgit/linux-toradex.git/commit/?id=2b58df72acb8525ea75947e75d2e79f76b240cca'/>
<id>2b58df72acb8525ea75947e75d2e79f76b240cca</id>
<content type='text'>
[ Upstream commit 059dfa6a93b779516321e5112db9d7621b1367ba ]

time_after_eq() only works if the delta is &lt; MAX_ULONG/2.

For a 32bit Dom0, if netfront sends packets at a very low rate, the time
between subsequent calls to tx_credit_exceeded() may exceed MAX_ULONG/2
and the test for timer_after_eq() will be incorrect. Credit will not be
replenished and the guest may become unable to send packets (e.g., if
prior to the long gap, all credit was exhausted).

Use jiffies_64 variant to mitigate this problem for 32bit Dom0.

Suggested-by: Jan Beulich &lt;jbeulich@suse.com&gt;
Signed-off-by: Wei Liu &lt;wei.liu2@citrix.com&gt;
Reviewed-by: David Vrabel &lt;david.vrabel@citrix.com&gt;
Cc: Ian Campbell &lt;ian.campbell@citrix.com&gt;
Cc: Jason Luan &lt;jianhai.luan@oracle.com&gt;
Signed-off-by: David S. Miller &lt;davem@davemloft.net&gt;
Signed-off-by: Greg Kroah-Hartman &lt;gregkh@linuxfoundation.org&gt;
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
[ Upstream commit 059dfa6a93b779516321e5112db9d7621b1367ba ]

time_after_eq() only works if the delta is &lt; MAX_ULONG/2.

For a 32bit Dom0, if netfront sends packets at a very low rate, the time
between subsequent calls to tx_credit_exceeded() may exceed MAX_ULONG/2
and the test for timer_after_eq() will be incorrect. Credit will not be
replenished and the guest may become unable to send packets (e.g., if
prior to the long gap, all credit was exhausted).

Use jiffies_64 variant to mitigate this problem for 32bit Dom0.

Suggested-by: Jan Beulich &lt;jbeulich@suse.com&gt;
Signed-off-by: Wei Liu &lt;wei.liu2@citrix.com&gt;
Reviewed-by: David Vrabel &lt;david.vrabel@citrix.com&gt;
Cc: Ian Campbell &lt;ian.campbell@citrix.com&gt;
Cc: Jason Luan &lt;jianhai.luan@oracle.com&gt;
Signed-off-by: David S. Miller &lt;davem@davemloft.net&gt;
Signed-off-by: Greg Kroah-Hartman &lt;gregkh@linuxfoundation.org&gt;
</pre>
</div>
</content>
</entry>
<entry>
<title>can: flexcan: flexcan_chip_start: fix regression, mark one MB for TX and abort pending TX</title>
<updated>2013-11-13T03:01:48+00:00</updated>
<author>
<name>Marc Kleine-Budde</name>
<email>mkl@pengutronix.de</email>
</author>
<published>2013-10-04T08:52:36+00:00</published>
<link rel='alternate' type='text/html' href='https://git.toradex.cn/cgit/linux-toradex.git/commit/?id=f49c173bb693fa2aea6c96c931f9449ce4885d7b'/>
<id>f49c173bb693fa2aea6c96c931f9449ce4885d7b</id>
<content type='text'>
commit d5a7b406c529e4595ce03dc8f6dcf7fa36f106fa upstream.

In patch

    0d1862e can: flexcan: fix flexcan_chip_start() on imx6

the loop in flexcan_chip_start() that iterates over all mailboxes after the
soft reset of the CAN core was removed. This loop put all mailboxes (even the
ones marked as reserved 1...7) into EMPTY/INACTIVE mode. On mailboxes 8...63,
this aborts any pending TX messages.

After a cold boot there is random garbage in the mailboxes, which leads to
spontaneous transmit of CAN frames during first activation. Further if the
interface was disabled with a pending message (usually due to an error
condition on the CAN bus), this message is retransmitted after enabling the
interface again.

This patch fixes the regression by:
1) Limiting the maximum number of used mailboxes to 8, 0...7 are used by the RX
FIFO, 8 is used by TX.
2) Marking the TX mailbox as EMPTY/INACTIVE, so that any pending TX of that
mailbox is aborted.

Cc: Lothar Waßmann &lt;LW@KARO-electronics.de&gt;
Signed-off-by: Marc Kleine-Budde &lt;mkl@pengutronix.de&gt;
Signed-off-by: Greg Kroah-Hartman &lt;gregkh@linuxfoundation.org&gt;

</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
commit d5a7b406c529e4595ce03dc8f6dcf7fa36f106fa upstream.

In patch

    0d1862e can: flexcan: fix flexcan_chip_start() on imx6

the loop in flexcan_chip_start() that iterates over all mailboxes after the
soft reset of the CAN core was removed. This loop put all mailboxes (even the
ones marked as reserved 1...7) into EMPTY/INACTIVE mode. On mailboxes 8...63,
this aborts any pending TX messages.

After a cold boot there is random garbage in the mailboxes, which leads to
spontaneous transmit of CAN frames during first activation. Further if the
interface was disabled with a pending message (usually due to an error
condition on the CAN bus), this message is retransmitted after enabling the
interface again.

This patch fixes the regression by:
1) Limiting the maximum number of used mailboxes to 8, 0...7 are used by the RX
FIFO, 8 is used by TX.
2) Marking the TX mailbox as EMPTY/INACTIVE, so that any pending TX of that
mailbox is aborted.

Cc: Lothar Waßmann &lt;LW@KARO-electronics.de&gt;
Signed-off-by: Marc Kleine-Budde &lt;mkl@pengutronix.de&gt;
Signed-off-by: Greg Kroah-Hartman &lt;gregkh@linuxfoundation.org&gt;

</pre>
</div>
</content>
</entry>
<entry>
<title>rtlwifi: rtl8192cu: Fix error in pointer arithmetic</title>
<updated>2013-11-13T03:01:48+00:00</updated>
<author>
<name>Mark Cave-Ayland</name>
<email>mark.cave-ayland@ilande.co.uk</email>
</author>
<published>2013-10-08T15:18:20+00:00</published>
<link rel='alternate' type='text/html' href='https://git.toradex.cn/cgit/linux-toradex.git/commit/?id=9fda0bdd950b09c42e26cc7e19590ce62e842fee'/>
<id>9fda0bdd950b09c42e26cc7e19590ce62e842fee</id>
<content type='text'>
commit 9473ca6e920a3b9ca902753ce52833657f9221cc upstream.

An error in calculating the offset in an skb causes the driver to read
essential device info from the wrong locations. The main effect is that
automatic gain calculations are nonsense.

Signed-off-by: Mark Cave-Ayland &lt;mark.cave-ayland@ilande.co.uk&gt;
Signed-off-by: Larry Finger &lt;Larry.Finger@lwfinger.net&gt;
Signed-off-by: John W. Linville &lt;linville@tuxdriver.com&gt;
Signed-off-by: Greg Kroah-Hartman &lt;gregkh@linuxfoundation.org&gt;

</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
commit 9473ca6e920a3b9ca902753ce52833657f9221cc upstream.

An error in calculating the offset in an skb causes the driver to read
essential device info from the wrong locations. The main effect is that
automatic gain calculations are nonsense.

Signed-off-by: Mark Cave-Ayland &lt;mark.cave-ayland@ilande.co.uk&gt;
Signed-off-by: Larry Finger &lt;Larry.Finger@lwfinger.net&gt;
Signed-off-by: John W. Linville &lt;linville@tuxdriver.com&gt;
Signed-off-by: Greg Kroah-Hartman &lt;gregkh@linuxfoundation.org&gt;

</pre>
</div>
</content>
</entry>
<entry>
<title>davinci_emac.c: Fix IFF_ALLMULTI setup</title>
<updated>2013-11-04T12:23:41+00:00</updated>
<author>
<name>Mariusz Ceier</name>
<email>mceier+kernel@gmail.com</email>
</author>
<published>2013-10-21T17:45:04+00:00</published>
<link rel='alternate' type='text/html' href='https://git.toradex.cn/cgit/linux-toradex.git/commit/?id=6fdea2fb23fe0a64af442f397b4e717e98e6aba8'/>
<id>6fdea2fb23fe0a64af442f397b4e717e98e6aba8</id>
<content type='text'>
[ Upstream commit d69e0f7ea95fef8059251325a79c004bac01f018 ]

When IFF_ALLMULTI flag is set on interface and IFF_PROMISC isn't,
emac_dev_mcast_set should only enable RX of multicasts and reset
MACHASH registers.

It does this, but afterwards it either sets up multicast MACs
filtering or disables RX of multicasts and resets MACHASH registers
again, rendering IFF_ALLMULTI flag useless.

This patch fixes emac_dev_mcast_set, so that multicast MACs filtering and
disabling of RX of multicasts are skipped when IFF_ALLMULTI flag is set.

Tested with kernel 2.6.37.

Signed-off-by: Mariusz Ceier &lt;mceier+kernel@gmail.com&gt;
Acked-by: Mugunthan V N &lt;mugunthanvnm@ti.com&gt;
Signed-off-by: David S. Miller &lt;davem@davemloft.net&gt;
Signed-off-by: Greg Kroah-Hartman &lt;gregkh@linuxfoundation.org&gt;
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
[ Upstream commit d69e0f7ea95fef8059251325a79c004bac01f018 ]

When IFF_ALLMULTI flag is set on interface and IFF_PROMISC isn't,
emac_dev_mcast_set should only enable RX of multicasts and reset
MACHASH registers.

It does this, but afterwards it either sets up multicast MACs
filtering or disables RX of multicasts and resets MACHASH registers
again, rendering IFF_ALLMULTI flag useless.

This patch fixes emac_dev_mcast_set, so that multicast MACs filtering and
disabling of RX of multicasts are skipped when IFF_ALLMULTI flag is set.

Tested with kernel 2.6.37.

Signed-off-by: Mariusz Ceier &lt;mceier+kernel@gmail.com&gt;
Acked-by: Mugunthan V N &lt;mugunthanvnm@ti.com&gt;
Signed-off-by: David S. Miller &lt;davem@davemloft.net&gt;
Signed-off-by: Greg Kroah-Hartman &lt;gregkh@linuxfoundation.org&gt;
</pre>
</div>
</content>
</entry>
<entry>
<title>wanxl: fix info leak in ioctl</title>
<updated>2013-11-04T12:23:41+00:00</updated>
<author>
<name>Salva Peiró</name>
<email>speiro@ai2.upv.es</email>
</author>
<published>2013-10-16T10:46:50+00:00</published>
<link rel='alternate' type='text/html' href='https://git.toradex.cn/cgit/linux-toradex.git/commit/?id=79379b9694d7067f41035a551a7493760092fc48'/>
<id>79379b9694d7067f41035a551a7493760092fc48</id>
<content type='text'>
[ Upstream commit 2b13d06c9584b4eb773f1e80bbaedab9a1c344e1 ]

The wanxl_ioctl() code fails to initialize the two padding bytes of
struct sync_serial_settings after the -&gt;loopback member. Add an explicit
memset(0) before filling the structure to avoid the info leak.

Signed-off-by: Salva Peiró &lt;speiro@ai2.upv.es&gt;
Signed-off-by: David S. Miller &lt;davem@davemloft.net&gt;
Signed-off-by: Greg Kroah-Hartman &lt;gregkh@linuxfoundation.org&gt;
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
[ Upstream commit 2b13d06c9584b4eb773f1e80bbaedab9a1c344e1 ]

The wanxl_ioctl() code fails to initialize the two padding bytes of
struct sync_serial_settings after the -&gt;loopback member. Add an explicit
memset(0) before filling the structure to avoid the info leak.

Signed-off-by: Salva Peiró &lt;speiro@ai2.upv.es&gt;
Signed-off-by: David S. Miller &lt;davem@davemloft.net&gt;
Signed-off-by: Greg Kroah-Hartman &lt;gregkh@linuxfoundation.org&gt;
</pre>
</div>
</content>
</entry>
</feed>
