commit 93dfb878a5b870fb6a08e1c69d9046ebc4a4471e
Author: Ben Hutchings <ben@decadent.org.uk>
Date:   Wed Apr 10 03:20:17 2013 +0100

    Linux 3.2.43

commit 1e8b82e5787b57c83674e6ac87da4060dded3184
Author: Jiri Slaby <jslaby@suse.cz>
Date:   Mon Nov 12 10:16:09 2012 +0100

    HID: microsoft: do not use compound literal - fix build
    
    commit 6b90466cfec2a2fe027187d675d8d14217c12d82 upstream.
    
    In patch "HID: microsoft: fix invalid rdesc for 3k kbd" I fixed
    support for MS 3k keyboards. However the added check using memcmp and
    a compound statement breaks build on architectures where memcmp is a
    macro with parameters.
    
    hid-microsoft.c:51:18: error: macro "memcmp" passed 6 arguments, but takes just 3
    
    On x86_64, memcmp is a function, so I did not see the error.
    
    Signed-off-by: Jiri Slaby <jslaby@suse.cz>
    Reported-by: Geert Uytterhoeven <geert@linux-m68k.org>
    Signed-off-by: Jiri Kosina <jkosina@suse.cz>
    Signed-off-by: Ben Hutchings <ben@decadent.org.uk>

commit c5b444a3da735cc82ea736ddcf816cfedee7f941
Author: Veaceslav Falico <vfalico@redhat.com>
Date:   Tue Apr 2 05:15:16 2013 +0000

    bonding: get netdev_rx_handler_unregister out of locks
    
    commit fcd99434fb5c137274d2e15dd2a6a7455f0f29ff upstream.
    
    Now that netdev_rx_handler_unregister contains synchronize_net(), we need
    to call it outside of bond->lock, cause it might sleep. Also, remove the
    already unneded synchronize_net().
    
    Signed-off-by: Veaceslav Falico <vfalico@redhat.com>
    Acked-by: Eric Dumazet <edumazet@google.com>
    Signed-off-by: David S. Miller <davem@davemloft.net>
    Signed-off-by: Ben Hutchings <ben@decadent.org.uk>

commit 51119124df76790b671aeb729e42b10c18cec7a4
Author: Steve Glendinning <steve.glendinning@shawell.net>
Date:   Thu Mar 28 02:34:41 2013 +0000

    smsc75xx: fix jumbo frame support
    
    [ Upstream commit 4c51e53689569398d656e631c17308d9b8e84650 ]
    
    This patch enables RX of jumbo frames for LAN7500.
    
    Previously the driver would transmit jumbo frames succesfully but
    would drop received jumbo frames (incrementing the interface errors
    count).
    
    With this patch applied the device can succesfully receive jumbo
    frames up to MTU 9000 (9014 bytes on the wire including ethernet
    header).
    
    Signed-off-by: Steve Glendinning <steve.glendinning@shawell.net>
    Signed-off-by: David S. Miller <davem@davemloft.net>
    Signed-off-by: Ben Hutchings <ben@decadent.org.uk>

commit f13514fe977c6c745e49fee624332dd6187e9ffa
Author: Veaceslav Falico <vfalico@redhat.com>
Date:   Mon Mar 25 22:26:21 2013 +0000

    pch_gbe: fix ip_summed checksum reporting on rx
    
    [ Upstream commit 76a0e68129d7d24eb995a6871ab47081bbfa0acc ]
    
    skb->ip_summed should be CHECKSUM_UNNECESSARY when the driver reports that
    checksums were correct and CHECKSUM_NONE in any other case. They're
    currently placed vice versa, which breaks the forwarding scenario. Fix it
    by placing them as described above.
    
    Signed-off-by: Veaceslav Falico <vfalico@redhat.com>
    Signed-off-by: David S. Miller <davem@davemloft.net>
    Signed-off-by: Ben Hutchings <ben@decadent.org.uk>

commit d94b6028164b17b858e6e64a12a36e433787e898
Author: Eric Dumazet <edumazet@google.com>
Date:   Fri Mar 29 03:01:22 2013 +0000

    net: add a synchronize_net() in  netdev_rx_handler_unregister()
    
    [ Upstream commit 00cfec37484761a44a3b6f4675a54caa618210ae ]
    
    commit 35d48903e97819 (bonding: fix rx_handler locking) added a race
    in bonding driver, reported by Steven Rostedt who did a very good
    diagnosis :
    
    <quoting Steven>
    
    I'm currently debugging a crash in an old 3.0-rt kernel that one of our
    customers is seeing. The bug happens with a stress test that loads and
    unloads the bonding module in a loop (I don't know all the details as
    I'm not the one that is directly interacting with the customer). But the
    bug looks to be something that may still be present and possibly present
    in mainline too. It will just be much harder to trigger it in mainline.
    
    In -rt, interrupts are threads, and can schedule in and out just like
    any other thread. Note, mainline now supports interrupt threads so this
    may be easily reproducible in mainline as well. I don't have the ability
    to tell the customer to try mainline or other kernels, so my hands are
    somewhat tied to what I can do.
    
    But according to a core dump, I tracked down that the eth irq thread
    crashed in bond_handle_frame() here:
    
            slave = bond_slave_get_rcu(skb->dev);
            bond = slave->bond; <--- BUG
    
    the slave returned was NULL and accessing slave->bond caused a NULL
    pointer dereference.
    
    Looking at the code that unregisters the handler:
    
    void netdev_rx_handler_unregister(struct net_device *dev)
    {
    
            ASSERT_RTNL();
            RCU_INIT_POINTER(dev->rx_handler, NULL);
            RCU_INIT_POINTER(dev->rx_handler_data, NULL);
    }
    
    Which is basically:
            dev->rx_handler = NULL;
            dev->rx_handler_data = NULL;
    
    And looking at __netif_receive_skb() we have:
    
            rx_handler = rcu_dereference(skb->dev->rx_handler);
            if (rx_handler) {
                    if (pt_prev) {
                            ret = deliver_skb(skb, pt_prev, orig_dev);
                            pt_prev = NULL;
                    }
                    switch (rx_handler(&skb)) {
    
    My question to all of you is, what stops this interrupt from happening
    while the bonding module is unloading?  What happens if the interrupt
    triggers and we have this:
    
            CPU0                    CPU1
            ----                    ----
      rx_handler = skb->dev->rx_handler
    
                            netdev_rx_handler_unregister() {
                               dev->rx_handler = NULL;
                               dev->rx_handler_data = NULL;
    
      rx_handler()
       bond_handle_frame() {
        slave = skb->dev->rx_handler;
        bond = slave->bond; <-- NULL pointer dereference!!!
    
    What protection am I missing in the bond release handler that would
    prevent the above from happening?
    
    </quoting Steven>
    
    We can fix bug this in two ways. First is adding a test in
    bond_handle_frame() and others to check if rx_handler_data is NULL.
    
    A second way is adding a synchronize_net() in
    netdev_rx_handler_unregister() to make sure that a rcu protected reader
    has the guarantee to see a non NULL rx_handler_data.
    
    The second way is better as it avoids an extra test in fast path.
    
    Reported-by: Steven Rostedt <rostedt@goodmis.org>
    Signed-off-by: Eric Dumazet <edumazet@google.com>
    Cc: Jiri Pirko <jpirko@redhat.com>
    Cc: Paul E. McKenney <paulmck@us.ibm.com>
    Acked-by: Steven Rostedt <rostedt@goodmis.org>
    Reviewed-by: Paul E. McKenney <paulmck@linux.vnet.ibm.com>
    Signed-off-by: David S. Miller <davem@davemloft.net>
    Signed-off-by: Ben Hutchings <ben@decadent.org.uk>

commit 58b0462071de91bc62f7cff8767ef0723d079a25
Author: Max.Nekludov@us.elster.com <Max.Nekludov@us.elster.com>
Date:   Fri Mar 29 05:27:36 2013 +0000

    ks8851: Fix interpretation of rxlen field.
    
    [ Upstream commit 14bc435ea54cb888409efb54fc6b76c13ef530e9 ]
    
    According to the Datasheet (page 52):
    15-12 Reserved
    11-0 RXBC Receive Byte Count
    This field indicates the present received frame byte size.
    
    The code has a bug:
                     rxh = ks8851_rdreg32(ks, KS_RXFHSR);
                     rxstat = rxh & 0xffff;
                     rxlen = rxh >> 16; // BUG!!! 0xFFF mask should be applied
    
    Signed-off-by: Max Nekludov <Max.Nekludov@us.elster.com>
    Signed-off-by: David S. Miller <davem@davemloft.net>
    Signed-off-by: Ben Hutchings <ben@decadent.org.uk>

commit f79969993b11c04af81829334d6981a06d1b6c19
Author: Hannes Frederic Sowa <hannes@stressinduktion.org>
Date:   Tue Mar 26 08:13:34 2013 +0000

    ipv6: don't accept node local multicast traffic from  the wire
    
    [ Upstream commit 1c4a154e5253687c51123956dfcee9e9dfa8542d ]
    
    Erik Hugne's errata proposal (Errata ID: 3480) to RFC4291 has been
    verified: http://www.rfc-editor.org/errata_search.php?eid=3480
    
    We have to check for pkt_type and loopback flag because either the
    packets are allowed to travel over the loopback interface (in which case
    pkt_type is PACKET_HOST and IFF_LOOPBACK flag is set) or they travel
    over a non-loopback interface back to us (in which case PACKET_TYPE is
    PACKET_LOOPBACK and IFF_LOOPBACK flag is not set).
    
    Cc: Erik Hugne <erik.hugne@ericsson.com>
    Cc: YOSHIFUJI Hideaki <yoshfuji@linux-ipv6.org>
    Signed-off-by: Hannes Frederic Sowa <hannes@stressinduktion.org>
    Signed-off-by: David S. Miller <davem@davemloft.net>
    Signed-off-by: Ben Hutchings <ben@decadent.org.uk>

commit e6019660948dd649d313b965bd3cf294815c4c47
Author: Hong Zhiguo <honkiko@gmail.com>
Date:   Tue Mar 26 01:52:45 2013 +0800

    ipv6: fix bad free of addrconf_init_net
    
    [ Upstream commit a79ca223e029aa4f09abb337accf1812c900a800 ]
    
    Signed-off-by: Hong Zhiguo <honkiko@gmail.com>
    Signed-off-by: David S. Miller <davem@davemloft.net>
    Signed-off-by: Ben Hutchings <ben@decadent.org.uk>

commit cf29311c2774284b8ee2e95b9799e880fd34d3d0
Author: Hannes Frederic Sowa <hannes@stressinduktion.org>
Date:   Sun Feb 10 05:35:22 2013 +0000

    ipv6: don't accept multicast traffic with scope 0
    
    [ Upstream commit 20314092c1b41894d8c181bf9aa6f022be2416aa ]
    
    v2:
    a) moved before multicast source address check
    b) changed comment to netdev style
    
    Cc: Erik Hugne <erik.hugne@ericsson.com>
    Cc: YOSHIFUJI Hideaki <yoshfuji@linux-ipv6.org>
    Acked-by: YOSHIFUJI Hideaki <yoshfuji@linux-ipv6.org>
    Signed-off-by: Hannes Frederic Sowa <hannes@stressinduktion.org>
    Acked-by: YOSHIFUJI Hideaki <yoshfuji@linux-ipv6.org>
    Signed-off-by: David S. Miller <davem@davemloft.net>
    Signed-off-by: Ben Hutchings <ben@decadent.org.uk>

commit 8f270e25b6fa1188b4ab2e14fbf950e1c72a3bcb
Author: Joseph CHANG <josright123@gmail.com>
Date:   Thu Mar 28 23:13:42 2013 +0000

    DM9000B: driver initialization upgrade
    
    [ Upstream commit 6741f40d198c6a5feb23653a1efd4ca47f93d83d ]
    
    Fix bug for DM9000 revision B which contain a DSP PHY
    
    DM9000B use DSP PHY instead previouse DM9000 revisions' analog PHY,
    So need extra change in initialization, For
    explicity PHY Reset and PHY init parameter, and
    first DM9000_NCR reset need NCR_MAC_LBK bit by dm9000_probe().
    
    Following DM9000_NCR reset cause by dm9000_open() clear the
    NCR_MAC_LBK bit.
    
    Without this fix, Power-up FIFO pointers error happen around 2%
    rate among Davicom's customers' boards. With this fix, All above
    cases can be solved.
    
    Signed-off-by: Joseph CHANG <josright123@gmail.com>
    Signed-off-by: David S. Miller <davem@davemloft.net>
    Signed-off-by: Ben Hutchings <ben@decadent.org.uk>

commit 97159c98d9cd0b5ef6948699cd44c6ed368ea310
Author: Hannes Frederic Sowa <hannes@stressinduktion.org>
Date:   Thu Mar 28 18:10:50 2013 +0000

    atl1e: drop pci-msi support because of packet  corruption
    
    [ Upstream commit 188ab1b105c96656f6bcfb49d0d8bb1b1936b632 ]
    
    Usage of pci-msi results in corrupted dma packet transfers to the host.
    
    Reported-by: rebelyouth <rebelyouth.hacklab@gmail.com>
    Cc: Huang, Xiong <xiong@qca.qualcomm.com>
    Tested-by: Christian Sünkenberg <christian.suenkenberg@student.kit.edu>
    Signed-off-by: Hannes Frederic Sowa <hannes@stressinduktion.org>
    Signed-off-by: David S. Miller <davem@davemloft.net>
    Signed-off-by: Ben Hutchings <ben@decadent.org.uk>

commit 9fc00369c63e7380dc4b3ec34bacb2af4a79e748
Author: Eric Dumazet <edumazet@google.com>
Date:   Wed Mar 27 18:28:41 2013 +0000

    aoe: reserve enough headroom on skbs
    
    [ Upstream commit 91c5746425aed8f7188a351f1224a26aa232e4b3 ]
    
    Some network drivers use a non default hard_header_len
    
    Transmitted skb should take into account dev->hard_header_len, or risk
    crashes or expensive reallocations.
    
    In the case of aoe, lets reserve MAX_HEADER bytes.
    
    David reported a crash in defxx driver, solved by this patch.
    
    Reported-by: David Oostdyk <daveo@ll.mit.edu>
    Tested-by: David Oostdyk <daveo@ll.mit.edu>
    Signed-off-by: Eric Dumazet <edumazet@google.com>
    Cc: Ed Cashin <ecashin@coraid.com>
    Signed-off-by: David S. Miller <davem@davemloft.net>
    Signed-off-by: Ben Hutchings <ben@decadent.org.uk>

commit 905de42d8653f10c94025f26597c1c2178629713
Author: Mugunthan V N <mugunthanvnm@ti.com>
Date:   Wed Mar 27 04:42:00 2013 +0000

    drivers: net: ethernet: davinci_emac: use  netif_wake_queue() while restarting tx queue
    
    commit 7e51cde276ca820d526c6c21cf8147df595a36bf upstream.
    
    To restart tx queue use netif_wake_queue() intead of netif_start_queue()
    so that net schedule will restart transmission immediately which will
    increase network performance while doing huge data transfers.
    
    Reported-by: Dan Franke <dan.franke@schneider-electric.com>
    Suggested-by: Sriramakrishnan A G <srk@ti.com>
    Signed-off-by: Mugunthan V N <mugunthanvnm@ti.com>
    Acked-by: Eric Dumazet <edumazet@google.com>
    Signed-off-by: David S. Miller <davem@davemloft.net>
    Signed-off-by: Ben Hutchings <ben@decadent.org.uk>

commit 621f4b4fc875aefc1aba54637c5ced99e8429272
Author: nikolay@redhat.com <nikolay@redhat.com>
Date:   Wed Mar 27 03:32:41 2013 +0000

    bonding: fix disabling of arp_interval and miimon
    
    [ Upstream commit 1bc7db16782c2a581fb4d53ca853631050f31611 ]
    
    Currently if either arp_interval or miimon is disabled, they both get
    disabled, and upon disabling they get executed once more which is not
    the proper behaviour. Also when doing a no-op and disabling an already
    disabled one, the other again gets disabled.
    Also fix the error messages with the proper valid ranges, and a small
    typo fix in the up delay error message (outputting "down delay", instead
    of "up delay").
    
    Signed-off-by: Nikolay Aleksandrov <nikolay@redhat.com>
    Signed-off-by: David S. Miller <davem@davemloft.net>
    Signed-off-by: Ben Hutchings <ben@decadent.org.uk>

commit ca1961f2f8fe965eb75c727c66405c1261339697
Author: Veaceslav Falico <vfalico@redhat.com>
Date:   Tue Mar 26 17:43:28 2013 +0100

    bonding: remove already created master sysfs link on  failure
    
    [ Upstream commit 9fe16b78ee17579cb4f333534cf7043e94c67024 ]
    
    If slave sysfs symlink failes to be created - we end up without removing
    the master sysfs symlink. Remove it in case of failure.
    
    Signed-off-by: Veaceslav Falico <vfalico@redhat.com>
    Signed-off-by: David S. Miller <davem@davemloft.net>
    Signed-off-by: Ben Hutchings <ben@decadent.org.uk>

commit 60b93ed2ca1a80adf46940eb32b7fdf3e280674e
Author: Paul Moore <pmoore@redhat.com>
Date:   Mon Mar 25 03:18:33 2013 +0000

    unix: fix a race condition in unix_release()
    
    [ Upstream commit ded34e0fe8fe8c2d595bfa30626654e4b87621e0 ]
    
    As reported by Jan, and others over the past few years, there is a
    race condition caused by unix_release setting the sock->sk pointer
    to NULL before properly marking the socket as dead/orphaned.  This
    can cause a problem with the LSM hook security_unix_may_send() if
    there is another socket attempting to write to this partially
    released socket in between when sock->sk is set to NULL and it is
    marked as dead/orphaned.  This patch fixes this by only setting
    sock->sk to NULL after the socket has been marked as dead; I also
    take the opportunity to make unix_release_sock() a void function
    as it only ever returned 0/success.
    
    Dave, I think this one should go on the -stable pile.
    
    Special thanks to Jan for coming up with a reproducer for this
    problem.
    
    Reported-by: Jan Stancek <jan.stancek@gmail.com>
    Signed-off-by: Paul Moore <pmoore@redhat.com>
    Signed-off-by: David S. Miller <davem@davemloft.net>
    Signed-off-by: Ben Hutchings <ben@decadent.org.uk>

commit cfb9754d3cc270bbe464b32550006256f3115a2d
Author: nikolay@redhat.com <nikolay@redhat.com>
Date:   Thu Nov 29 01:31:31 2012 +0000

    bonding: fix miimon and arp_interval delayed work race  conditions
    
    [ Upstream commit fbb0c41b814d497c656fc7be9e35456f139cb2fb ]
    
    First I would give three observations which will be used later.
    Observation 1: if (delayed_work_pending(wq)) cancel_delayed_work(wq)
     This usage is wrong because the pending bit is cleared just before the
     work's fn is executed and if the function re-arms itself we might end up
     with the work still running. It's safe to call cancel_delayed_work_sync()
     even if the work is not queued at all.
    Observation 2: Use of INIT_DELAYED_WORK()
     Work needs to be initialized only once prior to (de/en)queueing.
    Observation 3: IFF_UP is set only after ndo_open is called
    
    Related race conditions:
    1. Race between bonding_store_miimon() and bonding_store_arp_interval()
     Because of Obs.1 we can end up having both works enqueued.
    2. Multiple races with INIT_DELAYED_WORK()
     Since the works are not protected by anything between INIT_DELAYED_WORK()
     and calls to (en/de)queue it is possible for races between the following
     functions:
     (races are also possible between the calls to INIT_DELAYED_WORK()
      and workqueue code)
     bonding_store_miimon() - bonding_store_arp_interval(), bond_close(),
    			  bond_open(), enqueued functions
     bonding_store_arp_interval() - bonding_store_miimon(), bond_close(),
    				bond_open(), enqueued functions
    3. By Obs.1 we need to change bond_cancel_all()
    
    Bugs 1 and 2 are fixed by moving all work initializations in bond_open
    which by Obs. 2 and Obs. 3 and the fact that we make sure that all works
    are cancelled in bond_close(), is guaranteed not to have any work
    enqueued.
    Also RTNL lock is now acquired in bonding_store_miimon/arp_interval so
    they can't race with bond_close and bond_open. The opposing work is
    cancelled only if the IFF_UP flag is set and it is cancelled
    unconditionally. The opposing work is already cancelled if the interface
    is down so no need to cancel it again. This way we don't need new
    synchronizations for the bonding workqueue. These bugs (and fixes) are
    tied together and belong in the same patch.
    Note: I have left 1 line intentionally over 80 characters (84) because I
          didn't like how it looks broken down. If you'd prefer it otherwise,
          then simply break it.
    
     v2: Make description text < 75 columns
    
    Signed-off-by: Nikolay Aleksandrov <nikolay@redhat.com>
    Signed-off-by: Jay Vosburgh <fubar@us.ibm.com>
    Signed-off-by: David S. Miller <davem@davemloft.net>
    Signed-off-by: Ben Hutchings <ben@decadent.org.uk>

commit a821be212a53dc96b145cb0f397da48185233425
Author: Masatake YAMATO <yamato@redhat.com>
Date:   Mon Apr 1 14:50:40 2013 -0400

    thermal: shorten too long mcast group name
    
    [ Upstream commits 73214f5d9f33b79918b1f7babddd5c8af28dd23d
      and f1e79e208076ffe7bad97158275f1c572c04f5c7, the latter
      adds an assertion to genetlink to prevent this from happening
      again in the future. ]
    
    The original name is too long.
    
    Signed-off-by: Masatake YAMATO <yamato@redhat.com>
    Signed-off-by: David S. Miller <davem@davemloft.net>
    Signed-off-by: Ben Hutchings <ben@decadent.org.uk>

commit a7fe44f2340bd4c77428ad97f903ff31e67d6208
Author: Cong Wang <amwang@redhat.com>
Date:   Fri Mar 22 19:14:07 2013 +0000

    8021q: fix a potential use-after-free
    
    [ Upstream commit 4a7df340ed1bac190c124c1601bfc10cde9fb4fb ]
    
    vlan_vid_del() could possibly free ->vlan_info after a RCU grace
    period, however, we may still refer to the freed memory area
    by 'grp' pointer. Found by code inspection.
    
    This patch moves vlan_vid_del() as behind as possible.
    
    Cc: Patrick McHardy <kaber@trash.net>
    Cc: "David S. Miller" <davem@davemloft.net>
    Signed-off-by: Cong Wang <amwang@redhat.com>
    Acked-by: Eric Dumazet <edumazet@google.com>
    Signed-off-by: David S. Miller <davem@davemloft.net>
    Signed-off-by: Ben Hutchings <ben@decadent.org.uk>

commit 4289cdeb48d9d5d2674a85e63b315d4771bf4d27
Author: Yuchung Cheng <ycheng@google.com>
Date:   Sun Mar 24 10:42:25 2013 +0000

    tcp: undo spurious timeout after SACK reneging
    
    [ Upstream commit 7ebe183c6d444ef5587d803b64a1f4734b18c564 ]
    
    On SACK reneging the sender immediately retransmits and forces a
    timeout but disables Eifel (undo). If the (buggy) receiver does not
    drop any packet this can trigger a false slow-start retransmit storm
    driven by the ACKs of the original packets. This can be detected with
    undo and TCP timestamps.
    
    Signed-off-by: Yuchung Cheng <ycheng@google.com>
    Acked-by: Neal Cardwell <ncardwell@google.com>
    Signed-off-by: David S. Miller <davem@davemloft.net>
    Signed-off-by: Ben Hutchings <ben@decadent.org.uk>

commit a060a713dd68044d69c2aaab644b3ae0f9f75973
Author: Eric Dumazet <edumazet@google.com>
Date:   Thu Mar 21 17:36:09 2013 +0000

    tcp: preserve ACK clocking in TSO
    
    [ Upstream commit f4541d60a449afd40448b06496dcd510f505928e ]
    
    A long standing problem with TSO is the fact that tcp_tso_should_defer()
    rearms the deferred timer, while it should not.
    
    Current code leads to following bad bursty behavior :
    
    20:11:24.484333 IP A > B: . 297161:316921(19760) ack 1 win 119
    20:11:24.484337 IP B > A: . ack 263721 win 1117
    20:11:24.485086 IP B > A: . ack 265241 win 1117
    20:11:24.485925 IP B > A: . ack 266761 win 1117
    20:11:24.486759 IP B > A: . ack 268281 win 1117
    20:11:24.487594 IP B > A: . ack 269801 win 1117
    20:11:24.488430 IP B > A: . ack 271321 win 1117
    20:11:24.489267 IP B > A: . ack 272841 win 1117
    20:11:24.490104 IP B > A: . ack 274361 win 1117
    20:11:24.490939 IP B > A: . ack 275881 win 1117
    20:11:24.491775 IP B > A: . ack 277401 win 1117
    20:11:24.491784 IP A > B: . 316921:332881(15960) ack 1 win 119
    20:11:24.492620 IP B > A: . ack 278921 win 1117
    20:11:24.493448 IP B > A: . ack 280441 win 1117
    20:11:24.494286 IP B > A: . ack 281961 win 1117
    20:11:24.495122 IP B > A: . ack 283481 win 1117
    20:11:24.495958 IP B > A: . ack 285001 win 1117
    20:11:24.496791 IP B > A: . ack 286521 win 1117
    20:11:24.497628 IP B > A: . ack 288041 win 1117
    20:11:24.498459 IP B > A: . ack 289561 win 1117
    20:11:24.499296 IP B > A: . ack 291081 win 1117
    20:11:24.500133 IP B > A: . ack 292601 win 1117
    20:11:24.500970 IP B > A: . ack 294121 win 1117
    20:11:24.501388 IP B > A: . ack 295641 win 1117
    20:11:24.501398 IP A > B: . 332881:351881(19000) ack 1 win 119
    
    While the expected behavior is more like :
    
    20:19:49.259620 IP A > B: . 197601:202161(4560) ack 1 win 119
    20:19:49.260446 IP B > A: . ack 154281 win 1212
    20:19:49.261282 IP B > A: . ack 155801 win 1212
    20:19:49.262125 IP B > A: . ack 157321 win 1212
    20:19:49.262136 IP A > B: . 202161:206721(4560) ack 1 win 119
    20:19:49.262958 IP B > A: . ack 158841 win 1212
    20:19:49.263795 IP B > A: . ack 160361 win 1212
    20:19:49.264628 IP B > A: . ack 161881 win 1212
    20:19:49.264637 IP A > B: . 206721:211281(4560) ack 1 win 119
    20:19:49.265465 IP B > A: . ack 163401 win 1212
    20:19:49.265886 IP B > A: . ack 164921 win 1212
    20:19:49.266722 IP B > A: . ack 166441 win 1212
    20:19:49.266732 IP A > B: . 211281:215841(4560) ack 1 win 119
    20:19:49.267559 IP B > A: . ack 167961 win 1212
    20:19:49.268394 IP B > A: . ack 169481 win 1212
    20:19:49.269232 IP B > A: . ack 171001 win 1212
    20:19:49.269241 IP A > B: . 215841:221161(5320) ack 1 win 119
    
    Signed-off-by: Eric Dumazet <edumazet@google.com>
    Cc: Yuchung Cheng <ycheng@google.com>
    Cc: Van Jacobson <vanj@google.com>
    Cc: Neal Cardwell <ncardwell@google.com>
    Cc: Nandita Dukkipati <nanditad@google.com>
    Signed-off-by: David S. Miller <davem@davemloft.net>
    Signed-off-by: Ben Hutchings <ben@decadent.org.uk>

commit 6d7c5bb9ab01272cdb25dff61cf7998c4a1fe52f
Author: Mirko Lindner <mlindner@marvell.com>
Date:   Tue Mar 26 06:38:42 2013 +0000

    sky2: Threshold for Pause Packet is set wrong
    
    [ Upstream commit 74f9f42c1c1650e74fb464f76644c9041f996851 ]
    
    The sky2 driver sets the Rx Upper Threshold for Pause Packet generation to a
    wrong value which leads to only 2kB of RAM remaining space. This can lead to
    Rx overflow errors even with activated flow-control.
    
    Fix: We should increase the value to 8192/8
    
    Signed-off-by: Mirko Lindner <mlindner@marvell.com>
    Acked-by: Stephen Hemminger <stephen@networkplumber.org>
    Signed-off-by: David S. Miller <davem@davemloft.net>
    Signed-off-by: Ben Hutchings <ben@decadent.org.uk>

commit 24b0cb54c090972d5dde751dd27586f45279009d
Author: Mirko Lindner <mlindner@marvell.com>
Date:   Tue Mar 26 06:38:35 2013 +0000

    sky2: Receive Overflows not counted
    
    [ Upstream commit 9cfe8b156c21cf340b3a10ecb3022fbbc1c39185 ]
    
    The sky2 driver doesn't count the Receive Overflows because the MAC
    interrupt for this event is not set in the MAC's interrupt mask.
    The MAC's interrupt mask is set only for Transmit FIFO Underruns.
    
    Fix: The correct setting should be (GM_IS_TX_FF_UR | GM_IS_RX_FF_OR)
    Otherwise the Receive Overflow event will not generate any interrupt.
    The  Receive Overflow interrupt is handled correctly
    
    Signed-off-by: Mirko Lindner <mlindner@marvell.com>
    Acked-by: Stephen Hemminger <stephen@networkplumber.org>
    Signed-off-by: David S. Miller <davem@davemloft.net>
    Signed-off-by: Ben Hutchings <ben@decadent.org.uk>

commit be279f777b6e4dc45ab02d7d89274e2302777093
Author: Anatol Pomozov <anatol.pomozov@gmail.com>
Date:   Mon Apr 1 09:47:56 2013 -0700

    loop: prevent bdev freeing while device in use
    
    commit c1681bf8a7b1b98edee8b862a42c19c4e53205fd upstream.
    
    struct block_device lifecycle is defined by its inode (see fs/block_dev.c) -
    block_device allocated first time we access /dev/loopXX and deallocated on
    bdev_destroy_inode. When we create the device "losetup /dev/loopXX afile"
    we want that block_device stay alive until we destroy the loop device
    with "losetup -d".
    
    But because we do not hold /dev/loopXX inode its counter goes 0, and
    inode/bdev can be destroyed at any moment. Usually it happens at memory
    pressure or when user drops inode cache (like in the test below). When later in
    loop_clr_fd() we want to use bdev we have use-after-free error with following
    stack:
    
    BUG: unable to handle kernel NULL pointer dereference at 0000000000000280
      bd_set_size+0x10/0xa0
      loop_clr_fd+0x1f8/0x420 [loop]
      lo_ioctl+0x200/0x7e0 [loop]
      lo_compat_ioctl+0x47/0xe0 [loop]
      compat_blkdev_ioctl+0x341/0x1290
      do_filp_open+0x42/0xa0
      compat_sys_ioctl+0xc1/0xf20
      do_sys_open+0x16e/0x1d0
      sysenter_dispatch+0x7/0x1a
    
    To prevent use-after-free we need to grab the device in loop_set_fd()
    and put it later in loop_clr_fd().
    
    The issue is reprodusible on current Linus head and v3.3. Here is the test:
    
      dd if=/dev/zero of=loop.file bs=1M count=1
      while [ true ]; do
        losetup /dev/loop0 loop.file
        echo 2 > /proc/sys/vm/drop_caches
        losetup -d /dev/loop0
      done
    
    [ Doing bdgrab/bput in loop_set_fd/loop_clr_fd is safe, because every
      time we call loop_set_fd() we check that loop_device->lo_state is
      Lo_unbound and set it to Lo_bound If somebody will try to set_fd again
      it will get EBUSY.  And if we try to loop_clr_fd() on unbound loop
      device we'll get ENXIO.
    
      loop_set_fd/loop_clr_fd (and any other loop ioctl) is called under
      loop_device->lo_ctl_mutex. ]
    
    Signed-off-by: Anatol Pomozov <anatol.pomozov@gmail.com>
    Cc: Al Viro <viro@zeniv.linux.org.uk>
    Signed-off-by: Linus Torvalds <torvalds@linux-foundation.org>
    Signed-off-by: Ben Hutchings <ben@decadent.org.uk>

commit 1bf2642f4cb2a773cd1d41b9558acf5af81738b7
Author: Chuck Lever <chuck.lever@oracle.com>
Date:   Wed Jul 11 16:30:32 2012 -0400

    NFS: nfs_getaclargs.acl_len is a size_t
    
    commit 56d08fef2369d5ca9ad2e1fc697f5379fd8af751 upstream.
    
    Squelch compiler warnings:
    
    fs/nfs/nfs4proc.c: In function ‘__nfs4_get_acl_uncached’:
    fs/nfs/nfs4proc.c:3811:14: warning: comparison between signed and
    	unsigned integer expressions [-Wsign-compare]
    fs/nfs/nfs4proc.c:3818:15: warning: comparison between signed and
    	unsigned integer expressions [-Wsign-compare]
    
    Introduced by commit bf118a34 "NFSv4: include bitmap in nfsv4 get
    acl data", Dec 7, 2011.
    
    Signed-off-by: Chuck Lever <chuck.lever@oracle.com>
    Signed-off-by: Trond Myklebust <Trond.Myklebust@netapp.com>
    Signed-off-by: Ben Hutchings <ben@decadent.org.uk>

commit 1b117cc2a4cd1adbbeb6a30ac73e50c68bc807e6
Author: Jan Kara <jack@suse.cz>
Date:   Tue Feb 5 13:59:56 2013 +0100

    udf: Fix bitmap overflow on large filesystems with small block size
    
    commit 89b1f39eb4189de745fae554b0d614d87c8d5c63 upstream.
    
    For large UDF filesystems with 512-byte blocks the number of necessary
    bitmap blocks is larger than 2^16 so s_nr_groups in udf_bitmap overflows
    (the number will overflow for filesystems larger than 128 GB with
    512-byte blocks). That results in ENOSPC errors despite the filesystem
    has plenty of free space.
    
    Fix the problem by changing s_nr_groups' type to 'int'. That is enough
    even for filesystems 2^32 blocks (UDF maximum) and 512-byte blocksize.
    
    Reported-and-tested-by: v10lator@myway.de
    Signed-off-by: Jan Kara <jack@suse.cz>
    Signed-off-by: Ben Hutchings <ben@decadent.org.uk>

commit fe2e7c989d397460ce1df3ee7ba3aa8730d760b7
Author: Alan Cox <alan@linux.intel.com>
Date:   Fri Sep 28 12:20:02 2012 +0100

    key: Fix resource leak
    
    commit a84a921978b7d56e0e4b87ffaca6367429b4d8ff upstream.
    
    On an error iov may still have been reallocated and need freeing
    
    Signed-off-by: Alan Cox <alan@linux.intel.com>
    Signed-off-by: David Howells <dhowells@redhat.com>
    Signed-off-by: Ben Hutchings <ben@decadent.org.uk>

commit 6a2c19ca2210f3f3eef99eeca550acd06e54c0c0
Author: Felix Fietkau <nbd@openwrt.org>
Date:   Tue Feb 26 16:09:55 2013 +0100

    rt2x00: error in configurations with  mesh support disabled
    
    commit 6ef9e2f6d12ce9e2120916804d2ddd46b954a70b upstream.
    
    If CONFIG_MAC80211_MESH is not set, cfg80211 will now allow advertising
    interface combinations with NL80211_IFTYPE_MESH_POINT present.
    Add appropriate ifdefs to avoid running into errors.
    
    Signed-off-by: Felix Fietkau <nbd@openwrt.org>
    Acked-by: Gertjan van Wingerde <gwingerde@gmail.com>
    Signed-off-by: John W. Linville <linville@tuxdriver.com>
    [lxiang: Backported for 3.4-stable. Removed code of simultaneous AP and mesh
     mode added in 4a5fc6d 3.9-rc1.]
    Signed-off-by: Lingzhu Xiang <lxiang@redhat.com>
    Reviewed-by: CAI Qian <caiqian@redhat.com>
    Signed-off-by: Ben Hutchings <ben@decadent.org.uk>

commit 8ebfe28181b02766ac41d9d841801c146e6161c1
Author: Jakub Kicinski <jakub.kicinski@intel.com>
Date:   Wed Apr 3 16:50:54 2013 +0000

    ixgbe: fix registration order of driver and DCA nofitication
    
    commit f01fc1a82c2ee68726b400fadb156bd623b5f2f1 upstream.
    
    ixgbe_notify_dca cannot be called before driver registration
    because it expects driver's klist_devices to be allocated and
    initialized. While on it make sure debugfs files are removed
    when registration fails.
    
    Signed-off-by: Jakub Kicinski <jakub.kicinski@intel.com>
    Tested-by: Phil Schmitt <phillip.j.schmitt@intel.com>
    Signed-off-by: Jeff Kirsher <jeffrey.t.kirsher@intel.com>
    Signed-off-by: David S. Miller <davem@davemloft.net>
    [bwh: Backported to 3.2: no debugfs support]
    Signed-off-by: Ben Hutchings <ben@decadent.org.uk>

commit b8e35885679ef5f44dab1c100219b82eae7a1c13
Author: Jan Stancek <jstancek@redhat.com>
Date:   Thu Apr 4 11:35:10 2013 -0700

    mm: prevent mmap_cache race in find_vma()
    
    commit b6a9b7f6b1f21735a7456d534dc0e68e61359d2c upstream.
    
    find_vma() can be called by multiple threads with read lock
    held on mm->mmap_sem and any of them can update mm->mmap_cache.
    Prevent compiler from re-fetching mm->mmap_cache, because other
    readers could update it in the meantime:
    
                   thread 1                             thread 2
                                            |
      find_vma()                            |  find_vma()
        struct vm_area_struct *vma = NULL;  |
        vma = mm->mmap_cache;               |
        if (!(vma && vma->vm_end > addr     |
            && vma->vm_start <= addr)) {    |
                                            |    mm->mmap_cache = vma;
        return vma;                         |
         ^^ compiler may optimize this      |
            local variable out and re-read  |
            mm->mmap_cache                  |
    
    This issue can be reproduced with gcc-4.8.0-1 on s390x by running
    mallocstress testcase from LTP, which triggers:
    
      kernel BUG at mm/rmap.c:1088!
        Call Trace:
         ([<000003d100c57000>] 0x3d100c57000)
          [<000000000023a1c0>] do_wp_page+0x2fc/0xa88
          [<000000000023baae>] handle_pte_fault+0x41a/0xac8
          [<000000000023d832>] handle_mm_fault+0x17a/0x268
          [<000000000060507a>] do_protection_exception+0x1e2/0x394
          [<0000000000603a04>] pgm_check_handler+0x138/0x13c
          [<000003fffcf1f07a>] 0x3fffcf1f07a
        Last Breaking-Event-Address:
          [<000000000024755e>] page_add_new_anon_rmap+0xc2/0x168
    
    Thanks to Jakub Jelinek for his insight on gcc and helping to
    track this down.
    
    Signed-off-by: Jan Stancek <jstancek@redhat.com>
    Acked-by: David Rientjes <rientjes@google.com>
    Signed-off-by: Hugh Dickins <hughd@google.com>
    Signed-off-by: Linus Torvalds <torvalds@linux-foundation.org>
    [bwh: Backported to 3.2: adjust context, indentation]
    Signed-off-by: Ben Hutchings <ben@decadent.org.uk>

commit 7f23d37a2aacb81f067053955896b97cadb5a256
Author: Yinghai Lu <yinghai@kernel.org>
Date:   Wed Mar 27 21:28:05 2013 -0700

    EISA/PCI: Init EISA early, before PNP
    
    commit c5fb301ae83bec6892e54984e6ec765c47df8e10 upstream.
    
    Matthew reported kernels fail the pci_eisa probe and are later successful
    with the virtual_eisa_root_init force probe without slot0.
    
    The reason for that is: PNP probing is before pci_eisa_init gets called
    as pci_eisa_init is called via pci_driver.
    
    pnp 00:0f has 0xc80 - 0xc84 reserved.
    [    9.700409] pnp 00:0f: [io  0x0c80-0x0c84]
    
    so eisa_probe will fail from pci_eisa_init
    				==>eisa_root_register
    					==>eisa_probe path.
    as force_probe is not set in pci_eisa_root, it will bail early when
    slot0 is not probed and initialized.
    
    Try to use subsys_initcall_sync instead, and will keep following sequence:
    	pci_subsys_init
    	pci_eisa_init_early
    	pnpacpi_init/isapnp_init
    
    After this patch EISA can be initialized properly, and PNP overlapping
    resource will not be reserved.
    [   10.104434] system 00:0f: [io  0x0c80-0x0c84] could not be reserved
    
    Reported-by: Matthew Whitehead <mwhitehe@redhat.com>
    Tested-by: Matthew Whitehead <mwhitehe@redhat.com>
    Signed-off-by: Yinghai Lu <yinghai@kernel.org>
    Signed-off-by: Bjorn Helgaas <bhelgaas@google.com>
    Signed-off-by: Ben Hutchings <ben@decadent.org.uk>

commit b6127ecae5eeca912b31d748b0e91518c3700f75
Author: Anatolij Gustschin <agust@denx.de>
Date:   Wed Mar 13 14:57:43 2013 +0100

    spi/mpc512x-psc: optionally keep PSC SS asserted across xfer segmensts
    
    commit 1ad849aee5f53353ed88d9cd3d68a51b03a7d44f upstream.
    
    Some SPI slave devices require asserted chip select signal across
    multiple transfer segments of an SPI message. Currently the driver
    always de-asserts the internal SS signal for every single transfer
    segment of the message and ignores the 'cs_change' flag of the
    transfer description. Disable the internal chip select (SS) only
    if this is needed and indicated by the 'cs_change' flag.
    
    Without this change, each partial transfer of a surrounding
    multi-part SPI transaction might erroneously change the SS
    signal, which might prevent slaves from answering the request
    that was sent in a previous transfer segment because the
    transaction could be considered aborted (SS was de-asserted
    before reading the response).
    
    Reported-by: Gerhard Sittig <gerhard.sittig@ifm.com>
    Signed-off-by: Anatolij Gustschin <agust@denx.de>
    Signed-off-by: Mark Brown <broonie@opensource.wolfsonmicro.com>
    Signed-off-by: Ben Hutchings <ben@decadent.org.uk>

commit 4eedfd4758cd224d2dbd0e321af626b08209e8f9
Author: Amit Shah <amit.shah@redhat.com>
Date:   Fri Mar 29 16:30:08 2013 +0530

    virtio: console: add locking around c_ovq operations
    
    commit 9ba5c80b1aea8648a3efe5f22dc1f7cacdfbeeb8 upstream.
    
    When multiple ovq operations are being performed (lots of open/close
    operations on virtio_console fds), the __send_control_msg() function can
    get confused without locking.
    
    A simple recipe to cause badness is:
    * create a QEMU VM with two virtio-serial ports
    * in the guest, do
      while true;do echo abc >/dev/vport0p1;done
      while true;do echo edf >/dev/vport0p2;done
    
    In one run, this caused a panic in __send_control_msg().  In another, I
    got
    
       virtio_console virtio0: control-o:id 0 is not a head!
    
    This also results repeated messages similar to these on the host:
    
      qemu-kvm: virtio-serial-bus: Unexpected port id 478762112 for device virtio-serial-bus.0
      qemu-kvm: virtio-serial-bus: Unexpected port id 478762368 for device virtio-serial-bus.0
    
    Reported-by: FuXiangChun <xfu@redhat.com>
    Signed-off-by: Amit Shah <amit.shah@redhat.com>
    Reviewed-by: Wanlong Gao <gaowanlong@cn.fujitsu.com>
    Reviewed-by: Asias He <asias@redhat.com>
    Signed-off-by: Rusty Russell <rusty@rustcorp.com.au>
    [bwh: Backported to 3.2: adjust context]
    Signed-off-by: Ben Hutchings <ben@decadent.org.uk>

commit 96c2c850f70859ae81f4680e35581592e2a4f4f6
Author: Amit Shah <amit.shah@redhat.com>
Date:   Fri Mar 29 16:30:07 2013 +0530

    virtio: console: rename cvq_lock to c_ivq_lock
    
    commit 165b1b8bbc17c9469b053bab78b11b7cbce6d161 upstream.
    
    The cvq_lock was taken for the c_ivq.  Rename the lock to make that
    obvious.
    
    We'll also add a lock around the c_ovq in the next commit, so there's no
    ambiguity.
    
    Signed-off-by: Amit Shah <amit.shah@redhat.com>
    Reviewed-by: Asias He <asias@redhat.com>
    Reviewed-by: Wanlong Gao <gaowanlong@cn.fujitsu.com>
    Signed-off-by: Rusty Russell <rusty@rustcorp.com.au>
    [bwh: Backported to 3.2:
     - Adjust context
     - Drop change to virtcons_restore()]
    Signed-off-by: Ben Hutchings <ben@decadent.org.uk>

commit 22fa3230644f5b01a757c1324f382a5abfed5434
Author: Chris Metcalf <cmetcalf@tilera.com>
Date:   Fri Mar 29 13:50:21 2013 -0400

    tile: expect new initramfs name from hypervisor file system
    
    commit ff7f3efb9abf986f4ecd8793a9593f7ca4d6431a upstream.
    
    The current Tilera boot infrastructure now provides the initramfs
    to Linux as a Tilera-hypervisor file named "initramfs", rather than
    "initramfs.cpio.gz", as before.  (This makes it reasonable to use
    other compression techniques than gzip on the file without having to
    worry about the name causing confusion.)  Adapt to use the new name,
    but also fall back to checking for the old name.
    
    Cc'ing to stable so that older kernels will remain compatible with
    newer Tilera boot infrastructure.
    
    Signed-off-by: Chris Metcalf <cmetcalf@tilera.com>
    [bwh: Backported to 3.2: adjust context]
    Signed-off-by: Ben Hutchings <ben@decadent.org.uk>

commit 9d4fee47534112e0e39e91268a89c8cb35c5a69d
Author: Jan Kara <jack@suse.cz>
Date:   Fri Mar 29 15:39:16 2013 +0100

    reiserfs: Fix warning and inode leak when deleting inode with xattrs
    
    commit 35e5cbc0af240778e61113286c019837e06aeec6 upstream.
    
    After commit 21d8a15a (lookup_one_len: don't accept . and ..) reiserfs
    started failing to delete xattrs from inode. This was due to a buggy
    test for '.' and '..' in fill_with_dentries() which resulted in passing
    '.' and '..' entries to lookup_one_len() in some cases. That returned
    error and so we failed to iterate over all xattrs of and inode.
    
    Fix the test in fill_with_dentries() along the lines of the one in
    lookup_one_len().
    
    Reported-by: Pawel Zawora <pzawora@gmail.com>
    Signed-off-by: Jan Kara <jack@suse.cz>
    Signed-off-by: Ben Hutchings <ben@decadent.org.uk>

commit 743d180e8341476f031ca2a4e63cfc27274cc353
Author: Konstantin Holoborodko <klh.kernel@gmail.com>
Date:   Fri Mar 29 00:06:13 2013 +0900

    usb: ftdi_sio: Add support for Mitsubishi FX-USB-AW/-BD
    
    commit 482b0b5d82bd916cc0c55a2abf65bdc69023b843 upstream.
    
    It enhances the driver for FTDI-based USB serial adapters
    to recognize Mitsubishi Electric Corp. USB/RS422 Converters
    as FT232BM chips and support them.
    https://search.meau.com/?q=FX-USB-AW
    
    Signed-off-by: Konstantin Holoborodko <klh.kernel@gmail.com>
    Tested-by: Konstantin Holoborodko <klh.kernel@gmail.com>
    Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
    Signed-off-by: Ben Hutchings <ben@decadent.org.uk>

commit 135fbd7c066572e0f6b2af2c68bcdfabfc418f5d
Author: Josef Bacik <jbacik@fusionio.com>
Date:   Tue Mar 26 15:31:45 2013 -0400

    Btrfs: limit the global reserve to 512mb
    
    commit fdf30d1c1b386e1b73116cc7e0fb14e962b763b0 upstream.
    
    A user reported a problem where he was getting early ENOSPC with hundreds of
    gigs of free data space and 6 gigs of free metadata space.  This is because the
    global block reserve was taking up the entire free metadata space.  This is
    ridiculous, we have infrastructure in place to throttle if we start using too
    much of the global reserve, so instead of letting it get this huge just limit it
    to 512mb so that users can still get work done.  This allowed the user to
    complete his rsync without issues.  Thanks
    
    Reported-and-tested-by: Stefan Priebe <s.priebe@profihost.ag>
    Signed-off-by: Josef Bacik <jbacik@fusionio.com>
    Signed-off-by: Ben Hutchings <ben@decadent.org.uk>

commit 2b79fa8fddde2d070ca28a2d94394c39bfd8d741
Author: Kees Cook <keescook@chromium.org>
Date:   Wed Mar 27 06:40:50 2013 +0000

    tg3: fix length overflow in VPD firmware parsing
    
    commit 715230a44310a8cf66fbfb5a46f9a62a9b2de424 upstream.
    
    Commit 184b89044fb6e2a74611dafa69b1dce0d98612c6 ("tg3: Use VPD fw version
    when present") introduced VPD parsing that contained a potential length
    overflow.
    
    Limit the hardware's reported firmware string length (max 255 bytes) to
    stay inside the driver's firmware string length (32 bytes). On overflow,
    truncate the formatted firmware string instead of potentially overwriting
    portions of the tg3 struct.
    
    http://cansecwest.com/slides/2013/PrivateCore%20CSW%202013.pdf
    
    Signed-off-by: Kees Cook <keescook@chromium.org>
    Reported-by: Oded Horovitz <oded@privatecore.com>
    Reported-by: Brad Spengler <spender@grsecurity.net>
    Cc: Matt Carlson <mcarlson@broadcom.com>
    Signed-off-by: David S. Miller <davem@davemloft.net>
    Signed-off-by: Ben Hutchings <ben@decadent.org.uk>

commit 18698bd2d0debaea5558da85c95e4e4ca34f2bc3
Author: Iestyn C. Elfick <isedev@gmail.com>
Date:   Wed Mar 20 14:02:31 2013 -0500

    b43: A fix for DMA transmission sequence errors
    
    commit b251412db99ccd4495ce372fec7daee27bf06923 upstream.
    
    Intermittently, b43 will report "Out of order TX status report on DMA ring".
    When this happens, the driver must be reset before communication can resume.
    The cause of the problem is believed to be an error in the closed-source
    firmware; however, all versions of the firmware are affected.
    
    This change uses the observation that the expected status is always 2 less
    than the observed value, and supplies a fake status report to skip one
    header/data pair.
    
    Not all devices suffer from this problem, but it can occur several times
    per second under heavy load. As each occurence kills the unmodified driver,
    this patch makes if possible for the affected devices to function. The patch
    logs only the first instance of the reset operation to prevent spamming
    the logs.
    
    Tested-by: Chris Vine <chris@cvine.freeserve.co.uk>
    Signed-off-by: Larry Finger <Larry.Finger@lwfinger.net>
    Signed-off-by: John W. Linville <linville@tuxdriver.com>
    Signed-off-by: Ben Hutchings <ben@decadent.org.uk>

commit ba6da1d0d003a1db67c4b3567dfde6308c75f7e5
Author: Marc Kleine-Budde <mkl@pengutronix.de>
Date:   Wed Mar 27 11:36:42 2013 +0100

    can: sja1000: fix define conflict on SH
    
    commit f901b6bc404b67d96eca739857c097e022727b71 upstream.
    
    Thias patch fixes a define conflict between the SH architecture and the sja1000
    driver:
    
        drivers/net/can/sja1000/sja1000.h:59:0: warning:
            "REG_SR" redefined [enabled by default]
        arch/sh/include/asm/ptrace_32.h:25:0: note:
             this is the location of the previous definition
    
    A SJA1000_ prefix is added to the offending sja1000 define only, to make a
    minimal patch suited for stable. A later patch will add a SJA1000_ prefix to
    all defines in sja1000.h.
    
    Reported-by: Fengguang Wu <fengguang.wu@intel.com>
    Signed-off-by: Marc Kleine-Budde <mkl@pengutronix.de>
    Signed-off-by: Ben Hutchings <ben@decadent.org.uk>

commit e8dc286d726ea2238178837ba3572c1bfe462b2d
Author: Joerg Roedel <joro@8bytes.org>
Date:   Tue Mar 26 22:48:23 2013 +0100

    iommu/amd: Make sure dma_ops are set for hotplug devices
    
    commit c2a2876e863356b092967ea62bebdb4dd663af80 upstream.
    
    There is a bug introduced with commit 27c2127 that causes
    devices which are hot unplugged and then hot-replugged to
    not have per-device dma_ops set. This causes these devices
    to not function correctly. Fixed with this patch.
    
    Reported-by: Andreas Degert <andreas.degert@googlemail.com>
    Signed-off-by: Joerg Roedel <joro@8bytes.org>
    [bwh: Backported to 3.2: adjust context]
    Signed-off-by: Ben Hutchings <ben@decadent.org.uk>

commit c39ea1c36ac173cd07643f91e19671de3fe377e2
Author: Al Viro <viro@zeniv.linux.org.uk>
Date:   Tue Mar 26 20:30:17 2013 -0400

    vt: synchronize_rcu() under spinlock is not nice...
    
    commit e8cd81693bbbb15db57d3c9aa7dd90eda4842874 upstream.
    
    vcs_poll_data_free() calls unregister_vt_notifier(), which calls
    atomic_notifier_chain_unregister(), which calls synchronize_rcu().
    Do it *after* we'd dropped ->f_lock.
    
    Signed-off-by: Al Viro <viro@zeniv.linux.org.uk>
    Signed-off-by: Ben Hutchings <ben@decadent.org.uk>

commit a0a551fcc3199a6e9fb6c0236daff99bbe278905
Author: Al Viro <viro@zeniv.linux.org.uk>
Date:   Tue Mar 26 18:25:57 2013 -0400

    Nest rename_lock inside vfsmount_lock
    
    commit 7ea600b5314529f9d1b9d6d3c41cb26fce6a7a4a upstream.
    
    ... lest we get livelocks between path_is_under() and d_path() and friends.
    
    The thing is, wrt fairness lglocks are more similar to rwsems than to rwlocks;
    it is possible to have thread B spin on attempt to take lock shared while thread
    A is already holding it shared, if B is on lower-numbered CPU than A and there's
    a thread C spinning on attempt to take the same lock exclusive.
    
    As the result, we need consistent ordering between vfsmount_lock (lglock) and
    rename_lock (seq_lock), even though everything that takes both is going to take
    vfsmount_lock only shared.
    
    Spotted-by: Brad Spengler <spender@grsecurity.net>
    Signed-off-by: Al Viro <viro@zeniv.linux.org.uk>
    [bwh: Backported to 3.2:
     - Adjust context
     - s/&vfsmount_lock/vfsmount_lock/]
    Signed-off-by: Ben Hutchings <ben@decadent.org.uk>

commit 509d8d1dcefb35111b3f1e24f56be7d956cef439
Author: J. Bruce Fields <bfields@redhat.com>
Date:   Tue Mar 26 14:11:13 2013 -0400

    nfsd4: reject "negative" acl lengths
    
    commit 64a817cfbded8674f345d1117b117f942a351a69 upstream.
    
    Since we only enforce an upper bound, not a lower bound, a "negative"
    length can get through here.
    
    The symptom seen was a warning when we attempt to a kmalloc with an
    excessive size.
    
    Reported-by: Toralf Förster <toralf.foerster@gmx.de>
    Signed-off-by: J. Bruce Fields <bfields@redhat.com>
    Signed-off-by: Ben Hutchings <ben@decadent.org.uk>

commit 27e7a09afa00b846300efd2b024bd4447689b74b
Author: Ian Abbott <abbotti@mev.co.uk>
Date:   Fri Mar 22 15:16:29 2013 +0000

    staging: comedi: s626: fix continuous acquisition
    
    commit e4317ce877a31dbb9d96375391c1c4ad2210d637 upstream.
    
    For the s626 driver, there is a bug in the handling of asynchronous
    commands on the AI subdevice when the stop source is `TRIG_NONE`.  The
    command should run continuously until cancelled, but the interrupt
    handler stops the command running after the first scan.
    
    The command set-up function `s626_ai_cmd()` contains this code:
    
    	switch (cmd->stop_src) {
    	case TRIG_COUNT:
    		/*  data arrives as one packet */
    		devpriv->ai_sample_count = cmd->stop_arg;
    		devpriv->ai_continous = 0;
    		break;
    	case TRIG_NONE:
    		/*  continous acquisition */
    		devpriv->ai_continous = 1;
    		devpriv->ai_sample_count = 0;
    		break;
    	}
    
    The interrupt handler `s626_irq_handler()` contains this code:
    
    		if (!(devpriv->ai_continous))
    			devpriv->ai_sample_count--;
    		if (devpriv->ai_sample_count <= 0) {
    			devpriv->ai_cmd_running = 0;
    			/* ... */
    		}
    
    So `devpriv->ai_sample_count` is only decremented for the `TRIG_COUNT`
    case, but `devpriv->ai_cmd_running` is set to 0 (and the command
    stopped) regardless.
    
    Fix this in `s626_ai_cmd()` by setting `devpriv->ai_sample_count = 1`
    for the `TRIG_NONE` case.  The interrupt handler will not decrement it
    so it will remain greater than 0 and the check for stopping the
    acquisition will fail.
    
    Signed-off-by: Ian Abbott <abbotti@mev.co.uk>
    Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
    Signed-off-by: Ben Hutchings <ben@decadent.org.uk>

commit d949314ab053a02d11bb7e5bcfc005ad1fc90175
Author: Vivek Gautam <gautam.vivek@samsung.com>
Date:   Thu Mar 21 12:06:48 2013 +0530

    usb: xhci: Fix TRB transfer length macro used for Event TRB.
    
    commit 1c11a172cb30492f5f6a82c6e118fdcd9946c34f upstream.
    
    Use proper macro while extracting TRB transfer length from
    Transfer event TRBs. Adding a macro EVENT_TRB_LEN (bits 0:23)
    for the same, and use it instead of TRB_LEN (bits 0:16) in
    case of event TRBs.
    
    This patch should be backported to kernels as old as 2.6.31, that
    contain the commit b10de142119a676552df3f0d2e3a9d647036c26a "USB: xhci:
    Bulk transfer support".  This patch will have issues applying to older
    kernels.
    
    Signed-off-by: Vivek gautam <gautam.vivek@samsung.com>
    Signed-off-by: Sarah Sharp <sarah.a.sharp@linux.intel.com>
    Signed-off-by: Ben Hutchings <ben@decadent.org.uk>

commit 4e58995c3f1bedc7acfe5e2d2a9f7deebcbdb82f
Author: Trond Myklebust <Trond.Myklebust@netapp.com>
Date:   Mon Mar 25 11:23:40 2013 -0400

    SUNRPC: Add barriers to ensure read ordering in rpc_wake_up_task_queue_locked
    
    commit 1166fde6a923c30f4351515b6a9a1efc513e7d00 upstream.
    
    We need to be careful when testing task->tk_waitqueue in
    rpc_wake_up_task_queue_locked, because it can be changed while we
    are holding the queue->lock.
    By adding appropriate memory barriers, we can ensure that it is safe to
    test task->tk_waitqueue for equality if the RPC_TASK_QUEUED bit is set.
    
    Signed-off-by: Trond Myklebust <Trond.Myklebust@netapp.com>
    Signed-off-by: Ben Hutchings <ben@decadent.org.uk>

commit 6273c03e47f9192594311b3d06601c695d2c7171
Author: Mike Marciniszyn <mike.marciniszyn@intel.com>
Date:   Tue Feb 26 15:46:27 2013 +0000

    IPoIB: Fix send lockup due to missed TX completion
    
    commit 1ee9e2aa7b31427303466776f455d43e5e3c9275 upstream.
    
    Commit f0dc117abdfa ("IPoIB: Fix TX queue lockup with mixed UD/CM
    traffic") attempts to solve an issue where unprocessed UD send
    completions can deadlock the netdev.
    
    The patch doesn't fully resolve the issue because if more than half
    the tx_outstanding's were UD and all of the destinations are RC
    reachable, arming the CQ doesn't solve the issue.
    
    This patch uses the IB_CQ_REPORT_MISSED_EVENTS on the
    ib_req_notify_cq().  If the rc is above 0, the UD send cq completion
    callback is called directly to re-arm the send completion timer.
    
    This issue is seen in very large parallel filesystem deployments
    and the patch has been shown to correct the issue.
    
    Reviewed-by: Dean Luick <dean.luick@intel.com>
    Signed-off-by: Mike Marciniszyn <mike.marciniszyn@intel.com>
    Signed-off-by: Roland Dreier <roland@purestorage.com>
    Signed-off-by: Ben Hutchings <ben@decadent.org.uk>

commit 9de8a34b82aea9f6f64460af7e86ab6bbc37014e
Author: Lars-Peter Clausen <lars@metafoo.de>
Date:   Fri Mar 15 11:26:15 2013 +0100

    ASoC: dma-sh7760: Fix compile error
    
    commit 417a1178f1bf3cdc606376b3ded3a22489fbb3eb upstream.
    
    The dma-sh7760 currently fails with the following compile error:
    	sound/soc/sh/dma-sh7760.c:346:2: error: unknown field 'pcm_ops' specified in initializer
    	sound/soc/sh/dma-sh7760.c:346:2: warning: initialization from incompatible pointer type
    	sound/soc/sh/dma-sh7760.c:347:2: error: unknown field 'pcm_new' specified in initializer
    	sound/soc/sh/dma-sh7760.c:347:2: warning: initialization makes integer from pointer without a cast
    	sound/soc/sh/dma-sh7760.c:348:2: error: unknown field 'pcm_free' specified in initializer
    	sound/soc/sh/dma-sh7760.c:348:2: warning: initialization from incompatible pointer type
    	sound/soc/sh/dma-sh7760.c: In function 'sh7760_soc_platform_probe':
    	sound/soc/sh/dma-sh7760.c:353:2: warning: passing argument 2 of 'snd_soc_register_platform' from incompatible pointer type
    	include/sound/soc.h:368:5: note: expected 'struct snd_soc_platform_driver *' but argument is of type 'struct snd_soc_platform *'
    
    This is due the misnaming of the snd_soc_platform_driver type name and 'ops'
    field. The issue was introduced in commit f0fba2a("ASoC: multi-component - ASoC
    Multi-Component Support").
    
    Signed-off-by: Lars-Peter Clausen <lars@metafoo.de>
    Signed-off-by: Mark Brown <broonie@opensource.wolfsonmicro.com>
    Signed-off-by: Ben Hutchings <ben@decadent.org.uk>

commit 9ca2044f9041283bff117bb7e9ba7e9cd644bae0
Author: Trond Myklebust <Trond.Myklebust@netapp.com>
Date:   Wed Mar 20 12:34:32 2013 -0400

    NFSv4.1: Fix a race in pNFS layoutcommit
    
    commit a073dbff359f4741013ae4b8395f5364c5e00b48 upstream.
    
    We need to clear the NFS_LSEG_LAYOUTCOMMIT bits atomically with the
    NFS_INO_LAYOUTCOMMIT bit, otherwise we may end up with situations
    where the two are out of sync.
    The first half of the problem is to ensure that pnfs_layoutcommit_inode
    clears the NFS_LSEG_LAYOUTCOMMIT bit through pnfs_list_write_lseg.
    We still need to keep the reference to those segments until the RPC call
    is finished, so in order to make it clear _where_ those references come
    from, we add a helper pnfs_list_write_lseg_done() that cleans up after
    pnfs_list_write_lseg.
    
    Signed-off-by: Trond Myklebust <Trond.Myklebust@netapp.com>
    Acked-by: Benny Halevy <bhalevy@tonian.com>
    [bwh: Backported to 3.2: s/pnfs_put_lseg/put_lseg/]
    Signed-off-by: Ben Hutchings <ben@decadent.org.uk>

commit 8626d723c5495ec9a276c8c13a22b374c421ba72
Author: fanchaoting <fanchaoting@cn.fujitsu.com>
Date:   Thu Mar 21 09:15:30 2013 +0800

    pnfs-block: removing DM device maybe cause oops when call dev_remove
    
    commit 4376c94618c26225e69e17b7c91169c45a90b292 upstream.
    
    when pnfs block using device mapper,if umounting later,it maybe
    cause oops. we apply "1 + sizeof(bl_umount_request)" memory for
    msg->data, the memory maybe overflow when we do "memcpy(&dataptr
    [sizeof(bl_msg)], &bl_umount_request, sizeof(bl_umount_request))",
    because the size of bl_msg is more than 1 byte.
    
    Signed-off-by: fanchaoting<fanchaoting@cn.fujitsu.com>
    Signed-off-by: Trond Myklebust <Trond.Myklebust@netapp.com>
    [bwh: Backported to 3.2:
     - In dev_remove(), msg is a structure not a pointer to it]
    Signed-off-by: Ben Hutchings <ben@decadent.org.uk>

commit 4f9347e4b59bdc29b17ff6c4b377195f208402b2
Author: Ming Lei <ming.lei@canonical.com>
Date:   Wed Mar 20 23:25:25 2013 +0800

    sysfs: handle failure path correctly for readdir()
    
    commit e5110f411d2ee35bf8d202ccca2e89c633060dca upstream.
    
    In case of 'if (filp->f_pos ==  0 or 1)' of sysfs_readdir(),
    the failure from filldir() isn't handled, and the reference counter
    of the sysfs_dirent object pointed by filp->private_data will be
    released without clearing filp->private_data, so use after free
    bug will be triggered later.
    
    This patch returns immeadiately under the situation for fixing the bug,
    and it is reasonable to return from readdir() when filldir() fails.
    
    Reported-by: Dave Jones <davej@redhat.com>
    Tested-by: Sasha Levin <levinsasha928@gmail.com>
    Signed-off-by: Ming Lei <ming.lei@canonical.com>
    Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
    Signed-off-by: Ben Hutchings <ben@decadent.org.uk>

commit 76bfc5ab57137d351a9046a002ee39a220d0e012
Author: Ming Lei <ming.lei@canonical.com>
Date:   Wed Mar 20 23:25:24 2013 +0800

    sysfs: fix race between readdir and lseek
    
    commit 991f76f837bf22c5bb07261cfd86525a0a96650c upstream.
    
    While readdir() is running, lseek() may set filp->f_pos as zero,
    then may leave filp->private_data pointing to one sysfs_dirent
    object without holding its reference counter, so the sysfs_dirent
    object may be used after free in next readdir().
    
    This patch holds inode->i_mutex to avoid the problem since
    the lock is always held in readdir path.
    
    Reported-by: Dave Jones <davej@redhat.com>
    Tested-by: Sasha Levin <levinsasha928@gmail.com>
    Signed-off-by: Ming Lei <ming.lei@canonical.com>
    Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
    [bwh: Backported to 3.2: open-code file_inode() which we don't have]
    Signed-off-by: Ben Hutchings <ben@decadent.org.uk>

commit 2c22dbb8ad3e320dfd1d98ba687b4966bcb65502
Author: Kees Cook <keescook@chromium.org>
Date:   Wed Mar 20 05:19:24 2013 +0000

    net/irda: add missing error path release_sock call
    
    commit 896ee0eee6261e30c3623be931c3f621428947df upstream.
    
    This makes sure that release_sock is called for all error conditions in
    irda_getsockopt.
    
    Signed-off-by: Kees Cook <keescook@chromium.org>
    Reported-by: Brad Spengler <spender@grsecurity.net>
    Signed-off-by: David S. Miller <davem@davemloft.net>
    Signed-off-by: Ben Hutchings <ben@decadent.org.uk>

commit 49b202a2e31cd792c127c9a306947e101f7300d9
Author: Jan Beulich <JBeulich@suse.com>
Date:   Mon Mar 11 09:39:55 2013 +0000

    xen-blkback: fix dispatch_rw_block_io() error path
    
    commit 0e5e098ac22dae38f957e951b70d3cf73beff0f7 upstream.
    
    Commit 7708992 ("xen/blkback: Seperate the bio allocation and the bio
    submission") consolidated the pendcnt updates to just a single write,
    neglecting the fact that the error path relied on it getting set to 1
    up front (such that the decrement in __end_block_io_op() would actually
    drop the count to zero, triggering the necessary cleanup actions).
    
    Also remove a misleading and a stale (after said commit) comment.
    
    Signed-off-by: Jan Beulich <jbeulich@suse.com>
    Signed-off-by: Konrad Rzeszutek Wilk <konrad.wilk@oracle.com>
    Signed-off-by: Ben Hutchings <ben@decadent.org.uk>

commit c2f182d0383a1ecef45fc03580ded7a6cf649849
Author: Jussi Kivilinna <jussi.kivilinna@iki.fi>
Date:   Sun Mar 17 11:54:04 2013 +0200

    rtlwifi: usb: add missing freeing of skbuff
    
    commit 36ef0b473fbf43d5db23eea4616cc1d18cec245f upstream.
    
    Signed-off-by: Jussi Kivilinna <jussi.kivilinna@iki.fi>
    Acked-by: Larry Finger <Larry.Finger@lwfinger.net>
    Signed-off-by: John W. Linville <linville@tuxdriver.com>
    [bwh: Backported to 3.2: adjust context]
    Signed-off-by: Ben Hutchings <ben@decadent.org.uk>

commit cc6f6de3755da88bd8cebf667134253a0f153244
Author: Felix Fietkau <nbd@openwrt.org>
Date:   Fri Mar 15 14:53:31 2013 +0100

    ath9k_hw: revert chainmask to user configuration after calibration
    
    commit 74632d11a133b5baf6b9d622dd19d2f944d93d94 upstream.
    
    The commit 'ath9k_hw: fix calibration issues on chainmask that don't
    include chain 0' changed the hardware chainmask to the chip chainmask
    for the duration of the calibration, but the revert to user
    configuration in the reset path runs too early.
    
    That causes some issues with limiting the number of antennas (including
    spurious failure in hardware-generated packets).
    
    Fix this by reverting the chainmask after the essential parts of the
    calibration that need the workaround, and before NF calibration is run.
    
    Signed-off-by: Felix Fietkau <nbd@openwrt.org>
    Reported-by: Wojciech Dubowik <Wojciech.Dubowik@neratec.com>
    Tested-by: Wojciech Dubowik <Wojciech.Dubowik@neratec.com>
    Signed-off-by: John W. Linville <linville@tuxdriver.com>
    Signed-off-by: Ben Hutchings <ben@decadent.org.uk>

commit 8090afa14877ab2183e9aca67c422badfc132f70
Author: Ming Lei <ming.lei@canonical.com>
Date:   Mon Mar 18 23:45:11 2013 +0800

    Bluetooth: Add support for Dell[QCA 0cf3:817a]
    
    commit ebaf5795ef57a70a042ea259448a465024e2821d upstream.
    
    Add support for the AR9462 chip
    
    T:  Bus=03 Lev=01 Prnt=01 Port=08 Cnt=01 Dev#=  5 Spd=12   MxCh= 0
    D:  Ver= 1.10 Cls=e0(wlcon) Sub=01 Prot=01 MxPS=64 #Cfgs=  1
    P:  Vendor=0cf3 ProdID=817a Rev= 0.02
    C:* #Ifs= 2 Cfg#= 1 Atr=e0 MxPwr=100mA
    I:* If#= 0 Alt= 0 #EPs= 3 Cls=e0(wlcon) Sub=01 Prot=01 Driver=btusb
    E:  Ad=81(I) Atr=03(Int.) MxPS=  16 Ivl=1ms
    E:  Ad=82(I) Atr=02(Bulk) MxPS=  64 Ivl=0ms
    E:  Ad=02(O) Atr=02(Bulk) MxPS=  64 Ivl=0ms
    I:* If#= 1 Alt= 0 #EPs= 2 Cls=e0(wlcon) Sub=01 Prot=01 Driver=btusb
    E:  Ad=83(I) Atr=01(Isoc) MxPS=   0 Ivl=1ms
    E:  Ad=03(O) Atr=01(Isoc) MxPS=   0 Ivl=1ms
    I:  If#= 1 Alt= 1 #EPs= 2 Cls=e0(wlcon) Sub=01 Prot=01 Driver=btusb
    E:  Ad=83(I) Atr=01(Isoc) MxPS=   9 Ivl=1ms
    E:  Ad=03(O) Atr=01(Isoc) MxPS=   9 Ivl=1ms
    I:  If#= 1 Alt= 2 #EPs= 2 Cls=e0(wlcon) Sub=01 Prot=01 Driver=btusb
    E:  Ad=83(I) Atr=01(Isoc) MxPS=  17 Ivl=1ms
    E:  Ad=03(O) Atr=01(Isoc) MxPS=  17 Ivl=1ms
    I:  If#= 1 Alt= 3 #EPs= 2 Cls=e0(wlcon) Sub=01 Prot=01 Driver=btusb
    E:  Ad=83(I) Atr=01(Isoc) MxPS=  25 Ivl=1ms
    E:  Ad=03(O) Atr=01(Isoc) MxPS=  25 Ivl=1ms
    I:  If#= 1 Alt= 4 #EPs= 2 Cls=e0(wlcon) Sub=01 Prot=01 Driver=btusb
    E:  Ad=83(I) Atr=01(Isoc) MxPS=  33 Ivl=1ms
    E:  Ad=03(O) Atr=01(Isoc) MxPS=  33 Ivl=1ms
    I:  If#= 1 Alt= 5 #EPs= 2 Cls=e0(wlcon) Sub=01 Prot=01 Driver=btusb
    E:  Ad=83(I) Atr=01(Isoc) MxPS=  49 Ivl=1ms
    E:  Ad=03(O) Atr=01(Isoc) MxPS=  49 Ivl=1ms
    
    Cc: Gustavo Padovan <gustavo.padovan@collabora.co.uk>
    Signed-off-by: Ming Lei <ming.lei@canonical.com>
    Signed-off-by: Gustavo Padovan <gustavo.padovan@collabora.co.uk>
    Signed-off-by: Ben Hutchings <ben@decadent.org.uk>

commit 1f276d988f8e6d1e6eb0837950a1e49a1c3b4bb8
Author: Jiri Kosina <jkosina@suse.cz>
Date:   Mon Mar 18 15:50:10 2013 +0100

    HID: usbhid: fix build problem
    
    commit 570637dc8eeb2faba06228d497ff40bb019bcc93 upstream.
    
    Fix build problem caused by typo introduced by 620ae90ed8
    ("HID: usbhid: quirk for MSI GX680R led panel").
    
    Reported-by: fengguang.wu@intel.com
    Signed-off-by: Jiri Kosina <jkosina@suse.cz>
    [bwh: Backported to 3.2: adjust context]
    Signed-off-by: Ben Hutchings <ben@decadent.org.uk>

commit 606eea676790b1dda873d58374ced37177f31a0d
Author: Josh Boyer <jwboyer@redhat.com>
Date:   Mon Mar 18 09:47:02 2013 -0400

    HID: usbhid: quirk for MSI GX680R led panel
    
    commit 620ae90ed8ca8b6e40cb9e10279b4f5ef9f0ab81 upstream.
    
    This keyboard backlight device causes a 10 second delay to boot.  Add it
    to the quirk list with HID_QUIRK_NO_INIT_REPORTS.
    
    This fixes Red Hat bugzilla https://bugzilla.redhat.com/show_bug.cgi?id=907221
    
    Signed-off-by: Josh Boyer <jwboyer@redhat.com>
    Signed-off-by: Jiri Kosina <jkosina@suse.cz>
    [bwh: Backported to 3.2: adjust context]
    Signed-off-by: Ben Hutchings <ben@decadent.org.uk>

commit 310923586656a6c6135c7ab01cf77689661ea195
Author: Josh Boyer <jwboyer@redhat.com>
Date:   Mon Mar 18 09:45:42 2013 -0400

    HID: usbhid: quirk for Realtek Multi-card reader
    
    commit 3d464d9b71ef2f2b40a4bc9dcf06794fd1be9d12 upstream.
    
    This device needs to be added to the quirks list with HID_QUIRK_NO_INIT_REPORTS,
    otherwise it causes 10 seconds timeout during report initialization.
    
    This fixes Red Hat bugzilla https://bugzilla.redhat.com/show_bug.cgi?id=806587
    
    Signed-off-by: Josh Boyer <jwboyer@redhat.com>
    Signed-off-by: Jiri Kosina <jkosina@suse.cz>
    [bwh: Backported to 3.2: adjust context]
    Signed-off-by: Ben Hutchings <ben@decadent.org.uk>

commit bdcde179d39c3bd0584cd51713ebea920e82742f
Author: Pawel Wieczorkiewicz <wpawel@gmail.com>
Date:   Wed Feb 20 17:26:20 2013 +0100

    tty: atmel_serial_probe(): index of atmel_ports[] fix
    
    commit 503bded92da283b2f31d87e054c4c6d30c3c2340 upstream.
    
    Index of atmel_ports[ATMEL_MAX_UART] should be smaller
    than ATMEL_MAX_UART.
    
    Signed-off-by: Pawel Wieczorkiewicz <wpawel@gmail.com>
    Acked-by: Nicolas Ferre <nicolas.ferre@atmel.com>
    Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
    Signed-off-by: Ben Hutchings <ben@decadent.org.uk>

commit 09ef9b5cbd1ce327c0cced5dd41dcf86bb398190
Author: Ming Lei <ming.lei@canonical.com>
Date:   Fri Mar 15 11:00:39 2013 +0800

    Bluetooth: Add support for Dell[QCA 0cf3:0036]
    
    commit d66629c1325399cf080ba8b2fb086c10e5439cdd upstream.
    
    Add support for the AR9462 chip
    
    T:  Bus=03 Lev=01 Prnt=01 Port=01 Cnt=01 Dev#=  3 Spd=12   MxCh= 0
    D:  Ver= 1.10 Cls=e0(wlcon) Sub=01 Prot=01 MxPS=64 #Cfgs=  1
    P:  Vendor=0cf3 ProdID=0036 Rev= 0.02
    C:* #Ifs= 2 Cfg#= 1 Atr=e0 MxPwr=100mA
    A:  FirstIf#= 0 IfCount= 2 Cls=e0(wlcon) Sub=01 Prot=01
    I:* If#= 0 Alt= 0 #EPs= 3 Cls=e0(wlcon) Sub=01 Prot=01 Driver=btusb
    E:  Ad=81(I) Atr=03(Int.) MxPS=  16 Ivl=1ms
    E:  Ad=82(I) Atr=02(Bulk) MxPS=  64 Ivl=0ms
    E:  Ad=02(O) Atr=02(Bulk) MxPS=  64 Ivl=0ms
    I:* If#= 1 Alt= 0 #EPs= 2 Cls=e0(wlcon) Sub=01 Prot=01 Driver=btusb
    E:  Ad=83(I) Atr=01(Isoc) MxPS=   0 Ivl=1ms
    E:  Ad=03(O) Atr=01(Isoc) MxPS=   0 Ivl=1ms
    I:  If#= 1 Alt= 1 #EPs= 2 Cls=e0(wlcon) Sub=01 Prot=01 Driver=btusb
    E:  Ad=83(I) Atr=01(Isoc) MxPS=   9 Ivl=1ms
    E:  Ad=03(O) Atr=01(Isoc) MxPS=   9 Ivl=1ms
    I:  If#= 1 Alt= 2 #EPs= 2 Cls=e0(wlcon) Sub=01 Prot=01 Driver=btusb
    E:  Ad=83(I) Atr=01(Isoc) MxPS=  17 Ivl=1ms
    E:  Ad=03(O) Atr=01(Isoc) MxPS=  17 Ivl=1ms
    I:  If#= 1 Alt= 3 #EPs= 2 Cls=e0(wlcon) Sub=01 Prot=01 Driver=btusb
    E:  Ad=83(I) Atr=01(Isoc) MxPS=  25 Ivl=1ms
    E:  Ad=03(O) Atr=01(Isoc) MxPS=  25 Ivl=1ms
    I:  If#= 1 Alt= 4 #EPs= 2 Cls=e0(wlcon) Sub=01 Prot=01 Driver=btusb
    E:  Ad=83(I) Atr=01(Isoc) MxPS=  33 Ivl=1ms
    E:  Ad=03(O) Atr=01(Isoc) MxPS=  33 Ivl=1ms
    I:  If#= 1 Alt= 5 #EPs= 2 Cls=e0(wlcon) Sub=01 Prot=01 Driver=btusb
    E:  Ad=83(I) Atr=01(Isoc) MxPS=  49 Ivl=1ms
    E:  Ad=03(O) Atr=01(Isoc) MxPS=  49 Ivl=1ms
    
    Cc: Gustavo Padovan <gustavo.padovan@collabora.co.uk>
    Signed-off-by: Ming Lei <ming.lei@canonical.com>
    Signed-off-by: Gustavo Padovan <gustavo.padovan@collabora.co.uk>
    Signed-off-by: Ben Hutchings <ben@decadent.org.uk>

commit 293665035a7021f3b2bd0c1eb7b40603d533eb4b
Author: Sunguk Lee <d3m3vilurr@gmail.com>
Date:   Tue Mar 12 04:41:58 2013 +0900

    Bluetooth: Device 0cf3:3008 should map AR 3012
    
    commit 94a32d10f47b637ae24b78b1ddc7ef0e8396fda4 upstream.
    
    T:  Bus=01 Lev=02 Prnt=02 Port=00 Cnt=01 Dev#=  3 Spd=12   MxCh= 0
    D:  Ver= 1.10 Cls=e0(wlcon) Sub=01 Prot=01 MxPS=64 #Cfgs=  1
    P:  Vendor=0cf3 ProdID=3008 Rev= 0.01
    S:  Manufacturer=Atheros Communications
    S:  Product=Bluetooth USB Host Controller
    S:  SerialNumber=Alaska Day 2006
    C:* #Ifs= 2 Cfg#= 1 Atr=e0 MxPwr=100mA
    I:* If#= 0 Alt= 0 #EPs= 3 Cls=e0(wlcon) Sub=01 Prot=01 Driver=btusb
    E:  Ad=81(I) Atr=03(Int.) MxPS=  16 Ivl=1ms
    E:  Ad=82(I) Atr=02(Bulk) MxPS=  64 Ivl=0ms
    E:  Ad=02(O) Atr=02(Bulk) MxPS=  64 Ivl=0ms
    I:* If#= 1 Alt= 0 #EPs= 2 Cls=e0(wlcon) Sub=01 Prot=01 Driver=btusb
    E:  Ad=83(I) Atr=01(Isoc) MxPS=   0 Ivl=1ms
    E:  Ad=03(O) Atr=01(Isoc) MxPS=   0 Ivl=1ms
    I:  If#= 1 Alt= 1 #EPs= 2 Cls=e0(wlcon) Sub=01 Prot=01 Driver=btusb
    E:  Ad=83(I) Atr=01(Isoc) MxPS=   9 Ivl=1ms
    E:  Ad=03(O) Atr=01(Isoc) MxPS=   9 Ivl=1ms
    I:  If#= 1 Alt= 2 #EPs= 2 Cls=e0(wlcon) Sub=01 Prot=01 Driver=btusb
    E:  Ad=83(I) Atr=01(Isoc) MxPS=  17 Ivl=1ms
    E:  Ad=03(O) Atr=01(Isoc) MxPS=  17 Ivl=1ms
    I:  If#= 1 Alt= 3 #EPs= 2 Cls=e0(wlcon) Sub=01 Prot=01 Driver=btusb
    E:  Ad=83(I) Atr=01(Isoc) MxPS=  25 Ivl=1ms
    E:  Ad=03(O) Atr=01(Isoc) MxPS=  25 Ivl=1ms
    I:  If#= 1 Alt= 4 #EPs= 2 Cls=e0(wlcon) Sub=01 Prot=01 Driver=btusb
    E:  Ad=83(I) Atr=01(Isoc) MxPS=  33 Ivl=1ms
    E:  Ad=03(O) Atr=01(Isoc) MxPS=  33 Ivl=1ms
    I:  If#= 1 Alt= 5 #EPs= 2 Cls=e0(wlcon) Sub=01 Prot=01 Driver=btusb
    E:  Ad=83(I) Atr=01(Isoc) MxPS=  49 Ivl=1ms
    E:  Ad=03(O) Atr=01(Isoc) MxPS=  49 Ivl=1ms
    
    Signed-off-by: Sunguk Lee <d3m3vilurr@gmail.com>
    Signed-off-by: Gustavo Padovan <gustavo.padovan@collabora.co.uk>
    Signed-off-by: Ben Hutchings <ben@decadent.org.uk>

commit def389b911247e3985f6b8225991d9108eca3d0b
Author: Josh Boyer <jwboyer@redhat.com>
Date:   Tue Feb 19 11:54:16 2013 -0500

    Bluetooth: Add support for atheros 04ca:3004 device to ath3k
    
    commit 3f63c340a72f2872a9362245cb2e03f3d2bb73a6 upstream.
    
    Yet another version of the atheros bluetooth chipset
    
    T:  Bus=01 Lev=02 Prnt=02 Port=03 Cnt=01 Dev#=  3 Spd=12  MxCh= 0
    D:  Ver= 1.10 Cls=e0(wlcon) Sub=01 Prot=01 MxPS=64 #Cfgs=  1
    P:  Vendor=04ca ProdID=3004 Rev=00.01
    S:  Manufacturer=Atheros Communications
    S:  Product=Bluetooth USB Host Controller
    S:  SerialNumber=Alaska Day 2006
    C:  #Ifs= 2 Cfg#= 1 Atr=e0 MxPwr=100mA
    I:  If#= 0 Alt= 0 #EPs= 3 Cls=e0(wlcon) Sub=01 Prot=01 Driver=btusb
    I:  If#= 1 Alt= 0 #EPs= 2 Cls=e0(wlcon) Sub=01 Prot=01 Driver=btusb
    
    This resolves https://bugzilla.redhat.com/show_bug.cgi?id=844750
    
    Reported-by: niktr@mail.ru
    Signed-off-by: Josh Boyer <jwboyer@redhat.com>
    Signed-off-by: Gustavo Padovan <gustavo.padovan@collabora.co.uk>
    Signed-off-by: Ben Hutchings <ben@decadent.org.uk>

commit 624e808fcb1fd3f5a1987d08a9b868fff592e066
Author: Sergio Cambra <sergio@programatica.es>
Date:   Thu Jan 10 01:06:55 2013 +0100

    Bluetooth device 04ca:3008 should use ath3k
    
    commit f4d6f7dce71a5da93da50272ff1670bf2f1146b1 upstream.
    
    Output of /sys/kernel/debug/usb/devices
    T:  Bus=03 Lev=02 Prnt=02 Port=00 Cnt=01 Dev#=  6 Spd=12   MxCh= 0
    D:  Ver= 1.10 Cls=e0(wlcon) Sub=01 Prot=01 MxPS=64 #Cfgs=  1
    P:  Vendor=04ca ProdID=3008 Rev= 0.02
    C:* #Ifs= 2 Cfg#= 1 Atr=e0 MxPwr=100mA
    I:* If#= 0 Alt= 0 #EPs= 3 Cls=e0(wlcon) Sub=01 Prot=01 Driver=btusb
    E:  Ad=81(I) Atr=03(Int.) MxPS=  16 Ivl=1ms
    E:  Ad=82(I) Atr=02(Bulk) MxPS=  64 Ivl=0ms
    E:  Ad=02(O) Atr=02(Bulk) MxPS=  64 Ivl=0ms
    I:* If#= 1 Alt= 0 #EPs= 2 Cls=e0(wlcon) Sub=01 Prot=01 Driver=btusb
    E:  Ad=83(I) Atr=01(Isoc) MxPS=   0 Ivl=1ms
    E:  Ad=03(O) Atr=01(Isoc) MxPS=   0 Ivl=1ms
    I:  If#= 1 Alt= 1 #EPs= 2 Cls=e0(wlcon) Sub=01 Prot=01 Driver=btusb
    E:  Ad=83(I) Atr=01(Isoc) MxPS=   9 Ivl=1ms
    E:  Ad=03(O) Atr=01(Isoc) MxPS=   9 Ivl=1ms
    I:  If#= 1 Alt= 2 #EPs= 2 Cls=e0(wlcon) Sub=01 Prot=01 Driver=btusb
    E:  Ad=83(I) Atr=01(Isoc) MxPS=  17 Ivl=1ms
    E:  Ad=03(O) Atr=01(Isoc) MxPS=  17 Ivl=1ms
    I:  If#= 1 Alt= 3 #EPs= 2 Cls=e0(wlcon) Sub=01 Prot=01 Driver=btusb
    E:  Ad=83(I) Atr=01(Isoc) MxPS=  25 Ivl=1ms
    E:  Ad=03(O) Atr=01(Isoc) MxPS=  25 Ivl=1ms
    I:  If#= 1 Alt= 4 #EPs= 2 Cls=e0(wlcon) Sub=01 Prot=01 Driver=btusb
    E:  Ad=83(I) Atr=01(Isoc) MxPS=  33 Ivl=1ms
    E:  Ad=03(O) Atr=01(Isoc) MxPS=  33 Ivl=1ms
    I:  If#= 1 Alt= 5 #EPs= 2 Cls=e0(wlcon) Sub=01 Prot=01 Driver=btusb
    E:  Ad=83(I) Atr=01(Isoc) MxPS=  49 Ivl=1ms
    E:  Ad=03(O) Atr=01(Isoc) MxPS=  49 Ivl=1ms
    
    Signed-off-by: Sergio Cambra <sergio@programatica.es>
    Signed-off-by: Gustavo Padovan <gustavo.padovan@collabora.co.uk>
    Signed-off-by: Ben Hutchings <ben@decadent.org.uk>

commit ead759f15413ee133cdbedea1383f34577303934
Author: AceLan Kao <acelan.kao@canonical.com>
Date:   Thu Jan 3 12:25:00 2013 +0800

    Bluetooth: Add support for Foxconn / Hon Hai [0489:e056]
    
    commit 2582d529c44d12502a700f1c3db062b9f44679bc upstream.
    
    Add support for the AR9462 chip
    
    T: Bus=01 Lev=02 Prnt=02 Port=05 Cnt=01 Dev#= 4 Spd=12 MxCh= 0
    D: Ver= 1.10 Cls=e0(wlcon) Sub=01 Prot=01 MxPS=64 #Cfgs= 1
    P: Vendor=0489 ProdID=e056 Rev=00.01
    C: #Ifs= 2 Cfg#= 1 Atr=e0 MxPwr=100mA
    I: If#= 0 Alt= 0 #EPs= 3 Cls=e0(wlcon) Sub=01 Prot=01 Driver=btusb
    I: If#= 1 Alt= 0 #EPs= 2 Cls=e0(wlcon) Sub=01 Prot=01 Driver=btusb
    
    Signed-off-by: AceLan Kao <acelan.kao@canonical.com>
    Signed-off-by: Gustavo Padovan <gustavo.padovan@collabora.co.uk>
    Signed-off-by: Ben Hutchings <ben@decadent.org.uk>

commit 2647584823849845f580e55c320826957cd00057
Author: AceLan Kao <acelan.kao@canonical.com>
Date:   Thu Jan 3 12:24:59 2013 +0800

    Bluetooth: Add support for Foxconn / Hon Hai [0489:e04e]
    
    commit 3a61eda81ebcfc006ebb1496764299d53e5bf67f upstream.
    
    Add support for the AR9462 chip
    
    T:  Bus=01 Lev=02 Prnt=02 Port=00 Cnt=01 Dev#=  5 Spd=12  MxCh= 0
    D:  Ver= 1.10 Cls=e0(wlcon) Sub=01 Prot=01 MxPS=64 #Cfgs=  1
    P:  Vendor=0489 ProdID=e04e Rev=00.02
    C:  #Ifs= 2 Cfg#= 1 Atr=e0 MxPwr=100mA
    I:  If#= 0 Alt= 0 #EPs= 3 Cls=e0(wlcon) Sub=01 Prot=01 Driver=btusb
    I:  If#= 1 Alt= 0 #EPs= 2 Cls=e0(wlcon) Sub=01 Prot=01 Driver=btusb
    
    Signed-off-by: AceLan Kao <acelan.kao@canonical.com>
    Signed-off-by: Gustavo Padovan <gustavo.padovan@collabora.co.uk>
    Signed-off-by: Ben Hutchings <ben@decadent.org.uk>

commit 5e35e9063b109097ad6663786bafb6e2496d91bf
Author: Daniel Schaal <farbing@web.de>
Date:   Sat Dec 29 11:14:34 2012 +0100

    Bluetooth: Add support for GC-WB300D PCIe [04ca:3006] to ath3k.
    
    commit 2c262b2a5235b7f5b18d4d58394511f76371d7cb upstream.
    
    T:  Bus=02 Lev=02 Prnt=02 Port=06 Cnt=01 Dev#=  4 Spd=12   MxCh= 0
    D:  Ver= 1.10 Cls=e0(wlcon) Sub=01 Prot=01 MxPS=64 #Cfgs=  1
    P:  Vendor=04ca ProdID=3006 Rev= 0.02
    C:* #Ifs= 2 Cfg#= 1 Atr=e0 MxPwr=100mA
    I:* If#= 0 Alt= 0 #EPs= 3 Cls=e0(wlcon) Sub=01 Prot=01 Driver=btusb
    E:  Ad=81(I) Atr=03(Int.) MxPS=  16 Ivl=1ms
    E:  Ad=82(I) Atr=02(Bulk) MxPS=  64 Ivl=0ms
    E:  Ad=02(O) Atr=02(Bulk) MxPS=  64 Ivl=0ms
    I:* If#= 1 Alt= 0 #EPs= 2 Cls=e0(wlcon) Sub=01 Prot=01 Driver=btusb
    E:  Ad=83(I) Atr=01(Isoc) MxPS=   0 Ivl=1ms
    E:  Ad=03(O) Atr=01(Isoc) MxPS=   0 Ivl=1ms
    I:  If#= 1 Alt= 1 #EPs= 2 Cls=e0(wlcon) Sub=01 Prot=01 Driver=btusb
    E:  Ad=83(I) Atr=01(Isoc) MxPS=   9 Ivl=1ms
    E:  Ad=03(O) Atr=01(Isoc) MxPS=   9 Ivl=1ms
    I:  If#= 1 Alt= 2 #EPs= 2 Cls=e0(wlcon) Sub=01 Prot=01 Driver=btusb
    E:  Ad=83(I) Atr=01(Isoc) MxPS=  17 Ivl=1ms
    E:  Ad=03(O) Atr=01(Isoc) MxPS=  17 Ivl=1ms
    I:  If#= 1 Alt= 3 #EPs= 2 Cls=e0(wlcon) Sub=01 Prot=01 Driver=btusb
    E:  Ad=83(I) Atr=01(Isoc) MxPS=  25 Ivl=1ms
    E:  Ad=03(O) Atr=01(Isoc) MxPS=  25 Ivl=1ms
    I:  If#= 1 Alt= 4 #EPs= 2 Cls=e0(wlcon) Sub=01 Prot=01 Driver=btusb
    E:  Ad=83(I) Atr=01(Isoc) MxPS=  33 Ivl=1ms
    E:  Ad=03(O) Atr=01(Isoc) MxPS=  33 Ivl=1ms
    I:  If#= 1 Alt= 5 #EPs= 2 Cls=e0(wlcon) Sub=01 Prot=01 Driver=btusb
    E:  Ad=83(I) Atr=01(Isoc) MxPS=  49 Ivl=1ms
    E:  Ad=03(O) Atr=01(Isoc) MxPS=  49 Ivl=1ms
    
    Signed-off-by: Daniel Schaal <farbing@web.de>
    Signed-off-by: Gustavo Padovan <gustavo.padovan@collabora.co.uk>
    Signed-off-by: Ben Hutchings <ben@decadent.org.uk>

commit 32d938cda6d011b17856bc92f53bfc82bfcfee1b
Author: AceLan Kao <acelan.kao@canonical.com>
Date:   Tue Dec 11 11:41:20 2012 +0800

    Bluetooth: Add support for IMC Networks [13d3:3393]
    
    commit eed307e290b96636def331375e065aca43f9069a upstream.
    
    Add support for the AR9462 chip
    
    T:  Bus=02 Lev=02 Prnt=02 Port=04 Cnt=01 Dev#=  3 Spd=12  MxCh= 0
    D:  Ver= 1.10 Cls=e0(wlcon) Sub=01 Prot=01 MxPS=64 #Cfgs=  1
    P:  Vendor=13d3 ProdID=3393 Rev=00.01
    C:  #Ifs= 2 Cfg#= 1 Atr=e0 MxPwr=100mA
    I:  If#= 0 Alt= 0 #EPs= 3 Cls=e0(wlcon) Sub=01 Prot=01 Driver=btusb
    I:  If#= 1 Alt= 0 #EPs= 2 Cls=e0(wlcon) Sub=01 Prot=01 Driver=btusb
    
    Signed-off-by: AceLan Kao <acelan.kao@canonical.com>
    Signed-off-by: Gustavo Padovan <gustavo.padovan@collabora.co.uk>
    Signed-off-by: Ben Hutchings <ben@decadent.org.uk>

commit 2e40dd2b31ba05da6ba47fbe4ecfc145a4f7dc39
Author: Artem Bityutskiy <artem.bityutskiy@linux.intel.com>
Date:   Thu Mar 14 10:49:23 2013 +0200

    UBIFS: make space fixup work in the remount case
    
    commit 67e753ca41782913d805ff4a8a2b0f60b26b7915 upstream.
    
    The UBIFS space fixup is a useful feature which allows to fixup the "broken"
    flash space at the time of the first mount. The "broken" space is usually the
    result of using a "dumb" industrial flasher which is not able to skip empty
    NAND pages and just writes all 0xFFs to the empty space, which has grave
    side-effects for UBIFS when UBIFS trise to write useful data to those empty
    pages.
    
    The fix-up feature works roughly like this:
    1. mkfs.ubifs sets the fixup flag in UBIFS superblock when creating the image
       (see -F option)
    2. when the file-system is mounted for the first time, UBIFS notices the fixup
       flag and re-writes the entire media atomically, which may take really a lot
       of time.
    3. UBIFS clears the fixup flag in the superblock.
    
    This works fine when the file system is mounted R/W for the very first time.
    But it did not really work in the case when we first mount the file-system R/O,
    and then re-mount R/W. The reason was that we started the fixup procedure too
    late, which we cannot really do because we have to fixup the space before it
    starts being used.
    
    Signed-off-by: Artem Bityutskiy <artem.bityutskiy@linux.intel.com>
    Reported-by: Mark Jackson <mpfj-list@mimc.co.uk>
    Signed-off-by: Ben Hutchings <ben@decadent.org.uk>

commit 0f260fd5c5b7f44f522b96dfb77b67c8bda5bfbc
Author: Sascha Hauer <s.hauer@pengutronix.de>
Date:   Sun Mar 10 19:33:03 2013 +0100

    ASoC: imx-ssi: Fix occasional AC97 reset failure
    
    commit b6e51600f4e983e757b1b6942becaa1ae7d82e67 upstream.
    
    Signed-off-by: Sascha Hauer <s.hauer@pengutronix.de>
    Signed-off-by: Markus Pargmann <mpa@pengutronix.de>
    Signed-off-by: Mark Brown <broonie@opensource.wolfsonmicro.com>
    [bwh: Backported to 3.2: adjust filename]
    Signed-off-by: Ben Hutchings <ben@decadent.org.uk>

commit 7161ab99e363e18e7a6e5abd6f01496f32fa033f
Author: Mark Rutland <mark.rutland@arm.com>
Date:   Thu Mar 7 15:09:24 2013 +0000

    clockevents: Don't allow dummy broadcast timers
    
    commit a7dc19b8652c862d5b7c4d2339bd3c428bd29c4a upstream.
    
    Currently tick_check_broadcast_device doesn't reject clock_event_devices
    with CLOCK_EVT_FEAT_DUMMY, and may select them in preference to real
    hardware if they have a higher rating value. In this situation, the
    dummy timer is responsible for broadcasting to itself, and the core
    clockevents code may attempt to call non-existent callbacks for
    programming the dummy, eventually leading to a panic.
    
    This patch makes tick_check_broadcast_device always reject dummy timers,
    preventing this problem.
    
    Signed-off-by: Mark Rutland <mark.rutland@arm.com>
    Cc: linux-arm-kernel@lists.infradead.org
    Cc: Jon Medhurst (Tixy) <tixy@linaro.org>
    Signed-off-by: Thomas Gleixner <tglx@linutronix.de>
    Signed-off-by: Ben Hutchings <ben@decadent.org.uk>