<feed xmlns='http://www.w3.org/2005/Atom'>
<title>linux-toradex.git/drivers/net, branch v3.2.12</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>usb: asix: Patch for Sitecom LN-031</title>
<updated>2012-03-19T16:02:33+00:00</updated>
<author>
<name>Joerg Neikes</name>
<email>j.neikes@midlandgate.de</email>
</author>
<published>2012-03-08T22:44:03+00:00</published>
<link rel='alternate' type='text/html' href='https://git.toradex.cn/cgit/linux-toradex.git/commit/?id=7b6d02d935667384ca5736aaaa62b28597b53705'/>
<id>7b6d02d935667384ca5736aaaa62b28597b53705</id>
<content type='text'>
commit 4e50391968849860dff1aacde358b4eb14aa5127 upstream.

This patch adds support for the Sitecom LN-031 USB adapter with a AX88178 chip.

Added USB id to find correct driver for AX88178 1000 Ethernet adapter.

Signed-off-by: Joerg Neikes &lt;j.neikes@midlandgate.de&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>
commit 4e50391968849860dff1aacde358b4eb14aa5127 upstream.

This patch adds support for the Sitecom LN-031 USB adapter with a AX88178 chip.

Added USB id to find correct driver for AX88178 1000 Ethernet adapter.

Signed-off-by: Joerg Neikes &lt;j.neikes@midlandgate.de&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>r8169: corrupted IP fragments fix for large mtu.</title>
<updated>2012-03-19T16:02:32+00:00</updated>
<author>
<name>françois romieu</name>
<email>romieu@fr.zoreil.com</email>
</author>
<published>2012-03-02T04:43:14+00:00</published>
<link rel='alternate' type='text/html' href='https://git.toradex.cn/cgit/linux-toradex.git/commit/?id=f33486042a73eeda295d146092af06d40db1e221'/>
<id>f33486042a73eeda295d146092af06d40db1e221</id>
<content type='text'>
[ Upstream commit 9c5028e9da1255dd2b99762d8627b88b29f68cce ]

Noticed with the 8168d (-vb-gr, aka RTL_GIGA_MAC_VER_26).

ConfigX registers should only be written while the Config9346 lock
is held.

Signed-off-by: Francois Romieu &lt;romieu@fr.zoreil.com&gt;
Reported-by: Nick Bowler &lt;nbowler@elliptictech.com&gt;
Cc: Hayes Wang &lt;hayeswang@realtek.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 9c5028e9da1255dd2b99762d8627b88b29f68cce ]

Noticed with the 8168d (-vb-gr, aka RTL_GIGA_MAC_VER_26).

ConfigX registers should only be written while the Config9346 lock
is held.

Signed-off-by: Francois Romieu &lt;romieu@fr.zoreil.com&gt;
Reported-by: Nick Bowler &lt;nbowler@elliptictech.com&gt;
Cc: Hayes Wang &lt;hayeswang@realtek.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>packetengines: fix config default</title>
<updated>2012-03-19T16:02:23+00:00</updated>
<author>
<name>stephen hemminger</name>
<email>shemminger@vyatta.com</email>
</author>
<published>2012-03-02T13:38:56+00:00</published>
<link rel='alternate' type='text/html' href='https://git.toradex.cn/cgit/linux-toradex.git/commit/?id=cd3d5286e46aa60ff36a1f7431860d2e7e2fade2'/>
<id>cd3d5286e46aa60ff36a1f7431860d2e7e2fade2</id>
<content type='text'>
[ Upstream commit 3f2010b2ad3d66d5291497c9b274315e7b807ecd ]

As part of the big network driver reorg, each vendor directory defaults to
yes, so that older config's can migrate correctly. Looks like this one
got missed.

Signed-off-by: Stephen Hemminger &lt;shemminger@vyatta.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 3f2010b2ad3d66d5291497c9b274315e7b807ecd ]

As part of the big network driver reorg, each vendor directory defaults to
yes, so that older config's can migrate correctly. Looks like this one
got missed.

Signed-off-by: Stephen Hemminger &lt;shemminger@vyatta.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>vmxnet3: Fix transport header size</title>
<updated>2012-03-19T16:02:22+00:00</updated>
<author>
<name>Shreyas Bhatewara</name>
<email>sbhatewara@vmware.com</email>
</author>
<published>2012-02-28T22:17:38+00:00</published>
<link rel='alternate' type='text/html' href='https://git.toradex.cn/cgit/linux-toradex.git/commit/?id=9550048cc766101604198bf795ea3fe77a0eb4b4'/>
<id>9550048cc766101604198bf795ea3fe77a0eb4b4</id>
<content type='text'>
[ Upstream commit efead8710aad9e384730ecf25eae0287878840d7 ]

Fix transport header size

Fix the transpoert header size for UDP packets.

Signed-off-by: Shreyas N Bhatewara &lt;sbhatewara@vmware.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 efead8710aad9e384730ecf25eae0287878840d7 ]

Fix transport header size

Fix the transpoert header size for UDP packets.

Signed-off-by: Shreyas N Bhatewara &lt;sbhatewara@vmware.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>sfc: Fix assignment of ip_summed for pre-allocated skbs</title>
<updated>2012-03-19T16:02:21+00:00</updated>
<author>
<name>Ben Hutchings</name>
<email>bhutchings@solarflare.com</email>
</author>
<published>2012-02-24T15:12:34+00:00</published>
<link rel='alternate' type='text/html' href='https://git.toradex.cn/cgit/linux-toradex.git/commit/?id=20331103f2dac8436298a2b2cf9f25356a1114a1'/>
<id>20331103f2dac8436298a2b2cf9f25356a1114a1</id>
<content type='text'>
[ Upstream commit ff3bc1e7527504a93710535611b2f812f3bb89bf ]

When pre-allocating skbs for received packets, we set ip_summed =
CHECKSUM_UNNCESSARY.  We used to change it back to CHECKSUM_NONE when
the received packet had an incorrect checksum or unhandled protocol.

Commit bc8acf2c8c3e43fcc192762a9f964b3e9a17748b ('drivers/net: avoid
some skb-&gt;ip_summed initializations') mistakenly replaced the latter
assignment with a DEBUG-only assertion that ip_summed ==
CHECKSUM_NONE.  This assertion is always false, but it seems no-one
has exercised this code path in a DEBUG build.

Fix this by moving our assignment of CHECKSUM_UNNECESSARY into
efx_rx_packet_gro().

Signed-off-by: Ben Hutchings &lt;bhutchings@solarflare.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 ff3bc1e7527504a93710535611b2f812f3bb89bf ]

When pre-allocating skbs for received packets, we set ip_summed =
CHECKSUM_UNNCESSARY.  We used to change it back to CHECKSUM_NONE when
the received packet had an incorrect checksum or unhandled protocol.

Commit bc8acf2c8c3e43fcc192762a9f964b3e9a17748b ('drivers/net: avoid
some skb-&gt;ip_summed initializations') mistakenly replaced the latter
assignment with a DEBUG-only assertion that ip_summed ==
CHECKSUM_NONE.  This assertion is always false, but it seems no-one
has exercised this code path in a DEBUG build.

Fix this by moving our assignment of CHECKSUM_UNNECESSARY into
efx_rx_packet_gro().

Signed-off-by: Ben Hutchings &lt;bhutchings@solarflare.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>ppp: fix 'ppp_mp_reconstruct bad seq' errors</title>
<updated>2012-03-19T16:02:21+00:00</updated>
<author>
<name>Ben McKeegan</name>
<email>ben@netservers.co.uk</email>
</author>
<published>2012-02-24T06:33:56+00:00</published>
<link rel='alternate' type='text/html' href='https://git.toradex.cn/cgit/linux-toradex.git/commit/?id=a15a4c79ee752e48f928c2aa243c24a9cd8f263c'/>
<id>a15a4c79ee752e48f928c2aa243c24a9cd8f263c</id>
<content type='text'>
[ Upstream commit 8a49ad6e89feb5015e77ce6efeb2678947117e20 ]

This patch fixes a (mostly cosmetic) bug introduced by the patch
'ppp: Use SKB queue abstraction interfaces in fragment processing'
found here: http://www.spinics.net/lists/netdev/msg153312.html

The above patch rewrote and moved the code responsible for cleaning
up discarded fragments but the new code does not catch every case
where this is necessary.  This results in some discarded fragments
remaining in the queue, and triggering a 'bad seq' error on the
subsequent call to ppp_mp_reconstruct.  Fragments are discarded
whenever other fragments of the same frame have been lost.
This can generate a lot of unwanted and misleading log messages.

This patch also adds additional detail to the debug logging to
make it clearer which fragments were lost and which other fragments
were discarded as a result of losses. (Run pppd with 'kdebug 1'
option to enable debug logging.)

Signed-off-by: Ben McKeegan &lt;ben@netservers.co.uk&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 8a49ad6e89feb5015e77ce6efeb2678947117e20 ]

This patch fixes a (mostly cosmetic) bug introduced by the patch
'ppp: Use SKB queue abstraction interfaces in fragment processing'
found here: http://www.spinics.net/lists/netdev/msg153312.html

The above patch rewrote and moved the code responsible for cleaning
up discarded fragments but the new code does not catch every case
where this is necessary.  This results in some discarded fragments
remaining in the queue, and triggering a 'bad seq' error on the
subsequent call to ppp_mp_reconstruct.  Fragments are discarded
whenever other fragments of the same frame have been lost.
This can generate a lot of unwanted and misleading log messages.

This patch also adds additional detail to the debug logging to
make it clearer which fragments were lost and which other fragments
were discarded as a result of losses. (Run pppd with 'kdebug 1'
option to enable debug logging.)

Signed-off-by: Ben McKeegan &lt;ben@netservers.co.uk&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>atl1c: dont use highprio tx queue</title>
<updated>2012-03-19T16:02:21+00:00</updated>
<author>
<name>Eric Dumazet</name>
<email>eric.dumazet@gmail.com</email>
</author>
<published>2012-02-15T20:43:11+00:00</published>
<link rel='alternate' type='text/html' href='https://git.toradex.cn/cgit/linux-toradex.git/commit/?id=d94202bc7eb5fbbe464d8bb7a7dd26b3d385faa2'/>
<id>d94202bc7eb5fbbe464d8bb7a7dd26b3d385faa2</id>
<content type='text'>
[ Upstream commit 11aad99af6ef629ff3b05d1c9f0936589b204316 ]

This driver attempts to use two TX rings but lacks proper support :

1) IRQ handler only takes care of TX completion on first TX ring
2) the stop/start logic uses the legacy functions (for non multiqueue
drivers)

This means all packets witk skb mark set to 1 are sent through high
queue but are never cleaned and queue eventualy fills and block the
device, triggering the infamous "NETDEV WATCHDOG" message.

Lets use a single TX ring to fix the problem, this driver is not a real
multiqueue one yet.

Minimal fix for stable kernels.

Reported-by: Thomas Meyer &lt;thomas@m3y3r.de&gt;
Tested-by: Thomas Meyer &lt;thomas@m3y3r.de&gt;
Signed-off-by: Eric Dumazet &lt;eric.dumazet@gmail.com&gt;
Cc: Jay Cliburn &lt;jcliburn@gmail.com&gt;
Cc: Chris Snook &lt;chris.snook@gmail.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 11aad99af6ef629ff3b05d1c9f0936589b204316 ]

This driver attempts to use two TX rings but lacks proper support :

1) IRQ handler only takes care of TX completion on first TX ring
2) the stop/start logic uses the legacy functions (for non multiqueue
drivers)

This means all packets witk skb mark set to 1 are sent through high
queue but are never cleaned and queue eventualy fills and block the
device, triggering the infamous "NETDEV WATCHDOG" message.

Lets use a single TX ring to fix the problem, this driver is not a real
multiqueue one yet.

Minimal fix for stable kernels.

Reported-by: Thomas Meyer &lt;thomas@m3y3r.de&gt;
Tested-by: Thomas Meyer &lt;thomas@m3y3r.de&gt;
Signed-off-by: Eric Dumazet &lt;eric.dumazet@gmail.com&gt;
Cc: Jay Cliburn &lt;jcliburn@gmail.com&gt;
Cc: Chris Snook &lt;chris.snook@gmail.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>rt2x00: fix random stalls</title>
<updated>2012-03-19T16:02:19+00:00</updated>
<author>
<name>Stanislaw Gruszka</name>
<email>sgruszka@redhat.com</email>
</author>
<published>2012-03-09T11:39:54+00:00</published>
<link rel='alternate' type='text/html' href='https://git.toradex.cn/cgit/linux-toradex.git/commit/?id=7d616fc050830adea3c00c515cf4cc41a6468a63'/>
<id>7d616fc050830adea3c00c515cf4cc41a6468a63</id>
<content type='text'>
commit 3780d038fdf4b5ef26ead10b0604ab1f46dd9510 upstream.

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.

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;
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 3780d038fdf4b5ef26ead10b0604ab1f46dd9510 upstream.

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.

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;
Signed-off-by: Greg Kroah-Hartman &lt;gregkh@linuxfoundation.org&gt;

</pre>
</div>
</content>
</entry>
<entry>
<title>net/usbnet: avoid recursive locking in usbnet_stop()</title>
<updated>2012-03-12T19:31:40+00:00</updated>
<author>
<name>Sebastian Siewior</name>
<email>bigeasy@linutronix.de</email>
</author>
<published>2012-03-07T10:19:28+00:00</published>
<link rel='alternate' type='text/html' href='https://git.toradex.cn/cgit/linux-toradex.git/commit/?id=5df11c989c126568ce9d383ec1898bfeb8548ed4'/>
<id>5df11c989c126568ce9d383ec1898bfeb8548ed4</id>
<content type='text'>
commit 4231d47e6fe69f061f96c98c30eaf9fb4c14b96d upstream.

|kernel BUG at kernel/rtmutex.c:724!
|[&lt;c029599c&gt;] (rt_spin_lock_slowlock+0x108/0x2bc) from [&lt;c01c2330&gt;] (defer_bh+0x1c/0xb4)
|[&lt;c01c2330&gt;] (defer_bh+0x1c/0xb4) from [&lt;c01c3afc&gt;] (rx_complete+0x14c/0x194)
|[&lt;c01c3afc&gt;] (rx_complete+0x14c/0x194) from [&lt;c01cac88&gt;] (usb_hcd_giveback_urb+0xa0/0xf0)
|[&lt;c01cac88&gt;] (usb_hcd_giveback_urb+0xa0/0xf0) from [&lt;c01e1ff4&gt;] (musb_giveback+0x34/0x40)
|[&lt;c01e1ff4&gt;] (musb_giveback+0x34/0x40) from [&lt;c01e2b1c&gt;] (musb_advance_schedule+0xb4/0x1c0)
|[&lt;c01e2b1c&gt;] (musb_advance_schedule+0xb4/0x1c0) from [&lt;c01e2ca8&gt;] (musb_cleanup_urb.isra.9+0x80/0x8c)
|[&lt;c01e2ca8&gt;] (musb_cleanup_urb.isra.9+0x80/0x8c) from [&lt;c01e2ed0&gt;] (musb_urb_dequeue+0xec/0x108)
|[&lt;c01e2ed0&gt;] (musb_urb_dequeue+0xec/0x108) from [&lt;c01cbb90&gt;] (unlink1+0xbc/0xcc)
|[&lt;c01cbb90&gt;] (unlink1+0xbc/0xcc) from [&lt;c01cc2ec&gt;] (usb_hcd_unlink_urb+0x54/0xa8)
|[&lt;c01cc2ec&gt;] (usb_hcd_unlink_urb+0x54/0xa8) from [&lt;c01c2a84&gt;] (unlink_urbs.isra.17+0x2c/0x58)
|[&lt;c01c2a84&gt;] (unlink_urbs.isra.17+0x2c/0x58) from [&lt;c01c2b44&gt;] (usbnet_terminate_urbs+0x94/0x10c)
|[&lt;c01c2b44&gt;] (usbnet_terminate_urbs+0x94/0x10c) from [&lt;c01c2d68&gt;] (usbnet_stop+0x100/0x15c)
|[&lt;c01c2d68&gt;] (usbnet_stop+0x100/0x15c) from [&lt;c020f718&gt;] (__dev_close_many+0x94/0xc8)

defer_bh() takes the lock which is hold during unlink_urbs(). The safe
walk suggest that the skb will be removed from the list and this is done
by defer_bh() so it seems to be okay to drop the lock here.

Reported-by: AnÃ­bal Almeida Pinto &lt;anibal.pinto@efacec.com&gt;
Signed-off-by: Sebastian Andrzej Siewior &lt;bigeasy@linutronix.de&gt;
Acked-by: Oliver Neukum &lt;oliver@neukum.org&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>
commit 4231d47e6fe69f061f96c98c30eaf9fb4c14b96d upstream.

|kernel BUG at kernel/rtmutex.c:724!
|[&lt;c029599c&gt;] (rt_spin_lock_slowlock+0x108/0x2bc) from [&lt;c01c2330&gt;] (defer_bh+0x1c/0xb4)
|[&lt;c01c2330&gt;] (defer_bh+0x1c/0xb4) from [&lt;c01c3afc&gt;] (rx_complete+0x14c/0x194)
|[&lt;c01c3afc&gt;] (rx_complete+0x14c/0x194) from [&lt;c01cac88&gt;] (usb_hcd_giveback_urb+0xa0/0xf0)
|[&lt;c01cac88&gt;] (usb_hcd_giveback_urb+0xa0/0xf0) from [&lt;c01e1ff4&gt;] (musb_giveback+0x34/0x40)
|[&lt;c01e1ff4&gt;] (musb_giveback+0x34/0x40) from [&lt;c01e2b1c&gt;] (musb_advance_schedule+0xb4/0x1c0)
|[&lt;c01e2b1c&gt;] (musb_advance_schedule+0xb4/0x1c0) from [&lt;c01e2ca8&gt;] (musb_cleanup_urb.isra.9+0x80/0x8c)
|[&lt;c01e2ca8&gt;] (musb_cleanup_urb.isra.9+0x80/0x8c) from [&lt;c01e2ed0&gt;] (musb_urb_dequeue+0xec/0x108)
|[&lt;c01e2ed0&gt;] (musb_urb_dequeue+0xec/0x108) from [&lt;c01cbb90&gt;] (unlink1+0xbc/0xcc)
|[&lt;c01cbb90&gt;] (unlink1+0xbc/0xcc) from [&lt;c01cc2ec&gt;] (usb_hcd_unlink_urb+0x54/0xa8)
|[&lt;c01cc2ec&gt;] (usb_hcd_unlink_urb+0x54/0xa8) from [&lt;c01c2a84&gt;] (unlink_urbs.isra.17+0x2c/0x58)
|[&lt;c01c2a84&gt;] (unlink_urbs.isra.17+0x2c/0x58) from [&lt;c01c2b44&gt;] (usbnet_terminate_urbs+0x94/0x10c)
|[&lt;c01c2b44&gt;] (usbnet_terminate_urbs+0x94/0x10c) from [&lt;c01c2d68&gt;] (usbnet_stop+0x100/0x15c)
|[&lt;c01c2d68&gt;] (usbnet_stop+0x100/0x15c) from [&lt;c020f718&gt;] (__dev_close_many+0x94/0xc8)

defer_bh() takes the lock which is hold during unlink_urbs(). The safe
walk suggest that the skb will be removed from the list and this is done
by defer_bh() so it seems to be okay to drop the lock here.

Reported-by: AnÃ­bal Almeida Pinto &lt;anibal.pinto@efacec.com&gt;
Signed-off-by: Sebastian Andrzej Siewior &lt;bigeasy@linutronix.de&gt;
Acked-by: Oliver Neukum &lt;oliver@neukum.org&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>carl9170: fix frame delivery if sta is in powersave mode</title>
<updated>2012-03-12T19:31:40+00:00</updated>
<author>
<name>Christian Lamparter</name>
<email>chunkeey@googlemail.com</email>
</author>
<published>2012-02-25T20:36:36+00:00</published>
<link rel='alternate' type='text/html' href='https://git.toradex.cn/cgit/linux-toradex.git/commit/?id=2cfb4e5c22726c099645a7e5fc447d4ffcfca85c'/>
<id>2cfb4e5c22726c099645a7e5fc447d4ffcfca85c</id>
<content type='text'>
commit 9926a67557532acb6cddb1c1add02952175b5c72 upstream.

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.

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;
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 9926a67557532acb6cddb1c1add02952175b5c72 upstream.

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.

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;
Signed-off-by: Greg Kroah-Hartman &lt;gregkh@linuxfoundation.org&gt;

</pre>
</div>
</content>
</entry>
</feed>
