1. 17 Feb, 2016 1 commit
    • Linus Torvalds's avatar
      Merge tag 'trace-fixes-v4.5-rc4' of... · a9f70bd4
      Linus Torvalds authored
      Merge tag 'trace-fixes-v4.5-rc4' of git://git.kernel.org/pub/scm/linux/kernel/git/rostedt/linux-trace
      
      Pull tracing fixes from Steven Rostedt:
       "This includes two fixes.
      
        The first is something that has come up a few times and has been
        worked out individually, but it's come up now enough that the problem
        should be generic.  Tracepoints are protected by RCU sched.  There are
        several tracepoints within core infrastructure like kfree().  If a
        tracepoint is called when the CPU is going down, or when it's coming
        up but has yet to be recognized by RCU, a RCU warning is triggered.
      
        This is a true bug as that tracepoint is not protected by RCU.
        Usually, this is taken care of by testing for cpu online as a
        tracepoint condition.  But as this is happening more often, moving it
        from a individual tracepoint to a check in the tracepoint
        infrastructure is more robust.
      
        Note, there is now a duplicate of a cpu online test, because this
        update does not remove the individual checks.  But the overhead is
        small enough that the removal can be done in another release.
      
        The second change is strange linker breakage due to the branch
        tracer's builtin_constant_p() check failing, and treating the
        condition as a variable instead of a constant.  Arnd Bergmann found
        that this can be fixed by testing !!(cond) instead of just (cond)"
      
      * tag 'trace-fixes-v4.5-rc4' of git://git.kernel.org/pub/scm/linux/kernel/git/rostedt/linux-trace:
        tracing: Fix freak link error caused by branch tracer
        tracepoints: Do not trace when cpu is offline
      a9f70bd4
  2. 16 Feb, 2016 6 commits
  3. 15 Feb, 2016 5 commits
    • Arnd Bergmann's avatar
      tracing: Fix freak link error caused by branch tracer · b33c8ff4
      Arnd Bergmann authored
      In my randconfig tests, I came across a bug that involves several
      components:
      
      * gcc-4.9 through at least 5.3
      * CONFIG_GCOV_PROFILE_ALL enabling -fprofile-arcs for all files
      * CONFIG_PROFILE_ALL_BRANCHES overriding every if()
      * The optimized implementation of do_div() that tries to
        replace a library call with an division by multiplication
      * code in drivers/media/dvb-frontends/zl10353.c doing
      
              u32 adc_clock = 450560; /* 45.056 MHz */
              if (state->config.adc_clock)
                      adc_clock = state->config.adc_clock;
              do_div(value, adc_clock);
      
      In this case, gcc fails to determine whether the divisor
      in do_div() is __builtin_constant_p(). In particular, it
      concludes that __builtin_constant_p(adc_clock) is false, while
      __builtin_constant_p(!!adc_clock) is true.
      
      That in turn throws off the logic in do_div() that also uses
      __builtin_constant_p(), and instead of picking either the
      constant- optimized division, and the code in ilog2() that uses
      __builtin_constant_p() to figure out whether it knows the answer at
      compile time. The result is a link error from failing to find
      multiple symbols that should never have been called based on
      the __builtin_constant_p():
      
      dvb-frontends/zl10353.c:138: undefined reference to `____ilog2_NaN'
      dvb-frontends/zl10353.c:138: undefined reference to `__aeabi_uldivmod'
      ERROR: "____ilog2_NaN" [drivers/media/dvb-frontends/zl10353.ko] undefined!
      ERROR: "__aeabi_uldivmod" [drivers/media/dvb-frontends/zl10353.ko] undefined!
      
      This patch avoids the problem by changing __trace_if() to check
      whether the condition is known at compile-time to be nonzero, rather
      than checking whether it is actually a constant.
      
      I see this one link error in roughly one out of 1600 randconfig builds
      on ARM, and the patch fixes all known instances.
      
      Link: http://lkml.kernel.org/r/1455312410-1058841-1-git-send-email-arnd@arndb.deAcked-by: default avatarNicolas Pitre <nico@linaro.org>
      Fixes: ab3c9c68 ("branch tracer, intel-iommu: fix build with CONFIG_BRANCH_TRACER=y")
      Cc: stable@vger.kernel.org # v2.6.30+
      Signed-off-by: default avatarArnd Bergmann <arnd@arndb.de>
      Signed-off-by: default avatarSteven Rostedt <rostedt@goodmis.org>
      b33c8ff4
    • Steven Rostedt (Red Hat)'s avatar
      tracepoints: Do not trace when cpu is offline · f3775549
      Steven Rostedt (Red Hat) authored
      The tracepoint infrastructure uses RCU sched protection to enable and
      disable tracepoints safely. There are some instances where tracepoints are
      used in infrastructure code (like kfree()) that get called after a CPU is
      going offline, and perhaps when it is coming back online but hasn't been
      registered yet.
      
      This can probuce the following warning:
      
       [ INFO: suspicious RCU usage. ]
       4.4.0-00006-g0fe53e8-dirty #34 Tainted: G S
       -------------------------------
       include/trace/events/kmem.h:141 suspicious rcu_dereference_check() usage!
      
       other info that might help us debug this:
      
       RCU used illegally from offline CPU!  rcu_scheduler_active = 1, debug_locks = 1
       no locks held by swapper/8/0.
      
       stack backtrace:
        CPU: 8 PID: 0 Comm: swapper/8 Tainted: G S              4.4.0-00006-g0fe53e8-dirty #34
        Call Trace:
        [c0000005b76c78d0] [c0000000008b9540] .dump_stack+0x98/0xd4 (unreliable)
        [c0000005b76c7950] [c00000000010c898] .lockdep_rcu_suspicious+0x108/0x170
        [c0000005b76c79e0] [c00000000029adc0] .kfree+0x390/0x440
        [c0000005b76c7a80] [c000000000055f74] .destroy_context+0x44/0x100
        [c0000005b76c7b00] [c0000000000934a0] .__mmdrop+0x60/0x150
        [c0000005b76c7b90] [c0000000000e3ff0] .idle_task_exit+0x130/0x140
        [c0000005b76c7c20] [c000000000075804] .pseries_mach_cpu_die+0x64/0x310
        [c0000005b76c7cd0] [c000000000043e7c] .cpu_die+0x3c/0x60
        [c0000005b76c7d40] [c0000000000188d8] .arch_cpu_idle_dead+0x28/0x40
        [c0000005b76c7db0] [c000000000101e6c] .cpu_startup_entry+0x50c/0x560
        [c0000005b76c7ed0] [c000000000043bd8] .start_secondary+0x328/0x360
        [c0000005b76c7f90] [c000000000008a6c] start_secondary_prolog+0x10/0x14
      
      This warning is not a false positive either. RCU is not protecting code that
      is being executed while the CPU is offline.
      
      Instead of playing "whack-a-mole(TM)" and adding conditional statements to
      the tracepoints we find that are used in this instance, simply add a
      cpu_online() test to the tracepoint code where the tracepoint will be
      ignored if the CPU is offline.
      
      Use of raw_smp_processor_id() is fine, as there should never be a case where
      the tracepoint code goes from running on a CPU that is online and suddenly
      gets migrated to a CPU that is offline.
      
      Link: http://lkml.kernel.org/r/1455387773-4245-1-git-send-email-kda@linux-powerpc.orgReported-by: default avatarDenis Kirjanov <kda@linux-powerpc.org>
      Fixes: 97e1c18e ("tracing: Kernel Tracepoints")
      Cc: stable@vger.kernel.org # v2.6.28+
      Signed-off-by: default avatarSteven Rostedt <rostedt@goodmis.org>
      f3775549
    • David Woodhouse's avatar
      iommu/vt-d: Clear PPR bit to ensure we get more page request interrupts · 46924008
      David Woodhouse authored
      According to the VT-d specification we need to clear the PPR bit in
      the Page Request Status register when handling page requests, or the
      hardware won't generate any more interrupts.
      
      This wasn't actually necessary on SKL/KBL (which may well be the
      subject of a hardware erratum, although it's harmless enough). But
      other implementations do appear to get it right, and we only ever get
      one interrupt unless we clear the PPR bit.
      Reported-by: default avatarCQ Tang <cq.tang@intel.com>
      Signed-off-by: default avatarDavid Woodhouse <David.Woodhouse@intel.com>
      Cc: stable@vger.kernel.org
      46924008
    • Simon Horman's avatar
      MAINTAINERS: Update mailing list for Renesas ARM64 SoC Development · 1926e54f
      Simon Horman authored
      Update the mailing list used for development of support for ARM64
      Renesas SoCs.
      
      This is a follow-up for a similar change for other Renesas SoCs and
      drivers uses by Renesas SoCs.  The ARM64 SoC entry was not updated in
      that patch as it was not yet present in mainline.
      
      The motivation for the mailing list update is that Renesas SoCs are now
      much wider than the SH architecture and there is some desire from some
      for the linux-sh list to refocus on discussion of the work on the SH
      architecture.
      Acked-by: default avatarMagnus Damm <damm@opensource.se>
      Acked-by: default avatarGeert Uytterhoeven <geert+renesas@glider.be>
      Signed-off-by: default avatarSimon Horman <horms+renesas@verge.net.au>
      Signed-off-by: default avatarLinus Torvalds <torvalds@linux-foundation.org>
      1926e54f
    • Linus Torvalds's avatar
      Merge branch 'drm-fixes' of git://people.freedesktop.org/~airlied/linux · 631c0e84
      Linus Torvalds authored
      Pull i915 drm fixes from Dave Airlie:
       "Jani sent a bunch of i915 display fixes as my weekend started, but
        hopefully you can fit them in"
      
      * 'drm-fixes' of git://people.freedesktop.org/~airlied/linux:
        drm/i915: fix error path in intel_setup_gmbus()
        drm/i915/skl: Fix typo in DPLL_CFGCR1 definition
        drm/i915/skl: Don't skip mst encoders in skl_ddi_pll_select()
        drm/i915: Pretend cursor is always on for ILK-style WM calculations (v2)
        drm/i915/dp: reduce missing TPS3 support errors to debug logging
        drm/i915/dp: abstract training pattern selection
        drm/i915/dsi: skip gpio element execution when not supported
        drm/i915/dsi: don't pass arbitrary data to sideband
        drm/i915/dsi: defend gpio table against out of bounds access
        drm/i915/bxt: Don't save/restore eDP panel power during suspend (v3)
        drm/i915: Allow i915_gem_object_get_page() on userptr as well
      631c0e84
  4. 14 Feb, 2016 16 commits
    • Linus Torvalds's avatar
      Linux 4.5-rc4 · 18558cae
      Linus Torvalds authored
      18558cae
    • Dave Airlie's avatar
      Merge tag 'drm-intel-fixes-2016-02-12' of git://anongit.freedesktop.org/drm-intel into drm-fixes · bdbe58e6
      Dave Airlie authored
      i915 display fixes mostly.
      
      * tag 'drm-intel-fixes-2016-02-12' of git://anongit.freedesktop.org/drm-intel:
        drm/i915: fix error path in intel_setup_gmbus()
        drm/i915/skl: Fix typo in DPLL_CFGCR1 definition
        drm/i915/skl: Don't skip mst encoders in skl_ddi_pll_select()
        drm/i915: Pretend cursor is always on for ILK-style WM calculations (v2)
        drm/i915/dp: reduce missing TPS3 support errors to debug logging
        drm/i915/dp: abstract training pattern selection
        drm/i915/dsi: skip gpio element execution when not supported
        drm/i915/dsi: don't pass arbitrary data to sideband
        drm/i915/dsi: defend gpio table against out of bounds access
        drm/i915/bxt: Don't save/restore eDP panel power during suspend (v3)
        drm/i915: Allow i915_gem_object_get_page() on userptr as well
      bdbe58e6
    • Linus Torvalds's avatar
      Merge tag 'char-misc-4.5-rc4' of git://git.kernel.org/pub/scm/linux/kernel/git/gregkh/char-misc · 58dd2b5b
      Linus Torvalds authored
      Pull char/misc driver fixes from Greg KH:
       "Here are 3 fixes for some reported issues.  Two nvmem driver fixes,
        and one mei fix.  All have been in linux-next just fine"
      
      * tag 'char-misc-4.5-rc4' of git://git.kernel.org/pub/scm/linux/kernel/git/gregkh/char-misc:
        nvmem: qfprom: Specify LE device endianness
        nvmem: core: return error for non word aligned access
        mei: validate request value in client notify request ioctl
      58dd2b5b
    • Linus Torvalds's avatar
      Merge tag 'driver-core-4.5-rc4' of git://git.kernel.org/pub/scm/linux/kernel/git/gregkh/driver-core · 60f40585
      Linus Torvalds authored
      Pull driver core fix from Greg KH:
       "Here is one driver core, well klist, fix for 4.5-rc4.
      
        It fixes a problem found in the scsi device list traversal that
        probably also could be triggered by other subsystems.
      
        The fix has been in linux-next for a while with no reported problems"
      
      * tag 'driver-core-4.5-rc4' of git://git.kernel.org/pub/scm/linux/kernel/git/gregkh/driver-core:
        klist: fix starting point removed bug in klist iterators
      60f40585
    • Linus Torvalds's avatar
      Merge tag 'tty-4.5-rc4' of git://git.kernel.org/pub/scm/linux/kernel/git/gregkh/tty · 779ee19d
      Linus Torvalds authored
      Pull tty/serial fixes from Greg KH:
       "Here are a number of small tty and serial driver fixes for 4.5-rc4
        that resolve some reported issues.
      
        One of them got reverted as it wasn't correct based on testing, and
        all have been in linux-next for a while"
      
      * tag 'tty-4.5-rc4' of git://git.kernel.org/pub/scm/linux/kernel/git/gregkh/tty:
        Revert "8250: uniphier: allow modular build with 8250 console"
        pty: make sure super_block is still valid in final /dev/tty close
        pty: fix possible use after free of tty->driver_data
        tty: Add support for PCIe WCH382 2S multi-IO card
        serial/omap: mark wait_for_xmitr as __maybe_unused
        serial: omap: Prevent DoS using unprivileged ioctl(TIOCSRS485)
        8250: uniphier: allow modular build with 8250 console
        tty: Drop krefs for interrupted tty lock
      779ee19d
    • Linus Torvalds's avatar
      Merge tag 'usb-4.5-rc4' of git://git.kernel.org/pub/scm/linux/kernel/git/gregkh/usb · 9db8cc1a
      Linus Torvalds authored
      Pull PHY fixes from Greg KH:
       "Here are a couple of PHY driver fixes for 4.5-rc4.
      
        A few small phy issues.  All have been in linux-next with no reported
        issues"
      
      * tag 'usb-4.5-rc4' of git://git.kernel.org/pub/scm/linux/kernel/git/gregkh/usb:
        phy: twl4030-usb: Fix unbalanced pm_runtime_enable on module reload
        phy: twl4030-usb: Relase usb phy on unload
        phy: core: fix wrong err handle for phy_power_on
        phy: Restrict phy-hi6220-usb to HiSilicon arm64
      9db8cc1a
    • Linus Torvalds's avatar
      Merge branch 'perf-urgent-for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/tip/tip · 102a92ce
      Linus Torvalds authored
      Pull perf tooling fixes from Thomas Gleixner:
       "Another round of fixes for the perf tooling side:
      
         - Prevent a NULL pointer dereference in tracepoint error handling
      
         - Fix a thread handling bug in the intel_pt error handling code
      
         - Search both .eh_frame and .debug_frame sections as toolchains seem
           to have random choices of storing the CFI information
      
         - Fix the perf state interval output values, which got broken when
           fixing the overall output"
      
      * 'perf-urgent-for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/tip/tip:
        perf stat: Fix interval output values
        perf probe: Search both .eh_frame and .debug_frame sections for probe location
        perf tools: Fix thread lifetime related segfaut in intel_pt
        perf tools: tracepoint_error() can receive e=NULL, robustify it
      102a92ce
    • Linus Torvalds's avatar
      Merge branch 'locking-urgent-for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/tip/tip · cb490d63
      Linus Torvalds authored
      Pull lockdep fix from Thomas Gleixner:
       "A single fix for the stack trace caching logic in lockdep, where the
        duplicate avoidance managed to store no back trace at all"
      
      * 'locking-urgent-for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/tip/tip:
        locking/lockdep: Fix stack trace caching logic
      cb490d63
    • Linus Torvalds's avatar
      Merge branch 'timers-urgent-for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/tip/tip · 6a810945
      Linus Torvalds authored
      Pull timer fix from Thomas Gleixner:
       "A single fix preventing a 32bit overflow in timespec/val to cputime
        conversions on 32bit machines"
      
      * 'timers-urgent-for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/tip/tip:
        cputime: Prevent 32bit overflow in time[val|spec]_to_cputime()
      6a810945
    • Linus Torvalds's avatar
      Merge branch 'irq-urgent-for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/tip/tip · 8ab54ed6
      Linus Torvalds authored
      Pull irqchip fixes from Thomas Gleixner:
       "Another set of ARM SoC related irqchip fixes:
         - Plug a memory leak in gicv3-its
         - Limit features to the root gic interrupt controller
         - Add a missing barrier in the gic-v3 IAR access
         - Another compile test fix for sun4i"
      
      * 'irq-urgent-for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/tip/tip:
        irqchip/gic-v3: Make sure read from ICC_IAR1_EL1 is visible on redestributor
        irqchip/gic: Only set the EOImodeNS bit for the root controller
        irqchip/gic: Only populate set_affinity for the root controller
        irqchip/gicv3-its: Fix memory leak in its_free_tables()
        irqchip/sun4i: Fix compilation outside of arch/arm
      8ab54ed6
    • Linus Torvalds's avatar
      Merge branch 'x86-urgent-for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/tip/tip · 2d23e61f
      Linus Torvalds authored
      Pull x86 fixes from Thomas Gleixner:
       "Two small fixlets for x86:
      
         - Prevent a KASAN false positive in thread_saved_pc()
      
         - Fix a 32-bit truncation problem in the x86 numa code"
      
      * 'x86-urgent-for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/tip/tip:
        x86/mm/numa: Fix 32-bit memblock range truncation bug on 32-bit NUMA kernels
        x86: Fix KASAN false positives in thread_saved_pc()
      2d23e61f
    • Linus Torvalds's avatar
      Merge branch 'upstream' of git://git.linux-mips.org/pub/scm/ralf/upstream-linus · ab57a611
      Linus Torvalds authored
      Pull MIPS fixes from Ralf Baechle:
       "Here's the first round of MIPS fixes after the merge window:
      
         - Detect Octeon III's PCI correctly.
         - Fix return value of the MT7620 probing function.
         - Wire up the copy_file_range syscall.
         - Fix 64k page support on 32 bit kernels.
         - Fix the early Coherency Manager probe.
         - Allow only hardware-supported page sizes to be selected for R6000.
         - Fix corner cases for the RDHWR nstruction emulation on old hardware.
         - Fix FPU handling corner cases.
         - Remove stale entry for BCM33xx from the MAINTAINERS file.
         - 32 and 64 bit ELF headers are different, handle them correctly"
      
      * 'upstream' of git://git.linux-mips.org/pub/scm/ralf/upstream-linus:
        mips: Differentiate between 32 and 64 bit ELF header
        MIPS: Octeon: Update OCTEON_FEATURE_PCIE for Octeon III
        MIPS: pci-mt7620: Fix return value check in mt7620_pci_probe()
        MIPS: Fix early CM probing
        MIPS: Wire up copy_file_range syscall.
        MIPS: Fix 64k page support for 32 bit kernels.
        MIPS: R6000: Don't allow 64k pages for R6000.
        MIPS: traps.c: Correct microMIPS RDHWR emulation
        MIPS: traps.c: Don't emulate RDHWR in the CpU #0 exception handler
        MAINTAINERS: Remove stale entry for BCM33xx chips
        MIPS: Fix FPU disable with preemption
        MIPS: Properly disable FPU in start_thread()
        MIPS: Fix buffer overflow in syscall_get_arguments()
      ab57a611
    • Linus Torvalds's avatar
      Merge branch 'fixes' of git://ftp.arm.linux.org.uk/~rmk/linux-arm · be3f4e0f
      Linus Torvalds authored
      Pull ARM fixes from Russell King:
       "A couple of ARM fixes from Linus for the ICST clock generator code"
      
      [ "Linus" here is Linus Walleij.  Name-stealer.
      
             Linus "there can be only one" Torvalds ]
      
      * 'fixes' of git://ftp.arm.linux.org.uk/~rmk/linux-arm:
        ARM: 8519/1: ICST: try other dividends than 1
        ARM: 8517/1: ICST: avoid arithmetic overflow in icst_hz()
      be3f4e0f
    • Linus Torvalds's avatar
      Merge branch 'component' of git://ftp.arm.linux.org.uk/~rmk/linux-arm · 8b9f9ebe
      Linus Torvalds authored
      Pull component helper fixes from Russell King:
       "A few fixes for problems people have encountered with the recent
        update to the component helpers"
      
      * 'component' of git://ftp.arm.linux.org.uk/~rmk/linux-arm:
        component: remove device from master match list on failed add
        component: Detach components when deleting master struct
        component: fix crash on x86_64 with hda audio drivers
      8b9f9ebe
    • Linus Torvalds's avatar
      Merge tag 'for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/dledford/rdma · 7686e3c1
      Linus Torvalds authored
      Pull more rdma fixes from Doug Ledford:
       "I think we are getting pretty close to done now.  There are four
        one-off fixes in this update:
      
         - fix ipoib multicast joins
         - fix mlx4 error handling
         - fix mlx5 size computation
         - fix a thinko in core code"
      
      * tag 'for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/dledford/rdma:
        IB/mlx5: Fix RC transport send queue overhead computation
        IB/ipoib: fix for rare multicast join race condition
        IB/core: Fix reading capability mask of the port info class
        net/mlx4: fix some error handling in mlx4_multi_func_init()
      7686e3c1
    • Linus Torvalds's avatar
      Merge git://git.kernel.org/pub/scm/linux/kernel/git/nab/target-pending · 2f2e9f2d
      Linus Torvalds authored
      Pull SCSI target fixes from Nicholas Bellinger:
       "This includes the long awaited series to address a set of bugs around
        active I/O remote-port LUN_RESET, as well as properly handling this
        same case with concurrent fabric driver session disconnect ->
        reconnect.
      
        Note this set of LUN_RESET bug-fixes has been surviving extended
        testing on both v4.5-rc1 and v3.14.y code over the last weeks, and is
        CC'ed for stable as it's something folks using multiple ESX connected
        hosts with slow backends can certainly trigger.
      
        The highlights also include:
      
         - Fix WRITE_SAME/DISCARD emulation 4k sector conversion in
           target/iblock (Mike Christie)
      
         - Fix TMR abort interaction and AIO type TMR response in qla2xxx
           target (Quinn Tran + Swapnil Nagle)
      
         - Fix >= v3.17 stale descriptor pointer regression in qla2xxx target
           (Quinn Tran)
      
         - Fix >= v4.5-rc1 return regression with unmap_zeros_data_store new
           configfs store handler (nab)
      
         - Add CPU affinity flag + convert qla2xxx to use bit (Quinn + HCH +
           Bart)"
      
      * git://git.kernel.org/pub/scm/linux/kernel/git/nab/target-pending:
        qla2xxx: use TARGET_SCF_USE_CPUID flag to indiate CPU Affinity
        target/transport: add flag to indicate CPU Affinity is observed
        target: Fix incorrect unmap_zeroes_data_store return
        qla2xxx: Use ATIO type to send correct tmr response
        qla2xxx: Fix stale pointer access.
        target/user: Fix cast from pointer to phys_addr_t
        target: Drop legacy se_cmd->task_stop_comp + REQUEST_STOP usage
        target: Fix race with SCF_SEND_DELAYED_TAS handling
        target: Fix remote-port TMR ABORT + se_cmd fabric stop
        target: Fix TAS handling for multi-session se_node_acls
        target: Fix LUN_RESET active TMR descriptor handling
        target: Fix LUN_RESET active I/O handling for ACK_KREF
        qla2xxx: Fix TMR ABORT interaction issue between qla2xxx and TCM
        qla2xxx: Fix warning reported by static checker
        target: Fix WRITE_SAME/DISCARD conversion to linux 512b sectors
      2f2e9f2d
  5. 13 Feb, 2016 4 commits
  6. 12 Feb, 2016 8 commits
    • Linus Torvalds's avatar
      Merge tag 'pci-v4.5-fixes-1' of git://git.kernel.org/pub/scm/linux/kernel/git/helgaas/pci · 0cbb0b92
      Linus Torvalds authored
      Pull PCI fixes from Bjorn Helgaas:
       "These are some Renesas binding updates for PCI host controllers, a
        Broadcom fix for a regression we added in v4.5-rc1, and a fix for an
        AER use-after-free problem that can cause memory corruption.
      
        Summary:
      
        AER:
          Flush workqueue on device remove to avoid use-after-free (Sebastian Andrzej Siewior)
      
        Broadcom iProc host bridge driver:
          Allow multiple devices except on PAXC (Ray Jui)
      
        Renesas R-Car host bridge driver:
          Add gen2 device tree support for r8a7793 (Simon Horman)
          Add device tree support for r8a7793 (Simon Horman)"
      
      * tag 'pci-v4.5-fixes-1' of git://git.kernel.org/pub/scm/linux/kernel/git/helgaas/pci:
        PCI: rcar: Add device tree support for r8a7793
        PCI: rcar: Add gen2 device tree support for r8a7793
        PCI: iproc: Allow multiple devices except on PAXC
        PCI/AER: Flush workqueue on device remove to avoid use-after-free
      0cbb0b92
    • Mark Brown's avatar
      Merge remote-tracking branches 'spi/fix/atmel', 'spi/fix/bcm2835aux',... · 4dd638f8
      Mark Brown authored
      Merge remote-tracking branches 'spi/fix/atmel', 'spi/fix/bcm2835aux', 'spi/fix/fsl-espi', 'spi/fix/imx', 'spi/fix/loopback' and 'spi/fix/omap2-mcspi' into spi-linus
      4dd638f8
    • Tony Lindgren's avatar
      spi: omap2-mcspi: Fix PM regression with deferred probe for pm_runtime_reinit · 0e6f357a
      Tony Lindgren authored
      Commit 5de85b9d ("PM / runtime: Re-init runtime PM states at probe
      error and driver unbind") introduced pm_runtime_reinit() that is used
      to reinitialize PM runtime after -EPROBE_DEFER. This allows shutting
      down the device after a failed probe.
      
      However, for drivers using pm_runtime_use_autosuspend() this can cause
      a state where suspend callback is never called after -EPROBE_DEFER.
      On the following device driver probe, hardware state is different from
      the PM runtime state causing omap_device to produce the following
      error:
      
      omap_device_enable() called from invalid state 1
      
      And with omap_device and omap hardware being picky for PM, this will
      block any deeper idle states in hardware.
      
      The solution is to fix the drivers to follow the PM runtime documentation:
      
      1. For sections of code that needs the device disabled, use
         pm_runtime_put_sync_suspend() if pm_runtime_set_autosuspend() has
         been set.
      
      2. For driver exit code, use pm_runtime_dont_use_autosuspend() before
         pm_runtime_put_sync() if pm_runtime_use_autosuspend() has been
         set.
      
      Fixes: 5de85b9d ("PM / runtime: Re-init runtime PM states at probe
      error and driver unbind")
      Cc: linux-spi@vger.kernel.org
      Cc: Alan Stern <stern@rowland.harvard.edu>
      Cc: Kevin Hilman <khilman@baylibre.com>
      Cc: Mark Brown <broonie@kernel.org>
      Cc: Nishanth Menon <nm@ti.com>
      Cc: Rafael J. Wysocki <rafael@kernel.org>
      Cc: Ulf Hansson <ulf.hansson@linaro.org>
      Cc: Tero Kristo <t-kristo@ti.com>
      Signed-off-by: default avatarTony Lindgren <tony@atomide.com>
      Signed-off-by: default avatarMark Brown <broonie@kernel.org>
      0e6f357a
    • Linus Torvalds's avatar
      Merge branch 'akpm'(patches from Andrew) · 29f1bf34
      Linus Torvalds authored
      Merge fixes from Andrew Morton:
       "10 fixes"
      
      The lockdep hlist conversion is in the locking tree too, waiting for the
      next merge window.  Andrew thought it should go in now.  I'll take it,
      since it fixes a real problem and looks trivially correct (famous last
      words).
      
      * emailed patches from Andrew Morton <akpm@linux-foundation.org>:
        arch/x86/Kconfig: CONFIG_X86_UV should depend on CONFIG_EFI
        mm: fix pfn_t vs highmem
        kernel/locking/lockdep.c: convert hash tables to hlists
        mm,thp: fix spellos in describing __HAVE_ARCH_FLUSH_PMD_TLB_RANGE
        mm,thp: khugepaged: call pte flush at the time of collapse
        mm/backing-dev.c: fix error path in wb_init()
        mm, dax: check for pmd_none() after split_huge_pmd()
        vsprintf: kptr_restrict is okay in IRQ when 2
        mm: fix filemap.c kernel doc warning
        ubsan: cosmetic fix to Kconfig text
      29f1bf34
    • Leon Romanovsky's avatar
      IB/mlx5: Fix RC transport send queue overhead computation · 75c1657e
      Leon Romanovsky authored
      Fix the RC QPs send queue overhead computation to take into account
      two additional segments in the WQE which are needed for registration
      operations.
      
      The ATOMIC and UMR segments can't coexist together, so chose maximum out
      of them.
      
      The commit 9e65dc37 ("IB/mlx5: Fix RC transport send queue overhead
      computation") was intended to update RC transport as commit messages
      states, but added the code to UC transport.
      
      Fixes: 9e65dc37 ("IB/mlx5: Fix RC transport send queue overhead computation")
      Signed-off-by: default avatarKamal Heib <kamalh@mellanox.com>
      Signed-off-by: default avatarLeon Romanovsky <leonro@mellanox.com>
      Reviewed-by: default avatarSagi Grimberg <sagig@mellanox.com>
      Signed-off-by: default avatarDoug Ledford <dledford@redhat.com>
      75c1657e
    • Alex Estrin's avatar
      IB/ipoib: fix for rare multicast join race condition · 08bc3276
      Alex Estrin authored
      A narrow window for race condition still exist between
      multicast join thread and *dev_flush workers.
      A kernel crash caused by prolong erratic link state changes
      was observed (most likely a faulty cabling):
      
      [167275.656270] BUG: unable to handle kernel NULL pointer dereference at
      0000000000000020
      [167275.665973] IP: [<ffffffffa05f8f2e>] ipoib_mcast_join+0xae/0x1d0 [ib_ipoib]
      [167275.674443] PGD 0
      [167275.677373] Oops: 0000 [#1] SMP
      ...
      [167275.977530] Call Trace:
      [167275.982225]  [<ffffffffa05f92f0>] ? ipoib_mcast_free+0x200/0x200 [ib_ipoib]
      [167275.992024]  [<ffffffffa05fa1b7>] ipoib_mcast_join_task+0x2a7/0x490
      [ib_ipoib]
      [167276.002149]  [<ffffffff8109d5fb>] process_one_work+0x17b/0x470
      [167276.010754]  [<ffffffff8109e3cb>] worker_thread+0x11b/0x400
      [167276.019088]  [<ffffffff8109e2b0>] ? rescuer_thread+0x400/0x400
      [167276.027737]  [<ffffffff810a5aef>] kthread+0xcf/0xe0
      Here was a hit spot:
      ipoib_mcast_join() {
      ..............
            rec.qkey      = priv->broadcast->mcmember.qkey;
                                             ^^^^^^^
      .....
       }
      Proposed patch should prevent multicast join task to continue
      if link state change is detected.
      Signed-off-by: default avatarAlex Estrin <alex.estrin@intel.com>
      
      Changes from v4:
      - as suggested by Doug Ledford, optimized spinlock usage,
      i.e. ipoib_mcast_join() is called with lock held.
      Changes from v3:
      - sync with priv->lock before flag check.
      Chages from v2:
      - Move check for OPER_UP flag state to mcast_join() to
      ensure no event worker is in progress.
      - minor style fixes.
      Changes from v1:
      - No need to lock again if error detected.
      Signed-off-by: default avatarDoug Ledford <dledford@redhat.com>
      08bc3276
    • Linus Torvalds's avatar
      Merge tag 'mmc-v4.5-rc2' of git://git.linaro.org/people/ulf.hansson/mmc · 5952cc77
      Linus Torvalds authored
      Pull MMC fixes from Ulf Hansson:
       "Here are some mmc fixes intended for v4.5 rc4.
      
        MMC core:
         - Fix an sysfs ABI regression
         - Return an error in a specific error path dealing with mmc ioctls
      
        MMC host:
         - sdhci-pci|acpi: Fix card detect race for Intel BXT/APL
         - sh_mmcif: Correct TX DMA channel allocation
         - mmc_spi: Fix error handling for dma mapping errors
         - sdhci-of-at91: Fix an unbalance issue for the runtime PM usage count
         - pxamci: Fix the device-tree probe deferral path
         - pxamci: Fix read-only GPIO polarity"
      
      * tag 'mmc-v4.5-rc2' of git://git.linaro.org/people/ulf.hansson/mmc:
        Revert "mmc: block: don't use parameter prefix if built as module"
        mmc: sdhci-acpi: Fix card detect race for Intel BXT/APL
        mmc: sdhci-pci: Fix card detect race for Intel BXT/APL
        mmc: sdhci: Allow override of get_cd() called from sdhci_request()
        mmc: sdhci: Allow override of mmc host operations
        mmc: sh_mmcif: Correct TX DMA channel allocation
        mmc: block: return error on failed mmc_blk_get()
        mmc: pxamci: fix the device-tree probe deferral path
        mmc: mmc_spi: add checks for dma mapping error
        mmc: sdhci-of-at91: fix pm runtime unbalanced issue in error path
        mmc: pxamci: fix again read-only gpio detection polarity
      5952cc77
    • Linus Torvalds's avatar
      Merge tag 'sound-4.5-rc4' of git://git.kernel.org/pub/scm/linux/kernel/git/tiwai/sound · 0df34ad9
      Linus Torvalds authored
      Pull sound fixes from Takashi Iwai:
       "In this rc, we've got more volume than previous rc, unsurprisingly;
        the majority of updates in ASoC are about Intel drivers, and another
        major changes are the continued plumbing of ALSA timer bugs revealed
        by syzkaller fuzzer.  Hopefully both settle down now.
      
        Other than that, HD-audio received a couple of code fixes as well as
        the usual quirks, and various small fixes are found for FireWire
        devices, ASoC codecs and drivers"
      
      * tag 'sound-4.5-rc4' of git://git.kernel.org/pub/scm/linux/kernel/git/tiwai/sound: (50 commits)
        ASoC: arizona: fref must be limited in pseudo-fractional mode
        ASoC: sigmadsp: Fix missleading return value
        ALSA: timer: Fix race at concurrent reads
        ALSA: firewire-digi00x: Drop bogus const type qualifier on dot_scrt()
        ALSA: hda - Fix bad dereference of jack object
        ALSA: timer: Fix race between stop and interrupt
        ALSA: timer: Fix wrong instance passed to slave callbacks
        ASoC: Intel: Add module tags for common match module
        ASoC: Intel: Load the atom DPCM driver only
        ASoC: Intel: Create independent acpi match module
        ASoC: Intel: Revert "ASoC: Intel: fix ACPI probe regression with Atom DPCM driver"
        ALSA: dummy: Implement timer backend switching more safely
        ALSA: hda - Fix speaker output from VAIO AiO machines
        Revert "ALSA: hda - Fix noise on Gigabyte Z170X mobo"
        ALSA: firewire-tascam: remove needless member for control and status message
        ALSA: firewire-tascam: remove a flag for controller
        ALSA: firewire-tascam: add support for FW-1804
        ALSA: firewire-tascam: fix NULL pointer dereference when model identification fails
        ALSA: hda - Fix static checker warning in patch_hdmi.c
        ASoC: Intel: Skylake: Remove autosuspend delay
        ...
      0df34ad9