<feed xmlns='http://www.w3.org/2005/Atom'>
<title>linux/drivers/net/wireless, branch v3.3</title>
<subtitle>Linux kernel source tree</subtitle>
<id>https://git.amat.us/linux/atom/drivers/net/wireless?h=v3.3</id>
<link rel='self' href='https://git.amat.us/linux/atom/drivers/net/wireless?h=v3.3'/>
<link rel='alternate' type='text/html' href='https://git.amat.us/linux/'/>
<updated>2012-03-12T18:00:17Z</updated>
<entry>
<title>rt2x00: fix random stalls</title>
<updated>2012-03-12T18:00:17Z</updated>
<author>
<name>Stanislaw Gruszka</name>
<email>sgruszka@redhat.com</email>
</author>
<published>2012-03-09T11:39:54Z</published>
<link rel='alternate' type='text/html' href='https://git.amat.us/linux/commit/?id=3780d038fdf4b5ef26ead10b0604ab1f46dd9510'/>
<id>urn:sha1:3780d038fdf4b5ef26ead10b0604ab1f46dd9510</id>
<content type='text'>
Is possible that we stop queue and then do not wake up it again,
especially when packets are transmitted fast. That can be easily
reproduced with modified tx queue entry_num to some small value e.g. 16.

If mac80211 already hold local-&gt;queue_stop_reason_lock, then we can wait
on that lock in both rt2x00queue_pause_queue() and
rt2x00queue_unpause_queue(). After drooping -&gt;queue_stop_reason_lock
is possible that __ieee80211_wake_queue() will be performed before
__ieee80211_stop_queue(), hence we stop queue and newer wake up it
again.

Another race condition is possible when between rt2x00queue_threshold()
check and rt2x00queue_pause_queue() we will process all pending tx
buffers on different cpu. This might happen if for example interrupt
will be triggered on cpu performing rt2x00mac_tx().

To prevent race conditions serialize pause/unpause by queue-&gt;tx_lock.

Cc: stable@vger.kernel.org
Signed-off-by: Stanislaw Gruszka &lt;sgruszka@redhat.com&gt;
Acked-by: Gertjan van Wingerde &lt;gwingerde@gmail.com&gt;
Signed-off-by: John W. Linville &lt;linville@tuxdriver.com&gt;
</content>
</entry>
<entry>
<title>iwl3945: fix possible il-&gt;txq NULL pointer dereference in delayed works</title>
<updated>2012-03-12T18:00:16Z</updated>
<author>
<name>Stanislaw Gruszka</name>
<email>sgruszka@redhat.com</email>
</author>
<published>2012-03-08T12:16:01Z</published>
<link rel='alternate' type='text/html' href='https://git.amat.us/linux/commit/?id=210787e82a0ac1ffb5d7be1c796f0c51050849ad'/>
<id>urn:sha1:210787e82a0ac1ffb5d7be1c796f0c51050849ad</id>
<content type='text'>
On il3945_down procedure we free tx queue data and nullify il-&gt;txq
pointer. After that we drop mutex and then cancel delayed works. There
is possibility, that after drooping mutex and before the cancel, some
delayed work will start and crash while trying to send commands to
the device. For example, here is reported crash in
il3945_bg_reg_txpower_periodic():
https://bugzilla.kernel.org/show_bug.cgi?id=42766#c10

Patch fix problem by adding il-&gt;txq check on works that send commands,
hence utilize tx queue.

Reported-by: Clemens Eisserer &lt;linuxhippy@gmail.com&gt;
Cc: stable@vger.kernel.org
Signed-off-by: Stanislaw Gruszka &lt;sgruszka@redhat.com&gt;
Signed-off-by: John W. Linville &lt;linville@tuxdriver.com&gt;
</content>
</entry>
<entry>
<title>iwlwifi: fix wowlan suspend</title>
<updated>2012-03-05T19:44:39Z</updated>
<author>
<name>Johannes Berg</name>
<email>johannes.berg@intel.com</email>
</author>
<published>2012-03-04T16:31:35Z</published>
<link rel='alternate' type='text/html' href='https://git.amat.us/linux/commit/?id=182ada1c712a4ebe14d6a023cfab3559b2527d69'/>
<id>urn:sha1:182ada1c712a4ebe14d6a023cfab3559b2527d69</id>
<content type='text'>
This was broken by the commit 023ca58f1
"iwlwifi: Move the core suspend function to iwl-agn-lib"
where for some reason the code changed while moving,
from
	.len[0] = sizeof(*key_data.rsc_tsc),
to
	.len[0] = sizeof(key_data.rsc_tsc),

Cc: stable@kernel.org
Signed-off-by: Johannes Berg &lt;johannes.berg@intel.com&gt;
Signed-off-by: Wey-Yi Guy &lt;wey-yi.w.guy@intel.com&gt;
Signed-off-by: John W. Linville &lt;linville@tuxdriver.com&gt;
</content>
</entry>
<entry>
<title>mwifiex: reset encryption mode flag before association</title>
<updated>2012-02-29T18:08:52Z</updated>
<author>
<name>Amitkumar Karwar</name>
<email>akarwar@marvell.com</email>
</author>
<published>2012-02-25T05:35:35Z</published>
<link rel='alternate' type='text/html' href='https://git.amat.us/linux/commit/?id=00f157b49780e194c38dafdf9df8e10b8a6a9626'/>
<id>urn:sha1:00f157b49780e194c38dafdf9df8e10b8a6a9626</id>
<content type='text'>
Recent commit
"mwifiex: clear previous security setting during association"
fixes association failure problems observed in some corner cases
by clearing previous security setting before each association.

We should reset encryption mode flag as well. This patch takes care
of it.

Signed-off-by: Amitkumar Karwar &lt;akarwar@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>
</entry>
<entry>
<title>carl9170: fix frame delivery if sta is in powersave mode</title>
<updated>2012-02-29T18:08:51Z</updated>
<author>
<name>Christian Lamparter</name>
<email>chunkeey@googlemail.com</email>
</author>
<published>2012-02-25T20:36:36Z</published>
<link rel='alternate' type='text/html' href='https://git.amat.us/linux/commit/?id=9926a67557532acb6cddb1c1add02952175b5c72'/>
<id>urn:sha1:9926a67557532acb6cddb1c1add02952175b5c72</id>
<content type='text'>
Nicolas Cavallari discovered that carl9170 has some
serious problems delivering data to sleeping stations.

It turns out that the driver was not honoring two
important flags (IEEE80211_TX_CTL_POLL_RESPONSE and
IEEE80211_TX_CTL_CLEAR_PS_FILT) which are set on
frames that should be sent although the receiving
station is still in powersave mode.

Cc: stable &lt;stable@vger.kernel.org&gt;
Reported-by: Nicolas Cavallari &lt;Nicolas.Cavallari@lri.fr&gt;
Signed-off-by: Christian Lamparter &lt;chunkeey@googlemail.com&gt;
Signed-off-by: John W. Linville &lt;linville@tuxdriver.com&gt;
</content>
</entry>
<entry>
<title>carl9170: Fix memory accounting when sta is in power-save mode.</title>
<updated>2012-02-29T18:08:51Z</updated>
<author>
<name>Nicolas Cavallari</name>
<email>Nicolas.Cavallari@lri.fr</email>
</author>
<published>2012-02-23T15:53:34Z</published>
<link rel='alternate' type='text/html' href='https://git.amat.us/linux/commit/?id=992d52529d7840236d3059b51c15d5eb9e81a869'/>
<id>urn:sha1:992d52529d7840236d3059b51c15d5eb9e81a869</id>
<content type='text'>
On Access Point mode, when transmitting a packet, if the destination
station is in powersave mode, we abort transmitting the packet to the
device queue, but we do not reclaim the allocated memory.  Given enough
packets, we can go in a state where there is no packet on the device
queue, but we think the device has no memory left, so no packet gets
transmitted, connections breaks and the AP stops working.

This undo the allocation done in the TX path when the station is in
power-save mode.

Signed-off-by: Nicolas Cavallari &lt;cavallar@lri.fr&gt;
Acked-by: Christian Lamparter &lt;chunkeey@googlemail.com&gt;
Cc: stable &lt;stable@vger.kernel.org&gt;
Signed-off-by: John W. Linville &lt;linville@tuxdriver.com&gt;
</content>
</entry>
<entry>
<title>brcm80211: smac: only print block-ack timeout message at trace level</title>
<updated>2012-02-23T20:57:37Z</updated>
<author>
<name>Arend van Spriel</name>
<email>arend@broadcom.com</email>
</author>
<published>2012-02-23T17:38:23Z</published>
<link rel='alternate' type='text/html' href='https://git.amat.us/linux/commit/?id=2b0a53d51b5f263bb581bbdb40ebb9f7e09609b1'/>
<id>urn:sha1:2b0a53d51b5f263bb581bbdb40ebb9f7e09609b1</id>
<content type='text'>
In regular use block-ack timeouts can happen so it does not make
sense to fill the log with these messages.

Reviewed-by: Pieter-Paul Giesberts &lt;pieterpg@broadcom.com&gt;
Reviewed-by: Alwin Beukers &lt;alwin@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>
</entry>
<entry>
<title>brcm80211: smac: fix endless retry of A-MPDU transmissions</title>
<updated>2012-02-23T20:57:35Z</updated>
<author>
<name>Arend van Spriel</name>
<email>arend@broadcom.com</email>
</author>
<published>2012-02-23T17:38:22Z</published>
<link rel='alternate' type='text/html' href='https://git.amat.us/linux/commit/?id=85091fc0a75653e239dc8379658515e577544927'/>
<id>urn:sha1:85091fc0a75653e239dc8379658515e577544927</id>
<content type='text'>
The A-MPDU code checked against a retry limit, but it was using
the wrong variable to do so. This patch fixes this to assure
proper retry mechanism.

This problem had a side-effect causing the mac80211 flush callback
to remain waiting forever as well. That side effect has been fixed
by commit by Stanislaw Gruszka:

commit f96b08a7e6f69c0f0a576554df3df5b1b519c479
Date:   Tue Jan 17 12:38:50 2012 +0100

    brcmsmac: fix tx queue flush infinite loop

    Reference:
    https://bugzilla.kernel.org/show_bug.cgi?id=42576

Cc: Stanislaw Gruszka &lt;sgruszka@redhat.com&gt;
Reviewed-by: Pieter-Paul Giesberts &lt;pieterpg@broadcom.com&gt;
Reviewed-by: Alwin Beukers &lt;alwin@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>
</entry>
<entry>
<title>iwlwifi: fix key removal</title>
<updated>2012-02-21T19:45:26Z</updated>
<author>
<name>Johannes Berg</name>
<email>johannes.berg@intel.com</email>
</author>
<published>2012-02-17T17:47:14Z</published>
<link rel='alternate' type='text/html' href='https://git.amat.us/linux/commit/?id=5dcbf480473f6c3f06ad2426b7517038a2a18911'/>
<id>urn:sha1:5dcbf480473f6c3f06ad2426b7517038a2a18911</id>
<content type='text'>
When trying to remove a key, we always send key
flags just setting the key type, not including
the multicast flag and the key ID. As a result,
whenever any key was removed, the unicast key 0
would be removed, causing a complete connection
loss after the second rekey (the first doesn't
cause a key removal). Fix the key removal code
to include the key ID and multicast flag, thus
removing the correct key.

Cc: stable@vger.kernel.org
Reported-by: Alexander Schnaidt &lt;alex.schnaidt@googlemail.com&gt;
Tested-by: Alexander Schnaidt &lt;alex.schnaidt@googlemail.com&gt;
Signed-off-by: Johannes Berg &lt;johannes.berg@intel.com&gt;
Signed-off-by: Wey-Yi Guy &lt;wey-yi.w.guy@intel.com&gt;
Signed-off-by: John W. Linville &lt;linville@tuxdriver.com&gt;
</content>
</entry>
<entry>
<title>rt2x00: fix a possible NULL pointer dereference</title>
<updated>2012-02-21T19:45:25Z</updated>
<author>
<name>Gabor Juhos</name>
<email>juhosg@openwrt.org</email>
</author>
<published>2012-02-16T19:44:59Z</published>
<link rel='alternate' type='text/html' href='https://git.amat.us/linux/commit/?id=7be081539e540517d5e1fcbf96b8080074afbf08'/>
<id>urn:sha1:7be081539e540517d5e1fcbf96b8080074afbf08</id>
<content type='text'>
The 'rt2x00lib_probe_dev' function tries to
allocate the workqueue. If the allocation
fails, 'rt2x00_lib_remove_dev' is called on
the error path. Because 'rt2x00dev-&gt;workqueue'
is NULL in this case, the 'destroy_workqueue'
call will cause a NULL pointer dereference.

Signed-off-by: Gabor Juhos &lt;juhosg@openwrt.org&gt;
Acked-by: Gertjan van Wingerde &lt;gwingerde@gmail.com&gt;
Acked-by: Ivo van Doorn &lt;IvDoorn@gmail.com&gt;
Signed-off-by: John W. Linville &lt;linville@tuxdriver.com&gt;
</content>
</entry>
</feed>
