commit 1c767107ef341cdc080d44d3ee1c9ca1b6957ce0
Author: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
Date:   Wed May 11 11:23:00 2016 +0200

    Linux 3.14.69

commit da039ec537e0eac108c9934e8e0c04a1f76df3a9
Author: Anton Blanchard <anton@samba.org>
Date:   Fri Apr 15 12:06:13 2016 +1000

    powerpc: scan_features() updates incorrect bits for REAL_LE
    
    commit 6997e57d693b07289694239e52a10d2f02c3a46f upstream.
    
    The REAL_LE feature entry in the ibm_pa_feature struct is missing an MMU
    feature value, meaning all the remaining elements initialise the wrong
    values.
    
    This means instead of checking for byte 5, bit 0, we check for byte 0,
    bit 0, and then we incorrectly set the CPU feature bit as well as MMU
    feature bit 1 and CPU user feature bits 0 and 2 (5).
    
    Checking byte 0 bit 0 (IBM numbering), means we're looking at the
    "Memory Management Unit (MMU)" feature - ie. does the CPU have an MMU.
    In practice that bit is set on all platforms which have the property.
    
    This means we set CPU_FTR_REAL_LE always. In practice that seems not to
    matter because all the modern cpus which have this property also
    implement REAL_LE, and we've never needed to disable it.
    
    We're also incorrectly setting MMU feature bit 1, which is:
    
      #define MMU_FTR_TYPE_8xx		0x00000002
    
    Luckily the only place that looks for MMU_FTR_TYPE_8xx is in Book3E
    code, which can't run on the same cpus as scan_features(). So this also
    doesn't matter in practice.
    
    Finally in the CPU user feature mask, we're setting bits 0 and 2. Bit 2
    is not currently used, and bit 0 is:
    
      #define PPC_FEATURE_PPC_LE		0x00000001
    
    Which says the CPU supports the old style "PPC Little Endian" mode.
    Again this should be harmless in practice as no 64-bit CPUs implement
    that mode.
    
    Fix the code by adding the missing initialisation of the MMU feature.
    
    Also add a comment marking CPU user feature bit 2 (0x4) as reserved. It
    would be unsafe to start using it as old kernels incorrectly set it.
    
    Fixes: 44ae3ab3358e ("powerpc: Free up some CPU feature bits by moving out MMU-related features")
    Signed-off-by: Anton Blanchard <anton@samba.org>
    [mpe: Flesh out changelog, add comment reserving 0x4]
    Signed-off-by: Michael Ellerman <mpe@ellerman.id.au>
    Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>

commit 8a2e045af861b6ee375877d66579806fda835a7a
Author: Andrey Gelman <andrey.gelman@compulab.co.il>
Date:   Tue Oct 6 15:43:43 2015 -0700

    Input: ads7846 - correct the value got from SPI
    
    commit 879f2fea8a5a748bcbf98d2cdce9139c045505d3 upstream.
    
    According to the touch controller spec, SPI return a 16 bit value, only 12
    bits are valid, they are bit[14-3].
    
    The value of MISO and MOSI can be configured when SPI is in idle mode.
    Currently this touch driver assumes the SPI bus sets the MOSI and MISO in
    low level when SPI bus is in idle mode. So the bit[15] of the value got
    from SPI bus is always 0. But when SPI bus congfigures the MOSI and MISO in
    high level during the SPI idle mode, the bit[15] of the value get from SPI
    is always 1. If bit[15] is not masked, we may get the wrong value.
    
    Mask the invalid bit to make sure the correct value gets returned.
    Regardless of the SPI bus idle configuration.
    
    Signed-off-by: Andrey Gelman <andrey.gelman@compulab.co.il>
    Signed-off-by: Haibo Chen <haibo.chen@freescale.com>
    Signed-off-by: Igor Grinberg <grinberg@compulab.co.il>
    Signed-off-by: Dmitry Torokhov <dmitry.torokhov@gmail.com>
    Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>

commit 766747a187079b8393b89df718a00a659db1376e
Author: Krzysztof Kozlowski <k.kozlowski@samsung.com>
Date:   Mon Apr 4 14:54:59 2016 +0900

    iio: ak8975: Fix NULL pointer exception on early interrupt
    
    commit 07d2390e36ee5b3265e9cc8305f2a106c8721e16 upstream.
    
    In certain probe conditions the interrupt came right after registering
    the handler causing a NULL pointer exception because of uninitialized
    waitqueue:
    
    $ udevadm trigger
    i2c-gpio i2c-gpio-1: using pins 143 (SDA) and 144 (SCL)
    i2c-gpio i2c-gpio-3: using pins 53 (SDA) and 52 (SCL)
    Unable to handle kernel NULL pointer dereference at virtual address 00000000
    pgd = e8b38000
    [00000000] *pgd=00000000
    Internal error: Oops: 5 [#1] SMP ARM
    Modules linked in: snd_soc_i2s(+) i2c_gpio(+) snd_soc_idma snd_soc_s3c_dma snd_soc_core snd_pcm_dmaengine snd_pcm snd_timer snd soundcore ac97_bus spi_s3c64xx pwm_samsung dwc2 exynos_adc phy_exynos_usb2 exynosdrm exynos_rng rng_core rtc_s3c
    CPU: 0 PID: 717 Comm: data-provider-m Not tainted 4.6.0-rc1-next-20160401-00011-g1b8d87473b9e-dirty #101
    Hardware name: SAMSUNG EXYNOS (Flattened Device Tree)
    (...)
    (__wake_up_common) from [<c0379624>] (__wake_up+0x38/0x4c)
    (__wake_up) from [<c0a41d30>] (ak8975_irq_handler+0x28/0x30)
    (ak8975_irq_handler) from [<c0386720>] (handle_irq_event_percpu+0x88/0x140)
    (handle_irq_event_percpu) from [<c038681c>] (handle_irq_event+0x44/0x68)
    (handle_irq_event) from [<c0389c40>] (handle_edge_irq+0xf0/0x19c)
    (handle_edge_irq) from [<c0385e04>] (generic_handle_irq+0x24/0x34)
    (generic_handle_irq) from [<c05ee360>] (exynos_eint_gpio_irq+0x50/0x68)
    (exynos_eint_gpio_irq) from [<c0386720>] (handle_irq_event_percpu+0x88/0x140)
    (handle_irq_event_percpu) from [<c038681c>] (handle_irq_event+0x44/0x68)
    (handle_irq_event) from [<c0389a70>] (handle_fasteoi_irq+0xb4/0x194)
    (handle_fasteoi_irq) from [<c0385e04>] (generic_handle_irq+0x24/0x34)
    (generic_handle_irq) from [<c03860b4>] (__handle_domain_irq+0x5c/0xb4)
    (__handle_domain_irq) from [<c0301774>] (gic_handle_irq+0x54/0x94)
    (gic_handle_irq) from [<c030c910>] (__irq_usr+0x50/0x80)
    
    The bug was reproduced on exynos4412-trats2 (with a max77693 device also
    using i2c-gpio) after building max77693 as a module.
    
    Fixes: 94a6d5cf7caa ("iio:ak8975 Implement data ready interrupt handling")
    Signed-off-by: Krzysztof Kozlowski <k.kozlowski@samsung.com>
    Tested-by: Gregor Boirie <gregor.boirie@parrot.com>
    Signed-off-by: Jonathan Cameron <jic23@kernel.org>
    Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>

commit d33b010c85777395bf0af1b22dcdcb10b764dbac
Author: Jasem Mutlaq <mutlaqja@ikarustech.com>
Date:   Tue Apr 19 10:38:27 2016 +0300

    USB: serial: cp210x: add Straizona Focusers device ids
    
    commit 613ac23a46e10d4d4339febdd534fafadd68e059 upstream.
    
    Adding VID:PID for Straizona Focusers to cp210x driver.
    
    Signed-off-by: Jasem Mutlaq <mutlaqja@ikarustech.com>
    Signed-off-by: Johan Hovold <johan@kernel.org>
    Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>

commit 880b510f740e56128c4455365ac8739677586326
Author: Mike Manning <michael@bsch.com.au>
Date:   Mon Apr 18 12:13:23 2016 +0000

    USB: serial: cp210x: add ID for Link ECU
    
    commit 1d377f4d690637a0121eac8701f84a0aa1e69a69 upstream.
    
    The Link ECU is an aftermarket ECU computer for vehicles that provides
    full tuning abilities as well as datalogging and displaying capabilities
    via the USB to Serial adapter built into the device.
    
    Signed-off-by: Mike Manning <michael@bsch.com.au>
    Signed-off-by: Johan Hovold <johan@kernel.org>
    Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>

commit 74f6a672146ae9416ce1318ae294f8c27c00f583
Author: Prarit Bhargava <prarit@redhat.com>
Date:   Wed May 4 13:48:56 2016 +0800

    ACPICA: Dispatcher: Update thread ID for recursive method calls
    
    commit 93d68841a23a5779cef6fb9aa0ef32e7c5bd00da upstream.
    
    ACPICA commit 7a3bd2d962f221809f25ddb826c9e551b916eb25
    
    Set the mutex owner thread ID.
    Original patch from: Prarit Bhargava <prarit@redhat.com>
    
    Link: https://bugzilla.kernel.org/show_bug.cgi?id=115121
    Link: https://github.com/acpica/acpica/commit/7a3bd2d9
    Signed-off-by: Prarit Bhargava <prarit@redhat.com>
    Tested-by: Andy Lutomirski <luto@kernel.org> # On a Dell XPS 13 9350
    Signed-off-by: Bob Moore <robert.moore@intel.com>
    Signed-off-by: Lv Zheng <lv.zheng@intel.com>
    Signed-off-by: Rafael J. Wysocki <rafael.j.wysocki@intel.com>
    Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>

commit 10173cb53a572be5a4ba2444098f5580d8daa30a
Author: Wang YanQing <udknight@gmail.com>
Date:   Thu May 5 14:14:21 2016 +0100

    x86/sysfb_efi: Fix valid BAR address range check
    
    commit c10fcb14c7afd6688c7b197a814358fecf244222 upstream.
    
    The code for checking whether a BAR address range is valid will break
    out of the loop when a start address of 0x0 is encountered.
    
    This behaviour is wrong since by breaking out of the loop we may miss
    the BAR that describes the EFI frame buffer in a later iteration.
    
    Because of this bug I can't use video=efifb: boot parameter to get
    efifb on my new ThinkPad E550 for my old linux system hard disk with
    3.10 kernel. In 3.10, efifb is the only choice due to DRM/I915 not
    supporting the GPU.
    
    This patch also add a trivial optimization to break out after we find
    the frame buffer address range without testing later BARs.
    
    Signed-off-by: Wang YanQing <udknight@gmail.com>
    [ Rewrote changelog. ]
    Signed-off-by: Matt Fleming <matt@codeblueprint.co.uk>
    Reviewed-by: Peter Jones <pjones@redhat.com>
    Cc: Ard Biesheuvel <ard.biesheuvel@linaro.org>
    Cc: David Herrmann <dh.herrmann@gmail.com>
    Cc: Linus Torvalds <torvalds@linux-foundation.org>
    Cc: Peter Zijlstra <peterz@infradead.org>
    Cc: Thomas Gleixner <tglx@linutronix.de>
    Cc: Tomi Valkeinen <tomi.valkeinen@ti.com>
    Cc: linux-efi@vger.kernel.org
    Link: http://lkml.kernel.org/r/1462454061-21561-2-git-send-email-matt@codeblueprint.co.uk
    Signed-off-by: Ingo Molnar <mingo@kernel.org>
    Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>

commit d4928180b3b37f7391ee62f4a627011827cf6b03
Author: Chen Yu <yu.c.chen@intel.com>
Date:   Fri May 6 11:33:39 2016 +0800

    x86/tsc: Read all ratio bits from MSR_PLATFORM_INFO
    
    commit 886123fb3a8656699dff40afa0573df359abeb18 upstream.
    
    Currently we read the tsc radio: ratio = (MSR_PLATFORM_INFO >> 8) & 0x1f;
    
    Thus we get bit 8-12 of MSR_PLATFORM_INFO, however according to the SDM
    (35.5), the ratio bits are bit 8-15.
    
    Ignoring the upper bits can result in an incorrect tsc ratio, which causes the
    TSC calibration and the Local APIC timer frequency to be incorrect.
    
    Fix this problem by masking 0xff instead.
    
    [ tglx: Massaged changelog ]
    
    Fixes: 7da7c1561366 "x86, tsc: Add static (MSR) TSC calibration on Intel Atom SoCs"
    Signed-off-by: Chen Yu <yu.c.chen@intel.com>
    Cc: "Rafael J. Wysocki" <rafael@kernel.org>
    Cc: Bin Gao <bin.gao@intel.com>
    Cc: Len Brown <lenb@kernel.org>
    Link: http://lkml.kernel.org/r/1462505619-5516-1-git-send-email-yu.c.chen@intel.com
    Signed-off-by: Thomas Gleixner <tglx@linutronix.de>
    Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>

commit a762be0a29f4801100f548df6622a7921ba28e61
Author: Matt Fleming <matt@codeblueprint.co.uk>
Date:   Tue May 3 20:29:39 2016 +0100

    MAINTAINERS: Remove asterisk from EFI directory names
    
    commit e8dfe6d8f6762d515fcd4f30577f7bfcf7659887 upstream.
    
    Mark reported that having asterisks on the end of directory names
    confuses get_maintainer.pl when it encounters subdirectories, and that
    my name does not appear when run on drivers/firmware/efi/libstub.
    
    Reported-by: Mark Rutland <mark.rutland@arm.com>
    Signed-off-by: Matt Fleming <matt@codeblueprint.co.uk>
    Cc: Ard Biesheuvel <ard.biesheuvel@linaro.org>
    Cc: Catalin Marinas <catalin.marinas@arm.com>
    Cc: Linus Torvalds <torvalds@linux-foundation.org>
    Cc: Peter Zijlstra <peterz@infradead.org>
    Cc: Thomas Gleixner <tglx@linutronix.de>
    Cc: linux-efi@vger.kernel.org
    Link: http://lkml.kernel.org/r/1462303781-8686-2-git-send-email-matt@codeblueprint.co.uk
    Signed-off-by: Ingo Molnar <mingo@kernel.org>
    Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>

commit c730a713700e167ecc3e929bd6707f67da2269f4
Author: Sven Eckelmann <sven@narfation.org>
Date:   Sun Mar 20 12:27:53 2016 +0100

    batman-adv: Reduce refcnt of removed router when updating route
    
    commit d1a65f1741bfd9c69f9e4e2ad447a89b6810427d upstream.
    
    _batadv_update_route rcu_derefences orig_ifinfo->router outside of a
    spinlock protected region to print some information messages to the debug
    log. But this pointer is not checked again when the new pointer is assigned
    in the spinlock protected region. Thus is can happen that the value of
    orig_ifinfo->router changed in the meantime and thus the reference counter
    of the wrong router gets reduced after the spinlock protected region.
    
    Just rcu_dereferencing the value of orig_ifinfo->router inside the spinlock
    protected region (which also set the new pointer) is enough to get the
    correct old router object.
    
    Fixes: e1a5382f978b ("batman-adv: Make orig_node->router an rcu protected pointer")
    Signed-off-by: Sven Eckelmann <sven@narfation.org>
    Signed-off-by: Marek Lindner <mareklindner@neomailbox.ch>
    Signed-off-by: Antonio Quartulli <a@unstable.cc>
    Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>

commit df6172e456019466cf2cd6c47e760664f80568d0
Author: Linus Lüssing <linus.luessing@c0d3.blue>
Date:   Fri Mar 11 14:04:49 2016 +0100

    batman-adv: Fix broadcast/ogm queue limit on a removed interface
    
    commit c4fdb6cff2aa0ae740c5f19b6f745cbbe786d42f upstream.
    
    When removing a single interface while a broadcast or ogm packet is
    still pending then we will free the forward packet without releasing the
    queue slots again.
    
    This patch is supposed to fix this issue.
    
    Fixes: 6d5808d4ae1b ("batman-adv: Add missing hardif_free_ref in forw_packet_free")
    Signed-off-by: Linus Lüssing <linus.luessing@c0d3.blue>
    [sven@narfation.org: fix conflicts with current version]
    Signed-off-by: Sven Eckelmann <sven@narfation.org>
    Signed-off-by: Marek Lindner <mareklindner@neomailbox.ch>
    Signed-off-by: Antonio Quartulli <a@unstable.cc>
    Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>

commit b4b3908218e8c2a78f0d9e16094b9fd887dfeceb
Author: Sven Eckelmann <sven@narfation.org>
Date:   Fri Feb 26 17:56:13 2016 +0100

    batman-adv: Check skb size before using encapsulated ETH+VLAN header
    
    commit c78296665c3d81f040117432ab9e1cb125521b0c upstream.
    
    The encapsulated ethernet and VLAN header may be outside the received
    ethernet frame. Thus the skb buffer size has to be checked before it can be
    parsed to find out if it encapsulates another batman-adv packet.
    
    Fixes: 420193573f11 ("batman-adv: softif bridge loop avoidance")
    Signed-off-by: Sven Eckelmann <sven@narfation.org>
    Signed-off-by: Marek Lindner <mareklindner@neomailbox.ch>
    Signed-off-by: Antonio Quartulli <a@unstable.cc>
    Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>

commit e9abb59f46beadb8d80d9e40c9c5e15b5e61b8d1
Author: Mathias Krause <minipli@googlemail.com>
Date:   Thu May 5 16:22:26 2016 -0700

    proc: prevent accessing /proc/<PID>/environ until it's ready
    
    commit 8148a73c9901a8794a50f950083c00ccf97d43b3 upstream.
    
    If /proc/<PID>/environ gets read before the envp[] array is fully set up
    in create_{aout,elf,elf_fdpic,flat}_tables(), we might end up trying to
    read more bytes than are actually written, as env_start will already be
    set but env_end will still be zero, making the range calculation
    underflow, allowing to read beyond the end of what has been written.
    
    Fix this as it is done for /proc/<PID>/cmdline by testing env_end for
    zero.  It is, apparently, intentionally set last in create_*_tables().
    
    This bug was found by the PaX size_overflow plugin that detected the
    arithmetic underflow of 'this_len = env_end - (env_start + src)' when
    env_end is still zero.
    
    The expected consequence is that userland trying to access
    /proc/<PID>/environ of a not yet fully set up process may get
    inconsistent data as we're in the middle of copying in the environment
    variables.
    
    Fixes: https://forums.grsecurity.net/viewtopic.php?f=3&t=4363
    Fixes: https://bugzilla.kernel.org/show_bug.cgi?id=116461
    Signed-off-by: Mathias Krause <minipli@googlemail.com>
    Cc: Emese Revfy <re.emese@gmail.com>
    Cc: Pax Team <pageexec@freemail.hu>
    Cc: Al Viro <viro@zeniv.linux.org.uk>
    Cc: Mateusz Guzik <mguzik@redhat.com>
    Cc: Alexey Dobriyan <adobriyan@gmail.com>
    Cc: Cyrill Gorcunov <gorcunov@openvz.org>
    Cc: Jarod Wilson <jarod@redhat.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 88ed791c43aad64fc2f3707bc3e82205031a73e3
Author: Knut Wohlrab <Knut.Wohlrab@de.bosch.com>
Date:   Mon Apr 25 14:08:25 2016 -0700

    Input: zforce_ts - fix dual touch recognition
    
    commit 6984ab1ab35f422292b7781c65284038bcc0f6a6 upstream.
    
    A wrong decoding of the touch coordinate message causes a wrong touch
    ID. Touch ID for dual touch must be 0 or 1.
    
    According to the actual Neonode nine byte touch coordinate coding,
    the state is transported in the lower nibble and the touch ID in
    the higher nibble of payload byte five.
    
    Signed-off-by: Knut Wohlrab <Knut.Wohlrab@de.bosch.com>
    Signed-off-by: Oleksij Rempel <linux@rempel-privat.de>
    Signed-off-by: Dirk Behme <dirk.behme@de.bosch.com>
    Signed-off-by: Dmitry Torokhov <dmitry.torokhov@gmail.com>
    Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>

commit 9cce33a90a71c14cad12c10c167afe6edb602680
Author: Sascha Hauer <s.hauer@pengutronix.de>
Date:   Wed Apr 20 13:34:31 2016 +0000

    ARM: SoCFPGA: Fix secondary CPU startup in thumb2 kernel
    
    commit 5616f36713ea77f57ae908bf2fef641364403c9f upstream.
    
    The secondary CPU starts up in ARM mode. When the kernel is compiled in
    thumb2 mode we have to explicitly compile the secondary startup
    trampoline in ARM mode, otherwise the CPU will go to Nirvana.
    
    Signed-off-by: Sascha Hauer <s.hauer@pengutronix.de>
    Reported-by: Steffen Trumtrar <s.trumtrar@pengutronix.de>
    Suggested-by: Ard Biesheuvel <ard.biesheuvel@linaro.org>
    Signed-off-by: Dinh Nguyen <dinguyen@opensource.altera.com>
    Signed-off-by: Kevin Hilman <khilman@baylibre.com>
    Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>

commit 9ae8b1a1c6dbac37e4c4cd2dd34ada9866bf3e84
Author: Chunyu Hu <chuhu@redhat.com>
Date:   Tue May 3 19:34:34 2016 +0800

    tracing: Don't display trigger file for events that can't be enabled
    
    commit 854145e0a8e9a05f7366d240e2f99d9c1ca6d6dd upstream.
    
    Currently register functions for events will be called
    through the 'reg' field of event class directly without
    any check when seting up triggers.
    
    Triggers for events that don't support register through
    debug fs (events under events/ftrace are for trace-cmd to
    read event format, and most of them don't have a register
    function except events/ftrace/functionx) can't be enabled
    at all, and an oops will be hit when setting up trigger
    for those events, so just not creating them is an easy way
    to avoid the oops.
    
    Link: http://lkml.kernel.org/r/1462275274-3911-1-git-send-email-chuhu@redhat.com
    
    Fixes: 85f2b08268c01 ("tracing: Add basic event trigger framework")
    Signed-off-by: Chunyu Hu <chuhu@redhat.com>
    Signed-off-by: Steven Rostedt <rostedt@goodmis.org>
    Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>

commit 4a4b98101f7bd04d6353677230ca622e3324b541
Author: Arnd Bergmann <arnd@arndb.de>
Date:   Mon Mar 14 15:29:44 2016 +0100

    lpfc: fix misleading indentation
    
    commit aeb6641f8ebdd61939f462a8255b316f9bfab707 upstream.
    
    gcc-6 complains about the indentation of the lpfc_destroy_vport_work_array()
    call in lpfc_online(), which clearly doesn't look right:
    
    drivers/scsi/lpfc/lpfc_init.c: In function 'lpfc_online':
    drivers/scsi/lpfc/lpfc_init.c:2880:3: warning: statement is indented as if it were guarded by... [-Wmisleading-indentation]
       lpfc_destroy_vport_work_array(phba, vports);
       ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~
    drivers/scsi/lpfc/lpfc_init.c:2863:2: note: ...this 'if' clause, but it is not
      if (vports != NULL)
      ^~
    
    Looking at the patch that introduced this code, it's clear that the
    behavior is correct and the indentation is wrong.
    
    This fixes the indentation and adds curly braces around the previous
    if() block for clarity, as that is most likely what caused the code
    to be misindented in the first place.
    
    Signed-off-by: Arnd Bergmann <arnd@arndb.de>
    Fixes: 549e55cd2a1b ("[SCSI] lpfc 8.2.2 : Fix locking around HBA's port_list")
    Reviewed-by: Sebastian Herbszt <herbszt@gmx.de>
    Reviewed-by: Hannes Reinecke <hare@suse.com>
    Reviewed-by: Ewan D. Milne <emilne@redhat.com>
    Signed-off-by: Martin K. Petersen <martin.petersen@oracle.com>
    Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>

commit 1ce85fda9239b9ea64e0f499510affb60a30f1ff
Author: Linus Walleij <linus.walleij@linaro.org>
Date:   Wed Feb 24 09:39:11 2016 +0100

    clk: versatile: sp810: support reentrance
    
    commit ec7957a6aa0aaf981fb8356dc47a2cdd01cde03c upstream.
    
    Despite care take to allocate clocks state containers the
    SP810 driver actually just supports creating one instance:
    all clocks registered for every instance will end up with the
    exact same name and __clk_init() will fail.
    
    Rename the timclken<0> .. timclken<n> to sp810_<instance>_<n>
    so every clock on every instance gets a unique name.
    
    This is necessary for the RealView PBA8 which has two SP810
    blocks: the second block will not register its clocks unless
    every clock on every instance is unique and results in boot
    logs like this:
    
    ------------[ cut here ]------------
    WARNING: CPU: 0 PID: 0 at ../drivers/clk/versatile/clk-sp810.c:137
      clk_sp810_of_setup+0x110/0x154()
    Modules linked in:
    CPU: 0 PID: 0 Comm: swapper/0 Not tainted
    4.5.0-rc2-00030-g352718fc39f6-dirty #225
    Hardware name: ARM RealView Machine (Device Tree Support)
    [<c00167f8>] (unwind_backtrace) from [<c0013204>]
                 (show_stack+0x10/0x14)
    [<c0013204>] (show_stack) from [<c01a049c>]
                 (dump_stack+0x84/0x9c)
    [<c01a049c>] (dump_stack) from [<c0024990>]
                 (warn_slowpath_common+0x74/0xb0)
    [<c0024990>] (warn_slowpath_common) from [<c0024a68>]
                 (warn_slowpath_null+0x1c/0x24)
    [<c0024a68>] (warn_slowpath_null) from [<c051eb44>]
                 (clk_sp810_of_setup+0x110/0x154)
    [<c051eb44>] (clk_sp810_of_setup) from [<c051e3a4>]
                 (of_clk_init+0x12c/0x1c8)
    [<c051e3a4>] (of_clk_init) from [<c0504714>]
                 (time_init+0x20/0x2c)
    [<c0504714>] (time_init) from [<c0501b18>]
                 (start_kernel+0x244/0x3c4)
    [<c0501b18>] (start_kernel) from [<7000807c>] (0x7000807c)
    ---[ end trace cb88537fdc8fa200 ]---
    
    Cc: Michael Turquette <mturquette@baylibre.com>
    Cc: Pawel Moll <pawel.moll@arm.com>
    Fixes: 6e973d2c4385 "clk: vexpress: Add separate SP810 driver"
    Signed-off-by: Linus Walleij <linus.walleij@linaro.org>
    Signed-off-by: Stephen Boyd <sboyd@codeaurora.org>
    Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>

commit c3a835f771b2e4b1fe309ee4a8057e577bb91e92
Author: Dan Streetman <dan.streetman@canonical.com>
Date:   Thu Jan 14 13:42:32 2016 -0500

    nbd: ratelimit error msgs after socket close
    
    commit da6ccaaa79caca4f38b540b651238f87215217a2 upstream.
    
    Make the "Attempted send on closed socket" error messages generated in
    nbd_request_handler() ratelimited.
    
    When the nbd socket is shutdown, the nbd_request_handler() function emits
    an error message for every request remaining in its queue.  If the queue
    is large, this will spam a large amount of messages to the log.  There's
    no need for a separate error message for each request, so this patch
    ratelimits it.
    
    In the specific case this was found, the system was virtual and the error
    messages were logged to the serial port, which overwhelmed it.
    
    Fixes: 4d48a542b427 ("nbd: fix I/O hang on disconnected nbds")
    Signed-off-by: Dan Streetman <dan.streetman@canonical.com>
    Signed-off-by: Markus Pargmann <mpa@pengutronix.de>
    Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>

commit 074d348ade6f658eb87a9acefb396181d01a7ea6
Author: Marco Angaroni <marcoangaroni@gmail.com>
Date:   Sat Mar 5 12:10:02 2016 +0100

    ipvs: correct initial offset of Call-ID header search in SIP persistence engine
    
    commit 7617a24f83b5d67f4dab1844956be1cebc44aec8 upstream.
    
    The IPVS SIP persistence engine is not able to parse the SIP header
    "Call-ID" when such header is inserted in the first positions of
    the SIP message.
    
    When IPVS is configured with "--pe sip" option, like for example:
    ipvsadm -A -u 1.2.3.4:5060 -s rr --pe sip -p 120 -o
    some particular messages (see below for details) do not create entries
    in the connection template table, which can be listed with:
    ipvsadm -Lcn --persistent-conn
    
    Problematic SIP messages are SIP responses having "Call-ID" header
    positioned just after message first line:
    SIP/2.0 200 OK
    [Call-ID header here]
    [rest of the headers]
    
    When "Call-ID" header is positioned down (after a few other headers)
    it is correctly recognized.
    
    This is due to the data offset used in get_callid function call inside
    ip_vs_pe_sip.c file: since dptr already points to the start of the
    SIP message, the value of dataoff should be initially 0.
    Otherwise the header is searched starting from some bytes after the
    first character of the SIP message.
    
    Fixes: 758ff0338722 ("IPVS: sip persistence engine")
    Signed-off-by: Marco Angaroni <marcoangaroni@gmail.com>
    Acked-by: Julian Anastasov <ja@ssi.bg>
    Signed-off-by: Simon Horman <horms@verge.net.au>
    Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>

commit 85f71cbf3fde8470597eee0d9c3c5e3003942890
Author: Behan Webster <behanw@converseincode.com>
Date:   Thu Feb 13 12:21:48 2014 -0800

    x86: LLVMLinux: Fix "incomplete type const struct x86cpu_device_id"
    
    commit c4586256f0c440bc2bdb29d2cbb915f0ca785d26 upstream.
    
    Similar to the fix in 40413dcb7b273bda681dca38e6ff0bbb3728ef11
    
    MODULE_DEVICE_TABLE(x86cpu, ...) expects the struct to be called struct
    x86cpu_device_id, and not struct x86_cpu_id which is what is used in the rest
    of the kernel code.  Although gcc seems to ignore this error, clang fails
    without this define to fix the name.
    
    Code from drivers/thermal/x86_pkg_temp_thermal.c
    static const struct x86_cpu_id __initconst pkg_temp_thermal_ids[] = { ... };
    MODULE_DEVICE_TABLE(x86cpu, pkg_temp_thermal_ids);
    
    Error from clang:
    drivers/thermal/x86_pkg_temp_thermal.c:577:1: error: variable has
          incomplete type 'const struct x86cpu_device_id'
    MODULE_DEVICE_TABLE(x86cpu, pkg_temp_thermal_ids);
    ^
    include/linux/module.h:145:3: note: expanded from macro
          'MODULE_DEVICE_TABLE'
      MODULE_GENERIC_TABLE(type##_device, name)
      ^
    include/linux/module.h:87:32: note: expanded from macro
          'MODULE_GENERIC_TABLE'
    extern const struct gtype##_id __mod_##gtype##_table            \
                                   ^
    <scratch space>:143:1: note: expanded from here
    __mod_x86cpu_device_table
    ^
    drivers/thermal/x86_pkg_temp_thermal.c:577:1: note: forward declaration of
          'struct x86cpu_device_id'
    include/linux/module.h:145:3: note: expanded from macro
          'MODULE_DEVICE_TABLE'
      MODULE_GENERIC_TABLE(type##_device, name)
      ^
    include/linux/module.h:87:21: note: expanded from macro
          'MODULE_GENERIC_TABLE'
    extern const struct gtype##_id __mod_##gtype##_table            \
                        ^
    <scratch space>:141:1: note: expanded from here
    x86cpu_device_id
    ^
    1 error generated.
    
    Signed-off-by: Behan Webster <behanw@converseincode.com>
    Signed-off-by: Jan-Simon Möller <dl9pf@gmx.de>
    Acked-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
    [added vmbus, mei, and rapdio #defines, needed for 3.14 - gregkh]
    Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>

commit 615829a03dc729e78372d40d95ba40e2ad51783b
Author: Paolo Bonzini <pbonzini@redhat.com>
Date:   Thu Mar 31 09:38:51 2016 +0200

    compiler-gcc: disable -ftracer for __noclone functions
    
    commit 95272c29378ee7dc15f43fa2758cb28a5913a06d upstream.
    
    -ftracer can duplicate asm blocks causing compilation to fail in
    noclone functions.  For example, KVM declares a global variable
    in an asm like
    
        asm("2: ... \n
             .pushsection data \n
             .global vmx_return \n
             vmx_return: .long 2b");
    
    and -ftracer causes a double declaration.
    
    Cc: Andrew Morton <akpm@linux-foundation.org>
    Cc: Michal Marek <mmarek@suse.cz>
    Cc: stable@vger.kernel.org
    Cc: kvm@vger.kernel.org
    Reported-by: Linda Walsh <lkml@tlinx.org>
    Signed-off-by: Paolo Bonzini <pbonzini@redhat.com>
    Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>

commit 3711edaf01a01818f2aed9f21efe29b9818134b9
Author: Joe Perches <joe@perches.com>
Date:   Thu Jun 25 15:01:02 2015 -0700

    compiler-gcc: integrate the various compiler-gcc[345].h files
    
    commit f320793e52aee78f0fbb8bcaf10e6614d2e67bfc upstream.
    
    [ Upstream commit cb984d101b30eb7478d32df56a0023e4603cba7f ]
    
    As gcc major version numbers are going to advance rather rapidly in the
    future, there's no real value in separate files for each compiler
    version.
    
    Deduplicate some of the macros #defined in each file too.
    
    Neaten comments using normal kernel commenting style.
    
    Signed-off-by: Joe Perches <joe@perches.com>
    Cc: Andi Kleen <andi@firstfloor.org>
    Cc: Michal Marek <mmarek@suse.cz>
    Cc: Segher Boessenkool <segher@kernel.crashing.org>
    Cc: Sasha Levin <levinsasha928@gmail.com>
    Cc: Anton Blanchard <anton@samba.org>
    Cc: Alan Modra <amodra@gmail.com>
    Signed-off-by: Andrew Morton <akpm@linux-foundation.org>
    Signed-off-by: Linus Torvalds <torvalds@linux-foundation.org>
    Signed-off-by: Sasha Levin <sasha.levin@oracle.com>
    Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>