commit f3b5af9a6e2a873110bb8546b42ae7c51f2213b3
Author: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
Date:   Thu Mar 28 12:12:41 2013 -0700

    Linux 3.4.38

commit 101498601754f4a2a43ff175e8063d1d21db6d26
Author: Ben Hutchings <ben@decadent.org.uk>
Date:   Thu Nov 29 09:12:37 2012 +0100

    asus-laptop: Do not call HWRS on init
    
    commit cb7da022450cdaaebd33078b6b32fb7dd2aaf6db upstream.
    
    Since commit 8871e99f89b7 ('asus-laptop: HRWS/HWRS typo'), module
    initialisation is very slow on the Asus UL30A.  The HWRS method takes
    about 12 seconds to run, and subsequent initialisation also seems to
    be delayed.  Since we don't really need the result, don't bother
    calling it on init.  Those who are curious can still get the result
    through the 'infos' device attribute.
    
    Update the comment about HWRS in show_infos().
    
    Reported-by: ryan <draziw+deb@gmail.com>
    References: http://bugs.debian.org/692436
    Signed-off-by: Ben Hutchings <ben@decadent.org.uk>
    Signed-off-by: Corentin Chary <corentin.chary@gmail.com>
    Signed-off-by: Matthew Garrett <matthew.garrett@nebula.com>
    Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>

commit 553ce45fd6abec3454b3900f66a06d3da1c494be
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.
    
    [Backported for 3.8-stable. Removed code of simultaneous AP and mesh
    mode added in 4a5fc6d 3.9-rc1.]
    
    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>
    Signed-off-by: Lingzhu Xiang <lxiang@redhat.com>
    Reviewed-by: CAI Qian <caiqian@redhat.com>
    Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>

commit 023eae6de094c527f85c5fc3e9a8a364af56b1af
Author: Kees Cook <keescook@chromium.org>
Date:   Mon Dec 17 16:03:20 2012 -0800

    exec: use -ELOOP for max recursion depth
    
    commit d740269867021faf4ce38a449353d2b986c34a67 upstream.
    
    To avoid an explosion of request_module calls on a chain of abusive
    scripts, fail maximum recursion with -ELOOP instead of -ENOEXEC. As soon
    as maximum recursion depth is hit, the error will fail all the way back
    up the chain, aborting immediately.
    
    This also has the side-effect of stopping the user's shell from attempting
    to reexecute the top-level file as a shell script. As seen in the
    dash source:
    
            if (cmd != path_bshell && errno == ENOEXEC) {
                    *argv-- = cmd;
                    *argv = cmd = path_bshell;
                    goto repeat;
            }
    
    The above logic was designed for running scripts automatically that lacked
    the "#!" header, not to re-try failed recursion. On a legitimate -ENOEXEC,
    things continue to behave as the shell expects.
    
    Additionally, when tracking recursion, the binfmt handlers should not be
    involved. The recursion being tracked is the depth of calls through
    search_binary_handler(), so that function should be exclusively responsible
    for tracking the depth.
    
    Signed-off-by: Kees Cook <keescook@chromium.org>
    Cc: halfdog <me@halfdog.net>
    Cc: P J P <ppandit@redhat.com>
    Cc: Alexander Viro <viro@zeniv.linux.org.uk>
    Signed-off-by: Andrew Morton <akpm@linux-foundation.org>
    Signed-off-by: Linus Torvalds <torvalds@linux-foundation.org>
    Cc: Ben Hutchings <ben@decadent.org.uk>
    Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>

commit 2f7dea37d1b0b3a26fb3c2bd97bbf836dfd04def
Author: Lekensteyn <lekensteyn@gmail.com>
Date:   Tue Jun 26 00:36:24 2012 +0200

    i915: initialize CADL in opregion
    
    commit d627b62ff8d4d36761adbcd90ff143d79c94ab22 upstream.
    
    This is rather a hack to fix brightness hotkeys on a Clevo laptop. CADL is not
    used anywhere in the driver code at the moment, but it could be used in BIOS as
    is the case with the Clevo laptop.
    
    The Clevo B7130 requires the CADL field to contain at least the ID of
    the LCD device. If this field is empty, the ACPI methods that are called
    on pressing brightness / display switching hotkeys will not trigger a
    notification. As a result, it appears as no hotkey has been pressed.
    
    Reference: https://bugs.freedesktop.org/show_bug.cgi?id=45452
    Tested-by: Peter Wu <lekensteyn@gmail.com>
    Signed-off-by: Peter Wu <lekensteyn@gmail.com>
    Acked-by: Jesse Barnes <jbarnes@virtuousgeek.org>
    Signed-off-by: Daniel Vetter <daniel.vetter@ffwll.ch>
    Cc: Ben Hutchings <ben@decadent.org.uk>
    Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>

commit 5fb9149b0ee4c106fc73923a3751047bdb860993
Author: Tomas Hozza <thozza@redhat.com>
Date:   Thu Nov 8 10:53:29 2012 +0100

    tools: hv: Netlink source address validation allows DoS
    
    commit 95a69adab9acfc3981c504737a2b6578e4d846ef upstream.
    
    The source code without this patch caused hypervkvpd to exit when it processed
    a spoofed Netlink packet which has been sent from an untrusted local user.
    Now Netlink messages with a non-zero nl_pid source address are ignored
    and a warning is printed into the syslog.
    
    Signed-off-by: Tomas Hozza <thozza@redhat.com>
    Acked-by:  K. Y. Srinivasan <kys@microsoft.com>
    Cc: Ben Hutchings <ben@decadent.org.uk>
    Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>

commit 66de393d66371b070699ffcb6207cf1abc8b581a
Author: Mathias Krause <minipli@googlemail.com>
Date:   Thu Jul 12 08:46:55 2012 +0200

    udf: avoid info leak on export
    
    commit 0143fc5e9f6f5aad4764801015bc8d4b4a278200 upstream.
    
    For type 0x51 the udf.parent_partref member in struct fid gets copied
    uninitialized to userland. Fix this by initializing it to 0.
    
    Signed-off-by: Mathias Krause <minipli@googlemail.com>
    Signed-off-by: Jan Kara <jack@suse.cz>
    Cc: Ben Hutchings <ben@decadent.org.uk>
    Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>

commit 19b437682b56a924993979dff408a72e2c5380e6
Author: Mathias Krause <minipli@googlemail.com>
Date:   Thu Jul 12 08:46:54 2012 +0200

    isofs: avoid info leak on export
    
    commit fe685aabf7c8c9f138e5ea900954d295bf229175 upstream.
    
    For type 1 the parent_offset member in struct isofs_fid gets copied
    uninitialized to userland. Fix this by initializing it to 0.
    
    Signed-off-by: Mathias Krause <minipli@googlemail.com>
    Signed-off-by: Jan Kara <jack@suse.cz>
    Cc: Ben Hutchings <ben@decadent.org.uk>
    Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>

commit b647ebe6e7c171efd2003b1a8d07dcc26e6fa748
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: Greg Kroah-Hartman <gregkh@linuxfoundation.org>

commit 8b55bf58c5f89681d37b19789bdae389fa54b0cd
Author: Johan Hovold <jhovold@gmail.com>
Date:   Tue Mar 19 09:21:08 2013 +0100

    USB: io_ti: fix get_icount for two port adapters
    
    commit 5492bf3d5655b4954164f69c02955a7fca267611 upstream.
    
    Add missing get_icount field to two-port driver.
    
    The two-port driver was not updated when switching to the new icount
    interface in commit 0bca1b913aff ("tty: Convert the USB drivers to the
    new icount interface").
    
    Signed-off-by: Johan Hovold <jhovold@gmail.com>
    Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>

commit 00de47e3ba24ddad37496c47aae5753862024900
Author: Johan Hovold <jhovold@gmail.com>
Date:   Tue Mar 19 09:21:07 2013 +0100

    USB: garmin_gps: fix memory leak on disconnect
    
    commit 618aa1068df29c37a58045fe940f9106664153fd upstream.
    
    Remove bogus disconnect test introduced by 95bef012e ("USB: more serial
    drivers writing after disconnect") which prevented queued data from
    being freed on disconnect.
    
    The possible IO it was supposed to prevent is long gone.
    
    Signed-off-by: Johan Hovold <jhovold@gmail.com>
    Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>

commit bc914c3b5ebcf158419c4901ec54ffbd7677d5a0
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>
    Cc: Jim Trigg <jtrigg@spamcop.net>
    Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>

commit 5899ef0b272b58f2927eb3376afaad2b02559180
Author: Frederic Weisbecker <fweisbec@gmail.com>
Date:   Wed Feb 20 16:15:36 2013 +0100

    nohz: Make tick_nohz_irq_exit() irq safe
    
    commit e5ab012c3271990e8457055c25cafddc1ae8aa6b upstream.
    
    As it stands, irq_exit() may or may not be called with
    irqs disabled, depending on __ARCH_IRQ_EXIT_IRQS_DISABLED
    that the arch can define.
    
    It makes tick_nohz_irq_exit() unsafe. For example two
    interrupts can race in tick_nohz_stop_sched_tick(): the inner
    most one computes the expiring time on top of the timer list,
    then it's interrupted right before reprogramming the
    clock. The new interrupt enqueues a new timer list timer,
    it reprogram the clock to take it into account and it exits.
    The CPUs resumes the inner most interrupt and performs the clock
    reprogramming without considering the new timer list timer.
    
    This regression has been introduced by:
         280f06774afedf849f0b34248ed6aff57d0f6908
         ("nohz: Separate out irq exit and idle loop dyntick logic")
    
    Let's fix it right now with the appropriate protections.
    
    A saner long term solution will be to remove
    __ARCH_IRQ_EXIT_IRQS_DISABLED and mandate that irq_exit() is called
    with interrupts disabled.
    
    Signed-off-by: Frederic Weisbecker <fweisbec@gmail.com>
    Cc: Peter Zijlstra <peterz@infradead.org>
    Cc: Ingo Molnar <mingo@kernel.org>
    Cc: Linus Torvalds <torvalds@linuxfoundation.org>
    Link: http://lkml.kernel.org/r/1361373336-11337-1-git-send-email-fweisbec@gmail.com
    Signed-off-by: Thomas Gleixner <tglx@linutronix.de>
    Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
    Signed-off-by: Thomas Gleixner <tglx@linutronix.de>
    Signed-off-by: Lingzhu Xiang <lxiang@redhat.com>
    Reviewed-by: CAI Qian <caiqian@redhat.com>
    Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>

commit cbff2b6d371dbbae19de1dcfd09051683eca02ca
Author: Johan Hovold <jhovold@gmail.com>
Date:   Tue Mar 19 09:21:09 2013 +0100

    USB: serial: fix interface refcounting
    
    commit d7971051e4df825e0bc11b995e87bfe86355b8e5 upstream.
    
    Make sure the interface is not released before our serial device.
    
    Note that drivers are still not allowed to access the interface in
    any way that may interfere with another driver that may have gotten
    bound to the same interface after disconnect returns.
    
    Signed-off-by: Johan Hovold <jhovold@gmail.com>
    Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>

commit 10a00e38f3478eb899916f9a15d97e1b565106c3
Author: Johan Hovold <jhovold@gmail.com>
Date:   Tue Mar 19 09:21:06 2013 +0100

    USB: cdc-acm: fix device unregistration
    
    commit cb25505fc604292c70fc02143fc102f54c8595f0 upstream.
    
    Unregister tty device in disconnect as is required by the USB stack.
    
    By deferring unregistration to when the last tty reference is dropped,
    the parent interface device can get unregistered before the child
    resulting in broken hotplug events being generated when the tty is
    finally closed:
    
    KERNEL[2290.798128] remove   /devices/pci0000:00/0000:00:1d.7/usb2/2-1/2-1:3.1 (usb)
    KERNEL[2290.804589] remove   /devices/pci0000:00/0000:00:1d.7/usb2/2-1 (usb)
    KERNEL[2294.554799] remove   /2-1:3.1/tty/ttyACM0 (tty)
    
    The driver must deal with tty callbacks after disconnect by checking the
    disconnected flag. Specifically, further opens must be prevented and
    this is already implemented.
    
    Acked-by: Oliver Neukum <oneukum@suse.de>
    Cc: Oliver Neukum <oneukum@suse.de>
    Signed-off-by: Johan Hovold <jhovold@gmail.com>
    Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>

commit d581bb3819c5cda33531a0a67c02dbdb7d61f307
Author: Hannes Reinecke <hare@suse.de>
Date:   Mon Mar 4 17:14:43 2013 +0100

    USB: xhci: correctly enable interrupts
    
    commit 00eed9c814cb8f281be6f0f5d8f45025dc0a97eb upstream.
    
    xhci has its own interrupt enabling routine, which will try to
    use MSI-X/MSI if present. So the usb core shouldn't try to enable
    legacy interrupts; on some machines the xhci legacy IRQ setting
    is invalid.
    
    v3: Be careful to not break XHCI_BROKEN_MSI workaround (by trenn)
    
    Cc: Bjorn Helgaas <bhelgaas@google.com>
    Cc: Oliver Neukum <oneukum@suse.de>
    Cc: Thomas Renninger <trenn@suse.de>
    Cc: Yinghai Lu <yinghai@kernel.org>
    Cc: Frederik Himpe <fhimpe@vub.ac.be>
    Cc: David Haerdeman <david@hardeman.nu>
    Cc: Alan Stern <stern@rowland.harvard.edu>
    Acked-by: Sarah Sharp <sarah.a.sharp@linux.intel.com>
    Reviewed-by: Thomas Renninger <trenn@suse.de>
    Signed-off-by: Hannes Reinecke <hare@suse.de>
    Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>

commit 31e8d29ccf1844a84b7c07d511e6a92d9f99cc11
Author: Dmitry Torokhov <dtor@vmware.com>
Date:   Mon Feb 25 10:56:01 2013 -0800

    USB: xhci - fix bit definitions for IMAN register
    
    commit f8264340e694604863255cc0276491d17c402390 upstream.
    
    According to XHCI specification (5.5.2.1) the IP is bit 0 and IE is bit 1
    of IMAN register. Previously their definitions were reversed.
    
    Even though there are no ill effects being observed from the swapped
    definitions (because IMAN_IP is RW1C and in legacy PCI case we come in
    with it already set to 1 so it was clearing itself even though we were
    setting IMAN_IE instead of IMAN_IP), we should still correct the values.
    
    This patch should be backported to kernels as old as 2.6.36, that
    contain the commit 4e833c0b87a30798e67f06120cecebef6ee9644c "xhci: don't
    re-enable IE constantly".
    
    Signed-off-by: Dmitry Torokhov <dtor@vmware.com>
    Signed-off-by: Sarah Sharp <sarah.a.sharp@linux.intel.com>
    Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>

commit 56d833d3ed356e861ede0dd1c530ed5185d1215e
Author: CQ Tang <cq.tang@intel.com>
Date:   Mon Mar 18 11:02:21 2013 -0400

    x86-64: Fix the failure case in copy_user_handle_tail()
    
    commit 66db3feb486c01349f767b98ebb10b0c3d2d021b upstream.
    
    The increment of "to" in copy_user_handle_tail() will have incremented
    before a failure has been noted.  This causes us to skip a byte in the
    failure case.
    
    Only do the increment when assured there is no failure.
    
    Signed-off-by: CQ Tang <cq.tang@intel.com>
    Link: http://lkml.kernel.org/r/20130318150221.8439.993.stgit@phlsvslse11.ph.intel.com
    Signed-off-by: Mike Marciniszyn <mike.marciniszyn@intel.com>
    Signed-off-by: H. Peter Anvin <hpa@linux.intel.com>
    Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>

commit 8d96fcec68c30196fca01a75a911835c7b89a50d
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: Greg Kroah-Hartman <gregkh@linuxfoundation.org>

commit 3d2e7424b3e18dc851a4b0efdc6676c09573f55f
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: Greg Kroah-Hartman <gregkh@linuxfoundation.org>

commit 2bb5c2c93a427a90c06b1c6b050642774912e7c8
Author: Theodore Ts'o <tytso@mit.edu>
Date:   Wed Mar 20 09:42:11 2013 -0400

    ext4: fix data=journal fast mount/umount hang
    
    commit 2b405bfa84063bfa35621d2d6879f52693c614b0 upstream.
    
    In data=journal mode, if we unmount the file system before a
    transaction has a chance to complete, when the journal inode is being
    evicted, we can end up calling into jbd2_log_wait_commit() for the
    last transaction, after the journalling machinery has been shut down.
    
    Arguably we should adjust ext4_should_journal_data() to return FALSE
    for the journal inode, but the only place it matters is
    ext4_evict_inode(), and so to save a bit of CPU time, and to make the
    patch much more obviously correct by inspection(tm), we'll fix it by
    explicitly not trying to waiting for a journal commit when we are
    evicting the journal inode, since it's guaranteed to never succeed in
    this case.
    
    This can be easily replicated via:
    
         mount -t ext4 -o data=journal /dev/vdb /vdb ; umount /vdb
    
    ------------[ cut here ]------------
    WARNING: at /usr/projects/linux/ext4/fs/jbd2/journal.c:542 __jbd2_log_start_commit+0xba/0xcd()
    Hardware name: Bochs
    JBD2: bad log_start_commit: 3005630206 3005630206 0 0
    Modules linked in:
    Pid: 2909, comm: umount Not tainted 3.8.0-rc3 #1020
    Call Trace:
     [<c015c0ef>] warn_slowpath_common+0x68/0x7d
     [<c02b7e7d>] ? __jbd2_log_start_commit+0xba/0xcd
     [<c015c177>] warn_slowpath_fmt+0x2b/0x2f
     [<c02b7e7d>] __jbd2_log_start_commit+0xba/0xcd
     [<c02b8075>] jbd2_log_start_commit+0x24/0x34
     [<c0279ed5>] ext4_evict_inode+0x71/0x2e3
     [<c021f0ec>] evict+0x94/0x135
     [<c021f9aa>] iput+0x10a/0x110
     [<c02b7836>] jbd2_journal_destroy+0x190/0x1ce
     [<c0175284>] ? bit_waitqueue+0x50/0x50
     [<c028d23f>] ext4_put_super+0x52/0x294
     [<c020efe3>] generic_shutdown_super+0x48/0xb4
     [<c020f071>] kill_block_super+0x22/0x60
     [<c020f3e0>] deactivate_locked_super+0x22/0x49
     [<c020f5d6>] deactivate_super+0x30/0x33
     [<c0222795>] mntput_no_expire+0x107/0x10c
     [<c02233a7>] sys_umount+0x2cf/0x2e0
     [<c02233ca>] sys_oldumount+0x12/0x14
     [<c08096b8>] syscall_call+0x7/0xb
    ---[ end trace 6a954cc790501c1f ]---
    jbd2_log_wait_commit: error: j_commit_request=-1289337090, tid=0
    
    Signed-off-by: "Theodore Ts'o" <tytso@mit.edu>
    Reviewed-by: Jan Kara <jack@suse.cz>
    Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>

commit 120c3558614078cbde7fb0d40a3e7db2d63b660b
Author: Dmitry Artamonow <mad_soft@inbox.ru>
Date:   Sat Mar 9 20:30:58 2013 +0400

    usb-storage: add unusual_devs entry for Samsung YP-Z3 mp3 player
    
    commit 29f86e66428ee083aec106cca1748dc63d98ce23 upstream.
    
    Device stucks on filesystem writes, unless following quirk is passed:
      echo 04e8:5136:m > /sys/module/usb_storage/parameters/quirks
    
    Add corresponding entry to unusual_devs.h
    
    Signed-off-by: Dmitry Artamonow <mad_soft@inbox.ru>
    Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>

commit d24f1399d1a527ba8c08df5f5ac96b9bd3c0e1d1
Author: Zheng Liu <wenqing.lz@taobao.com>
Date:   Sun Mar 10 21:20:23 2013 -0400

    ext4: fix the wrong number of the allocated blocks in ext4_split_extent()
    
    commit 3a2256702e47f68f921dfad41b1764d05c572329 upstream.
    
    This commit fixes a wrong return value of the number of the allocated
    blocks in ext4_split_extent.  When the length of blocks we want to
    allocate is greater than the length of the current extent, we return a
    wrong number.  Let's see what happens in the following case when we
    call ext4_split_extent().
    
      map: [48, 72]
      ex:  [32, 64, u]
    
    'ex' will be split into two parts:
      ex1: [32, 47, u]
      ex2: [48, 64, w]
    
    'map->m_len' is returned from this function, and the value is 24.  But
    the real length is 16.  So it should be fixed.
    
    Meanwhile in this commit we use right length of the allocated blocks
    when get_reserved_cluster_alloc in ext4_ext_handle_uninitialized_extents
    is called.
    
    Signed-off-by: Zheng Liu <wenqing.lz@taobao.com>
    Signed-off-by: "Theodore Ts'o" <tytso@mit.edu>
    Cc: Dmitry Monakhov <dmonakhov@openvz.org>
    Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>

commit ac4f52e0fff3a2b5523655250cc2e7d77ba8c09b
Author: Jan Kara <jack@suse.cz>
Date:   Mon Mar 11 13:24:56 2013 -0400

    jbd2: fix use after free in jbd2_journal_dirty_metadata()
    
    commit ad56edad089b56300fd13bb9eeb7d0424d978239 upstream.
    
    jbd2_journal_dirty_metadata() didn't get a reference to journal_head it
    was working with. This is OK in most of the cases since the journal head
    should be attached to a transaction but in rare occasions when we are
    journalling data, __ext4_journalled_writepage() can race with
    jbd2_journal_invalidatepage() stripping buffers from a page and thus
    journal head can be freed under hands of jbd2_journal_dirty_metadata().
    
    Fix the problem by getting own journal head reference in
    jbd2_journal_dirty_metadata() (and also in jbd2_journal_set_triggers()
    which can possibly have the same issue).
    
    Reported-by: Zheng Liu <gnehzuil.liu@gmail.com>
    Signed-off-by: Jan Kara <jack@suse.cz>
    Signed-off-by: "Theodore Ts'o" <tytso@mit.edu>
    Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>

commit 056f8c8c85d53311530fd1940a68a390cc615bde
Author: Jeff Layton <jlayton@redhat.com>
Date:   Mon Mar 11 09:52:19 2013 -0400

    cifs: ignore everything in SPNEGO blob after mechTypes
    
    commit f853c616883a8de966873a1dab283f1369e275a1 upstream.
    
    We've had several reports of people attempting to mount Windows 8 shares
    and getting failures with a return code of -EINVAL. The default sec=
    mode changed recently to sec=ntlmssp. With that, we expect and parse a
    SPNEGO blob from the server in the NEGOTIATE reply.
    
    The current decode_negTokenInit function first parses all of the
    mechTypes and then tries to parse the rest of the negTokenInit reply.
    The parser however currently expects a mechListMIC or nothing to follow the
    mechTypes, but Windows 8 puts a mechToken field there instead to carry
    some info for the new NegoEx stuff.
    
    In practice, we don't do anything with the fields after the mechTypes
    anyway so I don't see any real benefit in continuing to parse them.
    This patch just has the kernel ignore the fields after the mechTypes.
    We'll probably need to reinstate some of this if we ever want to support
    NegoEx.
    
    Reported-by: Jason Burgess <jason@jacknife2.dns2go.com>
    Reported-by: Yan Li <elliot.li.tech@gmail.com>
    Signed-off-by: Jeff Layton <jlayton@redhat.com>
    Signed-off-by: Steve French <sfrench@us.ibm.com>
    Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>

commit f16d21e7f065a30b48c1149c888a3d75da40061a
Author: Alex Deucher <alexander.deucher@amd.com>
Date:   Tue Mar 12 12:53:13 2013 -0400

    drm/radeon/benchmark: make sure bo blit copy exists before using it
    
    commit fa8d387dc3f62062a6b4afbbb2a3438094fd8584 upstream.
    
    Fixes a segfault on asics without a blit callback.
    
    Fixes:
    https://bugs.freedesktop.org/show_bug.cgi?id=62239
    
    Reviewed-by: Michel Dänzer <michel.daenzer@amd.com>
    Signed-off-by: Alex Deucher <alexander.deucher@amd.com>
    Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>

commit ae7952e88f6cd5e0605501b1662283a6adb6501a
Author: Alex Deucher <alexander.deucher@amd.com>
Date:   Fri Mar 8 13:44:15 2013 -0500

    drm/radeon: add support for Richland APUs
    
    commit e4d170633fde379f39a90f8a5e7eb619b5d1144d upstream.
    
    Richland APUs are a new version of the Trinity APUs
    with performance and power management improvements.
    
    Reviewed-by: Jerome Glisse <jglisse@redhat.com>
    Signed-off-by: Alex Deucher <alexander.deucher@amd.com>
    Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>

commit 2cf470d198f3bf272910dff8f039ee77fc61db0c
Author: Alex Deucher <alexander.deucher@amd.com>
Date:   Fri Mar 8 13:36:54 2013 -0500

    drm/radeon: add Richland pci ids
    
    commit b75bbaa038ffc426e88ea3df6c4ae11834fc3e4f upstream.
    
    Reviewed-by: Jerome Glisse <jglisse@redhat.com>
    Signed-off-by: Alex Deucher <alexander.deucher@amd.com>
    Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>

commit 6e8d94de159e7520e6ff1ecaf8419844b93631e7
Author: Andy Grover <agrover@redhat.com>
Date:   Mon Mar 4 13:52:09 2013 -0800

    target/iscsi: Fix mutual CHAP auth on big-endian arches
    
    commit 7ac9ad11b2a5cf77a92b58ee6b672ad2fa155eb1 upstream.
    
    See https://bugzilla.redhat.com/show_bug.cgi?id=916290
    
    Used a temp var since we take its address in sg_init_one.
    
    Signed-off-by: Andy Grover <agrover@redhat.com>
    Signed-off-by: Nicholas Bellinger <nab@linux-iscsi.org>
    Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>

commit bea7cce4319edd8c15d78833f9b5bb752f997662
Author: Wanpeng Li <liwanp@linux.vnet.ibm.com>
Date:   Fri Mar 22 15:04:40 2013 -0700

    mm/hugetlb: fix total hugetlbfs pages count when using memory overcommit accouting
    
    commit d00285884c0892bb1310df96bce6056e9ce9b9d9 upstream.
    
    hugetlb_total_pages is used for overcommit calculations but the current
    implementation considers only the default hugetlb page size (which is
    either the first defined hugepage size or the one specified by
    default_hugepagesz kernel boot parameter).
    
    If the system is configured for more than one hugepage size, which is
    possible since commit a137e1cc6d6e ("hugetlbfs: per mount huge page
    sizes") then the overcommit estimation done by __vm_enough_memory()
    (resp.  shown by meminfo_proc_show) is not precise - there is an
    impression of more available/allowed memory.  This can lead to an
    unexpected ENOMEM/EFAULT resp.  SIGSEGV when memory is accounted.
    
    Testcase:
      boot: hugepagesz=1G hugepages=1
      the default overcommit ratio is 50
      before patch:
    
        egrep 'CommitLimit' /proc/meminfo
        CommitLimit:     55434168 kB
    
      after patch:
    
        egrep 'CommitLimit' /proc/meminfo
        CommitLimit:     54909880 kB
    
    [akpm@linux-foundation.org: coding-style tweak]
    Signed-off-by: Wanpeng Li <liwanp@linux.vnet.ibm.com>
    Acked-by: Michal Hocko <mhocko@suse.cz>
    Cc: "Aneesh Kumar K.V" <aneesh.kumar@linux.vnet.ibm.com>
    Cc: Hillf Danton <dhillf@gmail.com>
    Cc: KAMEZAWA Hiroyuki <kamezawa.hiroyu@jp.fujitsu.com>
    Signed-off-by: Andrew Morton <akpm@linux-foundation.org>
    Signed-off-by: Linus Torvalds <torvalds@linux-foundation.org>
    Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>

commit 612dadee15aa0a474309a93f53172920fe93d609
Author: Torsten Duwe <torsten@lst.de>
Date:   Sat Mar 23 15:39:34 2013 +0100

    KMS: fix EDID detailed timing frame rate
    
    commit c19b3b0f6eed552952845e4ad908dba2113d67b4 upstream.
    
    When KMS has parsed an EDID "detailed timing", it leaves the frame rate
    zeroed.  Consecutive (debug-) output of that mode thus yields 0 for
    vsync.  This simple fix also speeds up future invocations of
    drm_mode_vrefresh().
    
    While it is debatable whether this qualifies as a -stable fix I'd apply
    it for consistency's sake; drm_helper_probe_single_connector_modes()
    does the same thing already for all probed modes.
    
    Signed-off-by: Torsten Duwe <duwe@lst.de>
    Signed-off-by: Linus Torvalds <torvalds@linux-foundation.org>
    Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>

commit 2c5d8164483160f6f280da92e358af16aa966cf1
Author: Torsten Duwe <torsten@lst.de>
Date:   Sat Mar 23 15:38:22 2013 +0100

    KMS: fix EDID detailed timing vsync parsing
    
    commit 16dad1d743d31a104a849c8944e6b9eb479f6cd7 upstream.
    
    EDID spreads some values across multiple bytes; bit-fiddling is needed
    to retrieve these.  The current code to parse "detailed timings" has a
    cut&paste error that results in a vsync offset of at most 15 lines
    instead of 63.
    
    See
    
       http://en.wikipedia.org/wiki/EDID
    
    and in the "EDID Detailed Timing Descriptor" see bytes 10+11 show why
    that needs to be a left shift.
    
    Signed-off-by: Torsten Duwe <duwe@lst.de>
    Signed-off-by: Linus Torvalds <torvalds@linux-foundation.org>
    Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>

commit e03f8b87d6b11e8c2f9d31b221d8c536091485af
Author: Kees Cook <keescook@chromium.org>
Date:   Mon Mar 11 17:31:45 2013 -0700

    drm/i915: bounds check execbuffer relocation count
    
    commit 3118a4f652c7b12c752f3222af0447008f9b2368 upstream.
    
    It is possible to wrap the counter used to allocate the buffer for
    relocation copies. This could lead to heap writing overflows.
    
    CVE-2013-0913
    
    v3: collapse test, improve comment
    v2: move check into validate_exec_list
    
    Signed-off-by: Kees Cook <keescook@chromium.org>
    Reported-by: Pinkie Pie
    Reviewed-by: Chris Wilson <chris@chris-wilson.co.uk>
    Signed-off-by: Daniel Vetter <daniel.vetter@ffwll.ch>
    Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>

commit 5cec2bb0c7b4d16bb176b6299d4b6dd098c9db24
Author: Bing Zhao <bzhao@marvell.com>
Date:   Thu Mar 7 20:00:16 2013 -0800

    mwifiex: fix potential out-of-boundary access to ibss rate table
    
    commit 5f0fabf84d7b52f979dcbafa3d3c530c60d9a92c upstream.
    
    smatch found this error:
    
    CHECK   drivers/net/wireless/mwifiex/join.c
      drivers/net/wireless/mwifiex/join.c:1121
      mwifiex_cmd_802_11_ad_hoc_join()
      error: testing array offset 'i' after use.
    
    Signed-off-by: Bing Zhao <bzhao@marvell.com>
    Signed-off-by: John W. Linville <linville@tuxdriver.com>
    Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>

commit 5a468a7612955576708aa3890a9e549e6090d35f
Author: Larry Finger <Larry.Finger@lwfinger.net>
Date:   Wed Mar 13 10:28:13 2013 -0500

    rtlwifi: rtl8192cu: Fix problem that prevents reassociation
    
    commit 9437a248e7cac427c898bdb11bd1ac6844a1ead4 upstream.
    
    The driver was failing to clear the BSSID when a disconnect happened. That
    prevented a reconnection. This problem is reported at
    https://bugzilla.redhat.com/show_bug.cgi?id=789605,
    https://bugzilla.redhat.com/show_bug.cgi?id=866786,
    https://bugzilla.redhat.com/show_bug.cgi?id=906734, and
    https://bugzilla.kernel.org/show_bug.cgi?id=46171.
    
    Thanks to Jussi Kivilinna for making the critical observation
    that led to the solution.
    
    Reported-by: Jussi Kivilinna <jussi.kivilinna@iki.fi>
    Tested-by: Jussi Kivilinna <jussi.kivilinna@iki.fi>
    Tested-by: Alessandro Lannocca <alessandro.lannocca@gmail.com>
    Signed-off-by: Larry Finger <Larry.Finger@lwfinger.net>
    Signed-off-by: John W. Linville <linville@tuxdriver.com>
    Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>

commit b903216e8149bc3a226c2c997f803edcb3d0ff7c
Author: Larry Finger <Larry.Finger@lwfinger.net>
Date:   Wed Feb 27 14:10:30 2013 -0600

    rtlwifi: rtl8192cu: Fix schedule while atomic bug splat
    
    commit 664899786cb49cb52f620e06ac19c0be524a7cfa upstream.
    
    When run at debug 3 or higher, rtl8192cu reports a BUG as follows:
    
    BUG: scheduling while atomic: kworker/u:0/5281/0x00000002
    INFO: lockdep is turned off.
    Modules linked in: rtl8192cu rtl8192c_common rtlwifi fuse af_packet bnep bluetooth b43 mac80211 cfg80211 ipv6 snd_hda_codec_conexant kvm_amd k
    vm snd_hda_intel snd_hda_codec bcma rng_core snd_pcm ssb mmc_core snd_seq snd_timer snd_seq_device snd i2c_nforce2 sr_mod pcmcia forcedeth i2c_core soundcore
     cdrom sg serio_raw k8temp hwmon joydev ac battery pcmcia_core snd_page_alloc video button wmi autofs4 ext4 mbcache jbd2 crc16 thermal processor scsi_dh_alua
     scsi_dh_hp_sw scsi_dh_rdac scsi_dh_emc scsi_dh ata_generic pata_acpi pata_amd [last unloaded: rtlwifi]
    Pid: 5281, comm: kworker/u:0 Tainted: G        W    3.8.0-wl+ #119
    Call Trace:
     [<ffffffff814531e7>] __schedule_bug+0x62/0x70
     [<ffffffff81459af0>] __schedule+0x730/0xa30
     [<ffffffff81326e49>] ? usb_hcd_link_urb_to_ep+0x19/0xa0
     [<ffffffff8145a0d4>] schedule+0x24/0x70
     [<ffffffff814575ec>] schedule_timeout+0x18c/0x2f0
     [<ffffffff81459ec0>] ? wait_for_common+0x40/0x180
     [<ffffffff8133f461>] ? ehci_urb_enqueue+0xf1/0xee0
     [<ffffffff810a579d>] ? trace_hardirqs_on+0xd/0x10
     [<ffffffff81459f65>] wait_for_common+0xe5/0x180
     [<ffffffff8107d1c0>] ? try_to_wake_up+0x2d0/0x2d0
     [<ffffffff8145a08e>] wait_for_completion_timeout+0xe/0x10
     [<ffffffff8132ab1c>] usb_start_wait_urb+0x8c/0x100
     [<ffffffff8132adf9>] usb_control_msg+0xd9/0x130
     [<ffffffffa057dd8d>] _usb_read_sync+0xcd/0x140 [rtlwifi]
     [<ffffffffa057de0e>] _usb_read32_sync+0xe/0x10 [rtlwifi]
     [<ffffffffa04b0555>] rtl92cu_update_hal_rate_table+0x1a5/0x1f0 [rtl8192cu]
    
    The cause is a synchronous read from routine rtl92cu_update_hal_rate_table().
    The resulting output is not critical, thus the debug statement is
    deleted.
    
    Reported-by: Jussi Kivilinna <jussi.kivilinna@mbnet.fi>
    Signed-off-by: Larry Finger <Larry.Finger@lwfinger.net>
    Signed-off-by: John W. Linville <linville@tuxdriver.com>
    Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>

commit 52cecaa20589203f08a965af4604acec8a946825
Author: Steven Rostedt (Red Hat) <rostedt@goodmis.org>
Date:   Wed Mar 13 11:15:19 2013 -0400

    tracing: Fix free of probe entry by calling call_rcu_sched()
    
    commit 740466bc89ad8bd5afcc8de220f715f62b21e365 upstream.
    
    Because function tracing is very invasive, and can even trace
    calls to rcu_read_lock(), RCU access in function tracing is done
    with preempt_disable_notrace(). This requires a synchronize_sched()
    for updates and not a synchronize_rcu().
    
    Function probes (traceon, traceoff, etc) must be freed after
    a synchronize_sched() after its entry has been removed from the
    hash. But call_rcu() is used. Fix this by using call_rcu_sched().
    
    Also fix the usage to use hlist_del_rcu() instead of hlist_del().
    
    Signed-off-by: Steven Rostedt <rostedt@goodmis.org>
    Cc: Paul McKenney <paulmck@linux.vnet.ibm.com>
    Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>

commit 1e3b58b64c6574c9c8e299c68c8c4716f8dd3c21
Author: Steven Rostedt (Red Hat) <rostedt@goodmis.org>
Date:   Tue Mar 12 11:32:32 2013 -0400

    tracing: Fix race in snapshot swapping
    
    commit 2721e72dd10f71a3ba90f59781becf02638aa0d9 upstream.
    
    Although the swap is wrapped with a spin_lock, the assignment
    of the temp buffer used to swap is not within that lock.
    It needs to be moved into that lock, otherwise two swaps
    happening on two different CPUs, can end up using the wrong
    temp buffer to assign in the swap.
    
    Luckily, all current callers of the swap function appear to have
    their own locks. But in case something is added that allows two
    different callers to call the swap, then there's a chance that
    this race can trigger and corrupt the buffers.
    
    New code is coming soon that will allow for this race to trigger.
    
    I've Cc'd stable, so this bug will not show up if someone backports
    one of the changes that can trigger this bug.
    
    Signed-off-by: Steven Rostedt <rostedt@goodmis.org>
    Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>

commit 74a523fb1759bd3afabf586740041e6d09d731c2
Author: Kees Cook <keescook@chromium.org>
Date:   Mon Mar 11 12:25:19 2013 -0700

    drm/i915: restrict kernel address leak in debugfs
    
    commit 2563a4524febe8f4a98e717e02436d1aaf672aa2 upstream.
    
    Masks kernel address info-leak in object dumps with the %pK suffix,
    so they cannot be used to target kernel memory corruption attacks if
    the kptr_restrict sysctl is set.
    
    Signed-off-by: Kees Cook <keescook@chromium.org>
    Signed-off-by: Daniel Vetter <daniel.vetter@ffwll.ch>
    Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>

commit cb8a0948b8cc114aa7d4ff5e787f20d3a77ade0e
Author: Daniel Mack <zonque@gmail.com>
Date:   Tue Mar 19 21:09:25 2013 +0100

    ALSA: snd-usb: mixer: ignore -EINVAL in snd_usb_mixer_controls()
    
    commit 83ea5d18d74f032a760fecde78c0210f66f7f70c upstream.
    
    Creation of individual mixer controls may fail, but that shouldn't cause
    the entire mixer creation to fail. Even worse, if the mixer creation
    fails, that will error out the entire device probing.
    
    All the functions called by parse_audio_unit() should return -EINVAL if
    they find descriptors that are unsupported or believed to be malformed,
    so we can safely handle this error code as a non-fatal condition in
    snd_usb_mixer_controls().
    
    That fixes a long standing bug which is commonly worked around by
    adding quirks which make the driver ignore entire interfaces. Some of
    them might now be unnecessary.
    
    Signed-off-by: Daniel Mack <zonque@gmail.com>
    Reported-and-tested-by: Rodolfo Thomazelli <pe.soberbo@gmail.com>
    Signed-off-by: Takashi Iwai <tiwai@suse.de>
    Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>

commit 184f526252cb2a6fd74c96f0d73271992cc04ee6
Author: Daniel Mack <zonque@gmail.com>
Date:   Tue Mar 19 21:09:24 2013 +0100

    ALSA: snd-usb: mixer: propagate errors up the call chain
    
    commit 4d7b86c98e445b075c2c4c3757eb6d3d6efbe72e upstream.
    
    In check_input_term() and parse_audio_feature_unit(), propagate the
    error value that has been returned by a failing function instead of
    -EINVAL. That helps cleaning up the error pathes in the mixer.
    
    Signed-off-by: Daniel Mack <zonque@gmail.com>
    Signed-off-by: Takashi Iwai <tiwai@suse.de>
    Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>

commit e97814511e1e878eea551d17068a0595b6afba8b
Author: Takashi Iwai <tiwai@suse.de>
Date:   Wed Mar 20 15:42:00 2013 +0100

    ALSA: hda - Fix typo in checking IEC958 emphasis bit
    
    commit a686fd141e20244ad75f80ad54706da07d7bb90a upstream.
    
    There is a typo in convert_to_spdif_status() about checking the
    emphasis IEC958 status bit.  It should check the given value instead
    of the resultant value.
    
    Reported-by: Martin Weishart <martin.weishart@telosalliance.com>
    Signed-off-by: Takashi Iwai <tiwai@suse.de>
    Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>

commit 184e91c6933115a6a65566561ecc921b9af5f902
Author: Takashi Iwai <tiwai@suse.de>
Date:   Mon Mar 18 11:00:44 2013 +0100

    ALSA: hda/cirrus - Fix the digital beep registration
    
    commit a86b1a2cd2f81f74e815e07f756edd7bc5b6f034 upstream.
    
    The argument passed to snd_hda_attach_beep_device() is a widget NID
    while spec->beep_amp holds the composed value for amp controls.
    
    Signed-off-by: Takashi Iwai <tiwai@suse.de>
    Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>

commit 46a84dbc74f10d2f855758d809a0b21592bd2b8e
Author: Ben Hutchings <bhutchings@solarflare.com>
Date:   Wed Feb 27 16:50:38 2013 +0000

    sfc: Only use TX push if a single descriptor is to be written
    
    [ Upstream commit fae8563b25f73dc584a07bcda7a82750ff4f7672 ]
    
    Using TX push when notifying the NIC of multiple new descriptors in
    the ring will very occasionally cause the TX DMA engine to re-use an
    old descriptor.  This can result in a duplicated or partly duplicated
    packet (new headers with old data), or an IOMMU page fault.  This does
    not happen when the pushed descriptor is the only one written.
    
    TX push also provides little latency benefit when a packet requires
    more than one descriptor.
    
    Signed-off-by: Ben Hutchings <bhutchings@solarflare.com>
    Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>

commit 70a3336df60074b29ac3b546d8fccfbcf7831e95
Author: Ben Hutchings <bhutchings@solarflare.com>
Date:   Tue Mar 5 01:03:47 2013 +0000

    sfc: Disable soft interrupt handling during efx_device_detach_sync()
    
    [ Upstream commit 35205b211c8d17a8a0b5e8926cb7c73e9a7ef1ad ]
    
    efx_device_detach_sync() locks all TX queues before marking the device
    detached and thus disabling further TX scheduling.  But it can still
    be interrupted by TX completions which then result in TX scheduling in
    soft interrupt context.  This will deadlock when it tries to acquire
    a TX queue lock that efx_device_detach_sync() already acquired.
    
    To avoid deadlock, we must use netif_tx_{,un}lock_bh().
    
    Signed-off-by: Ben Hutchings <bhutchings@solarflare.com>
    Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>

commit bea3099eb4f3f73cc2c311d39ef374eb6aa06f88
Author: Ben Hutchings <bhutchings@solarflare.com>
Date:   Mon Jan 28 19:01:06 2013 +0000

    sfc: Detach net device when stopping queues for reconfiguration
    
    [ Upstream commit 29c69a4882641285a854d6d03ca5adbba68c0034 ]
    
    We must only ever stop TX queues when they are full or the net device
    is not 'ready' so far as the net core, and specifically the watchdog,
    is concerned.  Otherwise, the watchdog may fire *immediately* if no
    packets have been added to the queue in the last 5 seconds.
    
    The device is ready if all the following are true:
    
    (a) It has a qdisc
    (b) It is marked present
    (c) It is running
    (d) The link is reported up
    
    (a) and (c) are normally true, and must not be changed by a driver.
    (d) is under our control, but fake link changes may disturb userland.
    This leaves (b).  We already mark the device absent during reset
    and self-test, but we need to do the same during MTU changes and ring
    reallocation.  We don't need to do this when the device is brought
    down because then (c) is already false.
    
    Signed-off-by: Ben Hutchings <bhutchings@solarflare.com>
    Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>

commit 4b8fd2aa494aff51404a4afa0fe36475fd419b76
Author: Ben Hutchings <bhutchings@solarflare.com>
Date:   Thu Jan 10 23:51:54 2013 +0000

    sfc: Fix efx_rx_buf_offset() in the presence of swiotlb
    
    [ Upstream commits b590ace09d51cd39744e0f7662c5e4a0d1b5d952 and
      c73e787a8db9117d59b5180baf83203a42ecadca ]
    
    We assume that the mapping between DMA and virtual addresses is done
    on whole pages, so we can find the page offset of an RX buffer using
    the lower bits of the DMA address.  However, swiotlb maps in units of
    2K, breaking this assumption.
    
    Add an explicit page_offset field to struct efx_rx_buffer.
    
    Signed-off-by: Ben Hutchings <bhutchings@solarflare.com>
    Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>

commit 56bed2f8e6061b65ce3f9f27df92ac2e1cc2e7e0
Author: Ben Hutchings <bhutchings@solarflare.com>
Date:   Thu Dec 20 18:48:20 2012 +0000

    sfc: Properly sync RX DMA buffer when it is not the last in the page
    
    [ Upstream commit 3a68f19d7afb80f548d016effbc6ed52643a8085 ]
    
    We may currently allocate two RX DMA buffers to a page, and only unmap
    the page when the second is completed.  We do not sync the first RX
    buffer to be completed; this can result in packet loss or corruption
    if the last RX buffer completed in a NAPI poll is the first in a page
    and is not DMA-coherent.  (In the middle of a NAPI poll, we will
    handle the following RX completion and unmap the page *before* looking
    at the content of the first buffer.)
    
    Signed-off-by: Ben Hutchings <bhutchings@solarflare.com>
    [bwh: Backported to 3.4: adjust context]
    Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>

commit 41ade8ee0d52f9e02d05cb1b1c376445d5ec3689
Author: Ben Hutchings <bhutchings@solarflare.com>
Date:   Sat Dec 1 01:55:27 2012 +0000

    sfc: Correctly initialise reset_method in siena_test_chip()
    
    [ Upstream commit ef492f11efed9a6a1686bf914fb74468df59385c ]
    
    Signed-off-by: Ben Hutchings <bhutchings@solarflare.com>
    Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>

commit 2672f1c1e7d1e5132fc102fdcb98e44320c1e65b
Author: Ben Hutchings <bhutchings@solarflare.com>
Date:   Wed Sep 19 02:53:34 2012 +0100

    sfc: Avoid generating over-length MC_CMD_FLUSH_RX_QUEUES request
    
    [ Upstream commit 450783747f42dfa3883920acfad4acdd93ce69af ]
    
    MCDI supports requests up to 252 bytes long, which is only enough to
    pass 63 RX queue IDs to MC_CMD_FLUSH_RX_QUEUES.  However a VF may have
    up to 64 RX queues, and if we try to flush them all we will generate
    an over-length request and BUG() in efx_mcdi_copyin().  Currently
    all VF drivers limit themselves to 32 RX queues, so reducing the
    limit to 63 does no harm.
    
    Also add a BUILD_BUG_ON in efx_mcdi_flush_rxqs() so we remember to
    deal with the same problem there if EFX_MAX_CHANNELS is increased.
    
    Signed-off-by: Ben Hutchings <bhutchings@solarflare.com>
    Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>

commit ab2c550664153268b7500355dfeab7d7f9c2de98
Author: Ben Hutchings <bhutchings@solarflare.com>
Date:   Wed Jul 4 03:58:33 2012 +0100

    sfc: Disable VF queues during register self-test
    
    [ Upstream commit d4f2cecce138c34960c467d0ae38a6d4bcd6af7b ]
    
    Currently VF queues and drivers may remain active during this test.
    This could cause memory corruption or spurious test failures.
    Therefore we reset the port/function before running these tests on
    Siena.
    
    On Falcon this doesn't work: we have to do some additional
    initialisation before some blocks will work again.  So refactor the
    reset/register-test sequence into an efx_nic_type method so
    efx_selftest() doesn't have to consider such quirks.
    
    In the process, fix another minor bug: Siena does not have an
    'invisible' reset and the self-test currently fails to push the PHY
    configuration after resetting.  Passing RESET_TYPE_ALL to
    efx_reset_{down,up}() fixes this.
    
    Signed-off-by: Ben Hutchings <bhutchings@solarflare.com>
    Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>

commit 3ad735c406aa1b411dd55b354410f8751a9e16e5
Author: Ben Hutchings <bhutchings@solarflare.com>
Date:   Sat Dec 1 02:21:17 2012 +0000

    sfc: Fix timekeeping in efx_mcdi_poll()
    
    [ Upstream commit ebf98e797b4e26ad52ace1511a0b503ee60a6cd4 ]
    
    efx_mcdi_poll() uses get_seconds() to read the current time and to
    implement a polling timeout.  The use of this function was chosen
    partly because it could easily be replaced in a co-sim environment
    with a macro that read the simulated time.
    
    Unfortunately the real get_seconds() returns the system time (real
    time) which is subject to adjustment by e.g. ntpd.  If the system time
    is adjusted forward during a polled MCDI operation, the effective
    timeout can be shorter than the intended 10 seconds, resulting in a
    spurious failure.  It is also possible for a backward adjustment to
    delay detection of a areal failure.
    
    Use jiffies instead, and change MCDI_RPC_TIMEOUT to be denominated in
    jiffies.  Also correct rounding of the timeout: check time > finish
    (or rather time_after(time, finish)) and not time >= finish.
    
    Signed-off-by: Ben Hutchings <bhutchings@solarflare.com>
    Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>

commit 54ad9a8b55456fc16e326f79f9038a213a2df4c4
Author: Daniel Pieczko <dpieczko@solarflare.com>
Date:   Wed Oct 17 13:21:23 2012 +0100

    sfc: lock TX queues when calling netif_device_detach()
    
    [ Upstream commit c2f3b8e3a44b6fe9e36704e30157ebe1a88c08b1 ]
    
    The assertion of netif_device_present() at the top of
    efx_hard_start_xmit() may fail if we don't do this.
    
    Signed-off-by: Ben Hutchings <bhutchings@solarflare.com>
    [bwh: Backported to 3.4: adjust context]
    Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>

commit e0992b773dfaea1798272b1c4f6d4c4e90e9da84
Author: Daniel Pieczko <dpieczko@solarflare.com>
Date:   Tue Oct 2 13:36:18 2012 +0100

    sfc: Work-around flush timeout when flushes have completed
    
    [ Upstream commit 525d9e824018cd7cc8d8d44832ddcd363abfe6e1 ]
    
    We sometimes hit a "failed to flush" timeout on some TX queues, but the
    flushes have completed and the flush completion events seem to go missing.
    In this case, we can check the TX_DESC_PTR_TBL register and drain the
    queues if the flushes had finished.
    
    [bwh: Minor fixes to coding style]
    Signed-off-by: Ben Hutchings <bhutchings@solarflare.com>
    Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>

commit 6099070d08794324beda3cf25651401fd8261dd1
Author: Ben Hutchings <bhutchings@solarflare.com>
Date:   Thu Sep 6 16:52:31 2012 +0100

    sfc: Really disable flow control while flushing
    
    [ Upstream commit d5e8cc6c946e0857826dcfbb3585068858445bfe ]
    
    Receiving pause frames can block TX queue flushes.  Earlier changes
    work around this by reconfiguring the MAC during flushes for VFs, but
    during flushes for the PF we would only change the fc_disable counter.
    Unless the MAC is reconfigured for some other reason during the flush
    (which I would not expect to happen) this had no effect at all.
    
    Signed-off-by: Ben Hutchings <bhutchings@solarflare.com>
    Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>

commit 4d64cdba19f7c0d4c7fa15671b2817cfc5ebc643
Author: Ben Hutchings <bhutchings@solarflare.com>
Date:   Tue Sep 11 21:46:41 2012 +0100

    sfc: Fix MCDI structure field lookup
    
    [ Upstream commit 0a6e5008a9df678b48f8d4e57601aa4270df6c14 ]
    
    The least significant bit number (LBN) of a field within an MCDI
    structure is counted from the start of the structure, not the
    containing dword.  In MCDI_ARRAY_FIELD() we need to mask it rather
    than using the usual EFX_DWORD_FIELD() macro.
    
    Signed-off-by: Ben Hutchings <bhutchings@solarflare.com>
    Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>

commit 9a17de12d2b4c4c9cb5b1414fade61f8e9561625
Author: Ben Hutchings <bhutchings@solarflare.com>
Date:   Tue Sep 11 21:37:36 2012 +0100

    sfc: Add parentheses around use of bitfield macro arguments
    
    [ Upstream commit 9724a8504c875145f5a513bb8eca50671cee23b4 ]
    
    Signed-off-by: Ben Hutchings <bhutchings@solarflare.com>
    Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>

commit 0f1ac29892c257ef9d13e317163d6761fe24a389
Author: Ben Hutchings <bhutchings@solarflare.com>
Date:   Fri Sep 7 00:58:10 2012 +0100

    sfc: Convert firmware subtypes to native byte order in efx_mcdi_get_board_cfg()
    
    [ Upstream commit bfeed902946a31692e7a24ed355b6d13ac37d014 ]
    
    On big-endian systems the MTD partition names currently have mangled
    subtype numbers and are not recognised by the firmware update tool
    (sfupdate).
    
    Signed-off-by: Ben Hutchings <bhutchings@solarflare.com>
    Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>

commit be29fc5aa4a60b212066a28c0137236711486ec1
Author: Stuart Hodgson <smhodgson@solarflare.com>
Date:   Fri Mar 30 13:04:51 2012 +0100

    sfc: Do not attempt to flush queues if DMA is disabled
    
    [ Upstream commit 3dca9d2dc285faf1910d405b65df845cab061356 ]
    
    efx_nic_fatal_interrupt() disables DMA before scheduling a reset.
    After this, we need not and *cannot* flush queues.
    
    Signed-off-by: Ben Hutchings <bhutchings@solarflare.com>
    Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>

commit 1280938465132080915aef414a1f40f62831bab9
Author: Hannes Frederic Sowa <hannes@stressinduktion.org>
Date:   Fri Mar 15 11:32:30 2013 +0000

    inet: limit length of fragment queue hash table bucket lists
    
    [ Upstream commit 5a3da1fe9561828d0ca7eca664b16ec2b9bf0055 ]
    
    This patch introduces a constant limit of the fragment queue hash
    table bucket list lengths. Currently the limit 128 is choosen somewhat
    arbitrary and just ensures that we can fill up the fragment cache with
    empty packets up to the default ip_frag_high_thresh limits. It should
    just protect from list iteration eating considerable amounts of cpu.
    
    If we reach the maximum length in one hash bucket a warning is printed.
    This is implemented on the caller side of inet_frag_find to distinguish
    between the different users of inet_fragment.c.
    
    I dropped the out of memory warning in the ipv4 fragment lookup path,
    because we already get a warning by the slab allocator.
    
    Cc: Eric Dumazet <eric.dumazet@gmail.com>
    Cc: Jesper Dangaard Brouer <jbrouer@redhat.com>
    Signed-off-by: Hannes Frederic Sowa <hannes@stressinduktion.org>
    Acked-by: Eric Dumazet <edumazet@google.com>
    Signed-off-by: David S. Miller <davem@davemloft.net>
    Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>

commit 05bec9da3978124bde3b40bfa0404760f45aa399
Author: Maciej Żenczykowski <maze@google.com>
Date:   Fri Mar 15 11:56:17 2013 +0000

    bnx2x: fix occasional statistics off-by-4GB error
    
    [ Upstream commit b009aac12cd0fe34293c68af8ac48b85be3bd858 ]
    
    The UPDATE_QSTAT function introduced on February 15, 2012
    in commit 1355b704b9ba "bnx2x: consistent statistics after
    internal driver reload" incorrectly fails to handle overflow
    during addition of the lower 32-bit field of a stat.
    
    This bug is present since 3.4-rc1 and should thus be considered
    a candidate for stable 3.4+ releases.
    
    Google-Bug-Id: 8374428
    Signed-off-by: Maciej Żenczykowski <maze@google.com>
    Cc: Mintz Yuval <yuvalmin@broadcom.com>
    Acked-by: Eilon Greenstein <eilong@broadcom.com>
    Signed-off-by: David S. Miller <davem@davemloft.net>
    Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>

commit c2abe8ada7b63b6ede9c80e615fdbc97dde2e2e2
Author: Michael S. Tsirkin <mst@redhat.com>
Date:   Sun Mar 17 02:46:09 2013 +0000

    vhost/net: fix heads usage of ubuf_info
    
    [ Upstream commit 46aa92d1ba162b4b3d6b7102440e459d4e4ee255 ]
    
    ubuf info allocator uses guest controlled head as an index,
    so a malicious guest could put the same head entry in the ring twice,
    and we will get two callbacks on the same value.
    To fix use upend_idx which is guaranteed to be unique.
    
    Reported-by: Rusty Russell <rusty@rustcorp.com.au>
    Signed-off-by: Michael S. Tsirkin <mst@redhat.com>
    Cc: stable@kernel.org
    Signed-off-by: David S. Miller <davem@davemloft.net>
    Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>

commit 08ebc8f4c0acb1e9a104e66fdc2bb5b4e29171f5
Author: Vlad Yasevich <vyasevic@redhat.com>
Date:   Wed Mar 13 04:18:58 2013 +0000

    rtnetlink: Mask the rta_type when range checking
    
    [ Upstream commit a5b8db91442fce9c9713fcd656c3698f1adde1d6 ]
    
    Range/validity checks on rta_type in rtnetlink_rcv_msg() do
    not account for flags that may be set.  This causes the function
    to return -EINVAL when flags are set on the type (for example
    NLA_F_NESTED).
    
    Signed-off-by: Vlad Yasevich <vyasevic@redhat.com>
    Acked-by: Thomas Graf <tgraf@suug.ch>
    Signed-off-by: David S. Miller <davem@davemloft.net>
    Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>

commit b6da578e2a610a64e89f2a983f7675eb301c5d35
Author: Eric Dumazet <edumazet@google.com>
Date:   Thu Mar 14 05:40:32 2013 +0000

    tcp: fix skb_availroom()
    
    [ Upstream commit 16fad69cfe4adbbfa813de516757b87bcae36d93 ]
    
    Chrome OS team reported a crash on a Pixel ChromeBook in TCP stack :
    
    https://code.google.com/p/chromium/issues/detail?id=182056
    
    commit a21d45726acac (tcp: avoid order-1 allocations on wifi and tx
    path) did a poor choice adding an 'avail_size' field to skb, while
    what we really needed was a 'reserved_tailroom' one.
    
    It would have avoided commit 22b4a4f22da (tcp: fix retransmit of
    partially acked frames) and this commit.
    
    Crash occurs because skb_split() is not aware of the 'avail_size'
    management (and should not be aware)
    
    Signed-off-by: Eric Dumazet <edumazet@google.com>
    Reported-by: Mukesh Agrawal <quiche@chromium.org>
    Signed-off-by: David S. Miller <davem@davemloft.net>
    Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>

commit 6a2d122cdd939e33279baf351c7cbf12c50eaeb5
Author: Denis V. Lunev <den@openvz.org>
Date:   Wed Mar 13 00:24:15 2013 +0000

    ipv4: fix definition of FIB_TABLE_HASHSZ
    
    [ Upstream commit 5b9e12dbf92b441b37136ea71dac59f05f2673a9 ]
    
    a long time ago by the commit
    
      commit 93456b6d7753def8760b423ac6b986eb9d5a4a95
      Author: Denis V. Lunev <den@openvz.org>
      Date:   Thu Jan 10 03:23:38 2008 -0800
    
        [IPV4]: Unify access to the routing tables.
    
    the defenition of FIB_HASH_TABLE size has obtained wrong dependency:
    it should depend upon CONFIG_IP_MULTIPLE_TABLES (as was in the original
    code) but it was depended from CONFIG_IP_ROUTE_MULTIPATH
    
    This patch returns the situation to the original state.
    
    The problem was spotted by Tingwei Liu.
    
    Signed-off-by: Denis V. Lunev <den@openvz.org>
    CC: Tingwei Liu <tingw.liu@gmail.com>
    CC: Alexey Kuznetsov <kuznet@ms2.inr.ac.ru>
    Signed-off-by: David S. Miller <davem@davemloft.net>
    Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>

commit ca42fad953eab535f12b04cea9622b253faebb0b
Author: Xufeng Zhang <xufeng.zhang@windriver.com>
Date:   Thu Mar 7 21:39:37 2013 +0000

    sctp: don't break the loop while meeting the active_path so as to find the matched transport
    
    [ Upstream commit 2317f449af30073cfa6ec8352e4a65a89e357bdd ]
    
    sctp_assoc_lookup_tsn() function searchs which transport a certain TSN
    was sent on, if not found in the active_path transport, then go search
    all the other transports in the peer's transport_addr_list, however, we
    should continue to the next entry rather than break the loop when meet
    the active_path transport.
    
    Signed-off-by: Xufeng Zhang <xufeng.zhang@windriver.com>
    Acked-by: Neil Horman <nhorman@tuxdriver.com>
    Acked-by: Vlad Yasevich <vyasevich@gmail.com>
    Signed-off-by: David S. Miller <davem@davemloft.net>
    Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>

commit 0aa8bf90399754022f547b69e1812abe8bba4c0b
Author: Vlad Yasevich <vyasevich@gmail.com>
Date:   Tue Mar 12 15:53:23 2013 +0000

    sctp: Use correct sideffect command in duplicate cookie handling
    
    [ Upstream commit f2815633504b442ca0b0605c16bf3d88a3a0fcea ]
    
    When SCTP is done processing a duplicate cookie chunk, it tries
    to delete a newly created association.  For that, it has to set
    the right association for the side-effect processing to work.
    However, when it uses the SCTP_CMD_NEW_ASOC command, that performs
    more work then really needed (like hashing the associationa and
    assigning it an id) and there is no point to do that only to
    delete the association as a next step.  In fact, it also creates
    an impossible condition where an association may be found by
    the getsockopt() call, and that association is empty.  This
    causes a crash in some sctp getsockopts.
    
    The solution is rather simple.  We simply use SCTP_CMD_SET_ASOC
    command that doesn't have all the overhead and does exactly
    what we need.
    
    Reported-by: Karl Heiss <kheiss@gmail.com>
    Tested-by: Karl Heiss <kheiss@gmail.com>
    CC: Neil Horman <nhorman@tuxdriver.com>
    Signed-off-by: Vlad Yasevich <vyasevich@gmail.com>
    Acked-by: Neil Horman <nhorman@tuxdriver.com>
    Signed-off-by: David S. Miller <davem@davemloft.net>
    Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>

commit 147289d28fb7b7c10a9f8a2cd9e274a41fc3f1f6
Author: Nithin Sujir <nsujir@broadcom.com>
Date:   Tue Mar 12 15:32:48 2013 +0000

    tg3: 5715 does not link up when autoneg off
    
    [ Upstream commit 7c6cdead7cc9a99650d15497aae47d7472217eb1 ]
    
    Commit d13ba512cbba7de5d55d7a3b2aae7d83c8921457 ("tg3: Remove
    SPEED_UNKNOWN checks") cleaned up the autoneg advertisement by
    removing some dead code. One effect of this change was that the
    advertisement register would not be updated if autoneg is turned off.
    
    This exposed a bug on the 5715 device w.r.t linking. The 5715 defaults
    to advertise only 10Mb Full duplex. But with autoneg disabled, it needs
    the configured speed enabled in the advertisement register to link up.
    
    This patch adds the work around to advertise all speeds on the 5715 when
    autoneg is disabled.
    
    Reported-by: Marcin Miotk <marcinmiotk81@gmail.com>
    Reviewed-by: Benjamin Li <benli@broadcom.com>
    Signed-off-by: Nithin Nayak Sujir <nsujir@broadcom.com>
    Signed-off-by: Michael Chan <mchan@broadcom.com>
    Signed-off-by: David S. Miller <davem@davemloft.net>
    Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>

commit e7778a61fff957a36c0e53fc565df17d68dcbee6
Author: Veaceslav Falico <vfalico@redhat.com>
Date:   Tue Mar 12 06:31:32 2013 +0000

    bonding: don't call update_speed_duplex() under spinlocks
    
    [ Upstream commit 876254ae2758d50dcb08c7bd00caf6a806571178 ]
    
    bond_update_speed_duplex() might sleep while calling underlying slave's
    routines. Move it out of atomic context in bond_enslave() and remove it
    from bond_miimon_commit() - it was introduced by commit 546add79, however
    when the slave interfaces go up/change state it's their responsibility to
    fire NETDEV_UP/NETDEV_CHANGE events so that bonding can properly update
    their speed.
    
    I've tested it on all combinations of ifup/ifdown, autoneg/speed/duplex
    changes, remote-controlled and local, on (not) MII-based cards. All changes
    are visible.
    
    Signed-off-by: Veaceslav Falico <vfalico@redhat.com>
    Signed-off-by: David S. Miller <davem@davemloft.net>
    Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>

commit b52f06719c794cc8df5ea871a4fd498ff252210a
Author: Veaceslav Falico <vfalico@redhat.com>
Date:   Mon Mar 11 00:21:48 2013 +0000

    netconsole: don't call __netpoll_cleanup() while atomic
    
    [ Upstream commit 3f315bef23075ea8a98a6fe4221a83b83456d970 ]
    
    __netpoll_cleanup() is called in netconsole_netdev_event() while holding a
    spinlock. Release/acquire the spinlock before/after it and restart the
    loop. Also, disable the netconsole completely, because we won't have chance
    after the restart of the loop, and might end up in a situation where
    nt->enabled == 1 and nt->np.dev == NULL.
    
    Signed-off-by: Veaceslav Falico <vfalico@redhat.com>
    Acked-by: Neil Horman <nhorman@tuxdriver.com>
    Signed-off-by: David S. Miller <davem@davemloft.net>
    Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>

commit 7436bcf6158d70346928b9b26568f5bb3213a36f
Author: David Ward <david.ward@ll.mit.edu>
Date:   Mon Mar 11 10:43:39 2013 +0000

    net/ipv4: Ensure that location of timestamp option is stored
    
    [ Upstream commit 4660c7f498c07c43173142ea95145e9dac5a6d14 ]
    
    This is needed in order to detect if the timestamp option appears
    more than once in a packet, to remove the option if the packet is
    fragmented, etc. My previous change neglected to store the option
    location when the router addresses were prespecified and Pointer >
    Length. But now the option location is also stored when Flag is an
    unrecognized value, to ensure these option handling behaviors are
    still performed.
    
    Signed-off-by: David Ward <david.ward@ll.mit.edu>
    Signed-off-by: David S. Miller <davem@davemloft.net>
    Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>

commit 1c93c2e727a02efe7e143c6d6798facbab31d9e1
Author: Tkhai Kirill <tkhai@yandex.ru>
Date:   Sat Feb 23 23:01:15 2013 +0000

    sunsu: Fix panic in case of nonexistent port at "console=ttySY" cmdline option
    
    [ Upstream commit cb29529ea0030e60ef1bbbf8399a43d397a51526 ]
    
    If a machine has X (X < 4) sunsu ports and cmdline
    option "console=ttySY" is passed, where X < Y <= 4,
    than the following panic happens:
    
    Unable to handle kernel NULL pointer dereference
    TPC: <sunsu_console_setup+0x78/0xe0>
    RPC: <sunsu_console_setup+0x74/0xe0>
    I7: <register_console+0x378/0x3e0>
    Call Trace:
     [0000000000453a38] register_console+0x378/0x3e0
     [0000000000576fa0] uart_add_one_port+0x2e0/0x340
     [000000000057af40] su_probe+0x160/0x2e0
     [00000000005b8a4c] platform_drv_probe+0xc/0x20
     [00000000005b6c2c] driver_probe_device+0x12c/0x220
     [00000000005b6da8] __driver_attach+0x88/0xa0
     [00000000005b4df4] bus_for_each_dev+0x54/0xa0
     [00000000005b5a54] bus_add_driver+0x154/0x260
     [00000000005b7190] driver_register+0x50/0x180
     [00000000006d250c] sunsu_init+0x18c/0x1e0
     [00000000006c2668] do_one_initcall+0xe8/0x160
     [00000000006c282c] kernel_init_freeable+0x12c/0x1e0
     [0000000000603764] kernel_init+0x4/0x100
     [0000000000405f64] ret_from_syscall+0x1c/0x2c
     [0000000000000000]           (null)
    
    1)Fix the panic;
    2)Increment registered port number every successful
    probe.
    
    Signed-off-by: Kirill Tkhai <tkhai@yandex.ru>
    CC: David Miller <davem@davemloft.net>
    Signed-off-by: David S. Miller <davem@davemloft.net>
    Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>

commit 3ff89240cd6922f9da638e2cc3012b5f8f01f943
Author: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
Date:   Wed Mar 20 14:16:12 2013 -0700

    Revert "USB: EHCI: don't check DMA values in QH overlays"
    
    This reverts commit 0319f9909ce68a7516dfc8d53400e07168d281a8, which is commit
    feca7746d5d9e84b105a613b7f3b6ad00d327372 upstream.
    
    It shouldn't have gone into this stable release.
    
    Cc: Alan Stern <stern@rowland.harvard.edu>
    Cc: Joseph Salisbury <joseph.salisbury@canonical.com>
    Cc: Stephen Thirlwall <sdt@dr.com>
    Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>