<feed xmlns='http://www.w3.org/2005/Atom'>
<title>litmus-rt.git/drivers/net/wireless, branch master</title>
<subtitle>The LITMUS^RT kernel.</subtitle>
<link rel='alternate' type='text/html' href='http://rtsrv.cs.unc.edu/cgit/cgit.cgi/litmus-rt.git/'/>
<entry>
<title>b43: fix support for 14e4:4321 PCI dev with BCM4321 chipset</title>
<updated>2015-06-29T19:35:28+00:00</updated>
<author>
<name>Rafał Miłecki</name>
<email>zajec5@gmail.com</email>
</author>
<published>2015-06-06T20:45:59+00:00</published>
<link rel='alternate' type='text/html' href='http://rtsrv.cs.unc.edu/cgit/cgit.cgi/litmus-rt.git/commit/?id=d0a2a8df991b409174b5cc663791de0f95d875c5'/>
<id>d0a2a8df991b409174b5cc663791de0f95d875c5</id>
<content type='text'>
commit 90f91b129810c3f169e443252be30ed7c0130326 upstream.

It seems Broadcom released two devices with conflicting device id. There
are for sure 14e4:4321 PCI devices with BCM4321 (N-PHY) chipset, they
can be found in routers, e.g. Netgear WNR834Bv2. However, according to
Broadcom public sources 0x4321 is also used for 5 GHz BCM4306 (G-PHY).
It's unsure if they meant PCI device id, or "virtual" id (from SPROM).
To distinguish these devices lets check PHY type (G vs. N).

Signed-off-by: Rafał Miłecki &lt;zajec5@gmail.com&gt;
Cc: &lt;stable@vger.kernel.org&gt; # 3.16+
Signed-off-by: Kalle Valo &lt;kvalo@codeaurora.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 90f91b129810c3f169e443252be30ed7c0130326 upstream.

It seems Broadcom released two devices with conflicting device id. There
are for sure 14e4:4321 PCI devices with BCM4321 (N-PHY) chipset, they
can be found in routers, e.g. Netgear WNR834Bv2. However, according to
Broadcom public sources 0x4321 is also used for 5 GHz BCM4306 (G-PHY).
It's unsure if they meant PCI device id, or "virtual" id (from SPROM).
To distinguish these devices lets check PHY type (G vs. N).

Signed-off-by: Rafał Miłecki &lt;zajec5@gmail.com&gt;
Cc: &lt;stable@vger.kernel.org&gt; # 3.16+
Signed-off-by: Kalle Valo &lt;kvalo@codeaurora.org&gt;
Signed-off-by: Greg Kroah-Hartman &lt;gregkh@linuxfoundation.org&gt;

</pre>
</div>
</content>
</entry>
<entry>
<title>Merge tag 'iwlwifi-for-kalle-2015-05-28' of https://git.kernel.org/pub/scm/linux/kernel/git/iwlwifi/iwlwifi-fixes</title>
<updated>2015-05-28T13:28:03+00:00</updated>
<author>
<name>Kalle Valo</name>
<email>kvalo@codeaurora.org</email>
</author>
<published>2015-05-28T13:28:03+00:00</published>
<link rel='alternate' type='text/html' href='http://rtsrv.cs.unc.edu/cgit/cgit.cgi/litmus-rt.git/commit/?id=38fe44e61a894f1c7b3e60b0614030271070ea53'/>
<id>38fe44e61a894f1c7b3e60b0614030271070ea53</id>
<content type='text'>
* fix OTP parsing 8260
* fix powersave handling for 8260
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
* fix OTP parsing 8260
* fix powersave handling for 8260
</pre>
</div>
</content>
</entry>
<entry>
<title>brcmfmac: avoid null pointer access when brcmf_msgbuf_get_pktid() fails</title>
<updated>2015-05-28T13:27:44+00:00</updated>
<author>
<name>Arend van Spriel</name>
<email>arend@broadcom.com</email>
</author>
<published>2015-05-26T11:19:46+00:00</published>
<link rel='alternate' type='text/html' href='http://rtsrv.cs.unc.edu/cgit/cgit.cgi/litmus-rt.git/commit/?id=7d072b404c5d8f1e0b62b6bc488dfeaa61bd2d8d'/>
<id>7d072b404c5d8f1e0b62b6bc488dfeaa61bd2d8d</id>
<content type='text'>
The function brcmf_msgbuf_get_pktid() may return a NULL pointer so
the callers should check the return pointer before accessing it to
avoid the crash below (see [1]):

brcmfmac: brcmf_msgbuf_get_pktid: Invalid packet id 273 (not in use)
BUG: unable to handle kernel NULL pointer dereference at 0000000000000080
IP: [&lt;ffffffff8145b225&gt;] skb_pull+0x5/0x50
PGD 0
Oops: 0000 [#1] PREEMPT SMP
Modules linked in: pci_stub vboxpci(O) vboxnetflt(O) vboxnetadp(O) vboxdrv(O)
 snd_hda_codec_hdmi bnep mousedev hid_generic ushwmon msr ext4 crc16 mbcache
 jbd2 sd_mod uas usb_storage ahci libahci libata scsi_mod xhci_pci xhci_hcd
 usbcore usb_common
CPU: 0 PID: 1661 Comm: irq/61-brcmf_pc Tainted: G O    4.0.1-MacbookPro-ARCH #1
Hardware name: Apple Inc. MacBookPro12,1/Mac-E43C1C25D4880AD6,
 BIOS MBP121.88Z.0167.B02.1503241251 03/24/2015
task: ffff880264203cc0 ti: ffff88025ffe4000 task.ti: ffff88025ffe4000
RIP: 0010:[&lt;ffffffff8145b225&gt;]  [&lt;ffffffff8145b225&gt;] skb_pull+0x5/0x50
RSP: 0018:ffff88025ffe7d40  EFLAGS: 00010202
RAX: 0000000000000000 RBX: ffff88008a33c000 RCX: 0000000000000044
RDX: 0000000000000000 RSI: 000000000000004a RDI: 0000000000000000
RBP: ffff88025ffe7da8 R08: 0000000000000096 R09: 000000000000004a
R10: 0000000000000000 R11: 000000000000048e R12: ffff88025ff14f00
R13: 0000000000000000 R14: ffff880263b48200 R15: ffff88008a33c000
FS:  0000000000000000(0000) GS:ffff88026ec00000(0000) knlGS:0000000000000000
CS:  0010 DS: 0000 ES: 0000 CR0: 0000000080050033
CR2: 0000000000000080 CR3: 000000000180b000 CR4: 00000000003407f0
Stack:
 ffffffffa06aed74 ffff88025ffe7dc8 ffff880263b48270 ffff880263b48278
 05ea88020000004a 0002ffff81014635 000000001720b2f6 ffff88026ec116c0
 ffff880263b48200 0000000000010000 ffff880263b4ae00 ffff880264203cc0
Call Trace:
 [&lt;ffffffffa06aed74&gt;] ? brcmf_msgbuf_process_rx+0x404/0x480 [brcmfmac]
 [&lt;ffffffff810cea60&gt;] ? irq_finalize_oneshot.part.30+0xf0/0xf0
 [&lt;ffffffffa06afb55&gt;] brcmf_proto_msgbuf_rx_trigger+0x35/0xf0 [brcmfmac]
 [&lt;ffffffffa06baf2a&gt;] brcmf_pcie_isr_thread_v2+0x8a/0x130 [brcmfmac]
 [&lt;ffffffff810cea80&gt;] irq_thread_fn+0x20/0x50
 [&lt;ffffffff810ceddf&gt;] irq_thread+0x13f/0x170
 [&lt;ffffffff810cebf0&gt;] ? wake_threads_waitq+0x30/0x30
 [&lt;ffffffff810ceca0&gt;] ? irq_thread_dtor+0xb0/0xb0
 [&lt;ffffffff81092a08&gt;] kthread+0xd8/0xf0
 [&lt;ffffffff81092930&gt;] ? kthread_create_on_node+0x1c0/0x1c0
 [&lt;ffffffff8156d898&gt;] ret_from_fork+0x58/0x90
 [&lt;ffffffff81092930&gt;] ? kthread_create_on_node+0x1c0/0x1c0
Code: 01 83 e2 f7 88 50 01 48 83 c4 08 5b 5d f3 c3 0f 1f 80 00 00 00 00 83 e2
 f7 88 50 01 c3 66 0f 1f 84 00 00 00 00 00 0f 1f
RIP  [&lt;ffffffff8145b225&gt;] skb_pull+0x5/0x50
 RSP &lt;ffff88025ffe7d40&gt;
CR2: 0000000000000080
---[ end trace b074c0f90e7c997d ]---

[1] http://mid.gmane.org/20150430193259.GA5630@googlemail.com

Cc: &lt;stable@vger.kernel.org&gt; # v3.18, v3.19, v4.0, v4.1
Reported-by: Michael Hornung &lt;mhornung.linux@gmail.com&gt;
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: Kalle Valo &lt;kvalo@codeaurora.org&gt;
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
The function brcmf_msgbuf_get_pktid() may return a NULL pointer so
the callers should check the return pointer before accessing it to
avoid the crash below (see [1]):

brcmfmac: brcmf_msgbuf_get_pktid: Invalid packet id 273 (not in use)
BUG: unable to handle kernel NULL pointer dereference at 0000000000000080
IP: [&lt;ffffffff8145b225&gt;] skb_pull+0x5/0x50
PGD 0
Oops: 0000 [#1] PREEMPT SMP
Modules linked in: pci_stub vboxpci(O) vboxnetflt(O) vboxnetadp(O) vboxdrv(O)
 snd_hda_codec_hdmi bnep mousedev hid_generic ushwmon msr ext4 crc16 mbcache
 jbd2 sd_mod uas usb_storage ahci libahci libata scsi_mod xhci_pci xhci_hcd
 usbcore usb_common
CPU: 0 PID: 1661 Comm: irq/61-brcmf_pc Tainted: G O    4.0.1-MacbookPro-ARCH #1
Hardware name: Apple Inc. MacBookPro12,1/Mac-E43C1C25D4880AD6,
 BIOS MBP121.88Z.0167.B02.1503241251 03/24/2015
task: ffff880264203cc0 ti: ffff88025ffe4000 task.ti: ffff88025ffe4000
RIP: 0010:[&lt;ffffffff8145b225&gt;]  [&lt;ffffffff8145b225&gt;] skb_pull+0x5/0x50
RSP: 0018:ffff88025ffe7d40  EFLAGS: 00010202
RAX: 0000000000000000 RBX: ffff88008a33c000 RCX: 0000000000000044
RDX: 0000000000000000 RSI: 000000000000004a RDI: 0000000000000000
RBP: ffff88025ffe7da8 R08: 0000000000000096 R09: 000000000000004a
R10: 0000000000000000 R11: 000000000000048e R12: ffff88025ff14f00
R13: 0000000000000000 R14: ffff880263b48200 R15: ffff88008a33c000
FS:  0000000000000000(0000) GS:ffff88026ec00000(0000) knlGS:0000000000000000
CS:  0010 DS: 0000 ES: 0000 CR0: 0000000080050033
CR2: 0000000000000080 CR3: 000000000180b000 CR4: 00000000003407f0
Stack:
 ffffffffa06aed74 ffff88025ffe7dc8 ffff880263b48270 ffff880263b48278
 05ea88020000004a 0002ffff81014635 000000001720b2f6 ffff88026ec116c0
 ffff880263b48200 0000000000010000 ffff880263b4ae00 ffff880264203cc0
Call Trace:
 [&lt;ffffffffa06aed74&gt;] ? brcmf_msgbuf_process_rx+0x404/0x480 [brcmfmac]
 [&lt;ffffffff810cea60&gt;] ? irq_finalize_oneshot.part.30+0xf0/0xf0
 [&lt;ffffffffa06afb55&gt;] brcmf_proto_msgbuf_rx_trigger+0x35/0xf0 [brcmfmac]
 [&lt;ffffffffa06baf2a&gt;] brcmf_pcie_isr_thread_v2+0x8a/0x130 [brcmfmac]
 [&lt;ffffffff810cea80&gt;] irq_thread_fn+0x20/0x50
 [&lt;ffffffff810ceddf&gt;] irq_thread+0x13f/0x170
 [&lt;ffffffff810cebf0&gt;] ? wake_threads_waitq+0x30/0x30
 [&lt;ffffffff810ceca0&gt;] ? irq_thread_dtor+0xb0/0xb0
 [&lt;ffffffff81092a08&gt;] kthread+0xd8/0xf0
 [&lt;ffffffff81092930&gt;] ? kthread_create_on_node+0x1c0/0x1c0
 [&lt;ffffffff8156d898&gt;] ret_from_fork+0x58/0x90
 [&lt;ffffffff81092930&gt;] ? kthread_create_on_node+0x1c0/0x1c0
Code: 01 83 e2 f7 88 50 01 48 83 c4 08 5b 5d f3 c3 0f 1f 80 00 00 00 00 83 e2
 f7 88 50 01 c3 66 0f 1f 84 00 00 00 00 00 0f 1f
RIP  [&lt;ffffffff8145b225&gt;] skb_pull+0x5/0x50
 RSP &lt;ffff88025ffe7d40&gt;
CR2: 0000000000000080
---[ end trace b074c0f90e7c997d ]---

[1] http://mid.gmane.org/20150430193259.GA5630@googlemail.com

Cc: &lt;stable@vger.kernel.org&gt; # v3.18, v3.19, v4.0, v4.1
Reported-by: Michael Hornung &lt;mhornung.linux@gmail.com&gt;
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: Kalle Valo &lt;kvalo@codeaurora.org&gt;
</pre>
</div>
</content>
</entry>
<entry>
<title>iwlwifi: nvm: fix otp parsing in 8000 hw family</title>
<updated>2015-05-28T10:28:00+00:00</updated>
<author>
<name>Liad Kaufman</name>
<email>liad.kaufman@intel.com</email>
</author>
<published>2015-05-19T11:20:25+00:00</published>
<link rel='alternate' type='text/html' href='http://rtsrv.cs.unc.edu/cgit/cgit.cgi/litmus-rt.git/commit/?id=f115fdfd61bd627e99d636bb61a3d3ff93397048'/>
<id>f115fdfd61bd627e99d636bb61a3d3ff93397048</id>
<content type='text'>
The radio cfg DWORD was taken from the wrong place in the
8000 HW family, after a line in the code was wrongly changed
by mistake. This broke several 8260 devices.

Fixes: 5dd9c68a854a ("iwlwifi: drop support for early versions of 8000")
Signed-off-by: Liad Kaufman &lt;liad.kaufman@intel.com&gt;
Reviewed-by: Johannes Berg &lt;johannes.berg@intel.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>
The radio cfg DWORD was taken from the wrong place in the
8000 HW family, after a line in the code was wrongly changed
by mistake. This broke several 8260 devices.

Fixes: 5dd9c68a854a ("iwlwifi: drop support for early versions of 8000")
Signed-off-by: Liad Kaufman &lt;liad.kaufman@intel.com&gt;
Reviewed-by: Johannes Berg &lt;johannes.berg@intel.com&gt;
Signed-off-by: Emmanuel Grumbach &lt;emmanuel.grumbach@intel.com&gt;
</pre>
</div>
</content>
</entry>
<entry>
<title>iwlwifi: pcie: fix tracking of cmd_in_flight</title>
<updated>2015-05-28T10:27:51+00:00</updated>
<author>
<name>Ilan Peer</name>
<email>ilan.peer@intel.com</email>
</author>
<published>2015-05-13T11:34:07+00:00</published>
<link rel='alternate' type='text/html' href='http://rtsrv.cs.unc.edu/cgit/cgit.cgi/litmus-rt.git/commit/?id=fc8a350d0b8df744fd6d3c55907b3886979d2638'/>
<id>fc8a350d0b8df744fd6d3c55907b3886979d2638</id>
<content type='text'>
The cmd_in_flight tracking was introduced to workaround faulty
power management hardware, by having the driver keep the NIC
awake as long as there are commands in flight. However, some of
the code handling this workaround was unconditionally executed,
which resulted with an inconsistent state where the driver assumed
that the NIC was awake although it wasn't.

Fix this by renaming 'cmd_in_flight' to 'cmd_hold_nic_awake' and
handling the NIC requested awake state only for hardwares for
which the workaround is needed.

Signed-off-by: Ilan Peer &lt;ilan.peer@intel.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>
The cmd_in_flight tracking was introduced to workaround faulty
power management hardware, by having the driver keep the NIC
awake as long as there are commands in flight. However, some of
the code handling this workaround was unconditionally executed,
which resulted with an inconsistent state where the driver assumed
that the NIC was awake although it wasn't.

Fix this by renaming 'cmd_in_flight' to 'cmd_hold_nic_awake' and
handling the NIC requested awake state only for hardwares for
which the workaround is needed.

Signed-off-by: Ilan Peer &lt;ilan.peer@intel.com&gt;
Signed-off-by: Emmanuel Grumbach &lt;emmanuel.grumbach@intel.com&gt;
</pre>
</div>
</content>
</entry>
<entry>
<title>Merge tag 'iwlwifi-for-kalle-2015-05-21' of https://git.kernel.org/pub/scm/linux/kernel/git/iwlwifi/iwlwifi-fixes</title>
<updated>2015-05-22T07:47:02+00:00</updated>
<author>
<name>Kalle Valo</name>
<email>kvalo@codeaurora.org</email>
</author>
<published>2015-05-22T07:47:02+00:00</published>
<link rel='alternate' type='text/html' href='http://rtsrv.cs.unc.edu/cgit/cgit.cgi/litmus-rt.git/commit/?id=aefa441b150279dd8d25658e018898a3fe9a6769'/>
<id>aefa441b150279dd8d25658e018898a3fe9a6769</id>
<content type='text'>
* fix firmware name and other things to enable 3165
* fix bad APMG configuration for 8000 (no AMPG on these devices)
* fix MAC address assignment for 8000
* fix firmware debugging triggers (MLME)
* fix several bugs in low power states code (net-detect,
  d0i3)
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
* fix firmware name and other things to enable 3165
* fix bad APMG configuration for 8000 (no AMPG on these devices)
* fix MAC address assignment for 8000
* fix firmware debugging triggers (MLME)
* fix several bugs in low power states code (net-detect,
  d0i3)
</pre>
</div>
</content>
</entry>
<entry>
<title>iwlwifi: mvm: avoid use-after-free on iwl_mvm_d0i3_enable_tx()</title>
<updated>2015-05-21T19:36:46+00:00</updated>
<author>
<name>Eliad Peller</name>
<email>eliad@wizery.com</email>
</author>
<published>2015-04-14T08:36:23+00:00</published>
<link rel='alternate' type='text/html' href='http://rtsrv.cs.unc.edu/cgit/cgit.cgi/litmus-rt.git/commit/?id=292208914d8ca5a41cf68c2f1d2810a2ea2044e9'/>
<id>292208914d8ca5a41cf68c2f1d2810a2ea2044e9</id>
<content type='text'>
qos_seq points (to a struct) inside the command response data.

Make sure to free the response only after qos_seq is not
needed anymore.

Reported-by: Heng Luo &lt;heng.luo@intel.com&gt;
Signed-off-by: Eliad Peller &lt;eliadx.peller@intel.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>
qos_seq points (to a struct) inside the command response data.

Make sure to free the response only after qos_seq is not
needed anymore.

Reported-by: Heng Luo &lt;heng.luo@intel.com&gt;
Signed-off-by: Eliad Peller &lt;eliadx.peller@intel.com&gt;
Signed-off-by: Emmanuel Grumbach &lt;emmanuel.grumbach@intel.com&gt;
</pre>
</div>
</content>
</entry>
<entry>
<title>iwlwifi: mvm: clean net-detect info if device was reset during suspend</title>
<updated>2015-05-21T19:28:51+00:00</updated>
<author>
<name>Luciano Coelho</name>
<email>luciano.coelho@intel.com</email>
</author>
<published>2015-05-04T14:03:17+00:00</published>
<link rel='alternate' type='text/html' href='http://rtsrv.cs.unc.edu/cgit/cgit.cgi/litmus-rt.git/commit/?id=a500e469ead055f35c7b2d0a1104e1bd58e34e70'/>
<id>a500e469ead055f35c7b2d0a1104e1bd58e34e70</id>
<content type='text'>
If the device is reset during suspend with net-detect enabled, we
leave the net-detect information dangling and this causes the next
suspend to fail with a warning:

[21795.351010] WARNING: at /root/iwlwifi/iwlwifi-stack-dev/drivers/net/wireless/iwlwifi/mvm/d3.c:989 __iwl_mvm_suspend.isra.6+0x2be/0x460 [iwlmvm]()
[21795.353253] Modules linked in: iwlmvm(O) iwlwifi(O) mac80211(O) cfg80211(O) compat(O) [...]
[21795.366168] CPU: 1 PID: 3645 Comm: bash Tainted: G           O 3.10.29-dev #1
[21795.368785] Hardware name: Dell Inc. Latitude E6430/0CPWYR, BIOS A09 12/13/2012
[21795.371441]  f8ec6748 f8ec6748 e51f3ce8 c168aa62 e51f3d10 c103a824 c1871238 f8ec6748
[21795.374228]  000003dd f8eb982e f8eb982e 00000000 c3408ed4 c41edbbc e51f3d20 c103a862
[21795.377006]  00000009 00000000 e51f3da8 f8eb982e c41ee3dc 00000004 e7970000 e51f3d74
[21795.379792] Call Trace:
[21795.382461]  [&lt;c168aa62&gt;] dump_stack+0x16/0x18
[21795.385133]  [&lt;c103a824&gt;] warn_slowpath_common+0x64/0x80
[21795.387803]  [&lt;f8eb982e&gt;] ? __iwl_mvm_suspend.isra.6+0x2be/0x460 [iwlmvm]
[21795.390485]  [&lt;f8eb982e&gt;] ? __iwl_mvm_suspend.isra.6+0x2be/0x460 [iwlmvm]
[21795.393124]  [&lt;c103a862&gt;] warn_slowpath_null+0x22/0x30
[21795.395787]  [&lt;f8eb982e&gt;] __iwl_mvm_suspend.isra.6+0x2be/0x460 [iwlmvm]
[21795.398464]  [&lt;f8eb9d7c&gt;] iwl_mvm_suspend+0xec/0x140 [iwlmvm]
[21795.401127]  [&lt;c104be11&gt;] ? del_timer_sync+0xa1/0xc0
[21795.403800]  [&lt;f8d4107e&gt;] __ieee80211_suspend+0x1de/0xff0 [mac80211]
[21795.406459]  [&lt;c168e43d&gt;] ? mutex_lock_nested+0x25d/0x350
[21795.409084]  [&lt;c1586b64&gt;] ? rtnl_lock+0x14/0x20
[21795.411685]  [&lt;f8cf0076&gt;] ieee80211_suspend+0x16/0x20 [mac80211]
[21795.414318]  [&lt;f8c4e014&gt;] wiphy_suspend+0x74/0x710 [cfg80211]
[21795.416916]  [&lt;c141e612&gt;] __device_suspend+0x1e2/0x220
[21795.419521]  [&lt;f8c4dfa0&gt;] ? addresses_show+0xa0/0xa0 [cfg80211]
[21795.422097]  [&lt;c141f997&gt;] dpm_suspend+0x67/0x210
[21795.424661]  [&lt;c141fd6f&gt;] dpm_suspend_start+0x4f/0x60
[21795.427219]  [&lt;c108d8e0&gt;] suspend_devices_and_enter+0x60/0x480
[21795.429768]  [&lt;c168646a&gt;] ? printk+0x4d/0x4f
[21795.432295]  [&lt;c108de76&gt;] pm_suspend+0x176/0x210
[21795.434830]  [&lt;c108ca5d&gt;] state_store+0x5d/0xb0
[21795.437410]  [&lt;c108ca00&gt;] ? wakeup_count_show+0x50/0x50
[21795.439961]  [&lt;c13208db&gt;] kobj_attr_store+0x1b/0x30
[21795.442514]  [&lt;c11e3a4b&gt;] sysfs_write_file+0xab/0x100
[21795.445088]  [&lt;c11e39a0&gt;] ? sysfs_poll+0xa0/0xa0
[21795.447659]  [&lt;c1179655&gt;] vfs_write+0xa5/0x1c0
[21795.450212]  [&lt;c1179af7&gt;] SyS_write+0x57/0xa0
[21795.452699]  [&lt;c1699ec1&gt;] sysenter_do_call+0x12/0x32
[21795.455146] ---[ end trace faf5321baba2bfdb ]---

To fix this, call the iwl_mvm_free_nd() function in case of any error
during resume.  Additionally, rename the "out_unlock" label to err to
make it clearer that it's only called in error conditions.

Cc: stable@vger.kernel.org [3.19+]
Signed-off-by: Luciano Coelho &lt;luciano.coelho@intel.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>
If the device is reset during suspend with net-detect enabled, we
leave the net-detect information dangling and this causes the next
suspend to fail with a warning:

[21795.351010] WARNING: at /root/iwlwifi/iwlwifi-stack-dev/drivers/net/wireless/iwlwifi/mvm/d3.c:989 __iwl_mvm_suspend.isra.6+0x2be/0x460 [iwlmvm]()
[21795.353253] Modules linked in: iwlmvm(O) iwlwifi(O) mac80211(O) cfg80211(O) compat(O) [...]
[21795.366168] CPU: 1 PID: 3645 Comm: bash Tainted: G           O 3.10.29-dev #1
[21795.368785] Hardware name: Dell Inc. Latitude E6430/0CPWYR, BIOS A09 12/13/2012
[21795.371441]  f8ec6748 f8ec6748 e51f3ce8 c168aa62 e51f3d10 c103a824 c1871238 f8ec6748
[21795.374228]  000003dd f8eb982e f8eb982e 00000000 c3408ed4 c41edbbc e51f3d20 c103a862
[21795.377006]  00000009 00000000 e51f3da8 f8eb982e c41ee3dc 00000004 e7970000 e51f3d74
[21795.379792] Call Trace:
[21795.382461]  [&lt;c168aa62&gt;] dump_stack+0x16/0x18
[21795.385133]  [&lt;c103a824&gt;] warn_slowpath_common+0x64/0x80
[21795.387803]  [&lt;f8eb982e&gt;] ? __iwl_mvm_suspend.isra.6+0x2be/0x460 [iwlmvm]
[21795.390485]  [&lt;f8eb982e&gt;] ? __iwl_mvm_suspend.isra.6+0x2be/0x460 [iwlmvm]
[21795.393124]  [&lt;c103a862&gt;] warn_slowpath_null+0x22/0x30
[21795.395787]  [&lt;f8eb982e&gt;] __iwl_mvm_suspend.isra.6+0x2be/0x460 [iwlmvm]
[21795.398464]  [&lt;f8eb9d7c&gt;] iwl_mvm_suspend+0xec/0x140 [iwlmvm]
[21795.401127]  [&lt;c104be11&gt;] ? del_timer_sync+0xa1/0xc0
[21795.403800]  [&lt;f8d4107e&gt;] __ieee80211_suspend+0x1de/0xff0 [mac80211]
[21795.406459]  [&lt;c168e43d&gt;] ? mutex_lock_nested+0x25d/0x350
[21795.409084]  [&lt;c1586b64&gt;] ? rtnl_lock+0x14/0x20
[21795.411685]  [&lt;f8cf0076&gt;] ieee80211_suspend+0x16/0x20 [mac80211]
[21795.414318]  [&lt;f8c4e014&gt;] wiphy_suspend+0x74/0x710 [cfg80211]
[21795.416916]  [&lt;c141e612&gt;] __device_suspend+0x1e2/0x220
[21795.419521]  [&lt;f8c4dfa0&gt;] ? addresses_show+0xa0/0xa0 [cfg80211]
[21795.422097]  [&lt;c141f997&gt;] dpm_suspend+0x67/0x210
[21795.424661]  [&lt;c141fd6f&gt;] dpm_suspend_start+0x4f/0x60
[21795.427219]  [&lt;c108d8e0&gt;] suspend_devices_and_enter+0x60/0x480
[21795.429768]  [&lt;c168646a&gt;] ? printk+0x4d/0x4f
[21795.432295]  [&lt;c108de76&gt;] pm_suspend+0x176/0x210
[21795.434830]  [&lt;c108ca5d&gt;] state_store+0x5d/0xb0
[21795.437410]  [&lt;c108ca00&gt;] ? wakeup_count_show+0x50/0x50
[21795.439961]  [&lt;c13208db&gt;] kobj_attr_store+0x1b/0x30
[21795.442514]  [&lt;c11e3a4b&gt;] sysfs_write_file+0xab/0x100
[21795.445088]  [&lt;c11e39a0&gt;] ? sysfs_poll+0xa0/0xa0
[21795.447659]  [&lt;c1179655&gt;] vfs_write+0xa5/0x1c0
[21795.450212]  [&lt;c1179af7&gt;] SyS_write+0x57/0xa0
[21795.452699]  [&lt;c1699ec1&gt;] sysenter_do_call+0x12/0x32
[21795.455146] ---[ end trace faf5321baba2bfdb ]---

To fix this, call the iwl_mvm_free_nd() function in case of any error
during resume.  Additionally, rename the "out_unlock" label to err to
make it clearer that it's only called in error conditions.

Cc: stable@vger.kernel.org [3.19+]
Signed-off-by: Luciano Coelho &lt;luciano.coelho@intel.com&gt;
Signed-off-by: Emmanuel Grumbach &lt;emmanuel.grumbach@intel.com&gt;
</pre>
</div>
</content>
</entry>
<entry>
<title>iwlwifi: mvm: take the UCODE_DOWN reference when resuming</title>
<updated>2015-05-21T19:27:12+00:00</updated>
<author>
<name>Luciano Coelho</name>
<email>luciano.coelho@intel.com</email>
</author>
<published>2015-04-28T05:41:55+00:00</published>
<link rel='alternate' type='text/html' href='http://rtsrv.cs.unc.edu/cgit/cgit.cgi/litmus-rt.git/commit/?id=dcfc7fb134afc3b8e3d1070ef6a6d6faa9d383ef'/>
<id>dcfc7fb134afc3b8e3d1070ef6a6d6faa9d383ef</id>
<content type='text'>
The __iwl_mvm_resume() function always returns 1, which causes
mac80211 to do a reconfig with IEEE80211_RECONFIG_TYPE_RESTART.  This
type of reconfig calls iwl_mvm_restart_complete(), where we unref the
IWL_MVM_REF_UCODE_DOWN, so we should always take the reference in this
case.

This prevents this kind of warning from happening:

[40026.103025] WARNING: at /root/iwlwifi/iwlwifi-stack-dev/drivers/net/wireless/iwlwifi/mvm/mac80211.c:236 iwl_mvm_unref+0xc9/0xd0 [iwlmvm]()
[40026.105145] Modules linked in: iwlmvm(O) iwlwifi(O) mac80211(O) cfg80211(O) compat(O) ctr ccm arc4 autofs4 snd_hda_codec_hdmi snd_hda_codec_idt joydev coretemp kvm_intel kvm aesni_intel ablk_helper cryptd lrw aes_i586 snd_hda_intel xts snd_hda_codec gf128mul snd_hwdep snd_pcm snd_seq_midi dell_wmi snd_rawmidi sparse_keymap snd_seq_midi_event snd_seq uvcvideo dell_laptop videobuf2_core dcdbas microcode videodev psmouse snd_timer videobuf2_vmalloc videobuf2_memops serio_raw snd_seq_device btusb i915 snd bluetooth lpc_ich drm_kms_helper soundcore snd_page_alloc drm i2c_algo_bit wmi parport_pc ppdev video binfmt_misc rpcsec_gss_krb5 nfsd mac_hid nfs_acl nfsv4 auth_rpcgss nfs fscache lockd sunrpc msdos lp parport sdhci_pci sdhci ahci libahci e1000e mmc_core ptp pps_core [last unloaded: compat]
[40026.117640] CPU: 2 PID: 3827 Comm: bash Tainted: G        W  O 3.10.29-dev #1
[40026.120216] Hardware name: Dell Inc. Latitude E6430/0CPWYR, BIOS A09 12/13/2012
[40026.122815]  f8effd18 f8effd18 e740fd18 c168aa62 e740fd40 c103a824 c1871238 f8effd18
[40026.125527]  000000ec f8ec79c9 f8ec79c9 d5d29ba4 d5d2a20c 00000000 e740fd50 c103a862
[40026.128209]  00000009 00000000 e740fd7c f8ec79c9 f1c591c4 00000400 00000000 f8efb490
[40026.130886] Call Trace:
[40026.133506]  [&lt;c168aa62&gt;] dump_stack+0x16/0x18
[40026.136115]  [&lt;c103a824&gt;] warn_slowpath_common+0x64/0x80
[40026.138727]  [&lt;f8ec79c9&gt;] ? iwl_mvm_unref+0xc9/0xd0 [iwlmvm]
[40026.141319]  [&lt;f8ec79c9&gt;] ? iwl_mvm_unref+0xc9/0xd0 [iwlmvm]
[40026.143881]  [&lt;c103a862&gt;] warn_slowpath_null+0x22/0x30
[40026.146453]  [&lt;f8ec79c9&gt;] iwl_mvm_unref+0xc9/0xd0 [iwlmvm]
[40026.149030]  [&lt;f8ec7a4d&gt;] iwl_mvm_mac_reconfig_complete+0x7d/0x210 [iwlmvm]
[40026.151645]  [&lt;f8b74b20&gt;] ? ftrace_raw_event_drv_reconfig_complete+0xc0/0xe0 [mac80211]
[40026.154291]  [&lt;f8b6769e&gt;] ieee80211_reconfig+0x28e/0x2620 [mac80211]
[40026.156920]  [&lt;c10ef0ea&gt;] ? ring_buffer_unlock_commit+0xba/0x100
[40026.159585]  [&lt;f8b4a04d&gt;] ieee80211_resume+0x6d/0x80 [mac80211]
[40026.162206]  [&lt;f8a79722&gt;] wiphy_resume+0x72/0x260 [cfg80211]
[40026.164799]  [&lt;c141e2e7&gt;] ? device_resume+0x57/0x150
[40026.167425]  [&lt;f8a796b0&gt;] ? wiphy_suspend+0x710/0x710 [cfg80211]
[40026.170075]  [&lt;c141e26e&gt;] dpm_run_callback+0x2e/0x50
[40026.172695]  [&lt;c141e321&gt;] device_resume+0x91/0x150
[40026.175334]  [&lt;c141f636&gt;] dpm_resume+0xf6/0x200
[40026.177922]  [&lt;c141f920&gt;] dpm_resume_end+0x10/0x20
[40026.180489]  [&lt;c108d9f7&gt;] suspend_devices_and_enter+0x177/0x480
[40026.183037]  [&lt;c168646a&gt;] ? printk+0x4d/0x4f
[40026.185559]  [&lt;c108de76&gt;] pm_suspend+0x176/0x210
[40026.188065]  [&lt;c108ca5d&gt;] state_store+0x5d/0xb0
[40026.190581]  [&lt;c108ca00&gt;] ? wakeup_count_show+0x50/0x50
[40026.193052]  [&lt;c13208db&gt;] kobj_attr_store+0x1b/0x30
[40026.195608]  [&lt;c11e3a4b&gt;] sysfs_write_file+0xab/0x100
[40026.198055]  [&lt;c11e39a0&gt;] ? sysfs_poll+0xa0/0xa0
[40026.200469]  [&lt;c1179655&gt;] vfs_write+0xa5/0x1c0
[40026.202893]  [&lt;c1179af7&gt;] SyS_write+0x57/0xa0
[40026.205245]  [&lt;c1699ec1&gt;] sysenter_do_call+0x12/0x32
[40026.207619] ---[ end trace db1d5a72a0381b0a ]---

Signed-off-by: Luciano Coelho &lt;luciano.coelho@intel.com&gt;
Reviewed-by: EliadX Peller &lt;eliad@wizery.com&gt;
Reviewed-by: Johannes Berg &lt;johannes.berg@intel.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>
The __iwl_mvm_resume() function always returns 1, which causes
mac80211 to do a reconfig with IEEE80211_RECONFIG_TYPE_RESTART.  This
type of reconfig calls iwl_mvm_restart_complete(), where we unref the
IWL_MVM_REF_UCODE_DOWN, so we should always take the reference in this
case.

This prevents this kind of warning from happening:

[40026.103025] WARNING: at /root/iwlwifi/iwlwifi-stack-dev/drivers/net/wireless/iwlwifi/mvm/mac80211.c:236 iwl_mvm_unref+0xc9/0xd0 [iwlmvm]()
[40026.105145] Modules linked in: iwlmvm(O) iwlwifi(O) mac80211(O) cfg80211(O) compat(O) ctr ccm arc4 autofs4 snd_hda_codec_hdmi snd_hda_codec_idt joydev coretemp kvm_intel kvm aesni_intel ablk_helper cryptd lrw aes_i586 snd_hda_intel xts snd_hda_codec gf128mul snd_hwdep snd_pcm snd_seq_midi dell_wmi snd_rawmidi sparse_keymap snd_seq_midi_event snd_seq uvcvideo dell_laptop videobuf2_core dcdbas microcode videodev psmouse snd_timer videobuf2_vmalloc videobuf2_memops serio_raw snd_seq_device btusb i915 snd bluetooth lpc_ich drm_kms_helper soundcore snd_page_alloc drm i2c_algo_bit wmi parport_pc ppdev video binfmt_misc rpcsec_gss_krb5 nfsd mac_hid nfs_acl nfsv4 auth_rpcgss nfs fscache lockd sunrpc msdos lp parport sdhci_pci sdhci ahci libahci e1000e mmc_core ptp pps_core [last unloaded: compat]
[40026.117640] CPU: 2 PID: 3827 Comm: bash Tainted: G        W  O 3.10.29-dev #1
[40026.120216] Hardware name: Dell Inc. Latitude E6430/0CPWYR, BIOS A09 12/13/2012
[40026.122815]  f8effd18 f8effd18 e740fd18 c168aa62 e740fd40 c103a824 c1871238 f8effd18
[40026.125527]  000000ec f8ec79c9 f8ec79c9 d5d29ba4 d5d2a20c 00000000 e740fd50 c103a862
[40026.128209]  00000009 00000000 e740fd7c f8ec79c9 f1c591c4 00000400 00000000 f8efb490
[40026.130886] Call Trace:
[40026.133506]  [&lt;c168aa62&gt;] dump_stack+0x16/0x18
[40026.136115]  [&lt;c103a824&gt;] warn_slowpath_common+0x64/0x80
[40026.138727]  [&lt;f8ec79c9&gt;] ? iwl_mvm_unref+0xc9/0xd0 [iwlmvm]
[40026.141319]  [&lt;f8ec79c9&gt;] ? iwl_mvm_unref+0xc9/0xd0 [iwlmvm]
[40026.143881]  [&lt;c103a862&gt;] warn_slowpath_null+0x22/0x30
[40026.146453]  [&lt;f8ec79c9&gt;] iwl_mvm_unref+0xc9/0xd0 [iwlmvm]
[40026.149030]  [&lt;f8ec7a4d&gt;] iwl_mvm_mac_reconfig_complete+0x7d/0x210 [iwlmvm]
[40026.151645]  [&lt;f8b74b20&gt;] ? ftrace_raw_event_drv_reconfig_complete+0xc0/0xe0 [mac80211]
[40026.154291]  [&lt;f8b6769e&gt;] ieee80211_reconfig+0x28e/0x2620 [mac80211]
[40026.156920]  [&lt;c10ef0ea&gt;] ? ring_buffer_unlock_commit+0xba/0x100
[40026.159585]  [&lt;f8b4a04d&gt;] ieee80211_resume+0x6d/0x80 [mac80211]
[40026.162206]  [&lt;f8a79722&gt;] wiphy_resume+0x72/0x260 [cfg80211]
[40026.164799]  [&lt;c141e2e7&gt;] ? device_resume+0x57/0x150
[40026.167425]  [&lt;f8a796b0&gt;] ? wiphy_suspend+0x710/0x710 [cfg80211]
[40026.170075]  [&lt;c141e26e&gt;] dpm_run_callback+0x2e/0x50
[40026.172695]  [&lt;c141e321&gt;] device_resume+0x91/0x150
[40026.175334]  [&lt;c141f636&gt;] dpm_resume+0xf6/0x200
[40026.177922]  [&lt;c141f920&gt;] dpm_resume_end+0x10/0x20
[40026.180489]  [&lt;c108d9f7&gt;] suspend_devices_and_enter+0x177/0x480
[40026.183037]  [&lt;c168646a&gt;] ? printk+0x4d/0x4f
[40026.185559]  [&lt;c108de76&gt;] pm_suspend+0x176/0x210
[40026.188065]  [&lt;c108ca5d&gt;] state_store+0x5d/0xb0
[40026.190581]  [&lt;c108ca00&gt;] ? wakeup_count_show+0x50/0x50
[40026.193052]  [&lt;c13208db&gt;] kobj_attr_store+0x1b/0x30
[40026.195608]  [&lt;c11e3a4b&gt;] sysfs_write_file+0xab/0x100
[40026.198055]  [&lt;c11e39a0&gt;] ? sysfs_poll+0xa0/0xa0
[40026.200469]  [&lt;c1179655&gt;] vfs_write+0xa5/0x1c0
[40026.202893]  [&lt;c1179af7&gt;] SyS_write+0x57/0xa0
[40026.205245]  [&lt;c1699ec1&gt;] sysenter_do_call+0x12/0x32
[40026.207619] ---[ end trace db1d5a72a0381b0a ]---

Signed-off-by: Luciano Coelho &lt;luciano.coelho@intel.com&gt;
Reviewed-by: EliadX Peller &lt;eliad@wizery.com&gt;
Reviewed-by: Johannes Berg &lt;johannes.berg@intel.com&gt;
Signed-off-by: Emmanuel Grumbach &lt;emmanuel.grumbach@intel.com&gt;
</pre>
</div>
</content>
</entry>
<entry>
<title>iwlwifi: mvm: BT Coex - duplicate the command if sent ASYNC</title>
<updated>2015-05-21T19:27:03+00:00</updated>
<author>
<name>Emmanuel Grumbach</name>
<email>emmanuel.grumbach@intel.com</email>
</author>
<published>2015-05-04T08:20:52+00:00</published>
<link rel='alternate' type='text/html' href='http://rtsrv.cs.unc.edu/cgit/cgit.cgi/litmus-rt.git/commit/?id=165b3c4f78ca72bd83bf6abd9ecc472c09f444d3'/>
<id>165b3c4f78ca72bd83bf6abd9ecc472c09f444d3</id>
<content type='text'>
There are buses that can't handle ASYNC command without
copying them. Duplicate the host command instead.

Signed-off-by: Emmanuel Grumbach &lt;emmanuel.grumbach@intel.com&gt;
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
There are buses that can't handle ASYNC command without
copying them. Duplicate the host command instead.

Signed-off-by: Emmanuel Grumbach &lt;emmanuel.grumbach@intel.com&gt;
</pre>
</div>
</content>
</entry>
</feed>
