commit 5cfc71ce138e79ceb6250f78137dd05ba52e9d34
Author: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
Date:   Wed Feb 11 14:48:30 2015 +0800

    Linux 3.10.69

commit 967d2ebb7c8d8a3903fc7da303390178a63bb2af
Author: Mathias Krause <minipli@googlemail.com>
Date:   Tue Feb 10 01:14:07 2015 +0100

    crypto: crc32c - add missing crypto module alias
    
    The backport of commit 5d26a105b5a7 ("crypto: prefix module autoloading
    with "crypto-"") lost the MODULE_ALIAS_CRYPTO() annotation of crc32c.c.
    Add it to fix the reported filesystem related regressions.
    
    Signed-off-by: Mathias Krause <minipli@googlemail.com>
    Reported-by: Philip Müller <philm@manjaro.org>
    Cc: Kees Cook <keescook@chromium.org>
    Cc: Rob McCathie <rob@manjaro.org>
    Cc: Luis Henriques <luis.henriques@canonical.com>
    Cc: Kamal Mostafa <kamal@canonical.com>
    Cc: Jiri Slaby <jslaby@suse.cz>
    Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>

commit 747a43ad696d6112d99d68c8462e4ddab0b7bab2
Author: Andy Lutomirski <luto@amacapital.net>
Date:   Wed Oct 8 09:02:13 2014 -0700

    x86,kvm,vmx: Preserve CR4 across VM entry
    
    commit d974baa398f34393db76be45f7d4d04fbdbb4a0a upstream.
    
    CR4 isn't constant; at least the TSD and PCE bits can vary.
    
    TBH, treating CR0 and CR3 as constant scares me a bit, too, but it looks
    like it's correct.
    
    This adds a branch and a read from cr4 to each vm entry.  Because it is
    extremely likely that consecutive entries into the same vcpu will have
    the same host cr4 value, this fixes up the vmcs instead of restoring cr4
    after the fact.  A subsequent patch will add a kernel-wide cr4 shadow,
    reducing the overhead in the common case to just two memory reads and a
    branch.
    
    Signed-off-by: Andy Lutomirski <luto@amacapital.net>
    Acked-by: Paolo Bonzini <pbonzini@redhat.com>
    Cc: Petr Matousek <pmatouse@redhat.com>
    Cc: Gleb Natapov <gleb@kernel.org>
    Signed-off-by: Linus Torvalds <torvalds@linux-foundation.org>
    [wangkai: Backport to 3.10: adjust context]
    Signed-off-by: Wang Kai <morgan.wang@huawei.com>
    Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>

commit f9e5b0ded4be49805adcceff46c1f44137773b24
Author: Petr Matousek <pmatouse@redhat.com>
Date:   Tue Sep 23 20:22:30 2014 +0200

    kvm: vmx: handle invvpid vm exit gracefully
    
    commit a642fc305053cc1c6e47e4f4df327895747ab485 upstream.
    
    On systems with invvpid instruction support (corresponding bit in
    IA32_VMX_EPT_VPID_CAP MSR is set) guest invocation of invvpid
    causes vm exit, which is currently not handled and results in
    propagation of unknown exit to userspace.
    
    Fix this by installing an invvpid vm exit handler.
    
    This is CVE-2014-3646.
    
    Cc: stable@vger.kernel.org
    Signed-off-by: Petr Matousek <pmatouse@redhat.com>
    Signed-off-by: Paolo Bonzini <pbonzini@redhat.com>
    [wangkai: Backport to 3.10: adjust context]
    Signed-off-by: Wang Kai <morgan.wang@huawei.com>
    Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>

commit 677616e3ecaa43e77a81e36aa162d32bdba01476
Author: Lai Jiangshan <laijs@cn.fujitsu.com>
Date:   Thu Jul 31 11:30:17 2014 +0800

    smpboot: Add missing get_online_cpus() in smpboot_register_percpu_thread()
    
    commit 4bee96860a65c3a62d332edac331b3cf936ba3ad upstream.
    
    The following race exists in the smpboot percpu threads management:
    
    CPU0	      	   	     CPU1
    cpu_up(2)
      get_online_cpus();
      smpboot_create_threads(2);
    			     smpboot_register_percpu_thread();
    			     for_each_online_cpu();
    			       __smpboot_create_thread();
      __cpu_up(2);
    
    This results in a missing per cpu thread for the newly onlined cpu2 and
    in a NULL pointer dereference on a consecutive offline of that cpu.
    
    Proctect smpboot_register_percpu_thread() with get_online_cpus() to
    prevent that.
    
    [ tglx: Massaged changelog and removed the change in
            smpboot_unregister_percpu_thread() because that's an
            optimization and therefor not stable material. ]
    
    Signed-off-by: Lai Jiangshan <laijs@cn.fujitsu.com>
    Cc: Thomas Gleixner <tglx@linutronix.de>
    Cc: Rusty Russell <rusty@rustcorp.com.au>
    Cc: Peter Zijlstra <peterz@infradead.org>
    Cc: Srivatsa S. Bhat <srivatsa.bhat@linux.vnet.ibm.com>
    Cc: David Rientjes <rientjes@google.com>
    Link: http://lkml.kernel.org/r/1406777421-12830-1-git-send-email-laijs@cn.fujitsu.com
    Signed-off-by: Thomas Gleixner <tglx@linutronix.de>
    Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>

commit 15a9c9addacfc62780b7908e15e4fc87b508791f
Author: Takashi Iwai <tiwai@suse.de>
Date:   Tue Jan 13 10:53:20 2015 +0100

    ALSA: ak411x: Fix stall in work callback
    
    commit 4161b4505f1690358ac0a9ee59845a7887336b21 upstream.
    
    When ak4114 work calls its callback and the callback invokes
    ak4114_reinit(), it stalls due to flush_delayed_work().  For avoiding
    this, control the reentrance by introducing a refcount.  Also
    flush_delayed_work() is replaced with cancel_delayed_work_sync().
    
    The exactly same bug is present in ak4113.c and fixed as well.
    
    Reported-by: Pavel Hofman <pavel.hofman@ivitera.com>
    Acked-by: Jaroslav Kysela <perex@perex.cz>
    Tested-by: Pavel Hofman <pavel.hofman@ivitera.com>
    Signed-off-by: Takashi Iwai <tiwai@suse.de>
    Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>

commit 48cc051f29814e8c8d4498a4fb99204fa31e30e2
Author: Eric Nelson <eric.nelson@boundarydevices.com>
Date:   Fri Jan 30 14:07:55 2015 -0700

    ASoC: sgtl5000: add delay before first I2C access
    
    commit 58cc9c9a175885bbf6bae3acf18233d0a8229a84 upstream.
    
    To quote from section 1.3.1 of the data sheet:
    	The SGTL5000 has an internal reset that is deasserted
    	8 SYS_MCLK cycles after all power rails have been brought
    	up. After this time, communication can start
    
    	...
    	1.0us represents 8 SYS_MCLK cycles at the minimum 8.0 MHz SYS_MCLK.
    
    Signed-off-by: Eric Nelson <eric.nelson@boundarydevices.com>
    Reviewed-by: Fabio Estevam <fabio.estevam@freescale.com>
    Signed-off-by: Mark Brown <broonie@kernel.org>
    Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>

commit d9c3bfc0e830c37c12961a26311f603eaea24046
Author: Bo Shen <voice.shen@atmel.com>
Date:   Tue Jan 20 15:43:16 2015 +0800

    ASoC: atmel_ssc_dai: fix start event for I2S mode
    
    commit a43bd7e125143b875caae6d4f9938855b440faaf upstream.
    
    According to the I2S specification information as following:
      - WS = 0, channel 1 (left)
      - WS = 1, channel 2 (right)
    So, the start event should be TF/RF falling edge.
    
    Reported-by: Songjun Wu <songjun.wu@atmel.com>
    Signed-off-by: Bo Shen <voice.shen@atmel.com>
    Signed-off-by: Mark Brown <broonie@kernel.org>
    Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>

commit 1c3f3138ea06ce56ae257b8d39e3968e3d38cbd8
Author: karl beldan <karl.beldan@gmail.com>
Date:   Thu Jan 29 11:10:22 2015 +0100

    lib/checksum.c: fix build for generic csum_tcpudp_nofold
    
    commit 9ce357795ef208faa0d59894d9d119a7434e37f3 upstream.
    
    Fixed commit added from64to32 under _#ifndef do_csum_ but used it
    under _#ifndef csum_tcpudp_nofold_, breaking some builds (Fengguang's
    robot reported TILEGX's). Move from64to32 under the latter.
    
    Fixes: 150ae0e94634 ("lib/checksum.c: fix carry in csum_tcpudp_nofold")
    Reported-by: kbuild test robot <fengguang.wu@intel.com>
    Signed-off-by: Karl Beldan <karl.beldan@rivierawaves.com>
    Cc: Eric Dumazet <edumazet@google.com>
    Cc: David S. Miller <davem@davemloft.net>
    Signed-off-by: David S. Miller <davem@davemloft.net>
    Cc: Guenter Roeck <linux@roeck-us.net>
    Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>

commit 30d8c8352812e924bbee639ca3a25e35daf74db3
Author: Dmitry Monakhov <dmonakhov@openvz.org>
Date:   Thu Oct 30 10:53:16 2014 -0400

    ext4: prevent bugon on race between write/fcntl
    
    commit a41537e69b4aa43f0fea02498c2595a81267383b upstream.
    
    O_DIRECT flags can be toggeled via fcntl(F_SETFL). But this value checked
    twice inside ext4_file_write_iter() and __generic_file_write() which
    result in BUG_ON inside ext4_direct_IO.
    
    Let's initialize iocb->private unconditionally.
    
    TESTCASE: xfstest:generic/036  https://patchwork.ozlabs.org/patch/402445/
    
    #TYPICAL STACK TRACE:
    kernel BUG at fs/ext4/inode.c:2960!
    invalid opcode: 0000 [#1] SMP
    Modules linked in: brd iTCO_wdt lpc_ich mfd_core igb ptp dm_mirror dm_region_hash dm_log dm_mod
    CPU: 6 PID: 5505 Comm: aio-dio-fcntl-r Not tainted 3.17.0-rc2-00176-gff5c017 #161
    Hardware name: Intel Corporation W2600CR/W2600CR, BIOS SE5C600.86B.99.99.x028.061320111235 06/13/2011
    task: ffff88080e95a7c0 ti: ffff88080f908000 task.ti: ffff88080f908000
    RIP: 0010:[<ffffffff811fabf2>]  [<ffffffff811fabf2>] ext4_direct_IO+0x162/0x3d0
    RSP: 0018:ffff88080f90bb58  EFLAGS: 00010246
    RAX: 0000000000000400 RBX: ffff88080fdb2a28 RCX: 00000000a802c818
    RDX: 0000040000080000 RSI: ffff88080d8aeb80 RDI: 0000000000000001
    RBP: ffff88080f90bbc8 R08: 0000000000000000 R09: 0000000000001581
    R10: 0000000000000000 R11: 0000000000000000 R12: ffff88080d8aeb80
    R13: ffff88080f90bbf8 R14: ffff88080fdb28c8 R15: ffff88080fdb2a28
    FS:  00007f23b2055700(0000) GS:ffff880818400000(0000) knlGS:0000000000000000
    CS:  0010 DS: 0000 ES: 0000 CR0: 0000000080050033
    CR2: 00007f23b2045000 CR3: 000000080cedf000 CR4: 00000000000407e0
    Stack:
     ffff88080f90bb98 0000000000000000 7ffffffffffffffe ffff88080fdb2c30
     0000000000000200 0000000000000200 0000000000000001 0000000000000200
     ffff88080f90bbc8 ffff88080fdb2c30 ffff88080f90be08 0000000000000200
    Call Trace:
     [<ffffffff8112ca9d>] generic_file_direct_write+0xed/0x180
     [<ffffffff8112f2b2>] __generic_file_write_iter+0x222/0x370
     [<ffffffff811f495b>] ext4_file_write_iter+0x34b/0x400
     [<ffffffff811bd709>] ? aio_run_iocb+0x239/0x410
     [<ffffffff811bd709>] ? aio_run_iocb+0x239/0x410
     [<ffffffff810990e5>] ? local_clock+0x25/0x30
     [<ffffffff810abd94>] ? __lock_acquire+0x274/0x700
     [<ffffffff811f4610>] ? ext4_unwritten_wait+0xb0/0xb0
     [<ffffffff811bd756>] aio_run_iocb+0x286/0x410
     [<ffffffff810990e5>] ? local_clock+0x25/0x30
     [<ffffffff810ac359>] ? lock_release_holdtime+0x29/0x190
     [<ffffffff811bc05b>] ? lookup_ioctx+0x4b/0xf0
     [<ffffffff811bde3b>] do_io_submit+0x55b/0x740
     [<ffffffff811bdcaa>] ? do_io_submit+0x3ca/0x740
     [<ffffffff811be030>] SyS_io_submit+0x10/0x20
     [<ffffffff815ce192>] system_call_fastpath+0x16/0x1b
    Code: 01 48 8b 80 f0 01 00 00 48 8b 18 49 8b 45 10 0f 85 f1 01 00 00 48 03 45 c8 48 3b 43 48 0f 8f e3 01 00 00 49 83 7c
    24 18 00 75 04 <0f> 0b eb fe f0 ff 83 ec 01 00 00 49 8b 44 24 18 8b 00 85 c0 89
    RIP  [<ffffffff811fabf2>] ext4_direct_IO+0x162/0x3d0
     RSP <ffff88080f90bb58>
    
    Reported-by: Sasha Levin <sasha.levin@oracle.com>
    Signed-off-by: Theodore Ts'o <tytso@mit.edu>
    Signed-off-by: Dmitry Monakhov <dmonakhov@openvz.org>
    [hujianyang: Backported to 3.10
     - Move initialization of iocb->private to ext4_file_write() as we don't
       have ext4_file_write_iter(), which is introduced by commit 9b884164.
     - Adjust context to make 'overwrite' changes apply to ext4_file_dio_write()
       as ext4_file_dio_write() is not move into ext4_file_write()]
    Signed-off-by: hujianyang <hujianyang@huawei.com>
    Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>

commit 72684eae7b0acf2d085e1e878caa44b5e0219b24
Author: Mark Rutland <mark.rutland@arm.com>
Date:   Fri Oct 24 14:56:40 2014 +0100

    arm64: Fix up /proc/cpuinfo
    
    commit 44b82b7700d05a52cd983799d3ecde1a976b3bed upstream.
    
    Commit d7a49086f263164a (arm64: cpuinfo: print info for all CPUs)
    attempted to clean up /proc/cpuinfo, but due to concerns regarding
    further changes was reverted in commit 5e39977edf6500fd (Revert "arm64:
    cpuinfo: print info for all CPUs").
    
    There are two major issues with the arm64 /proc/cpuinfo format
    currently:
    
    * The "Features" line describes (only) the 64-bit hwcaps, which is
      problematic for some 32-bit applications which attempt to parse it. As
      the same names are used for analogous ISA features (e.g. aes) despite
      these generally being architecturally unrelated, it is not possible to
      simply append the 64-bit and 32-bit hwcaps in a manner that might not
      be misleading to some applications.
    
      Various potential solutions have appeared in vendor kernels. Typically
      the format of the Features line varies depending on whether the task
      is 32-bit.
    
    * Information is only printed regarding a single CPU. This does not
      match the ARM format, and does not provide sufficient information in
      big.LITTLE systems where CPUs are heterogeneous. The CPU information
      printed is queried from the current CPU's registers, which is racy
      w.r.t. cross-cpu migration.
    
    This patch attempts to solve these issues. The following changes are
    made:
    
    * When a task with a LINUX32 personality attempts to read /proc/cpuinfo,
      the "Features" line contains the decoded 32-bit hwcaps, as with the
      arm port. Otherwise, the decoded 64-bit hwcaps are shown. This aligns
      with the behaviour of COMPAT_UTS_MACHINE and COMPAT_ELF_PLATFORM. In
      the absense of compat support, the Features line is empty.
    
      The set of hwcaps injected into a task's auxval are unaffected.
    
    * Properties are printed per-cpu, as with the ARM port. The per-cpu
      information is queried from pre-recorded cpu information (as used by
      the sanity checks).
    
    * As with the previous attempt at fixing up /proc/cpuinfo, the hardware
      field is removed. The only users so far are 32-bit applications tied
      to particular boards, so no portable applications should be affected,
      and this should prevent future tying to particular boards.
    
    The following differences remain:
    
    * No model_name is printed, as this cannot be queried from the hardware
      and cannot be provided in a stable fashion. Use of the CPU
      {implementor,variant,part,revision} fields is sufficient to identify a
      CPU and is portable across arm and arm64.
    
    * The following system-wide properties are not provided, as they are not
      possible to provide generally. Programs relying on these are already
      tied to particular (32-bit only) boards:
      - Hardware
      - Revision
      - Serial
    
    No software has yet been identified for which these remaining
    differences are problematic.
    
    Cc: Greg Hackmann <ghackmann@google.com>
    Cc: Ian Campbell <ijc@hellion.org.uk>
    Cc: Serban Constantinescu <serban.constantinescu@arm.com>
    Cc: Will Deacon <will.deacon@arm.com>
    Cc: cross-distro@lists.linaro.org
    Cc: linux-api@vger.kernel.org
    Cc: linux-arm-kernel@lists.infradead.org
    Cc: linux-kernel@vger.kernel.org
    Acked-by: Catalin Marinas <catalin.marinas@arm.com>
    [Mark: backport to v3.10.x]
    Signed-off-by: Mark Rutland <mark.rutland@arm.com>
    Signed-off-by: Will Deacon <will.deacon@arm.com>
    Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>

commit ec7cae16b37ab478d6d7e33e8563b24ca189e6cf
Author: Ryusuke Konishi <konishi.ryusuke@lab.ntt.co.jp>
Date:   Thu Feb 5 12:25:20 2015 -0800

    nilfs2: fix deadlock of segment constructor over I_SYNC flag
    
    commit 7ef3ff2fea8bf5e4a21cef47ad87710a3d0fdb52 upstream.
    
    Nilfs2 eventually hangs in a stress test with fsstress program.  This
    issue was caused by the following deadlock over I_SYNC flag between
    nilfs_segctor_thread() and writeback_sb_inodes():
    
      nilfs_segctor_thread()
        nilfs_segctor_thread_construct()
          nilfs_segctor_unlock()
            nilfs_dispose_list()
              iput()
                iput_final()
                  evict()
                    inode_wait_for_writeback()  * wait for I_SYNC flag
    
      writeback_sb_inodes()
         * set I_SYNC flag on inode->i_state
        __writeback_single_inode()
          do_writepages()
            nilfs_writepages()
              nilfs_construct_dsync_segment()
                nilfs_segctor_sync()
                   * wait for completion of segment constructor
        inode_sync_complete()
           * clear I_SYNC flag after __writeback_single_inode() completed
    
    writeback_sb_inodes() calls do_writepages() for dirty inodes after
    setting I_SYNC flag on inode->i_state.  do_writepages() in turn calls
    nilfs_writepages(), which can run segment constructor and wait for its
    completion.  On the other hand, segment constructor calls iput(), which
    can call evict() and wait for the I_SYNC flag on
    inode_wait_for_writeback().
    
    Since segment constructor doesn't know when I_SYNC will be set, it
    cannot know whether iput() will block or not unless inode->i_nlink has a
    non-zero count.  We can prevent evict() from being called in iput() by
    implementing sop->drop_inode(), but it's not preferable to leave inodes
    with i_nlink == 0 for long periods because it even defers file
    truncation and inode deallocation.  So, this instead resolves the
    deadlock by calling iput() asynchronously with a workqueue for inodes
    with i_nlink == 0.
    
    Signed-off-by: Ryusuke Konishi <konishi.ryusuke@lab.ntt.co.jp>
    Cc: Al Viro <viro@zeniv.linux.org.uk>
    Tested-by: Ryusuke Konishi <konishi.ryusuke@lab.ntt.co.jp>
    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 229d02538b35a1fded99cdd71ceb583c7b3d56bc
Author: karl beldan <karl.beldan@gmail.com>
Date:   Wed Jan 28 10:58:11 2015 +0100

    lib/checksum.c: fix carry in csum_tcpudp_nofold
    
    commit 150ae0e94634714b23919f0c333fee28a5b199d5 upstream.
    
    The carry from the 64->32bits folding was dropped, e.g with:
    saddr=0xFFFFFFFF daddr=0xFF0000FF len=0xFFFF proto=0 sum=1,
    csum_tcpudp_nofold returned 0 instead of 1.
    
    Signed-off-by: Karl Beldan <karl.beldan@rivierawaves.com>
    Cc: Al Viro <viro@ZenIV.linux.org.uk>
    Cc: Eric Dumazet <eric.dumazet@gmail.com>
    Cc: Arnd Bergmann <arnd@arndb.de>
    Cc: Mike Frysinger <vapier@gentoo.org>
    Cc: netdev@vger.kernel.org
    Cc: linux-kernel@vger.kernel.org
    Signed-off-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 48f5cffe366348c089d4e21b526abb17df4372e9
Author: Shiraz Hashim <shashim@codeaurora.org>
Date:   Thu Feb 5 12:25:06 2015 -0800

    mm: pagewalk: call pte_hole() for VM_PFNMAP during walk_page_range
    
    commit 23aaed6659df9adfabe9c583e67a36b54e21df46 upstream.
    
    walk_page_range() silently skips vma having VM_PFNMAP set, which leads
    to undesirable behaviour at client end (who called walk_page_range).
    Userspace applications get the wrong data, so the effect is like just
    confusing users (if the applications just display the data) or sometimes
    killing the processes (if the applications do something with
    misunderstanding virtual addresses due to the wrong data.)
    
    For example for pagemap_read, when no callbacks are called against
    VM_PFNMAP vma, pagemap_read may prepare pagemap data for next virtual
    address range at wrong index.
    
    Eventually userspace may get wrong pagemap data for a task.
    Corresponding to a VM_PFNMAP marked vma region, kernel may report
    mappings from subsequent vma regions.  User space in turn may account
    more pages (than really are) to the task.
    
    In my case I was using procmem, procrack (Android utility) which uses
    pagemap interface to account RSS pages of a task.  Due to this bug it
    was giving a wrong picture for vmas (with VM_PFNMAP set).
    
    Fixes: a9ff785e4437 ("mm/pagewalk.c: walk_page_range should avoid VM_PFNMAP areas")
    Signed-off-by: Shiraz Hashim <shashim@codeaurora.org>
    Acked-by: Naoya Horiguchi <n-horiguchi@ah.jp.nec.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 2ded944c7e92114ff28532d80c06e2cb9c8dd2fd
Author: Hemmo Nieminen <hemmo.nieminen@iki.fi>
Date:   Thu Jan 15 23:01:59 2015 +0200

    MIPS: Fix kernel lockup or crash after CPU offline/online
    
    commit c7754e75100ed5e3068ac5085747f2bfc386c8d6 upstream.
    
    As printk() invocation can cause e.g. a TLB miss, printk() cannot be
    called before the exception handlers have been properly initialized.
    This can happen e.g. when netconsole has been loaded as a kernel module
    and the TLB table has been cleared when a CPU was offline.
    
    Call cpu_report() in start_secondary() only after the exception handlers
    have been initialized to fix this.
    
    Without the patch the kernel will randomly either lockup or crash
    after a CPU is onlined and the console driver is a module.
    
    Signed-off-by: Hemmo Nieminen <hemmo.nieminen@iki.fi>
    Signed-off-by: Aaro Koskinen <aaro.koskinen@iki.fi>
    Cc: David Daney <david.daney@cavium.com>
    Cc: linux-mips@linux-mips.org
    Cc: linux-kernel@vger.kernel.org
    Patchwork: https://patchwork.linux-mips.org/patch/8953/
    Signed-off-by: Ralf Baechle <ralf@linux-mips.org>
    Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>

commit 290deda94058c4aaeec0b0f9da43564c363b1fec
Author: Felix Fietkau <nbd@openwrt.org>
Date:   Thu Jan 15 19:05:28 2015 +0100

    MIPS: IRQ: Fix disable_irq on CPU IRQs
    
    commit a3e6c1eff54878506b2dddcc202df9cc8180facb upstream.
    
    If the irq_chip does not define .irq_disable, any call to disable_irq
    will defer disabling the IRQ until it fires while marked as disabled.
    This assumes that the handler function checks for this condition, which
    handle_percpu_irq does not. In this case, calling disable_irq leads to
    an IRQ storm, if the interrupt fires while disabled.
    
    This optimization is only useful when disabling the IRQ is slow, which
    is not true for the MIPS CPU IRQ.
    
    Disable this optimization by implementing .irq_disable and .irq_enable
    
    Signed-off-by: Felix Fietkau <nbd@openwrt.org>
    Cc: linux-mips@linux-mips.org
    Patchwork: https://patchwork.linux-mips.org/patch/8949/
    Signed-off-by: Ralf Baechle <ralf@linux-mips.org>
    Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>

commit 9a1acfe2a3897827283b25fa24400935bc4ee2d2
Author: Charlotte Richardson <charlotte.richardson@stratus.com>
Date:   Mon Feb 2 09:36:23 2015 -0600

    PCI: Add NEC variants to Stratus ftServer PCIe DMI check
    
    commit 51ac3d2f0c505ca36ffc9715ffd518d756589ef8 upstream.
    
    NEC OEMs the same platforms as Stratus does, which have multiple devices on
    some PCIe buses under downstream ports.
    
    Link: https://bugzilla.kernel.org/show_bug.cgi?id=51331
    Fixes: 1278998f8ff6 ("PCI: Work around Stratus ftServer broken PCIe hierarchy (fix DMI check)")
    Signed-off-by: Charlotte Richardson <charlotte.richardson@stratus.com>
    Signed-off-by: Bjorn Helgaas <bhelgaas@google.com>
    CC: Myron Stowe <myron.stowe@redhat.com>
    Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>

commit 4cd925d7c1d5d777f2f09db4aee4675d0978a95b
Author: Johan Hovold <johan@kernel.org>
Date:   Mon Jan 26 12:02:46 2015 +0100

    gpio: sysfs: fix memory leak in gpiod_sysfs_set_active_low
    
    commit 49d2ca84e433dab854c7a866bc6add09cfab682d upstream.
    
    Fix memory leak in the gpio sysfs interface due to failure to drop
    reference to device returned by class_find_device when setting the
    gpio-line polarity.
    
    Fixes: 0769746183ca ("gpiolib: add support for changing value polarity in sysfs")
    Signed-off-by: Johan Hovold <johan@kernel.org>
    Signed-off-by: Linus Walleij <linus.walleij@linaro.org>
    Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>

commit d0d1f54d367f959bc7484422fb51f61c00977a64
Author: Johan Hovold <johan@kernel.org>
Date:   Mon Jan 26 12:02:45 2015 +0100

    gpio: sysfs: fix memory leak in gpiod_export_link
    
    commit 0f303db08df0df9bd0966443ad6001e63960af16 upstream.
    
    Fix memory leak in the gpio sysfs interface due to failure to drop
    reference to device returned by class_find_device when creating a link.
    
    Fixes: a4177ee7f1a8 ("gpiolib: allow exported GPIO nodes to be named using sysfs links")
    Signed-off-by: Johan Hovold <johan@kernel.org>
    Signed-off-by: Linus Walleij <linus.walleij@linaro.org>
    Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>