<feed xmlns='http://www.w3.org/2005/Atom'>
<title>linux.git/drivers/net/wireless, branch v3.16-rc7</title>
<subtitle>Linux kernel source tree</subtitle>
<link rel='alternate' type='text/html' href='https://git.tavy.me/linux.git/'/>
<entry>
<title>rt2800usb: Don't perform DMA from stack</title>
<updated>2014-07-07T19:04:34+00:00</updated>
<author>
<name>Andrea Merello</name>
<email>andrea.merello@gmail.com</email>
</author>
<published>2014-07-05T19:07:17+00:00</published>
<link rel='alternate' type='text/html' href='https://git.tavy.me/linux.git/commit/?id=2c4db12ec469b9fcdad9f6bfd6fa20e65a563ac5'/>
<id>2c4db12ec469b9fcdad9f6bfd6fa20e65a563ac5</id>
<content type='text'>
Function rt2800usb_autorun_detect() passes the address of a variable
allocated onto the stack to be used for DMA by the USB layer. This has
been caught by my debugging-enabled kernel.

This patch change things in order to allocate that variable via
kmalloc, and it adjusts things to handle the kmalloc failure case,
propagating the error.

[ 7363.238852] ------------[ cut here ]------------
[ 7363.243529] WARNING: CPU: 1 PID: 5235 at lib/dma-debug.c:1153 check_for_stack+0xa4/0xf0()
[ 7363.251759] ehci-pci 0000:00:04.1: DMA-API: device driver maps memory fromstack [addr=ffff88006b81bad4]
[ 7363.261210] Modules linked in: rt2800usb(O+) rt2800lib(O) rt2x00usb(O) rt2x00lib(O) rtl818x_pci(O) rtl8187 led_class eeprom_93cx6 mac80211 cfg80211 [last unloaded: rt2x00lib]
[ 7363.277143] CPU: 1 PID: 5235 Comm: systemd-udevd Tainted: G           O  3.16.0-rc3-wl+ #31
[ 7363.285546] Hardware name: System manufacturer System Product Name/M3N78 PRO, BIOS ASUS M3N78 PRO ACPI BIOS Revision 1402 12/04/2009
[ 7363.297511]  0000000000000009 ffff88006b81b710 ffffffff8175dcad ffff88006b81b758
[ 7363.305062]  ffff88006b81b748 ffffffff8106d372 ffff88006cf10098 ffff88006cead6a0
[ 7363.312622]  ffff88006b81bad4 ffffffff81c1e7c0 ffff88006cf10098 ffff88006b81b7a8
[ 7363.320161] Call Trace:
[ 7363.322661]  [&lt;ffffffff8175dcad&gt;] dump_stack+0x4d/0x6f
[ 7363.327847]  [&lt;ffffffff8106d372&gt;] warn_slowpath_common+0x82/0xb0
[ 7363.333893]  [&lt;ffffffff8106d3e7&gt;] warn_slowpath_fmt+0x47/0x50
[ 7363.339686]  [&lt;ffffffff813a93b4&gt;] check_for_stack+0xa4/0xf0
[ 7363.345298]  [&lt;ffffffff813a995c&gt;] debug_dma_map_page+0x10c/0x150
[ 7363.351367]  [&lt;ffffffff81521bd9&gt;] usb_hcd_map_urb_for_dma+0x229/0x720
[ 7363.357890]  [&lt;ffffffff8152256d&gt;] usb_hcd_submit_urb+0x2fd/0x930
[ 7363.363929]  [&lt;ffffffff810eac31&gt;] ? irq_work_queue+0x71/0xd0
[ 7363.369617]  [&lt;ffffffff810ab5a7&gt;] ? wake_up_klogd+0x37/0x50
[ 7363.375219]  [&lt;ffffffff810ab7a5&gt;] ? console_unlock+0x1e5/0x420
[ 7363.381081]  [&lt;ffffffff810abc25&gt;] ? vprintk_emit+0x245/0x530
[ 7363.386773]  [&lt;ffffffff81523d3c&gt;] usb_submit_urb+0x30c/0x580
[ 7363.392462]  [&lt;ffffffff81524295&gt;] usb_start_wait_urb+0x65/0xf0
[ 7363.398325]  [&lt;ffffffff815243ed&gt;] usb_control_msg+0xcd/0x110
[ 7363.404014]  [&lt;ffffffffa005514d&gt;] rt2x00usb_vendor_request+0xbd/0x170 [rt2x00usb]
[ 7363.411544]  [&lt;ffffffffa0074292&gt;] rt2800usb_autorun_detect+0x32/0x50 [rt2800usb]
[ 7363.418986]  [&lt;ffffffffa0074aa1&gt;] rt2800usb_read_eeprom+0x11/0x70 [rt2800usb]
[ 7363.426168]  [&lt;ffffffffa0063ffd&gt;] rt2800_probe_hw+0x11d/0xf90 [rt2800lib]
[ 7363.432989]  [&lt;ffffffffa0074b7d&gt;] rt2800usb_probe_hw+0xd/0x50 [rt2800usb]
[ 7363.439808]  [&lt;ffffffffa00453d8&gt;] rt2x00lib_probe_dev+0x238/0x7c0 [rt2x00lib]
[ 7363.446992]  [&lt;ffffffffa00bfa48&gt;] ? ieee80211_led_names+0xb8/0x100 [mac80211]
[ 7363.454156]  [&lt;ffffffffa0056116&gt;] rt2x00usb_probe+0x156/0x1f0 [rt2x00usb]
[ 7363.460971]  [&lt;ffffffffa0074250&gt;] rt2800usb_probe+0x10/0x20 [rt2800usb]
[ 7363.467616]  [&lt;ffffffff8152799e&gt;] usb_probe_interface+0xce/0x1c0
[ 7363.473651]  [&lt;ffffffff81480c20&gt;] really_probe+0x70/0x240
[ 7363.479079]  [&lt;ffffffff81480f01&gt;] __driver_attach+0xa1/0xb0
[ 7363.484682]  [&lt;ffffffff81480e60&gt;] ? __device_attach+0x70/0x70
[ 7363.490461]  [&lt;ffffffff8147eef3&gt;] bus_for_each_dev+0x63/0xa0
[ 7363.496146]  [&lt;ffffffff814807c9&gt;] driver_attach+0x19/0x20
[ 7363.501570]  [&lt;ffffffff81480468&gt;] bus_add_driver+0x178/0x220
[ 7363.507270]  [&lt;ffffffff8148151b&gt;] driver_register+0x5b/0xe0
[ 7363.512874]  [&lt;ffffffff815271b0&gt;] usb_register_driver+0xa0/0x170
[ 7363.518905]  [&lt;ffffffffa007a000&gt;] ? 0xffffffffa0079fff
[ 7363.524074]  [&lt;ffffffffa007a01e&gt;] rt2800usb_driver_init+0x1e/0x20 [rt2800usb]
[ 7363.531247]  [&lt;ffffffff810002d4&gt;] do_one_initcall+0x84/0x1b0
[ 7363.536932]  [&lt;ffffffff8113aa60&gt;] ? kfree+0xd0/0x110
[ 7363.541931]  [&lt;ffffffff8112730a&gt;] ? __vunmap+0xaa/0xf0
[ 7363.547538]  [&lt;ffffffff810ca07e&gt;] load_module+0x1aee/0x2040
[ 7363.553141]  [&lt;ffffffff810c6f10&gt;] ? store_uevent+0x50/0x50
[ 7363.558676]  [&lt;ffffffff810ca66e&gt;] SyS_init_module+0x9e/0xc0
[ 7363.564285]  [&lt;ffffffff81764012&gt;] system_call_fastpath+0x16/0x1b
[ 7363.570338] ---[ end trace 01ef5f822bea9882 ]---

Signed-off-by: Andrea Merello &lt;andrea.merello@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>
Function rt2800usb_autorun_detect() passes the address of a variable
allocated onto the stack to be used for DMA by the USB layer. This has
been caught by my debugging-enabled kernel.

This patch change things in order to allocate that variable via
kmalloc, and it adjusts things to handle the kmalloc failure case,
propagating the error.

[ 7363.238852] ------------[ cut here ]------------
[ 7363.243529] WARNING: CPU: 1 PID: 5235 at lib/dma-debug.c:1153 check_for_stack+0xa4/0xf0()
[ 7363.251759] ehci-pci 0000:00:04.1: DMA-API: device driver maps memory fromstack [addr=ffff88006b81bad4]
[ 7363.261210] Modules linked in: rt2800usb(O+) rt2800lib(O) rt2x00usb(O) rt2x00lib(O) rtl818x_pci(O) rtl8187 led_class eeprom_93cx6 mac80211 cfg80211 [last unloaded: rt2x00lib]
[ 7363.277143] CPU: 1 PID: 5235 Comm: systemd-udevd Tainted: G           O  3.16.0-rc3-wl+ #31
[ 7363.285546] Hardware name: System manufacturer System Product Name/M3N78 PRO, BIOS ASUS M3N78 PRO ACPI BIOS Revision 1402 12/04/2009
[ 7363.297511]  0000000000000009 ffff88006b81b710 ffffffff8175dcad ffff88006b81b758
[ 7363.305062]  ffff88006b81b748 ffffffff8106d372 ffff88006cf10098 ffff88006cead6a0
[ 7363.312622]  ffff88006b81bad4 ffffffff81c1e7c0 ffff88006cf10098 ffff88006b81b7a8
[ 7363.320161] Call Trace:
[ 7363.322661]  [&lt;ffffffff8175dcad&gt;] dump_stack+0x4d/0x6f
[ 7363.327847]  [&lt;ffffffff8106d372&gt;] warn_slowpath_common+0x82/0xb0
[ 7363.333893]  [&lt;ffffffff8106d3e7&gt;] warn_slowpath_fmt+0x47/0x50
[ 7363.339686]  [&lt;ffffffff813a93b4&gt;] check_for_stack+0xa4/0xf0
[ 7363.345298]  [&lt;ffffffff813a995c&gt;] debug_dma_map_page+0x10c/0x150
[ 7363.351367]  [&lt;ffffffff81521bd9&gt;] usb_hcd_map_urb_for_dma+0x229/0x720
[ 7363.357890]  [&lt;ffffffff8152256d&gt;] usb_hcd_submit_urb+0x2fd/0x930
[ 7363.363929]  [&lt;ffffffff810eac31&gt;] ? irq_work_queue+0x71/0xd0
[ 7363.369617]  [&lt;ffffffff810ab5a7&gt;] ? wake_up_klogd+0x37/0x50
[ 7363.375219]  [&lt;ffffffff810ab7a5&gt;] ? console_unlock+0x1e5/0x420
[ 7363.381081]  [&lt;ffffffff810abc25&gt;] ? vprintk_emit+0x245/0x530
[ 7363.386773]  [&lt;ffffffff81523d3c&gt;] usb_submit_urb+0x30c/0x580
[ 7363.392462]  [&lt;ffffffff81524295&gt;] usb_start_wait_urb+0x65/0xf0
[ 7363.398325]  [&lt;ffffffff815243ed&gt;] usb_control_msg+0xcd/0x110
[ 7363.404014]  [&lt;ffffffffa005514d&gt;] rt2x00usb_vendor_request+0xbd/0x170 [rt2x00usb]
[ 7363.411544]  [&lt;ffffffffa0074292&gt;] rt2800usb_autorun_detect+0x32/0x50 [rt2800usb]
[ 7363.418986]  [&lt;ffffffffa0074aa1&gt;] rt2800usb_read_eeprom+0x11/0x70 [rt2800usb]
[ 7363.426168]  [&lt;ffffffffa0063ffd&gt;] rt2800_probe_hw+0x11d/0xf90 [rt2800lib]
[ 7363.432989]  [&lt;ffffffffa0074b7d&gt;] rt2800usb_probe_hw+0xd/0x50 [rt2800usb]
[ 7363.439808]  [&lt;ffffffffa00453d8&gt;] rt2x00lib_probe_dev+0x238/0x7c0 [rt2x00lib]
[ 7363.446992]  [&lt;ffffffffa00bfa48&gt;] ? ieee80211_led_names+0xb8/0x100 [mac80211]
[ 7363.454156]  [&lt;ffffffffa0056116&gt;] rt2x00usb_probe+0x156/0x1f0 [rt2x00usb]
[ 7363.460971]  [&lt;ffffffffa0074250&gt;] rt2800usb_probe+0x10/0x20 [rt2800usb]
[ 7363.467616]  [&lt;ffffffff8152799e&gt;] usb_probe_interface+0xce/0x1c0
[ 7363.473651]  [&lt;ffffffff81480c20&gt;] really_probe+0x70/0x240
[ 7363.479079]  [&lt;ffffffff81480f01&gt;] __driver_attach+0xa1/0xb0
[ 7363.484682]  [&lt;ffffffff81480e60&gt;] ? __device_attach+0x70/0x70
[ 7363.490461]  [&lt;ffffffff8147eef3&gt;] bus_for_each_dev+0x63/0xa0
[ 7363.496146]  [&lt;ffffffff814807c9&gt;] driver_attach+0x19/0x20
[ 7363.501570]  [&lt;ffffffff81480468&gt;] bus_add_driver+0x178/0x220
[ 7363.507270]  [&lt;ffffffff8148151b&gt;] driver_register+0x5b/0xe0
[ 7363.512874]  [&lt;ffffffff815271b0&gt;] usb_register_driver+0xa0/0x170
[ 7363.518905]  [&lt;ffffffffa007a000&gt;] ? 0xffffffffa0079fff
[ 7363.524074]  [&lt;ffffffffa007a01e&gt;] rt2800usb_driver_init+0x1e/0x20 [rt2800usb]
[ 7363.531247]  [&lt;ffffffff810002d4&gt;] do_one_initcall+0x84/0x1b0
[ 7363.536932]  [&lt;ffffffff8113aa60&gt;] ? kfree+0xd0/0x110
[ 7363.541931]  [&lt;ffffffff8112730a&gt;] ? __vunmap+0xaa/0xf0
[ 7363.547538]  [&lt;ffffffff810ca07e&gt;] load_module+0x1aee/0x2040
[ 7363.553141]  [&lt;ffffffff810c6f10&gt;] ? store_uevent+0x50/0x50
[ 7363.558676]  [&lt;ffffffff810ca66e&gt;] SyS_init_module+0x9e/0xc0
[ 7363.564285]  [&lt;ffffffff81764012&gt;] system_call_fastpath+0x16/0x1b
[ 7363.570338] ---[ end trace 01ef5f822bea9882 ]---

Signed-off-by: Andrea Merello &lt;andrea.merello@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 'for-john' of git://git.kernel.org/pub/scm/linux/kernel/git/iwlwifi/iwlwifi-fixes</title>
<updated>2014-07-07T18:59:57+00:00</updated>
<author>
<name>John W. Linville</name>
<email>linville@tuxdriver.com</email>
</author>
<published>2014-07-07T18:59:57+00:00</published>
<link rel='alternate' type='text/html' href='https://git.tavy.me/linux.git/commit/?id=1b2388d03f871faec084666fe71acc770fad5160'/>
<id>1b2388d03f871faec084666fe71acc770fad5160</id>
<content type='text'>
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
</pre>
</div>
</content>
</entry>
<entry>
<title>mwifiex: initialize Tx/Rx info of a packet correctly</title>
<updated>2014-07-03T18:29:21+00:00</updated>
<author>
<name>Amitkumar Karwar</name>
<email>akarwar@marvell.com</email>
</author>
<published>2014-07-01T21:39:04+00:00</published>
<link rel='alternate' type='text/html' href='https://git.tavy.me/linux.git/commit/?id=701a9e619347ac06d59481db14bbc4df99763270'/>
<id>701a9e619347ac06d59481db14bbc4df99763270</id>
<content type='text'>
There are few places at the begining of Tx/Rx paths where
tx_info/rx_info is not correctly initialized. This patch
takes care of it.

Signed-off-by: Amitkumar Karwar &lt;akarwar@marvell.com&gt;
Signed-off-by: Avinash Patil &lt;patila@marvell.com&gt;
Signed-off-by: Bing Zhao &lt;bzhao@marvell.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>
There are few places at the begining of Tx/Rx paths where
tx_info/rx_info is not correctly initialized. This patch
takes care of it.

Signed-off-by: Amitkumar Karwar &lt;akarwar@marvell.com&gt;
Signed-off-by: Avinash Patil &lt;patila@marvell.com&gt;
Signed-off-by: Bing Zhao &lt;bzhao@marvell.com&gt;
Signed-off-by: John W. Linville &lt;linville@tuxdriver.com&gt;
</pre>
</div>
</content>
</entry>
<entry>
<title>iwlwifi: mvm: disable CTS to Self</title>
<updated>2014-07-03T17:55:18+00:00</updated>
<author>
<name>Emmanuel Grumbach</name>
<email>emmanuel.grumbach@intel.com</email>
</author>
<published>2014-07-03T17:46:35+00:00</published>
<link rel='alternate' type='text/html' href='https://git.tavy.me/linux.git/commit/?id=dc271ee0d04d12d6bfabacbec803289a7072fbd9'/>
<id>dc271ee0d04d12d6bfabacbec803289a7072fbd9</id>
<content type='text'>
Firmware folks seem say that this flag can make trouble.
Drop it. The advantage of CTS to self is that it slightly
reduces the cost of the protection, but make the protection
less reliable.

Cc: &lt;stable@vger.kernel.org&gt; [3.13+]
Signed-off-by: Emmanuel Grumbach &lt;emmanuel.grumbach@intel.com&gt;
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
Firmware folks seem say that this flag can make trouble.
Drop it. The advantage of CTS to self is that it slightly
reduces the cost of the protection, but make the protection
less reliable.

Cc: &lt;stable@vger.kernel.org&gt; [3.13+]
Signed-off-by: Emmanuel Grumbach &lt;emmanuel.grumbach@intel.com&gt;
</pre>
</div>
</content>
</entry>
<entry>
<title>iwlwifi: dvm: don't enable CTS to self</title>
<updated>2014-07-03T11:59:38+00:00</updated>
<author>
<name>Emmanuel Grumbach</name>
<email>emmanuel.grumbach@intel.com</email>
</author>
<published>2014-06-25T06:12:30+00:00</published>
<link rel='alternate' type='text/html' href='https://git.tavy.me/linux.git/commit/?id=43d826ca5979927131685cc2092c7ce862cb91cd'/>
<id>43d826ca5979927131685cc2092c7ce862cb91cd</id>
<content type='text'>
We should always prefer to use full RTS protection. Using
CTS to self gives a meaningless improvement, but this flow
is much harder for the firmware which is likely to have
issues with it.

CC: &lt;stable@vger.kernel.org&gt;
Signed-off-by: Emmanuel Grumbach &lt;emmanuel.grumbach@intel.com&gt;
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
We should always prefer to use full RTS protection. Using
CTS to self gives a meaningless improvement, but this flow
is much harder for the firmware which is likely to have
issues with it.

CC: &lt;stable@vger.kernel.org&gt;
Signed-off-by: Emmanuel Grumbach &lt;emmanuel.grumbach@intel.com&gt;
</pre>
</div>
</content>
</entry>
<entry>
<title>Merge branch 'ath-current' of git://github.com/kvalo/ath</title>
<updated>2014-06-26T15:39:36+00:00</updated>
<author>
<name>John W. Linville</name>
<email>linville@tuxdriver.com</email>
</author>
<published>2014-06-26T15:39:36+00:00</published>
<link rel='alternate' type='text/html' href='https://git.tavy.me/linux.git/commit/?id=e055a6e20a9105551295da164c31179b82c6227e'/>
<id>e055a6e20a9105551295da164c31179b82c6227e</id>
<content type='text'>
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
</pre>
</div>
</content>
</entry>
<entry>
<title>brcmfmac: assign chip id and rev in bus interface after brcmf_usb_dlneeded</title>
<updated>2014-06-25T18:30:29+00:00</updated>
<author>
<name>Arend van Spriel</name>
<email>arend@broadcom.com</email>
</author>
<published>2014-06-20T20:19:25+00:00</published>
<link rel='alternate' type='text/html' href='https://git.tavy.me/linux.git/commit/?id=c6bff5449fa78e1d524bb5b67b8ab82faf835bff'/>
<id>c6bff5449fa78e1d524bb5b67b8ab82faf835bff</id>
<content type='text'>
The function brcmf_usb_dlneeded() queries the device to obtain the chip
id and revision. So assigning these in bus interface before the call
resulted in chip id and revision being zero. This was introduced by:

   commit 5b8045d484d0ef77d6aa9444023220c5671fa3fe
   Author: Arend van Spriel &lt;arend@broadcom.com&gt;
   Date:   Tue May 27 12:56:23 2014 +0200

       brcmfmac: use asynchronous firmware request in USB

Reviewed-by: Hante Meuleman &lt;meuleman@broadcom.com&gt;
Reviewed-by: Pieter-Paul Giesberts &lt;pieterpg@broadcom.com&gt;
Signed-off-by: Arend van Spriel &lt;arend@broadcom.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 function brcmf_usb_dlneeded() queries the device to obtain the chip
id and revision. So assigning these in bus interface before the call
resulted in chip id and revision being zero. This was introduced by:

   commit 5b8045d484d0ef77d6aa9444023220c5671fa3fe
   Author: Arend van Spriel &lt;arend@broadcom.com&gt;
   Date:   Tue May 27 12:56:23 2014 +0200

       brcmfmac: use asynchronous firmware request in USB

Reviewed-by: Hante Meuleman &lt;meuleman@broadcom.com&gt;
Reviewed-by: Pieter-Paul Giesberts &lt;pieterpg@broadcom.com&gt;
Signed-off-by: Arend van Spriel &lt;arend@broadcom.com&gt;
Signed-off-by: John W. Linville &lt;linville@tuxdriver.com&gt;
</pre>
</div>
</content>
</entry>
<entry>
<title>mwifiex: fix Tx timeout issue</title>
<updated>2014-06-25T18:30:29+00:00</updated>
<author>
<name>Amitkumar Karwar</name>
<email>akarwar@marvell.com</email>
</author>
<published>2014-06-20T18:45:25+00:00</published>
<link rel='alternate' type='text/html' href='https://git.tavy.me/linux.git/commit/?id=d76744a93246eccdca1106037e8ee29debf48277'/>
<id>d76744a93246eccdca1106037e8ee29debf48277</id>
<content type='text'>
https://bugzilla.kernel.org/show_bug.cgi?id=70191
https://bugzilla.kernel.org/show_bug.cgi?id=77581

It is observed that sometimes Tx packet is downloaded without
adding driver's txpd header. This results in firmware parsing
garbage data as packet length. Sometimes firmware is unable
to read the packet if length comes out as invalid. This stops
further traffic and timeout occurs.

The root cause is uninitialized fields in tx_info(skb-&gt;cb) of
packet used to get garbage values. In this case if
MWIFIEX_BUF_FLAG_REQUEUED_PKT flag is mistakenly set, txpd
header was skipped. This patch makes sure that tx_info is
correctly initialized to fix the problem.

Cc: &lt;stable@vger.kernel.org&gt;
Reported-by: Andrew Wiley &lt;wiley.andrew.j@gmail.com&gt;
Reported-by: Linus Gasser &lt;list@markas-al-nour.org&gt;
Reported-by: Michael Hirsch &lt;hirsch@teufel.de&gt;
Tested-by: Xinming Hu &lt;huxm@marvell.com&gt;
Signed-off-by: Amitkumar Karwar &lt;akarwar@marvell.com&gt;
Signed-off-by: Maithili Hinge &lt;maithili@marvell.com&gt;
Signed-off-by: Avinash Patil &lt;patila@marvell.com&gt;
Signed-off-by: Bing Zhao &lt;bzhao@marvell.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>
https://bugzilla.kernel.org/show_bug.cgi?id=70191
https://bugzilla.kernel.org/show_bug.cgi?id=77581

It is observed that sometimes Tx packet is downloaded without
adding driver's txpd header. This results in firmware parsing
garbage data as packet length. Sometimes firmware is unable
to read the packet if length comes out as invalid. This stops
further traffic and timeout occurs.

The root cause is uninitialized fields in tx_info(skb-&gt;cb) of
packet used to get garbage values. In this case if
MWIFIEX_BUF_FLAG_REQUEUED_PKT flag is mistakenly set, txpd
header was skipped. This patch makes sure that tx_info is
correctly initialized to fix the problem.

Cc: &lt;stable@vger.kernel.org&gt;
Reported-by: Andrew Wiley &lt;wiley.andrew.j@gmail.com&gt;
Reported-by: Linus Gasser &lt;list@markas-al-nour.org&gt;
Reported-by: Michael Hirsch &lt;hirsch@teufel.de&gt;
Tested-by: Xinming Hu &lt;huxm@marvell.com&gt;
Signed-off-by: Amitkumar Karwar &lt;akarwar@marvell.com&gt;
Signed-off-by: Maithili Hinge &lt;maithili@marvell.com&gt;
Signed-off-by: Avinash Patil &lt;patila@marvell.com&gt;
Signed-off-by: Bing Zhao &lt;bzhao@marvell.com&gt;
Signed-off-by: John W. Linville &lt;linville@tuxdriver.com&gt;
</pre>
</div>
</content>
</entry>
<entry>
<title>Merge branch 'for-john' of git://git.kernel.org/pub/scm/linux/kernel/git/iwlwifi/iwlwifi-fixes</title>
<updated>2014-06-25T18:20:22+00:00</updated>
<author>
<name>John W. Linville</name>
<email>linville@tuxdriver.com</email>
</author>
<published>2014-06-25T18:20:22+00:00</published>
<link rel='alternate' type='text/html' href='https://git.tavy.me/linux.git/commit/?id=dc70a292dab714f02c3012bddaee83a672df7656'/>
<id>dc70a292dab714f02c3012bddaee83a672df7656</id>
<content type='text'>
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
</pre>
</div>
</content>
</entry>
<entry>
<title>iwlwifi: mvm: Fix broadcast filtering</title>
<updated>2014-06-24T19:41:38+00:00</updated>
<author>
<name>Ilan Peer</name>
<email>ilan.peer@intel.com</email>
</author>
<published>2014-05-22T08:19:02+00:00</published>
<link rel='alternate' type='text/html' href='https://git.tavy.me/linux.git/commit/?id=e48393e8cf99f2b070b0a1c3d79411ccddcba2df'/>
<id>e48393e8cf99f2b070b0a1c3d79411ccddcba2df</id>
<content type='text'>
Current code did not allow sending the broadcast filtering command
for P2P Client interfaces. However, this was not enough, since once
broadcast filtering command was issued over the station interface
after the P2P Client connected, the command also attached the filters
to the P2P Client MAC which is not allowed (FW ASSERT 1063).

Fix this skipping P2P Client interfaces when constructing the broadcast
filtering command

Signed-off-by: Ilan Peer &lt;ilan.peer@intel.com&gt;
Reviewed-by: ArikX Nemtsov &lt;arik@wizery.com&gt;
Signed-off-by: Emmanuel Grumbach &lt;emmanuel.grumbach@intel.com&gt;
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
Current code did not allow sending the broadcast filtering command
for P2P Client interfaces. However, this was not enough, since once
broadcast filtering command was issued over the station interface
after the P2P Client connected, the command also attached the filters
to the P2P Client MAC which is not allowed (FW ASSERT 1063).

Fix this skipping P2P Client interfaces when constructing the broadcast
filtering command

Signed-off-by: Ilan Peer &lt;ilan.peer@intel.com&gt;
Reviewed-by: ArikX Nemtsov &lt;arik@wizery.com&gt;
Signed-off-by: Emmanuel Grumbach &lt;emmanuel.grumbach@intel.com&gt;
</pre>
</div>
</content>
</entry>
</feed>
