<feed xmlns='http://www.w3.org/2005/Atom'>
<title>linux-toradex.git/drivers/net/wireless/rt2x00, branch v3.5.1</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: 2001:3c17 is an RT3370 device</title>
<updated>2012-08-09T15:22:37+00:00</updated>
<author>
<name>Albert Pool</name>
<email>albertpool@solcon.nl</email>
</author>
<published>2012-05-14T16:08:32+00:00</published>
<link rel='alternate' type='text/html' href='https://git.toradex.cn/cgit/linux-toradex.git/commit/?id=a37ef829d05aa53b09d02471987e6dc5b8fc6ffb'/>
<id>a37ef829d05aa53b09d02471987e6dc5b8fc6ffb</id>
<content type='text'>
commit 8fd9d059af12786341dec5a688e607bcdb372238 upstream.

D-Link DWA-123 rev A1

Signed-off-by: Albert Pool&lt;albertpool@solcon.nl&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 8fd9d059af12786341dec5a688e607bcdb372238 upstream.

D-Link DWA-123 rev A1

Signed-off-by: Albert Pool&lt;albertpool@solcon.nl&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>rt2x00usb: fix indexes ordering on RX queue kick</title>
<updated>2012-07-09T19:01:02+00:00</updated>
<author>
<name>Stanislaw Gruszka</name>
<email>sgruszka@redhat.com</email>
</author>
<published>2012-07-04T11:10:02+00:00</published>
<link rel='alternate' type='text/html' href='https://git.toradex.cn/cgit/linux-toradex.git/commit/?id=efd821182cec8c92babef6e00a95066d3252fda4'/>
<id>efd821182cec8c92babef6e00a95066d3252fda4</id>
<content type='text'>
On rt2x00_dmastart() we increase index specified by Q_INDEX and on
rt2x00_dmadone() we increase index specified by Q_INDEX_DONE. So entries
between Q_INDEX_DONE and Q_INDEX are those we currently process in the
hardware. Entries between Q_INDEX and Q_INDEX_DONE are those we can
submit to the hardware.

According to that fix rt2x00usb_kick_queue(), as we need to submit RX
entries that are not processed by the hardware. It worked before only
for empty queue, otherwise was broken.

Note that for TX queues indexes ordering are ok. We need to kick entries
that have filled skb, but was not submitted to the hardware, i.e.
started from Q_INDEX_DONE and have ENTRY_DATA_PENDING bit set.

From practical standpoint this fixes RX queue stall, usually reproducible
in AP mode, like for example reported here:
https://bugzilla.redhat.com/show_bug.cgi?id=828824

Reported-and-tested-by: Franco Miceli &lt;fmiceli@plan.ceibal.edu.uy&gt;
Reported-and-tested-by: Tom Horsley &lt;horsley1953@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>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
On rt2x00_dmastart() we increase index specified by Q_INDEX and on
rt2x00_dmadone() we increase index specified by Q_INDEX_DONE. So entries
between Q_INDEX_DONE and Q_INDEX are those we currently process in the
hardware. Entries between Q_INDEX and Q_INDEX_DONE are those we can
submit to the hardware.

According to that fix rt2x00usb_kick_queue(), as we need to submit RX
entries that are not processed by the hardware. It worked before only
for empty queue, otherwise was broken.

Note that for TX queues indexes ordering are ok. We need to kick entries
that have filled skb, but was not submitted to the hardware, i.e.
started from Q_INDEX_DONE and have ENTRY_DATA_PENDING bit set.

From practical standpoint this fixes RX queue stall, usually reproducible
in AP mode, like for example reported here:
https://bugzilla.redhat.com/show_bug.cgi?id=828824

Reported-and-tested-by: Franco Miceli &lt;fmiceli@plan.ceibal.edu.uy&gt;
Reported-and-tested-by: Tom Horsley &lt;horsley1953@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;
</pre>
</div>
</content>
</entry>
<entry>
<title>rt2x00: use atomic variable for seqno</title>
<updated>2012-06-04T19:26:26+00:00</updated>
<author>
<name>Stanislaw Gruszka</name>
<email>sgruszka@redhat.com</email>
</author>
<published>2012-06-01T09:29:40+00:00</published>
<link rel='alternate' type='text/html' href='https://git.toradex.cn/cgit/linux-toradex.git/commit/?id=e5851dac2c95af7159716832300b9f50c62c648e'/>
<id>e5851dac2c95af7159716832300b9f50c62c648e</id>
<content type='text'>
Remove spinlock as atomic_t can be used instead. Note we use only 16
lower bits, upper bits are changed but we impilcilty cast to u16.

This fix possible deadlock on IBSS mode reproted by lockdep:

=================================
[ INFO: inconsistent lock state ]
3.4.0-wl+ #4 Not tainted
---------------------------------
inconsistent {IN-SOFTIRQ-W} -&gt; {SOFTIRQ-ON-W} usage.
kworker/u:2/30374 [HC0[0]:SC0[0]:HE1:SE1] takes:
 (&amp;(&amp;intf-&gt;seqlock)-&gt;rlock){+.?...}, at: [&lt;f9979a20&gt;] rt2x00queue_create_tx_descriptor+0x380/0x490 [rt2x00lib]
{IN-SOFTIRQ-W} state was registered at:
  [&lt;c04978ab&gt;] __lock_acquire+0x47b/0x1050
  [&lt;c0498504&gt;] lock_acquire+0x84/0xf0
  [&lt;c0835733&gt;] _raw_spin_lock+0x33/0x40
  [&lt;f9979a20&gt;] rt2x00queue_create_tx_descriptor+0x380/0x490 [rt2x00lib]
  [&lt;f9979f2a&gt;] rt2x00queue_write_tx_frame+0x1a/0x300 [rt2x00lib]
  [&lt;f997834f&gt;] rt2x00mac_tx+0x7f/0x380 [rt2x00lib]
  [&lt;f98fe363&gt;] __ieee80211_tx+0x1b3/0x300 [mac80211]
  [&lt;f98ffdf5&gt;] ieee80211_tx+0x105/0x130 [mac80211]
  [&lt;f99000dd&gt;] ieee80211_xmit+0xad/0x100 [mac80211]
  [&lt;f9900519&gt;] ieee80211_subif_start_xmit+0x2d9/0x930 [mac80211]
  [&lt;c0782e87&gt;] dev_hard_start_xmit+0x307/0x660
  [&lt;c079bb71&gt;] sch_direct_xmit+0xa1/0x1e0
  [&lt;c0784bb3&gt;] dev_queue_xmit+0x183/0x730
  [&lt;c078c27a&gt;] neigh_resolve_output+0xfa/0x1e0
  [&lt;c07b436a&gt;] ip_finish_output+0x24a/0x460
  [&lt;c07b4897&gt;] ip_output+0xb7/0x100
  [&lt;c07b2d60&gt;] ip_local_out+0x20/0x60
  [&lt;c07e01ff&gt;] igmpv3_sendpack+0x4f/0x60
  [&lt;c07e108f&gt;] igmp_ifc_timer_expire+0x29f/0x330
  [&lt;c04520fc&gt;] run_timer_softirq+0x15c/0x2f0
  [&lt;c0449e3e&gt;] __do_softirq+0xae/0x1e0
irq event stamp: 18380437
hardirqs last  enabled at (18380437): [&lt;c0526027&gt;] __slab_alloc.clone.3+0x67/0x5f0
hardirqs last disabled at (18380436): [&lt;c0525ff3&gt;] __slab_alloc.clone.3+0x33/0x5f0
softirqs last  enabled at (18377616): [&lt;c0449eb3&gt;] __do_softirq+0x123/0x1e0
softirqs last disabled at (18377611): [&lt;c041278d&gt;] do_softirq+0x9d/0xe0

other info that might help us debug this:
 Possible unsafe locking scenario:

       CPU0
       ----
  lock(&amp;(&amp;intf-&gt;seqlock)-&gt;rlock);
  &lt;Interrupt&gt;
    lock(&amp;(&amp;intf-&gt;seqlock)-&gt;rlock);

 *** DEADLOCK ***

4 locks held by kworker/u:2/30374:
 #0:  (wiphy_name(local-&gt;hw.wiphy)){++++.+}, at: [&lt;c045cf99&gt;] process_one_work+0x109/0x3f0
 #1:  ((&amp;sdata-&gt;work)){+.+.+.}, at: [&lt;c045cf99&gt;] process_one_work+0x109/0x3f0
 #2:  (&amp;ifibss-&gt;mtx){+.+.+.}, at: [&lt;f98f005b&gt;] ieee80211_ibss_work+0x1b/0x470 [mac80211]
 #3:  (&amp;intf-&gt;beacon_skb_mutex){+.+...}, at: [&lt;f997a644&gt;] rt2x00queue_update_beacon+0x24/0x50 [rt2x00lib]

stack backtrace:
Pid: 30374, comm: kworker/u:2 Not tainted 3.4.0-wl+ #4
Call Trace:
 [&lt;c04962a6&gt;] print_usage_bug+0x1f6/0x220
 [&lt;c0496a12&gt;] mark_lock+0x2c2/0x300
 [&lt;c0495ff0&gt;] ? check_usage_forwards+0xc0/0xc0
 [&lt;c04978ec&gt;] __lock_acquire+0x4bc/0x1050
 [&lt;c0527890&gt;] ? __kmalloc_track_caller+0x1c0/0x1d0
 [&lt;c0777fb6&gt;] ? copy_skb_header+0x26/0x90
 [&lt;c0498504&gt;] lock_acquire+0x84/0xf0
 [&lt;f9979a20&gt;] ? rt2x00queue_create_tx_descriptor+0x380/0x490 [rt2x00lib]
 [&lt;c0835733&gt;] _raw_spin_lock+0x33/0x40
 [&lt;f9979a20&gt;] ? rt2x00queue_create_tx_descriptor+0x380/0x490 [rt2x00lib]
 [&lt;f9979a20&gt;] rt2x00queue_create_tx_descriptor+0x380/0x490 [rt2x00lib]
 [&lt;f997a5cf&gt;] rt2x00queue_update_beacon_locked+0x5f/0xb0 [rt2x00lib]
 [&lt;f997a64d&gt;] rt2x00queue_update_beacon+0x2d/0x50 [rt2x00lib]
 [&lt;f9977e3a&gt;] rt2x00mac_bss_info_changed+0x1ca/0x200 [rt2x00lib]
 [&lt;f9977c70&gt;] ? rt2x00mac_remove_interface+0x70/0x70 [rt2x00lib]
 [&lt;f98e4dd0&gt;] ieee80211_bss_info_change_notify+0xe0/0x1d0 [mac80211]
 [&lt;f98ef7b8&gt;] __ieee80211_sta_join_ibss+0x3b8/0x610 [mac80211]
 [&lt;c0496ab4&gt;] ? mark_held_locks+0x64/0xc0
 [&lt;c0440012&gt;] ? virt_efi_query_capsule_caps+0x12/0x50
 [&lt;f98efb09&gt;] ieee80211_sta_join_ibss+0xf9/0x140 [mac80211]
 [&lt;f98f0456&gt;] ieee80211_ibss_work+0x416/0x470 [mac80211]
 [&lt;c0496d8b&gt;] ? trace_hardirqs_on+0xb/0x10
 [&lt;c077683b&gt;] ? skb_dequeue+0x4b/0x70
 [&lt;f98f207f&gt;] ieee80211_iface_work+0x13f/0x230 [mac80211]
 [&lt;c045cf99&gt;] ? process_one_work+0x109/0x3f0
 [&lt;c045d015&gt;] process_one_work+0x185/0x3f0
 [&lt;c045cf99&gt;] ? process_one_work+0x109/0x3f0
 [&lt;f98f1f40&gt;] ? ieee80211_teardown_sdata+0xa0/0xa0 [mac80211]
 [&lt;c045ed86&gt;] worker_thread+0x116/0x270
 [&lt;c045ec70&gt;] ? manage_workers+0x1e0/0x1e0
 [&lt;c0462f64&gt;] kthread+0x84/0x90
 [&lt;c0462ee0&gt;] ? __init_kthread_worker+0x60/0x60
 [&lt;c083d382&gt;] kernel_thread_helper+0x6/0x10

Cc: stable@vger.kernel.org
Signed-off-by: Stanislaw Gruszka &lt;sgruszka@redhat.com&gt;
Acked-by: Helmut Schaa &lt;helmut.schaa@googlemail.com&gt;
Acked-by: Gertjan van Wingerde &lt;gwingerde@gmail.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>
Remove spinlock as atomic_t can be used instead. Note we use only 16
lower bits, upper bits are changed but we impilcilty cast to u16.

This fix possible deadlock on IBSS mode reproted by lockdep:

=================================
[ INFO: inconsistent lock state ]
3.4.0-wl+ #4 Not tainted
---------------------------------
inconsistent {IN-SOFTIRQ-W} -&gt; {SOFTIRQ-ON-W} usage.
kworker/u:2/30374 [HC0[0]:SC0[0]:HE1:SE1] takes:
 (&amp;(&amp;intf-&gt;seqlock)-&gt;rlock){+.?...}, at: [&lt;f9979a20&gt;] rt2x00queue_create_tx_descriptor+0x380/0x490 [rt2x00lib]
{IN-SOFTIRQ-W} state was registered at:
  [&lt;c04978ab&gt;] __lock_acquire+0x47b/0x1050
  [&lt;c0498504&gt;] lock_acquire+0x84/0xf0
  [&lt;c0835733&gt;] _raw_spin_lock+0x33/0x40
  [&lt;f9979a20&gt;] rt2x00queue_create_tx_descriptor+0x380/0x490 [rt2x00lib]
  [&lt;f9979f2a&gt;] rt2x00queue_write_tx_frame+0x1a/0x300 [rt2x00lib]
  [&lt;f997834f&gt;] rt2x00mac_tx+0x7f/0x380 [rt2x00lib]
  [&lt;f98fe363&gt;] __ieee80211_tx+0x1b3/0x300 [mac80211]
  [&lt;f98ffdf5&gt;] ieee80211_tx+0x105/0x130 [mac80211]
  [&lt;f99000dd&gt;] ieee80211_xmit+0xad/0x100 [mac80211]
  [&lt;f9900519&gt;] ieee80211_subif_start_xmit+0x2d9/0x930 [mac80211]
  [&lt;c0782e87&gt;] dev_hard_start_xmit+0x307/0x660
  [&lt;c079bb71&gt;] sch_direct_xmit+0xa1/0x1e0
  [&lt;c0784bb3&gt;] dev_queue_xmit+0x183/0x730
  [&lt;c078c27a&gt;] neigh_resolve_output+0xfa/0x1e0
  [&lt;c07b436a&gt;] ip_finish_output+0x24a/0x460
  [&lt;c07b4897&gt;] ip_output+0xb7/0x100
  [&lt;c07b2d60&gt;] ip_local_out+0x20/0x60
  [&lt;c07e01ff&gt;] igmpv3_sendpack+0x4f/0x60
  [&lt;c07e108f&gt;] igmp_ifc_timer_expire+0x29f/0x330
  [&lt;c04520fc&gt;] run_timer_softirq+0x15c/0x2f0
  [&lt;c0449e3e&gt;] __do_softirq+0xae/0x1e0
irq event stamp: 18380437
hardirqs last  enabled at (18380437): [&lt;c0526027&gt;] __slab_alloc.clone.3+0x67/0x5f0
hardirqs last disabled at (18380436): [&lt;c0525ff3&gt;] __slab_alloc.clone.3+0x33/0x5f0
softirqs last  enabled at (18377616): [&lt;c0449eb3&gt;] __do_softirq+0x123/0x1e0
softirqs last disabled at (18377611): [&lt;c041278d&gt;] do_softirq+0x9d/0xe0

other info that might help us debug this:
 Possible unsafe locking scenario:

       CPU0
       ----
  lock(&amp;(&amp;intf-&gt;seqlock)-&gt;rlock);
  &lt;Interrupt&gt;
    lock(&amp;(&amp;intf-&gt;seqlock)-&gt;rlock);

 *** DEADLOCK ***

4 locks held by kworker/u:2/30374:
 #0:  (wiphy_name(local-&gt;hw.wiphy)){++++.+}, at: [&lt;c045cf99&gt;] process_one_work+0x109/0x3f0
 #1:  ((&amp;sdata-&gt;work)){+.+.+.}, at: [&lt;c045cf99&gt;] process_one_work+0x109/0x3f0
 #2:  (&amp;ifibss-&gt;mtx){+.+.+.}, at: [&lt;f98f005b&gt;] ieee80211_ibss_work+0x1b/0x470 [mac80211]
 #3:  (&amp;intf-&gt;beacon_skb_mutex){+.+...}, at: [&lt;f997a644&gt;] rt2x00queue_update_beacon+0x24/0x50 [rt2x00lib]

stack backtrace:
Pid: 30374, comm: kworker/u:2 Not tainted 3.4.0-wl+ #4
Call Trace:
 [&lt;c04962a6&gt;] print_usage_bug+0x1f6/0x220
 [&lt;c0496a12&gt;] mark_lock+0x2c2/0x300
 [&lt;c0495ff0&gt;] ? check_usage_forwards+0xc0/0xc0
 [&lt;c04978ec&gt;] __lock_acquire+0x4bc/0x1050
 [&lt;c0527890&gt;] ? __kmalloc_track_caller+0x1c0/0x1d0
 [&lt;c0777fb6&gt;] ? copy_skb_header+0x26/0x90
 [&lt;c0498504&gt;] lock_acquire+0x84/0xf0
 [&lt;f9979a20&gt;] ? rt2x00queue_create_tx_descriptor+0x380/0x490 [rt2x00lib]
 [&lt;c0835733&gt;] _raw_spin_lock+0x33/0x40
 [&lt;f9979a20&gt;] ? rt2x00queue_create_tx_descriptor+0x380/0x490 [rt2x00lib]
 [&lt;f9979a20&gt;] rt2x00queue_create_tx_descriptor+0x380/0x490 [rt2x00lib]
 [&lt;f997a5cf&gt;] rt2x00queue_update_beacon_locked+0x5f/0xb0 [rt2x00lib]
 [&lt;f997a64d&gt;] rt2x00queue_update_beacon+0x2d/0x50 [rt2x00lib]
 [&lt;f9977e3a&gt;] rt2x00mac_bss_info_changed+0x1ca/0x200 [rt2x00lib]
 [&lt;f9977c70&gt;] ? rt2x00mac_remove_interface+0x70/0x70 [rt2x00lib]
 [&lt;f98e4dd0&gt;] ieee80211_bss_info_change_notify+0xe0/0x1d0 [mac80211]
 [&lt;f98ef7b8&gt;] __ieee80211_sta_join_ibss+0x3b8/0x610 [mac80211]
 [&lt;c0496ab4&gt;] ? mark_held_locks+0x64/0xc0
 [&lt;c0440012&gt;] ? virt_efi_query_capsule_caps+0x12/0x50
 [&lt;f98efb09&gt;] ieee80211_sta_join_ibss+0xf9/0x140 [mac80211]
 [&lt;f98f0456&gt;] ieee80211_ibss_work+0x416/0x470 [mac80211]
 [&lt;c0496d8b&gt;] ? trace_hardirqs_on+0xb/0x10
 [&lt;c077683b&gt;] ? skb_dequeue+0x4b/0x70
 [&lt;f98f207f&gt;] ieee80211_iface_work+0x13f/0x230 [mac80211]
 [&lt;c045cf99&gt;] ? process_one_work+0x109/0x3f0
 [&lt;c045d015&gt;] process_one_work+0x185/0x3f0
 [&lt;c045cf99&gt;] ? process_one_work+0x109/0x3f0
 [&lt;f98f1f40&gt;] ? ieee80211_teardown_sdata+0xa0/0xa0 [mac80211]
 [&lt;c045ed86&gt;] worker_thread+0x116/0x270
 [&lt;c045ec70&gt;] ? manage_workers+0x1e0/0x1e0
 [&lt;c0462f64&gt;] kthread+0x84/0x90
 [&lt;c0462ee0&gt;] ? __init_kthread_worker+0x60/0x60
 [&lt;c083d382&gt;] kernel_thread_helper+0x6/0x10

Cc: stable@vger.kernel.org
Signed-off-by: Stanislaw Gruszka &lt;sgruszka@redhat.com&gt;
Acked-by: Helmut Schaa &lt;helmut.schaa@googlemail.com&gt;
Acked-by: Gertjan van Wingerde &lt;gwingerde@gmail.com&gt;
Signed-off-by: John W. Linville &lt;linville@tuxdriver.com&gt;
</pre>
</div>
</content>
</entry>
<entry>
<title>Merge git://git.kernel.org/pub/scm/linux/kernel/git/davem/net</title>
<updated>2012-05-24T18:54:29+00:00</updated>
<author>
<name>Linus Torvalds</name>
<email>torvalds@linux-foundation.org</email>
</author>
<published>2012-05-24T18:54:29+00:00</published>
<link rel='alternate' type='text/html' href='https://git.toradex.cn/cgit/linux-toradex.git/commit/?id=28f3d717618156c0dcd2f497d791b578a7931d87'/>
<id>28f3d717618156c0dcd2f497d791b578a7931d87</id>
<content type='text'>
Pull more networking updates from David Miller:
 "Ok, everything from here on out will be bug fixes."

1) One final sync of wireless and bluetooth stuff from John Linville.
   These changes have all been in his tree for more than a week, and
   therefore have had the necessary -next exposure.  John was just away
   on a trip and didn't have a change to send the pull request until a
   day or two ago.

2) Put back some defines in user exposed header file areas that were
   removed during the tokenring purge.  From Stephen Hemminger and Paul
   Gortmaker.

3) A bug fix for UDP hash table allocation got lost in the pile due to
   one of those "you got it..  no I've got it.." situations.  :-)

   From Tim Bird.

4) SKB coalescing in TCP needs to have stricter checks, otherwise we'll
   try to coalesce overlapping frags and crash.  Fix from Eric Dumazet.

5) RCU routing table lookups can race with free_fib_info(), causing
   crashes when we deref the device pointers in the route.  Fix by
   releasing the net device in the RCU callback.  From Yanmin Zhang.

* git://git.kernel.org/pub/scm/linux/kernel/git/davem/net: (293 commits)
  tcp: take care of overlaps in tcp_try_coalesce()
  ipv4: fix the rcu race between free_fib_info and ip_route_output_slow
  mm: add a low limit to alloc_large_system_hash
  ipx: restore token ring define to include/linux/ipx.h
  if: restore token ring ARP type to header
  xen: do not disable netfront in dom0
  phy/micrel: Fix ID of KSZ9021
  mISDN: Add X-Tensions USB ISDN TA XC-525
  gianfar:don't add FCB length to hard_header_len
  Bluetooth: Report proper error number in disconnection
  Bluetooth: Create flags for bt_sk()
  Bluetooth: report the right security level in getsockopt
  Bluetooth: Lock the L2CAP channel when sending
  Bluetooth: Restore locking semantics when looking up L2CAP channels
  Bluetooth: Fix a redundant and problematic incoming MTU check
  Bluetooth: Add support for Foxconn/Hon Hai AR5BBU22 0489:E03C
  Bluetooth: Fix EIR data generation for mgmt_device_found
  Bluetooth: Fix Inquiry with RSSI event mask
  Bluetooth: improve readability of l2cap_seq_list code
  Bluetooth: Fix skb length calculation
  ...
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
Pull more networking updates from David Miller:
 "Ok, everything from here on out will be bug fixes."

1) One final sync of wireless and bluetooth stuff from John Linville.
   These changes have all been in his tree for more than a week, and
   therefore have had the necessary -next exposure.  John was just away
   on a trip and didn't have a change to send the pull request until a
   day or two ago.

2) Put back some defines in user exposed header file areas that were
   removed during the tokenring purge.  From Stephen Hemminger and Paul
   Gortmaker.

3) A bug fix for UDP hash table allocation got lost in the pile due to
   one of those "you got it..  no I've got it.." situations.  :-)

   From Tim Bird.

4) SKB coalescing in TCP needs to have stricter checks, otherwise we'll
   try to coalesce overlapping frags and crash.  Fix from Eric Dumazet.

5) RCU routing table lookups can race with free_fib_info(), causing
   crashes when we deref the device pointers in the route.  Fix by
   releasing the net device in the RCU callback.  From Yanmin Zhang.

* git://git.kernel.org/pub/scm/linux/kernel/git/davem/net: (293 commits)
  tcp: take care of overlaps in tcp_try_coalesce()
  ipv4: fix the rcu race between free_fib_info and ip_route_output_slow
  mm: add a low limit to alloc_large_system_hash
  ipx: restore token ring define to include/linux/ipx.h
  if: restore token ring ARP type to header
  xen: do not disable netfront in dom0
  phy/micrel: Fix ID of KSZ9021
  mISDN: Add X-Tensions USB ISDN TA XC-525
  gianfar:don't add FCB length to hard_header_len
  Bluetooth: Report proper error number in disconnection
  Bluetooth: Create flags for bt_sk()
  Bluetooth: report the right security level in getsockopt
  Bluetooth: Lock the L2CAP channel when sending
  Bluetooth: Restore locking semantics when looking up L2CAP channels
  Bluetooth: Fix a redundant and problematic incoming MTU check
  Bluetooth: Add support for Foxconn/Hon Hai AR5BBU22 0489:E03C
  Bluetooth: Fix EIR data generation for mgmt_device_found
  Bluetooth: Fix Inquiry with RSSI event mask
  Bluetooth: improve readability of l2cap_seq_list code
  Bluetooth: Fix skb length calculation
  ...
</pre>
</div>
</content>
</entry>
<entry>
<title>Merge tag 'usb-3.5-rc1' of git://git.kernel.org/pub/scm/linux/kernel/git/gregkh/usb</title>
<updated>2012-05-22T22:50:46+00:00</updated>
<author>
<name>Linus Torvalds</name>
<email>torvalds@linux-foundation.org</email>
</author>
<published>2012-05-22T22:50:46+00:00</published>
<link rel='alternate' type='text/html' href='https://git.toradex.cn/cgit/linux-toradex.git/commit/?id=a481991467d38afb43c3921d5b5b59ccb61b04ba'/>
<id>a481991467d38afb43c3921d5b5b59ccb61b04ba</id>
<content type='text'>
Pull USB 3.5-rc1 changes from Greg Kroah-Hartman:
 "Here is the big USB 3.5-rc1 pull request for the 3.5-rc1 merge window.

  It's touches a lot of different parts of the kernel, all USB drivers,
  due to some API cleanups (getting rid of the ancient err() macro) and
  some changes that are needed for USB 3.0 power management updates.

  There are also lots of new drivers, pimarily gadget, but others as
  well.  We deleted a staging driver, which was nice, and finally
  dropped the obsolete usbfs code, which will make Al happy to never
  have to touch that again.

  There were some build errors in the tree that linux-next found a few
  days ago, but those were fixed by the most recent changes (all were
  due to us not building with CONFIG_PM disabled.)

  Signed-off-by: Greg Kroah-Hartman &lt;gregkh@linuxfoundation.org&gt;"

* tag 'usb-3.5-rc1' of git://git.kernel.org/pub/scm/linux/kernel/git/gregkh/usb: (477 commits)
  xhci: Fix DIV_ROUND_UP compile error.
  xhci: Fix compile with CONFIG_USB_SUSPEND=n
  USB: Fix core compile with CONFIG_USB_SUSPEND=n
  brcm80211: Fix compile error for .disable_hub_initiated_lpm.
  Revert "USB: EHCI: work around bug in the Philips ISP1562 controller"
  MAINTAINERS: Add myself as maintainer to the USB PHY Layer
  USB: EHCI: fix command register configuration lost problem
  USB: Remove races in devio.c
  USB: ehci-platform: remove update_device
  USB: Disable hub-initiated LPM for comms devices.
  xhci: Add Intel U1/U2 timeout policy.
  xhci: Add infrastructure for host-specific LPM policies.
  USB: Add macros for interrupt endpoint types.
  xhci: Reserve one command for USB3 LPM disable.
  xhci: Some Evaluate Context commands must succeed.
  USB: Disable USB 3.0 LPM in critical sections.
  USB: Add support to enable/disable USB3 link states.
  USB: Allow drivers to disable hub-initiated LPM.
  USB: Calculate USB 3.0 exit latencies for LPM.
  USB: Refactor code to set LPM support flag.
  ...

Conflicts:
	arch/arm/mach-exynos/mach-nuri.c
	arch/arm/mach-exynos/mach-universal_c210.c
	drivers/net/wireless/ath/ath6kl/usb.c
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
Pull USB 3.5-rc1 changes from Greg Kroah-Hartman:
 "Here is the big USB 3.5-rc1 pull request for the 3.5-rc1 merge window.

  It's touches a lot of different parts of the kernel, all USB drivers,
  due to some API cleanups (getting rid of the ancient err() macro) and
  some changes that are needed for USB 3.0 power management updates.

  There are also lots of new drivers, pimarily gadget, but others as
  well.  We deleted a staging driver, which was nice, and finally
  dropped the obsolete usbfs code, which will make Al happy to never
  have to touch that again.

  There were some build errors in the tree that linux-next found a few
  days ago, but those were fixed by the most recent changes (all were
  due to us not building with CONFIG_PM disabled.)

  Signed-off-by: Greg Kroah-Hartman &lt;gregkh@linuxfoundation.org&gt;"

* tag 'usb-3.5-rc1' of git://git.kernel.org/pub/scm/linux/kernel/git/gregkh/usb: (477 commits)
  xhci: Fix DIV_ROUND_UP compile error.
  xhci: Fix compile with CONFIG_USB_SUSPEND=n
  USB: Fix core compile with CONFIG_USB_SUSPEND=n
  brcm80211: Fix compile error for .disable_hub_initiated_lpm.
  Revert "USB: EHCI: work around bug in the Philips ISP1562 controller"
  MAINTAINERS: Add myself as maintainer to the USB PHY Layer
  USB: EHCI: fix command register configuration lost problem
  USB: Remove races in devio.c
  USB: ehci-platform: remove update_device
  USB: Disable hub-initiated LPM for comms devices.
  xhci: Add Intel U1/U2 timeout policy.
  xhci: Add infrastructure for host-specific LPM policies.
  USB: Add macros for interrupt endpoint types.
  xhci: Reserve one command for USB3 LPM disable.
  xhci: Some Evaluate Context commands must succeed.
  USB: Disable USB 3.0 LPM in critical sections.
  USB: Add support to enable/disable USB3 link states.
  USB: Allow drivers to disable hub-initiated LPM.
  USB: Calculate USB 3.0 exit latencies for LPM.
  USB: Refactor code to set LPM support flag.
  ...

Conflicts:
	arch/arm/mach-exynos/mach-nuri.c
	arch/arm/mach-exynos/mach-universal_c210.c
	drivers/net/wireless/ath/ath6kl/usb.c
</pre>
</div>
</content>
</entry>
<entry>
<title>USB: Disable hub-initiated LPM for comms devices.</title>
<updated>2012-05-18T22:42:55+00:00</updated>
<author>
<name>Sarah Sharp</name>
<email>sarah.a.sharp@linux.intel.com</email>
</author>
<published>2012-04-23T17:08:51+00:00</published>
<link rel='alternate' type='text/html' href='https://git.toradex.cn/cgit/linux-toradex.git/commit/?id=e1f12eb6ba6f1e74007eb01ed26fad7c5239d62b'/>
<id>e1f12eb6ba6f1e74007eb01ed26fad7c5239d62b</id>
<content type='text'>
Hub-initiated LPM is not good for USB communications devices.  Comms
devices should be able to tell when their link can go into a lower power
state, because they know when an incoming transmission is finished.
Ideally, these devices would slam their links into a lower power state,
using the device-initiated LPM, after finishing the last packet of their
data transfer.

If we enable the idle timeouts for the parent hubs to enable
hub-initiated LPM, we will get a lot of useless LPM packets on the bus
as the devices reject LPM transitions when they're in the middle of
receiving data.  Worse, some devices might blindly accept the
hub-initiated LPM and power down their radios while they're in the
middle of receiving a transmission.

The Intel Windows folks are disabling hub-initiated LPM for all USB
communications devices under a xHCI USB 3.0 host.  In order to keep
the Linux behavior as close as possible to Windows, we need to do the
same in Linux.

Set the disable_hub_initiated_lpm flag for for all USB communications
drivers.  I know there aren't currently any USB 3.0 devices that
implement these class specifications, but we should be ready if they do.

Signed-off-by: Sarah Sharp &lt;sarah.a.sharp@linux.intel.com&gt;
Cc: Marcel Holtmann &lt;marcel@holtmann.org&gt;
Cc: Gustavo Padovan &lt;gustavo@padovan.org&gt;
Cc: Johan Hedberg &lt;johan.hedberg@gmail.com&gt;
Cc: Hansjoerg Lipp &lt;hjlipp@web.de&gt;
Cc: Tilman Schmidt &lt;tilman@imap.cc&gt;
Cc: Karsten Keil &lt;isdn@linux-pingi.de&gt;
Cc: Peter Korsgaard &lt;jacmet@sunsite.dk&gt;
Cc: Jan Dumon &lt;j.dumon@option.com&gt;
Cc: Petko Manolov &lt;petkan@users.sourceforge.net&gt;
Cc: Steve Glendinning &lt;steve.glendinning@smsc.com&gt;
Cc: "John W. Linville" &lt;linville@tuxdriver.com&gt;
Cc: Kalle Valo &lt;kvalo@qca.qualcomm.com&gt;
Cc: "Luis R. Rodriguez" &lt;mcgrof@qca.qualcomm.com&gt;
Cc: Jouni Malinen &lt;jouni@qca.qualcomm.com&gt;
Cc: Vasanthakumar Thiagarajan &lt;vthiagar@qca.qualcomm.com&gt;
Cc: Senthil Balasubramanian &lt;senthilb@qca.qualcomm.com&gt;
Cc: Christian Lamparter &lt;chunkeey@googlemail.com&gt;
Cc: Brett Rudley &lt;brudley@broadcom.com&gt;
Cc: Roland Vossen &lt;rvossen@broadcom.com&gt;
Cc: Arend van Spriel &lt;arend@broadcom.com&gt;
Cc: "Franky (Zhenhui) Lin" &lt;frankyl@broadcom.com&gt;
Cc: Kan Yan &lt;kanyan@broadcom.com&gt;
Cc: Dan Williams &lt;dcbw@redhat.com&gt;
Cc: Jussi Kivilinna &lt;jussi.kivilinna@mbnet.fi&gt;
Cc: Ivo van Doorn &lt;IvDoorn@gmail.com&gt;
Cc: Gertjan van Wingerde &lt;gwingerde@gmail.com&gt;
Cc: Helmut Schaa &lt;helmut.schaa@googlemail.com&gt;
Cc: Herton Ronaldo Krzesinski &lt;herton@canonical.com&gt;
Cc: Hin-Tak Leung &lt;htl10@users.sourceforge.net&gt;
Cc: Larry Finger &lt;Larry.Finger@lwfinger.net&gt;
Cc: Chaoming Li &lt;chaoming_li@realsil.com.cn&gt;
Cc: Daniel Drake &lt;dsd@gentoo.org&gt;
Cc: Ulrich Kunitz &lt;kune@deine-taler.de&gt;
Signed-off-by: Sarah Sharp &lt;sarah.a.sharp@linux.intel.com&gt;
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
Hub-initiated LPM is not good for USB communications devices.  Comms
devices should be able to tell when their link can go into a lower power
state, because they know when an incoming transmission is finished.
Ideally, these devices would slam their links into a lower power state,
using the device-initiated LPM, after finishing the last packet of their
data transfer.

If we enable the idle timeouts for the parent hubs to enable
hub-initiated LPM, we will get a lot of useless LPM packets on the bus
as the devices reject LPM transitions when they're in the middle of
receiving data.  Worse, some devices might blindly accept the
hub-initiated LPM and power down their radios while they're in the
middle of receiving a transmission.

The Intel Windows folks are disabling hub-initiated LPM for all USB
communications devices under a xHCI USB 3.0 host.  In order to keep
the Linux behavior as close as possible to Windows, we need to do the
same in Linux.

Set the disable_hub_initiated_lpm flag for for all USB communications
drivers.  I know there aren't currently any USB 3.0 devices that
implement these class specifications, but we should be ready if they do.

Signed-off-by: Sarah Sharp &lt;sarah.a.sharp@linux.intel.com&gt;
Cc: Marcel Holtmann &lt;marcel@holtmann.org&gt;
Cc: Gustavo Padovan &lt;gustavo@padovan.org&gt;
Cc: Johan Hedberg &lt;johan.hedberg@gmail.com&gt;
Cc: Hansjoerg Lipp &lt;hjlipp@web.de&gt;
Cc: Tilman Schmidt &lt;tilman@imap.cc&gt;
Cc: Karsten Keil &lt;isdn@linux-pingi.de&gt;
Cc: Peter Korsgaard &lt;jacmet@sunsite.dk&gt;
Cc: Jan Dumon &lt;j.dumon@option.com&gt;
Cc: Petko Manolov &lt;petkan@users.sourceforge.net&gt;
Cc: Steve Glendinning &lt;steve.glendinning@smsc.com&gt;
Cc: "John W. Linville" &lt;linville@tuxdriver.com&gt;
Cc: Kalle Valo &lt;kvalo@qca.qualcomm.com&gt;
Cc: "Luis R. Rodriguez" &lt;mcgrof@qca.qualcomm.com&gt;
Cc: Jouni Malinen &lt;jouni@qca.qualcomm.com&gt;
Cc: Vasanthakumar Thiagarajan &lt;vthiagar@qca.qualcomm.com&gt;
Cc: Senthil Balasubramanian &lt;senthilb@qca.qualcomm.com&gt;
Cc: Christian Lamparter &lt;chunkeey@googlemail.com&gt;
Cc: Brett Rudley &lt;brudley@broadcom.com&gt;
Cc: Roland Vossen &lt;rvossen@broadcom.com&gt;
Cc: Arend van Spriel &lt;arend@broadcom.com&gt;
Cc: "Franky (Zhenhui) Lin" &lt;frankyl@broadcom.com&gt;
Cc: Kan Yan &lt;kanyan@broadcom.com&gt;
Cc: Dan Williams &lt;dcbw@redhat.com&gt;
Cc: Jussi Kivilinna &lt;jussi.kivilinna@mbnet.fi&gt;
Cc: Ivo van Doorn &lt;IvDoorn@gmail.com&gt;
Cc: Gertjan van Wingerde &lt;gwingerde@gmail.com&gt;
Cc: Helmut Schaa &lt;helmut.schaa@googlemail.com&gt;
Cc: Herton Ronaldo Krzesinski &lt;herton@canonical.com&gt;
Cc: Hin-Tak Leung &lt;htl10@users.sourceforge.net&gt;
Cc: Larry Finger &lt;Larry.Finger@lwfinger.net&gt;
Cc: Chaoming Li &lt;chaoming_li@realsil.com.cn&gt;
Cc: Daniel Drake &lt;dsd@gentoo.org&gt;
Cc: Ulrich Kunitz &lt;kune@deine-taler.de&gt;
Signed-off-by: Sarah Sharp &lt;sarah.a.sharp@linux.intel.com&gt;
</pre>
</div>
</content>
</entry>
<entry>
<title>rt2x00:Add RT539b chipset support</title>
<updated>2012-05-16T16:46:37+00:00</updated>
<author>
<name>Zero.Lin</name>
<email>Zero.Lin@mediatek.com</email>
</author>
<published>2012-05-10T02:06:31+00:00</published>
<link rel='alternate' type='text/html' href='https://git.toradex.cn/cgit/linux-toradex.git/commit/?id=2aed691540661e9cf6dac5dd2bd8742b9d68399d'/>
<id>2aed691540661e9cf6dac5dd2bd8742b9d68399d</id>
<content type='text'>
Signed-off-by: Zero.Lin &lt;Zero.Lin@mediatek.com&gt;
Acked-by: Gertjan van Wingerde &lt;gwingerde@gmail.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>
Signed-off-by: Zero.Lin &lt;Zero.Lin@mediatek.com&gt;
Acked-by: Gertjan van Wingerde &lt;gwingerde@gmail.com&gt;
Signed-off-by: John W. Linville &lt;linville@tuxdriver.com&gt;
</pre>
</div>
</content>
</entry>
<entry>
<title>rt2x00: Add debugfs access for rfcsr register</title>
<updated>2012-05-09T01:53:46+00:00</updated>
<author>
<name>Anisse Astier</name>
<email>anisse@astier.eu</email>
</author>
<published>2012-04-19T13:53:10+00:00</published>
<link rel='alternate' type='text/html' href='https://git.toradex.cn/cgit/linux-toradex.git/commit/?id=f2bd7f16e5ae50a26028b4244f7b9c8bba0c48d2'/>
<id>f2bd7f16e5ae50a26028b4244f7b9c8bba0c48d2</id>
<content type='text'>
RFCSR is only used in rt2800. For other chipsets, the debug struct
for rfcsr should be zeroed, which isn't be an issue, since the code
can now cope with that.

Signed-off-by: Anisse Astier &lt;anisse@astier.eu&gt;
Acked-by: Ivo van Doorn &lt;IvDoorn@gmail.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>
RFCSR is only used in rt2800. For other chipsets, the debug struct
for rfcsr should be zeroed, which isn't be an issue, since the code
can now cope with that.

Signed-off-by: Anisse Astier &lt;anisse@astier.eu&gt;
Acked-by: Ivo van Doorn &lt;IvDoorn@gmail.com&gt;
Signed-off-by: John W. Linville &lt;linville@tuxdriver.com&gt;
</pre>
</div>
</content>
</entry>
<entry>
<title>rt2x00: debugfs support - allow a register to be empty</title>
<updated>2012-05-09T01:53:45+00:00</updated>
<author>
<name>Anisse Astier</name>
<email>anisse@astier.eu</email>
</author>
<published>2012-04-19T13:04:52+00:00</published>
<link rel='alternate' type='text/html' href='https://git.toradex.cn/cgit/linux-toradex.git/commit/?id=f2efd20facac2de96d33210a982820db960d25d1'/>
<id>f2efd20facac2de96d33210a982820db960d25d1</id>
<content type='text'>
Allow a register to be unspecified, therefore not creating its debugfs
file entry.

Signed-off-by: Anisse Astier &lt;anisse@astier.eu&gt;
Acked-by: Ivo van Doorn &lt;IvDoorn@gmail.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>
Allow a register to be unspecified, therefore not creating its debugfs
file entry.

Signed-off-by: Anisse Astier &lt;anisse@astier.eu&gt;
Acked-by: Ivo van Doorn &lt;IvDoorn@gmail.com&gt;
Signed-off-by: John W. Linville &lt;linville@tuxdriver.com&gt;
</pre>
</div>
</content>
</entry>
<entry>
<title>rt2800: add chipset revision RT5390R support</title>
<updated>2012-04-23T19:37:42+00:00</updated>
<author>
<name>Anisse Astier</name>
<email>anisse@astier.eu</email>
</author>
<published>2012-04-23T10:33:11+00:00</published>
<link rel='alternate' type='text/html' href='https://git.toradex.cn/cgit/linux-toradex.git/commit/?id=0586a11b5cc51413240e6688936e2edac9c2918e'/>
<id>0586a11b5cc51413240e6688936e2edac9c2918e</id>
<content type='text'>
About 70% of the chips with revision RT5390R initialize incorrectly, using
the auxiliary antenna instead of the main one. The net result is that
signal reception is very poor (no AP further than 1M).

This chipset differs from RT5390 and RT5390F by its support of hardware
antenna diversity. Therefore antenna selection should be done
differently, by disabling software features and previously selected
antenna.

This changeset does just that, and makes all RT5390R work properly.

This is based on Ralink's 2012_03_22_RT5572_Linux_STA_v2.6.0.0_DPO
driver.

Signed-off-by: Anisse Astier &lt;anisse@astier.eu&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>
About 70% of the chips with revision RT5390R initialize incorrectly, using
the auxiliary antenna instead of the main one. The net result is that
signal reception is very poor (no AP further than 1M).

This chipset differs from RT5390 and RT5390F by its support of hardware
antenna diversity. Therefore antenna selection should be done
differently, by disabling software features and previously selected
antenna.

This changeset does just that, and makes all RT5390R work properly.

This is based on Ralink's 2012_03_22_RT5572_Linux_STA_v2.6.0.0_DPO
driver.

Signed-off-by: Anisse Astier &lt;anisse@astier.eu&gt;
Signed-off-by: John W. Linville &lt;linville@tuxdriver.com&gt;
</pre>
</div>
</content>
</entry>
</feed>
