commit 85cdabba08d484bdcc4b25f0bbc23ac60c75aa5b
Author: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
Date:   Sat Sep 7 22:10:14 2013 -0700

    Linux 3.10.11

commit 0c6471cc8eb5e6f745b3da21a75096a95548432c
Author: David Jander <david@protonic.nl>
Date:   Wed Aug 21 17:37:22 2013 +0200

    regmap: rbtree: Fix overlapping rbnodes.
    
    commit 4e67fb5f5e336250db944921e3c68057d6203034 upstream.
    
    Avoid overlapping register regions by making the initial blklen of a new
    node 1. If a register write occurs to a yet uncached register, that is
    lower than but near an existing node's base_reg, a new node is created
    and it's blklen is set to an arbitrary value (sizeof(*rbnode)). That may
    cause this node to overlap with another node. Those nodes should be merged,
    but this merge doesn't happen yet, so this patch at least makes the initial
    blklen small enough to avoid hitting the wrong node, which may otherwise
    lead to severe breakage.
    
    Signed-off-by: David Jander <david@protonic.nl>
    Signed-off-by: Mark Brown <broonie@linaro.org>
    Signed-off-by: Zhouping Liu <zliu@redhat.com>
    Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>

commit 2ac13a8f46246a8a3773bfca0a003f0524cf7cf0
Author: Fabio Estevam <fabio.estevam@freescale.com>
Date:   Fri Jun 28 13:55:27 2013 -0300

    imx-drm: imx-drm-core: Export imx_drm_encoder_get_mux_id
    
    commit ea8d15832016b0d07a8121159904e6b1d21b5b8b upstream.
    
    When building imx_v6_v7_defconfig with imx-drm drivers selected as modules, we
    get the following build error:
    
    ERROR: "imx_drm_encoder_get_mux_id" [drivers/staging/imx-drm/imx-ldb.ko] undefined!
    
    Export the required function to avoid this problem.
    
    Signed-off-by: Fabio Estevam <fabio.estevam@freescale.com>
    Acked-by: Sascha Hauer <s.hauer@pengutronix.de>
    Acked-by: Philipp Zabel <p.zabel@pengutronix.de>
    Cc: Guenter Roeck <linux@roeck-us.net>
    Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>

commit 9e50b358ed4b8af18955ab07549ee2264b5b44f2
Author: Julien Grall <julien.grall@linaro.org>
Date:   Mon Jul 29 17:06:05 2013 +0100

    xen/arm: missing put_cpu in xen_percpu_init
    
    commit 0d7febe58413884f6428143221971618fbf3a47d upstream.
    
    When CONFIG_PREEMPT is enabled, Linux will not be able to boot and warn:
    [    4.127825] ------------[ cut here ]------------
    [    4.133376] WARNING: at init/main.c:699 do_one_initcall+0x150/0x158()
    [    4.140738] initcall xen_init_events+0x0/0x10c returned with preemption imbalance
    
    This is because xen_percpu_init uses get_cpu but doesn't have the corresponding
    put_cpu.
    
    Signed-off-by: Julien Grall <julien.grall@linaro.org>
    Signed-off-by: Stefano Stabellini <stefano.stabellini@eu.citrix.com>
    Signed-off-by: Jonghwan Choi <jhbird.choi@samsung.com>
    Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>

commit 39d163b38728dd85291afb2ba84f760368d9e8eb
Author: Mark Rusk <Mark.Rusk@hp.com>
Date:   Wed Aug 14 15:30:01 2013 -0500

    drivers/misc/hpilo: Correct panic when an AUX iLO is detected
    
    commit eefbc594abbb1b7e6e7eeadb65ae7c7538474210 upstream.
    
     Using an uninitialized variable 'devnum' after 'goto out;' was causing
     panic.  Just go ahead and return, we need to ignore AUX iLO devs.
    
     Oops: 0002 [#1] SMP
       .
       .
       .
     RIP  [<ffffffffa033e270>] ilo_probe+0xec/0xe7c [hpilo]
    
    Signed-off-by: Mark Rusk <mark.rusk@hp.com>
    Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>

commit 2880e37d6f3ef1a9dd94939a42abf35f41158d74
Author: Lan Tianyu <tianyu.lan@intel.com>
Date:   Mon Aug 26 10:19:18 2013 +0800

    ACPI / EC: Add ASUSTEK L4R to quirk list in order to validate ECDT
    
    commit 524f42fab787a9510be826ce3d736b56d454ac6d upstream.
    
    The ECDT of ASUSTEK L4R doesn't provide correct command and data
    I/O ports.  The DSDT provides the correct information instead.
    
    For this reason, add this machine to quirk list for ECDT validation
    and use the EC information from the DSDT.
    
    [rjw: Changelog]
    References: https://bugzilla.kernel.org/show_bug.cgi?id=60765
    Reported-and-tested-by: Daniele Esposti <expo@expobrain.net>
    Signed-off-by: Lan Tianyu <tianyu.lan@intel.com>
    Signed-off-by: Rafael J. Wysocki <rafael.j.wysocki@intel.com>
    Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>

commit c2fcdfd1a93802ad38b4076a18034f30c1aee18f
Author: Wei Hu <wei@aristanetworks.com>
Date:   Fri Aug 23 13:14:03 2013 -0700

    hwmon: (k10temp) Add support for Fam16h (Kabini)
    
    commit 30b146d1cb5e7560192057098eb705118bd5511f upstream.
    
    The temperature reporting interface stays the same, so we just
    add the PCI-ID to the list.
    
    Verified on AMD Olive Hill.
    
    Signed-off-by: Wei Hu <wei@aristanetworks.com>
    Acked-by: Clemens Ladisch <clemens@ladisch.de>
    Signed-off-by: Guenter Roeck <linux@roeck-us.net>
    Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>

commit ea599655d74e7b00caf83a0d5c056b00d19d7c2a
Author: Graham Williams <gwilli@broadcom.com>
Date:   Wed Aug 28 16:36:14 2013 -0700

    usb: acm gadget: Null termintate strings table
    
    commit d257221854f0b34cca3247e6c45344d0470f7398 upstream.
    
    The gadget strings table should be null terminated.
    usb_gadget_get_string() loops through the table
    expecting a null at the end of the list.
    
    Signed-off-by: Graham Williams <gwilli@broadcom.com>
    Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>

commit 9c289c0c140b31ce6e3b29898fd1deb80ec04b88
Author: Tomas Winkler <tomas.winkler@intel.com>
Date:   Tue Jul 30 14:11:51 2013 +0300

    mei: me: fix hardware reset flow
    
    commit ff96066e3171acdea356b331163495957cb833d0 upstream.
    
    Both H_IS and H_IE needs to be set to receive H_RDY
    interrupt
    
    1. Assert H_IS to clear the interrupts during hw reset
    and use mei_me_reg_write instead of mei_hcsr_set as the later
    strips down the H_IS
    
    2. fix interrupt disablement embarrassing typo
      hcsr |= ~H_IE -> hcsr &= ~H_IE;
    this will remove the unwanted interrupt on power down
    
    3. remove useless debug print outs
    
    Signed-off-by: Tomas Winkler <tomas.winkler@intel.com>
    Cc: Shuah Khan <shuah.kh@samsung.com>
    Cc: Konstantin Khlebnikov <khlebnikov@openvz.org>
    Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>

commit 382e9ff11306c83aa73219a4749e55c9146205cf
Author: Nicholas Bellinger <nab@linux-iscsi.org>
Date:   Fri Aug 23 22:28:56 2013 -0700

    iscsi-target: Fix potential NULL pointer in solicited NOPOUT reject
    
    commit 28aaa950320fc7b8df3f6d2d34fa7833391a9b72 upstream.
    
    This patch addresses a potential NULL pointer dereference regression in
    iscsit_setup_nop_out() code, specifically for two cases when a solicited
    NOPOUT triggers a ISCSI_REASON_PROTOCOL_ERROR reject to be generated.
    
    This is because iscsi_cmd is expected to be NULL for solicited NOPOUT
    case before iscsit_process_nop_out() locates the descriptor via TTT
    using iscsit_find_cmd_from_ttt().
    
    This regression was originally introduced in:
    
    commit ba159914086f06532079fc15141f46ffe7e04a41
    Author: Nicholas Bellinger <nab@linux-iscsi.org>
    Date:   Wed Jul 3 03:48:24 2013 -0700
    
        iscsi-target: Fix iscsit_add_reject* usage for iser
    
    Signed-off-by: Nicholas Bellinger <nab@linux-iscsi.org>
    Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>

commit 258d670469ce3b3e8d465c8a503406181e7bede0
Author: Nicholas Bellinger <nab@linux-iscsi.org>
Date:   Sun Aug 18 15:07:44 2013 -0700

    iscsi-target: Fix iscsit_transport reference leak during NP thread reset
    
    commit c9a03c12464c851e691e8d5b6c9deba779c512e0 upstream.
    
    This patch fixes a bug in __iscsi_target_login_thread() where an explicit
    network portal thread reset ends up leaking the iscsit_transport module
    reference, along with the associated iscsi_conn allocation.
    
    This manifests itself with iser-target where a NP reset causes the extra
    iscsit_transport reference to be taken in iscsit_conn_set_transport()
    during the reset, which prevents the ib_isert module from being unloaded
    after the NP thread shutdown has finished.
    
    Signed-off-by: Nicholas Bellinger <nab@linux-iscsi.org>
    Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>

commit ce799c71c8c08ad500f4ad56c3bac2c8ac435d9f
Author: Nicholas Bellinger <nab@linux-iscsi.org>
Date:   Thu Aug 22 00:05:45 2013 -0700

    iscsi-target: Fix ImmediateData=Yes failure regression in >= v3.10
    
    commit 9d86a2befceb06ee83c1a588915e6d6e0abef797 upstream.
    
    This patch addresses a regression bug within ImmediateData=Yes failure
    handling that ends up triggering an OOPs within >= v3.10 iscsi-target
    code.
    
    The problem occurs when iscsit_process_scsi_cmd() does the call to
    target_put_sess_cmd(), and once again in iscsit_get_immediate_data()
    that is triggered during two different cases:
    
     - When iscsit_sequence_cmd() returns CMDSN_LOWER_THAN_EXP, for which
       the descriptor state will already have been set to ISTATE_REMOVE
       by iscsit_sequence_cmd(), and
     - When iscsi_cmd->sense_reason is set, for which iscsit_execute_cmd()
       will have already called transport_send_check_condition_and_sense()
       to queue the exception response.
    
    It changes iscsit_process_scsi_cmd() to drop the early call, and makes
    iscsit_get_immediate_data() call target_put_sess_cmd() from a single
    location after dumping the immediate data for the failed command.
    
    The regression was initially introduced in commit:
    
    commit 561bf15892375597ee59d473a704a3e634c4f311
    Author: Nicholas Bellinger <nab@linux-iscsi.org>
    Date:   Wed Jul 3 03:58:58 2013 -0700
    
        iscsi-target: Fix iscsit_sequence_cmd reject handling for iser
    
    Signed-off-by: Nicholas Bellinger <nab@linux-iscsi.org>
    Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>

commit 95ca0f394bc6fe4127d62745b6ad641dae988c02
Author: Nicholas Bellinger <nab@linux-iscsi.org>
Date:   Wed Jul 24 16:15:08 2013 -0700

    target: Fix trailing ASCII space usage in INQUIRY vendor+model
    
    commit ee60bddba5a5f23e39598195d944aa0eb2d455e5 upstream.
    
    This patch fixes spc_emulate_inquiry_std() to add trailing ASCII
    spaces for INQUIRY vendor + model fields following SPC-4 text:
    
      "ASCII data fields described as being left-aligned shall have any
       unused bytes at the end of the field (i.e., highest offset) and
       the unused bytes shall be filled with ASCII space characters (20h)."
    
    This addresses a problem with Falconstor NSS multipathing.
    
    Reported-by: Tomas Molota <tomas.molota@lightstorm.sk>
    Signed-off-by: Nicholas Bellinger <nab@linux-iscsi.org>
    Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>

commit fde233a59d1d73459804759f280346082cfcc5be
Author: Stanislaw Gruszka <sgruszka@redhat.com>
Date:   Wed Aug 21 10:18:19 2013 +0200

    iwl4965: fix rfkill set state regression
    
    commit b2fcc0aee58a3435566dd6d8501a0b355552f28b upstream.
    
    My current 3.11 fix:
    
    commit 788f7a56fce1bcb2067b62b851a086fca48a0056
    Author: Stanislaw Gruszka <sgruszka@redhat.com>
    Date:   Thu Aug 1 12:07:55 2013 +0200
    
        iwl4965: reset firmware after rfkill off
    
    broke rfkill notification to user-space . I missed that bug, because
    I compiled without CONFIG_RFKILL, sorry about that.
    
    Signed-off-by: Stanislaw Gruszka <sgruszka@redhat.com>
    Signed-off-by: John W. Linville <linville@tuxdriver.com>
    Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>

commit 9ddc34b565615be1ffd267ffd8c826d9ef097179
Author: Felix Fietkau <nbd@openwrt.org>
Date:   Tue Aug 20 19:43:54 2013 +0200

    mac80211: add a flag to indicate CCK support for HT clients
    
    commit 2dfca312a91631311c1cf7c090246cc8103de038 upstream.
    
    brcm80211 cannot handle sending frames with CCK rates as part of an
    A-MPDU session. Other drivers may have issues too. Set the flag in all
    drivers that have been tested with CCK rates.
    
    This fixes a reported brcmsmac regression introduced in
    commit ef47a5e4f1aaf1d0e2e6875e34b2c9595897bef6
    "mac80211/minstrel_ht: fix cck rate sampling"
    
    Reported-by: Tom Gundersen <teg@jklm.no>
    Signed-off-by: Felix Fietkau <nbd@openwrt.org>
    Signed-off-by: Johannes Berg <johannes.berg@intel.com>
    Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>

commit 543037a3023b41ce13e98f62e1f3c2c591e00c5c
Author: Johannes Berg <johannes.berg@intel.com>
Date:   Tue Aug 20 11:28:50 2013 +0200

    mac80211: add missing channel context release
    
    commit 2a3ba63c235fdcd37f6451bdf4a0c7865a3930cf upstream.
    
    IBSS needs to release the channel context when leaving
    but I evidently missed that. Fix it.
    
    Signed-off-by: Johannes Berg <johannes.berg@intel.com>
    Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>

commit ece7fd7a00604ee6729e878b4d95971e1b55dfff
Author: Sujith Manoharan <c_manoha@qca.qualcomm.com>
Date:   Tue Aug 20 10:05:59 2013 +0530

    ath9k: Enable PLL fix only for AR9340/AR9330
    
    commit 19c361608ce3e73f352e323262f7e0a8264be3af upstream.
    
    The PLL hang workaround is required only for AR9330 and
    AR9340. This issue was first observed on an AP121 and the WAR
    is enabled for AR9340 also (DB120 etc.), since it uses a PLL
    design identical to AR9330. This is not required for AR9485 and AR9550.
    
    Various bugs have been reported regarding this:
    
    https://bugzilla.redhat.com/show_bug.cgi?id=997217
    https://bugzilla.redhat.com/show_bug.cgi?id=994648
    
    Signed-off-by: Sujith Manoharan <c_manoha@qca.qualcomm.com>
    Signed-off-by: John W. Linville <linville@tuxdriver.com>
    Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>

commit a6dbf50f5b305c51443657f91eabfc2521fa34a9
Author: Helmut Schaa <helmut.schaa@googlemail.com>
Date:   Fri Aug 16 21:39:40 2013 +0200

    ath9k_htc: Restore skb headroom when returning skb to mac80211
    
    commit d2e9fc141e2aa21f4b35ee27072d84e9aa6e2ba0 upstream.
    
    ath9k_htc adds padding between the 802.11 header and the payload during
    TX by moving the header. When handing the frame back to mac80211 for TX
    status handling the header is not moved back into its original position.
    This can result in a too small skb headroom when entering ath9k_htc
    again (due to a soft retransmission for example) causing an
    skb_under_panic oops.
    
    Fix this by moving the 802.11 header back into its original position
    before returning the frame to mac80211 as other drivers like rt2x00
    or ath5k do.
    
    Reported-by: Marc Kleine-Budde <mkl@blackshift.org>
    Signed-off-by: Helmut Schaa <helmut.schaa@googlemail.com>
    Tested-by: Marc Kleine-Budde <mkl@blackshift.org>
    Signed-off-by: Marc Kleine-Budde <mkl@blackshift.org>
    Signed-off-by: John W. Linville <linville@tuxdriver.com>
    Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>

commit 7c886152ed0b4fdfc4412f0a28ad68500b552660
Author: Yinghai Lu <yinghai@kernel.org>
Date:   Mon Aug 12 16:43:24 2013 -0700

    x86/mm: Fix boot crash with DEBUG_PAGE_ALLOC=y and more than 512G RAM
    
    commit 527bf129f9a780e11b251cf2467dc30118a57d16 upstream.
    
    Dave Hansen reported that systems between 500G and 600G RAM
    crash early if DEBUG_PAGEALLOC is selected.
    
     > [    0.000000] init_memory_mapping: [mem 0x00000000-0x000fffff]
     > [    0.000000]  [mem 0x00000000-0x000fffff] page 4k
     > [    0.000000] BRK [0x02086000, 0x02086fff] PGTABLE
     > [    0.000000] BRK [0x02087000, 0x02087fff] PGTABLE
     > [    0.000000] BRK [0x02088000, 0x02088fff] PGTABLE
     > [    0.000000] init_memory_mapping: [mem 0xe80ee00000-0xe80effffff]
     > [    0.000000]  [mem 0xe80ee00000-0xe80effffff] page 4k
     > [    0.000000] BRK [0x02089000, 0x02089fff] PGTABLE
     > [    0.000000] BRK [0x0208a000, 0x0208afff] PGTABLE
     > [    0.000000] Kernel panic - not syncing: alloc_low_page: ran out of memory
    
    It turns out that we missed increasing needed pages in BRK to
    mapping initial 2M and [0,1M) when we switched to use the #PF
    handler to set memory mappings:
    
     > commit 8170e6bed465b4b0c7687f93e9948aca4358a33b
     > Author: H. Peter Anvin <hpa@zytor.com>
     > Date:   Thu Jan 24 12:19:52 2013 -0800
     >
     >     x86, 64bit: Use a #PF handler to materialize early mappings on demand
    
    Before that, we had the maping from [0,512M) in head_64.S, and we
    can spare two pages [0-1M).  After that change, we can not reuse
    pages anymore.
    
    When we have more than 512M ram, we need an extra page for pgd page
    with [512G, 1024g).
    
    Increase pages in BRK for page table to solve the boot crash.
    
    Reported-by: Dave Hansen <dave.hansen@intel.com>
    Bisected-by: Dave Hansen <dave.hansen@intel.com>
    Tested-by: Dave Hansen <dave.hansen@intel.com>
    Signed-off-by: Yinghai Lu <yinghai@kernel.org>
    Link: http://lkml.kernel.org/r/1376351004-4015-1-git-send-email-yinghai@kernel.org
    Signed-off-by: Ingo Molnar <mingo@kernel.org>
    Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>

commit 344033d4079c22c92581675d7416c748d9d8201b
Author: Trond Myklebust <Trond.Myklebust@netapp.com>
Date:   Wed Aug 28 13:35:13 2013 -0400

    SUNRPC: Fix memory corruption issue on 32-bit highmem systems
    
    commit 347e2233b7667e336d9f671f1a52dfa3f0416e2c upstream.
    
    Some architectures, such as ARM-32 do not return the same base address
    when you call kmap_atomic() twice on the same page.
    This causes problems for the memmove() call in the XDR helper routine
    "_shift_data_right_pages()", since it defeats the detection of
    overlapping memory ranges, and has been seen to corrupt memory.
    
    The fix is to distinguish between the case where we're doing an
    inter-page copy or not. In the former case of we know that the memory
    ranges cannot possibly overlap, so we can additionally micro-optimise
    by replacing memmove() with memcpy().
    
    Reported-by: Mark Young <MYoung@nvidia.com>
    Reported-by: Matt Craighead <mcraighead@nvidia.com>
    Cc: Bruce Fields <bfields@fieldses.org>
    Signed-off-by: Trond Myklebust <Trond.Myklebust@netapp.com>
    Tested-by: Matt Craighead <mcraighead@nvidia.com>
    Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>

commit 4067d65ec039bf5fc175c123c588d09380e72fdc
Author: Imre Deak <imre.deak@intel.com>
Date:   Fri Aug 23 23:50:23 2013 +0300

    drm/i915: ivb: fix edp voltage swing reg val
    
    commit 77fa4cbd5fa389e28419bbe8ac491b5fdd54840d upstream.
    
    Fix the typo introduced in
    
    commit 1a2eb4604b85c5efb343da8a4dcf41288fcfca85
    Author: Keith Packard <keithp@keithp.com>
    Date:   Wed Nov 16 16:26:07 2011 -0800
    
        drm/i915: Hook up Ivybridge eDP
    
    This fixes eDP link-training failures and cases where all voltage swing
    /pre-emphasis levels were tried and failed during clock recovery and -
    as a fallback - we go on to do channel equalization with the last voltage
    swing/pre-emphasis level which will succeed. Both issues can lead to a
    blank screen.
    
    v2:
    - improve commit message
    
    Bugzilla: https://bugs.freedesktop.org/show_bug.cgi?id=64880
    Tested-by: Jeremy Moles <cubicool@gmail.com>
    Signed-off-by: Imre Deak <imre.deak@intel.com>
    Reviewed-by: Paulo Zanoni <paulo.r.zanoni@intel.com>
    Signed-off-by: Daniel Vetter <daniel.vetter@ffwll.ch>
    Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>

commit 9c3a5a86636175686a547d6022a50373cc75adbc
Author: Jakob Bornecrantz <jakob@vmware.com>
Date:   Thu Aug 29 02:32:53 2013 +0200

    drm/vmwgfx: Split GMR2_REMAP commands if they are to large
    
    commit 6e4dcff3adbf25acb87e74500a58e3c07bdec40f upstream.
    
    This fixes the piglit test texturing/max-texture-size
    causing the VM to die due to a too large SVGA command.
    
    Signed-off-by: Jakob Bornecrantz <jakob@vmware.com>
    Reviewed-by: Biran Paul <brianp@vmware.com>
    Reviewed-by: Zack Rusin <zackr@vmware.com>
    Signed-off-by: Dave Airlie <airlied@gmail.com>
    Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>

commit 6ff96f7340e8a0b7b7e2c40a26bc47fb320e6475
Author: Tejun Heo <tj@kernel.org>
Date:   Wed Aug 28 17:33:37 2013 -0400

    workqueue: cond_resched() after processing each work item
    
    commit b22ce2785d97423846206cceec4efee0c4afd980 upstream.
    
    If !PREEMPT, a kworker running work items back to back can hog CPU.
    This becomes dangerous when a self-requeueing work item which is
    waiting for something to happen races against stop_machine.  Such
    self-requeueing work item would requeue itself indefinitely hogging
    the kworker and CPU it's running on while stop_machine would wait for
    that CPU to enter stop_machine while preventing anything else from
    happening on all other CPUs.  The two would deadlock.
    
    Jamie Liu reports that this deadlock scenario exists around
    scsi_requeue_run_queue() and libata port multiplier support, where one
    port may exclude command processing from other ports.  With the right
    timing, scsi_requeue_run_queue() can end up requeueing itself trying
    to execute an IO which is asked to be retried while another device has
    an exclusive access, which in turn can't make forward progress due to
    stop_machine.
    
    Fix it by invoking cond_resched() after executing each work item.
    
    Signed-off-by: Tejun Heo <tj@kernel.org>
    Reported-by: Jamie Liu <jamieliu@google.com>
    References: http://thread.gmane.org/gmane.linux.kernel/1552567
    Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>

commit a0d9a083e450d581b98707bdb6837f55554e673b
Author: Andrey Vagin <avagin@openvz.org>
Date:   Wed Aug 28 16:35:20 2013 -0700

    memcg: check that kmem_cache has memcg_params before accessing it
    
    commit 6f6b8951897e487ea6f77b90ea01f70a9c363770 upstream.
    
    If the system had a few memory groups and all of them were destroyed,
    memcg_limited_groups_array_size has non-zero value, but all new caches
    are created without memcg_params, because memcg_kmem_enabled() returns
    false.
    
    We try to enumirate child caches in a few places and all of them are
    potentially dangerous.
    
    For example my kernel is compiled with CONFIG_SLAB and it crashed when I
    tryed to mount a NFS share after a few experiments with kmemcg.
    
      BUG: unable to handle kernel NULL pointer dereference at 0000000000000008
      IP: [<ffffffff8118166a>] do_tune_cpucache+0x8a/0xd0
      PGD b942a067 PUD b999f067 PMD 0
      Oops: 0000 [#1] SMP
      Modules linked in: fscache(+) ip6table_filter ip6_tables iptable_filter ip_tables i2c_piix4 pcspkr virtio_net virtio_balloon i2c_core floppy
      CPU: 0 PID: 357 Comm: modprobe Not tainted 3.11.0-rc7+ #59
      Hardware name: Bochs Bochs, BIOS Bochs 01/01/2011
      task: ffff8800b9f98240 ti: ffff8800ba32e000 task.ti: ffff8800ba32e000
      RIP: 0010:[<ffffffff8118166a>]  [<ffffffff8118166a>] do_tune_cpucache+0x8a/0xd0
      RSP: 0018:ffff8800ba32fb70  EFLAGS: 00010246
      RAX: 0000000000000000 RBX: 0000000000000000 RCX: 0000000000000006
      RDX: 0000000000000000 RSI: ffff8800b9f98910 RDI: 0000000000000246
      RBP: ffff8800ba32fba0 R08: 0000000000000002 R09: 0000000000000004
      R10: 0000000000000001 R11: 0000000000000001 R12: 0000000000000010
      R13: 0000000000000008 R14: 00000000000000d0 R15: ffff8800375d0200
      FS:  00007f55f1378740(0000) GS:ffff8800bfa00000(0000) knlGS:0000000000000000
      CS:  0010 DS: 0000 ES: 0000 CR0: 000000008005003b
      CR2: 00007f24feba57a0 CR3: 0000000037b51000 CR4: 00000000000006f0
      Call Trace:
        enable_cpucache+0x49/0x100
        setup_cpu_cache+0x215/0x280
        __kmem_cache_create+0x2fa/0x450
        kmem_cache_create_memcg+0x214/0x350
        kmem_cache_create+0x2b/0x30
        fscache_init+0x19b/0x230 [fscache]
        do_one_initcall+0xfa/0x1b0
        load_module+0x1c41/0x26d0
        SyS_finit_module+0x86/0xb0
        system_call_fastpath+0x16/0x1b
    
    Signed-off-by: Andrey Vagin <avagin@openvz.org>
    Cc: Pekka Enberg <penberg@kernel.org>
    Cc: Christoph Lameter <cl@linux.com>
    Cc: Glauber Costa <glommer@openvz.org>
    Cc: Joonsoo Kim <js1304@gmail.com>
    Cc: Michal Hocko <mhocko@suse.cz>
    Cc: Johannes Weiner <hannes@cmpxchg.org>
    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 ea35d7d69ee590d44aba3f41dea8b492dce0ca72
Author: Russ Anderson <rja@sgi.com>
Date:   Wed Aug 28 16:35:18 2013 -0700

    drivers/base/memory.c: fix show_mem_removable() to handle missing sections
    
    commit 21ea9f5ace3a7317cc3ba1fbc749758021a83136 upstream.
    
    "cat /sys/devices/system/memory/memory*/removable" crashed the system.
    
    The problem is that show_mem_removable() is passing a
    bad pfn to is_mem_section_removable(), which causes
    
        if (!node_online(page_to_nid(page)))
    
    to blow up.  Why is it passing in a bad pfn?
    
    The reason is that show_mem_removable() will loop sections_per_block
    times.  sections_per_block is 16, but mem->section_count is 8,
    indicating holes in this memory block.  Checking that the memory section
    is present before checking to see if the memory section is removable
    fixes the problem.
    
       harp5-sys:~ # cat /sys/devices/system/memory/memory*/removable
       0
       1
       1
       1
       1
       1
       1
       1
       1
       1
       1
       1
       1
       1
       BUG: unable to handle kernel paging request at ffffea00c3200000
       IP: [<ffffffff81117ed1>] is_pageblock_removable_nolock+0x1/0x90
       PGD 83ffd4067 PUD 37bdfce067 PMD 0
       Oops: 0000 [#1] SMP
       Modules linked in: autofs4 binfmt_misc rdma_ucm rdma_cm iw_cm ib_addr ib_srp scsi_transport_srp scsi_tgt ib_ipoib ib_cm ib_uverbs ib_umad iw_cxgb3 cxgb3 mdio mlx4_en mlx4_ib ib_sa mlx4_core ib_mthca ib_mad ib_core fuse nls_iso8859_1 nls_cp437 vfat fat joydev loop hid_generic usbhid hid hwperf(O) numatools(O) dm_mod iTCO_wdt ipv6 iTCO_vendor_support igb i2c_i801 ioatdma i2c_algo_bit ehci_pci pcspkr lpc_ich i2c_core ehci_hcd ptp sg mfd_core dca rtc_cmos pps_core mperf button xhci_hcd sd_mod crc_t10dif usbcore usb_common scsi_dh_emc scsi_dh_hp_sw scsi_dh_alua scsi_dh_rdac scsi_dh gru(O) xvma(O) xfs crc32c libcrc32c thermal sata_nv processor piix mptsas mptscsih scsi_transport_sas mptbase megaraid_sas fan thermal_sys hwmon ext3 jbd ata_piix ahci libahci libata scsi_mod
       CPU: 4 PID: 5991 Comm: cat Tainted: G           O 3.11.0-rc5-rja-uv+ #10
       Hardware name: SGI UV2000/ROMLEY, BIOS SGI UV 2000/3000 series BIOS 01/15/2013
       task: ffff88081f034580 ti: ffff880820022000 task.ti: ffff880820022000
       RIP: 0010:[<ffffffff81117ed1>]  [<ffffffff81117ed1>] is_pageblock_removable_nolock+0x1/0x90
       RSP: 0018:ffff880820023df8  EFLAGS: 00010287
       RAX: 0000000000040000 RBX: ffffea00c3200000 RCX: 0000000000000004
       RDX: ffffea00c30b0000 RSI: 00000000001c0000 RDI: ffffea00c3200000
       RBP: ffff880820023e38 R08: 0000000000000000 R09: 0000000000000001
       R10: 0000000000000000 R11: 0000000000000001 R12: ffffea00c33c0000
       R13: 0000160000000000 R14: 6db6db6db6db6db7 R15: 0000000000000001
       FS:  00007ffff7fb2700(0000) GS:ffff88083fc80000(0000) knlGS:0000000000000000
       CS:  0010 DS: 0000 ES: 0000 CR0: 0000000080050033
       CR2: ffffea00c3200000 CR3: 000000081b954000 CR4: 00000000000407e0
       Call Trace:
         show_mem_removable+0x41/0x70
         dev_attr_show+0x2a/0x60
         sysfs_read_file+0xf7/0x1c0
         vfs_read+0xc8/0x130
         SyS_read+0x5d/0xa0
         system_call_fastpath+0x16/0x1b
    
    Signed-off-by: Russ Anderson <rja@sgi.com>
    Cc: "Rafael J. Wysocki" <rafael.j.wysocki@intel.com>
    Cc: Yinghai Lu <yinghai@kernel.org>
    Reviewed-by: Yasuaki Ishimatsu <isimatu.yasuaki@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 07245f175c74d7d50663dc6758094c683c07f510
Author: Svenning Soerensen <sss@secomea.dk>
Date:   Wed Aug 28 16:35:17 2013 -0700

    IPC: bugfix for msgrcv with msgtyp < 0
    
    commit 368ae537e056acd3f751fa276f48423f06803922 upstream.
    
    According to 'man msgrcv': "If msgtyp is less than 0, the first message of
    the lowest type that is less than or equal to the absolute value of msgtyp
    shall be received."
    
    Bug: The kernel only returns a message if its type is 1; other messages
    with type < abs(msgtype) will never get returned.
    
    Fix: After having traversed the list to find the first message with the
    lowest type, we need to actually return that message.
    
    This regression was introduced by commit daaf74cf0867 ("ipc: refactor
    msg list search into separate function")
    
    Signed-off-by: Svenning Soerensen <sss@secomea.dk>
    Reviewed-by: Peter Hurley <peter@hurleysoftware.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 b3772c81e3490f1ddc0547ee479598f3f4221699
Author: Nathan Zimmer <nzimmer@sgi.com>
Date:   Wed Aug 28 16:35:14 2013 -0700

    timer_list: correct the iterator for timer_list
    
    commit 84a78a6504f5c5394a8e558702e5b54131f01d14 upstream.
    
    Correct an issue with /proc/timer_list reported by Holger.
    
    When reading from the proc file with a sufficiently small buffer, 2k so
    not really that small, there was one could get hung trying to read the
    file a chunk at a time.
    
    The timer_list_start function failed to account for the possibility that
    the offset was adjusted outside the timer_list_next.
    
    Signed-off-by: Nathan Zimmer <nzimmer@sgi.com>
    Reported-by: Holger Hans Peter Freyther <holger@freyther.de>
    Cc: John Stultz <john.stultz@linaro.org>
    Cc: Thomas Gleixner <tglx@linutronix.de>
    Cc: Berke Durak <berke.durak@xiphos.com>
    Cc: Jeff Layton <jlayton@redhat.com>
    Tested-by: Al Viro <viro@zeniv.linux.org.uk>
    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 f1179e006ed4315834bdbf0982b40f7029cf0977
Author: Kevin Hilman <khilman@linaro.org>
Date:   Wed Aug 14 16:05:02 2013 -0700

    regmap: Add another missing header for !CONFIG_REGMAP stubs
    
    commit 3f0fa9a808f98fa10a18ba2a73f13d65fda990fb upstream.
    
    The use of WARN_ON() needs the definitions from bug.h, without it
    you can get:
    
    include/linux/regmap.h: In function 'regmap_write':
    include/linux/regmap.h:525:2: error: implicit declaration of function 'WARN_ONCE' [-Werror=implicit-function-declaration]
    
    Signed-off-by: Kevin Hilman <khilman@linaro.org>
    Signed-off-by: Mark Brown <broonie@linaro.org>
    Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>

commit ff2b0a7db98e7ffdfafb667e60c25f07e9959737
Author: Hans Verkuil <hverkuil@xs4all.nl>
Date:   Fri Jul 26 18:43:45 2013 +0200

    SCSI: pm80xx: fix Adaptec 71605H hang
    
    commit 9504a923924d663e1953f872f0a828e6454a6cfc upstream.
    
    The IO command size is 128 bytes for these new controllers as opposed to 64
    for the old 8001 controller.
    
    The Adaptec out-of-tree driver did this correctly. After comparing the two
    this turned out to be the crucial difference.
    
    So don't hardcode the IO command size, instead use pm8001_ha->iomb_size as
    that is the correct value for both old and new controllers.
    
    Signed-off-by: Hans Verkuil <hans.verkuil@cisco.com>
    Acked-by: Anand Kumar Santhanam <AnandKumar.Santhanam@pmcs.com>
    Acked-by: Jack Wang <xjtuwjp@gmail.com>
    Signed-off-by: James Bottomley <JBottomley@Parallels.com>
    Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>

commit 6f3615326d368cbcc97c98d78fbc1036567520d1
Author: Eugene Surovegin <ebs@ebshome.net>
Date:   Mon Aug 26 11:53:32 2013 -0700

    powerpc/hvsi: Increase handshake timeout from 200ms to 400ms.
    
    commit d220980b701d838560a70de691b53be007e99e78 upstream.
    
    This solves a problem observed in kexec'ed kernel where 200ms timeout is
    too short and bootconsole fails to initialize. Console did eventually
    become workable but much later into the boot process.
    
    Observed timeout was around 260ms, but I decided to make it a little bigger
    for more reliability.
    
    This has been tested on Power7 machine with Petitboot as a primary
    bootloader and PowerNV firmware.
    
    Signed-off-by: Eugene Surovegin <surovegin@google.com>
    Signed-off-by: Benjamin Herrenschmidt <benh@kernel.crashing.org>
    Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>

commit 501a297b2351addf61311f9ed49dedb10a4fee9e
Author: Benjamin Herrenschmidt <benh@kernel.crashing.org>
Date:   Tue Aug 27 16:38:33 2013 +1000

    powerpc: Don't Oops when accessing /proc/powerpc/lparcfg without hypervisor
    
    commit f5f6cbb61610b7bf9d9d96db9c3979d62a424bab upstream.
    
    /proc/powerpc/lparcfg is an ancient facility (though still actively used)
    which allows access to some informations relative to the partition when
    running underneath a PAPR compliant hypervisor.
    
    It makes no sense on non-pseries machines. However, currently, not only
    can it be created on these if the kernel has pseries support, but accessing
    it on such a machine will crash due to trying to do hypervisor calls.
    
    In fact, it should also not do HV calls on older pseries that didn't have
    an hypervisor either.
    
    Finally, it has the plumbing to be a module but is a "bool" Kconfig option.
    
    This fixes the whole lot by turning it into a machine_device_initcall
    that is only created on pseries, and adding the necessary hypervisor
    check before calling the H_GET_EM_PARMS hypercall
    
    Signed-off-by: Benjamin Herrenschmidt <benh@kernel.crashing.org>
    Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>

commit 45fe50ea3dadb11c5094d71a4f3e3ccc6f41f1c5
Author: Paul Mackerras <paulus@samba.org>
Date:   Tue Aug 27 16:07:49 2013 +1000

    powerpc: Work around gcc miscompilation of __pa() on 64-bit
    
    commit bdbc29c19b2633b1d9c52638fb732bcde7a2031a upstream.
    
    On 64-bit, __pa(&static_var) gets miscompiled by recent versions of
    gcc as something like:
    
            addis 3,2,.LANCHOR1+4611686018427387904@toc@ha
            addi 3,3,.LANCHOR1+4611686018427387904@toc@l
    
    This ends up effectively ignoring the offset, since its bottom 32 bits
    are zero, and means that the result of __pa() still has 0xC in the top
    nibble.  This happens with gcc 4.8.1, at least.
    
    To work around this, for 64-bit we make __pa() use an AND operator,
    and for symmetry, we make __va() use an OR operator.  Using an AND
    operator rather than a subtraction ends up with slightly shorter code
    since it can be done with a single clrldi instruction, whereas it
    takes three instructions to form the constant (-PAGE_OFFSET) and add
    it on.  (Note that MEMORY_START is always 0 on 64-bit.)
    
    Signed-off-by: Paul Mackerras <paulus@samba.org>
    Signed-off-by: Benjamin Herrenschmidt <benh@kernel.crashing.org>
    Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>

commit c990ab45cb4fda0767b196f4303372bdad4f9f7a
Author: Takashi Iwai <tiwai@suse.de>
Date:   Tue Aug 27 12:03:01 2013 +0200

    ALSA: opti9xx: Fix conflicting driver object name
    
    commit fb615499f0ad28ed74201c1cdfddf9e64e205424 upstream.
    
    The recent commit to delay the release of kobject triggered NULL
    dereferences of opti9xx drivers.  The cause is that all
    snd-opti92x-ad1848, snd-opti92x-cs4231 and snd-opti93x drivers
    register the PnP card driver with the very same name, and also
    snd-opti92x-ad1848 and -cs4231 drivers register the ISA driver with
    the same name, too.  When these drivers are built in, quick
    "register-release-and-re-register" actions occur, and this results in
    Oops because of the same name is assigned to the kobject.
    
    The fix is simply to assign individual names.  As a bonus, by using
    KBUILD_MODNAME, the patch reduces more lines than it adds.
    
    The fix is based on the suggestion by Russell King.
    
    Reported-and-tested-by: Fengguang Wu <fengguang.wu@intel.com>
    Signed-off-by: Takashi Iwai <tiwai@suse.de>
    Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>

commit 35133cc34699a77d66a26f6a115b275a38868127
Author: Takashi Iwai <tiwai@suse.de>
Date:   Mon Aug 19 20:05:50 2013 +0200

    ALSA: hda - Add inverted digital mic fixup for Acer Aspire One
    
    commit d3d3835ce919438c00c5d1270d6f9d6ffea59d03 upstream.
    
    Yet another entry, just use the existing fixup for this machine, too.
    
    Reported-by: "Nathanael D. Noblet" <nathanael@gnat.ca>
    Signed-off-by: Takashi Iwai <tiwai@suse.de>
    Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>

commit da958137df4bcd9b2b5ea83db75f66a46c3ef46f
Author: Takashi Iwai <tiwai@suse.de>
Date:   Thu Aug 22 09:55:36 2013 +0200

    ALSA: hda - Fix NULL dereference with CONFIG_SND_DYNAMIC_MINORS=n
    
    commit 2ca320e294a738c9134a71b5029de05edbfc7aad upstream.
    
    Without the dynamic minor assignment, HDMI codec may have less PCM
    instances than the number of pins, which eventually leads to Oops.
    
    Reported-by: Stratos Karafotis <stratosk@semaphore.gr>
    Signed-off-by: Takashi Iwai <tiwai@suse.de>
    Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>

commit 192caed2bfb7072b7f364dc909b43fd7604b991d
Author: Dave Kleikamp <dave.kleikamp@oracle.com>
Date:   Thu Aug 15 15:36:49 2013 -0500

    jfs: fix readdir cookie incompatibility with NFSv4
    
    commit 44512449c0ab368889dd13ae0031fba74ee7e1d2 upstream.
    
    NFSv4 reserves readdir cookie values 0-2 for special entries (. and ..),
    but jfs allows a value of 2 for a non-special entry. This incompatibility
    can result in the nfs client reporting a readdir loop.
    
    This patch doesn't change the value stored internally, but adds one to
    the value exposed to the iterate method.
    
    Signed-off-by: Dave Kleikamp <dave.kleikamp@oracle.com>
    [bwh: Backported to 3.2:
     - Adjust context
     - s/ctx->pos/filp->f_pos/]
    Tested-by: Christian Kujau <lists@nerdbynature.de>
    Signed-off-by: Ben Hutchings <ben@decadent.org.uk>
    Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>

commit 3508b9b01638a5e73fcf913213e4692680a86507
Author: Ben Skeggs <bskeggs@redhat.com>
Date:   Wed Aug 21 10:13:30 2013 +1000

    drm/nouveau/mc: fix race condition between constructor and request_irq()
    
    commit 6ff8c76a566f823d796359a6c1d76b7668f1e34d upstream.
    
    Signed-off-by: Ben Skeggs <bskeggs@redhat.com>
    Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>