1. 02 Sep, 2014 3 commits
    • Simon Lindgren's avatar
      i2c: at91: Fix a race condition during signal handling in at91_do_twi_xfer. · 6721f28a
      Simon Lindgren authored
      There is a race condition in at91_do_twi_xfer when signals arrive.
      If a signal is recieved while waiting for a transfer to complete
      wait_for_completion_interruptible_timeout() will return -ERESTARTSYS.
      This is not handled correctly resulting in interrupts still being
      enabled and a transfer being in flight when we return.
      
      Symptoms include a range of oopses and bus lockups. Oopses can happen
      when the transfer completes because the interrupt handler will corrupt
      the stack. If a new transfer is started before the interrupt fires
      the controller will start a new transfer in the middle of the old one,
      resulting in confused slaves and a locked bus.
      
      To avoid this, use wait_for_completion_io_timeout instead so that we
      don't have to deal with gracefully shutting down the transfer and
      disabling the interrupts.
      Signed-off-by: default avatarSimon Lindgren <simon@aqwary.com>
      Acked-by: default avatarLudovic Desroches <ludovic.desroches@atmel.com>
      Signed-off-by: default avatarWolfram Sang <wsa@the-dreams.de>
      Cc: stable@kernel.org
      6721f28a
    • Chen-Yu Tsai's avatar
      i2c: mv64xxx: continue probe when clock-frequency is missing · 0ce4bc1d
      Chen-Yu Tsai authored
      The "clock-frequency" DT property is listed as optional, However,
      the current code stores the return value of of_property_read_u32 in
      the return code of mv64xxx_of_config, but then forgets to clear it
      after setting the default value of "clock-frequency". It is then
      passed out to the main probe function, resulting in a probe failure
      when "clock-frequency" is missing.
      
      This patch checks and then throws away the return value of
      of_property_read_u32, instead of storing it and having to clear it
      afterwards.
      
      This issue was discovered after the property was removed from all
      sunxi DTs.
      
      Fixes: 4c730a06 ("i2c: mv64xxx: Set bus frequency to 100kHz if clock-frequency is not provided")
      Signed-off-by: default avatarChen-Yu Tsai <wens@csie.org>
      Cc: stable@vger.kernel.org
      Acked-by: default avatarAndrew Lunn <andrew@lunn.ch>
      Acked-by: default avatarMaxime Ripard <maxime.ripard@free-electrons.com>
      Signed-off-by: default avatarWolfram Sang <wsa@the-dreams.de>
      0ce4bc1d
    • Sergei Shtylyov's avatar
      i2c: rcar: fix MNR interrupt handling · dd318b0d
      Sergei Shtylyov authored
      Sometimes the MNR and MST interrupts happen simultaneously  (stop  automatically
      follows NACK, according to the manuals) and in such case the ID_NACK flag  isn't
      set since the MST interrupt handling precedes MNR and all interrupts are cleared
      and disabled then, so that MNR interrupt is never noticed -- this causes NACK'ed
      transfers to be falsely reported as successful. Exchanging MNR and  MST handlers
      fixes this issue, however the MNR bit  somehow  gets set again even after  being
      explicitly cleared, so I decided to completely suppress handling of all disabled
      interrupts (which is a good thing anyway)...
      Signed-off-by: default avatarSergei Shtylyov <sergei.shtylyov@cogentembedded.com>
      Cc: stable@vger.kernel.org
      Signed-off-by: default avatarWolfram Sang <wsa@the-dreams.de>
      dd318b0d
  2. 01 Sep, 2014 5 commits
    • Linus Torvalds's avatar
      Linux 3.17-rc3 · 69e273c0
      Linus Torvalds authored
      69e273c0
    • Linus Torvalds's avatar
      Merge tag 'xtensa-20140830' of git://github.com/czankel/xtensa-linux · 05bdb8c9
      Linus Torvalds authored
      Pull Xtensa updates from Chris Zankel:
       "Xtensa improvements for 3.17:
         - support highmem on cores with aliasing data cache.  Enable highmem
           on kc705 by default
         - simplify addition of new core variants (no need to modify Kconfig /
           Makefiles)
         - improve robustness of unaligned access handler and its interaction
           with window overflow/underflow exception handlers
         - deprecate atomic and spill registers syscalls
         - clean up Kconfig: remove orphan MATH_EMULATION, sort 'select'
           statements
         - wire up renameat2 syscall.
      
        Various fixes:
         - fix address checks in dma_{alloc,free}_coherent (runtime BUG)
         - fix access to THREAD_RA/THREAD_SP/THREAD_DS (debug build breakage)
         - fix TLBTEMP_BASE_2 region handling in fast_second_level_miss
           (runtime unrecoverable exception)
         - fix a6 and a7 handling in fast_syscall_xtensa (runtime userspace
           register clobbering)
         - fix kernel/user jump out of fast_unaligned (potential runtime
           unrecoverabl exception)
         - replace termios IOCTL code definitions with constants (userspace
           build breakage)"
      
      * tag 'xtensa-20140830' of git://github.com/czankel/xtensa-linux: (25 commits)
        xtensa: deprecate fast_xtensa and fast_spill_registers syscalls
        xtensa: don't allow overflow/underflow on unaligned stack
        xtensa: fix a6 and a7 handling in fast_syscall_xtensa
        xtensa: allow single-stepping through unaligned load/store
        xtensa: move invalid unaligned instruction handler closer to its users
        xtensa: make fast_unaligned store restartable
        xtensa: add double exception fixup handler for fast_unaligned
        xtensa: fix kernel/user jump out of fast_unaligned
        xtensa: configure kc705 for highmem
        xtensa: support highmem in aliasing cache flushing code
        xtensa: support aliasing cache in kmap
        xtensa: support aliasing cache in k[un]map_atomic
        xtensa: implement clear_user_highpage and copy_user_highpage
        xtensa: fix TLBTEMP_BASE_2 region handling in fast_second_level_miss
        xtensa: allow fixmap and kmap span more than one page table
        xtensa: make fixmap region addressing grow with index
        xtensa: fix access to THREAD_RA/THREAD_SP/THREAD_DS
        xtensa: add renameat2 syscall
        xtensa: fix address checks in dma_{alloc,free}_coherent
        xtensa: replace IOCTL code definitions with constants
        ...
      05bdb8c9
    • Guenter Roeck's avatar
      unicore32: Fix build error · ca98565a
      Guenter Roeck authored
      unicore32 builds fail with
      
        arch/unicore32/kernel/signal.c: In function ‘setup_frame’:
        arch/unicore32/kernel/signal.c:257: error: ‘usig’ undeclared (first use in this function)
        arch/unicore32/kernel/signal.c:279: error: ‘usig’ undeclared (first use in this function)
        arch/unicore32/kernel/signal.c: In function ‘handle_signal’:
        arch/unicore32/kernel/signal.c:306: warning: unused variable ‘tsk’
        arch/unicore32/kernel/signal.c: In function ‘do_signal’:
        arch/unicore32/kernel/signal.c:376: error: implicit declaration of function ‘get_signsl’
        make[1]: *** [arch/unicore32/kernel/signal.o] Error 1
        make: *** [arch/unicore32/kernel/signal.o] Error 2
      
      Bisect points to commit 649671c9 ("unicore32: Use get_signal()
      signal_setup_done()").
      
      This code never even compiled.  Reverting the patch does not work, since
      previously used functions no longer exist, so try to fix it up.  Compile
      tested only.
      
      Fixes: 649671c9 ("unicore32: Use get_signal() signal_setup_done()")
      Cc: Richard Weinberger <richard@nod.at>
      Signed-off-by: default avatarGuenter Roeck <linux@roeck-us.net>
      Signed-off-by: default avatarLinus Torvalds <torvalds@linux-foundation.org>
      ca98565a
    • Linus Torvalds's avatar
      Merge branch 'fixes' of git://ftp.arm.linux.org.uk/~rmk/linux-arm · 94559a4a
      Linus Torvalds authored
      Pull ARM fixes from Russell King:
       "Various assorted fixes:
      
         - a couple of patches from Mark Rutland to resolve an errata with
           Cortex-A15 CPUs.
         - fix cpuidle for the CPU part ID changes in the last merge window
         - add support for a relocation which ARM binutils is generating in
           some circumstances"
      
      * 'fixes' of git://ftp.arm.linux.org.uk/~rmk/linux-arm:
        ARM: 8130/1: cpuidle/cpuidle-big_little: fix reading cpu id part number
        ARM: 8129/1: errata: work around Cortex-A15 erratum 830321 using dummy strex
        ARM: 8128/1: abort: don't clear the exclusive monitors
        ARM: 8127/1: module: add support for R_ARM_TARGET1 relocations
      94559a4a
    • Linus Torvalds's avatar
      Merge tag 'fixes-for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/arm/arm-soc · 19ed3eb9
      Linus Torvalds authored
      Pull ARM SoC fixes from Olof Johansson:
       "Here's the weekly batch of fixes from arm-soc.
      
        The delta is a largeish negative delta, due to revert of SMP support
        for Broadcom's STB SoC -- it was accidentally merged before some
        issues had been addressed, so they will make a new attempt for 3.18.
        I didn't see a need for a full revert of the whole platform due to
        this, we're keeping the rest enabled.
      
        The rest is mostly:
      
         - a handful of DT fixes for i.MX (Hummingboard/Cubox-i in particular)
         - some MTD/NAND fixes for OMAP
         - minor DT fixes for shmobile
         - warning fix for UP builds on vexpress/spc
      
        There's also a couple of patches that wires up hwmod on TI's DRA7 SoC
        so it can boot.  Drivers and the rest had landed for 3.17, and it's
        small and isolated so it made sense to pick up now even if it's not a
        bugfix"
      
      * tag 'fixes-for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/arm/arm-soc: (23 commits)
        vexpress/spc: fix a build warning on array bounds
        ARM: DRA7: hwmod: Add dra74x and dra72x specific ocp interface lists
        ARM: DRA7: Add support for soc_is_dra74x() and soc_is_dra72x() variants
        MAINTAINERS: catch special Rockchip code locations
        ARM: dts: microsom-ar8035: MDIO pad must be set open drain
        ARM: dts: omap54xx-clocks: Fix the l3 and l4 clock rates
        ARM: brcmstb: revert SMP support
        ARM: OMAP2+: hwmod: Rearm wake-up interrupts for DT when MUSB is idled
        ARM: dts: Enable UART wake-up events for beagleboard
        ARM: dts: Remove twl6030 clk32g "regulator"
        ARM: OMAP2+: omap_device: remove warning that clk alias already exists
        ARM: OMAP: fix %d confusingly prefixed with 0x in format string
        ARM: dts: DRA7: fix interrupt-cells for GPIO
        mtd: nand: omap: Fix 1-bit Hamming code scheme, omap_calculate_ecc()
        ARM: dts: omap3430-sdp: Revert to using software ECC for NAND
        ARM: OMAP2+: GPMC: Support Software ECC scheme via DT
        mtd: nand: omap: Revert to using software ECC by default
        ARM: dts: hummingboard/cubox-i: change SPDIF output to be more descriptive
        ARM: dts: hummingboard/cubox-i: add USB OC pinctrl configuration
        ARM: shmobile: r8a7791: add missing 0x0100 for SDCKCR
        ...
      19ed3eb9
  3. 31 Aug, 2014 7 commits
  4. 30 Aug, 2014 4 commits
    • Mark Brown's avatar
      Merge remote-tracking branches 'spi/fix/au1550', 'spi/fix/davinci',... · 360b2eae
      Mark Brown authored
      Merge remote-tracking branches 'spi/fix/au1550', 'spi/fix/davinci', 'spi/fix/doc', 'spi/fix/dw', 'spi/fix/omap-mcspi', 'spi/fix/pxa2xx', 'spi/fix/rockchip' and 'spi/fix/rspi' into spi-linus
      360b2eae
    • Mark Brown's avatar
    • Linus Torvalds's avatar
      Merge branch 'x86-urgent-for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/tip/tip · fd5984d7
      Linus Torvalds authored
      Pull x86 fixes from Peter Anvin:
       "One patch to avoid assigning interrupts we don't actually have on
        non-PC platforms, and two patches that addresses bugs in the new
        IOAPIC assignment code"
      
      * 'x86-urgent-for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/tip/tip:
        x86, irq, PCI: Keep IRQ assignment for runtime power management
        x86: irq: Fix bug in setting IOAPIC pin attributes
        x86: Fix non-PC platform kernel crash on boot due to NULL dereference
      fd5984d7
    • Linus Torvalds's avatar
      Merge tag 'pm+acpi-3.17-rc3' of git://git.kernel.org/pub/scm/linux/kernel/git/rafael/linux-pm · ad6ede80
      Linus Torvalds authored
      Pull ACPI and power management fixes from Rafael Wysocki:
      
       - Fix for an ACPI regression related to the handling of fixed events
         that caused netlink routines to be (incorrectly) run in interrupt
         context from Lan Tianyu
      
       - Fix for an ACPI EC driver regression on Acer Aspire V5-573G that
         caused AC/battery plug/unplug and video brightness change
         notifications to be delayed on that machine from Lv Zheng
      
       - Fix for an ACPI device enumeration regression that caused ACPI driver
         probe to fail for some devices where it succeeded before (Rafael J
         Wysocki)
      
       - intel_pstate driver fix to prevent it from printing an information
         message for every CPU in the system on every boot from Andi Kleen
      
       - s5pv210 cpufreq driver fix to remove an __init annotation from a
         routine that in fact can be called at any time after init too from
         Mark Brown
      
       - New Intel Braswell device ID for the ACPI LPSS (Low-Power Subsystem)
         driver from Alan Cox
      
       - New Intel Braswell CPU ID for intel_pstate from Mika Westerberg
      
      * tag 'pm+acpi-3.17-rc3' of git://git.kernel.org/pub/scm/linux/kernel/git/rafael/linux-pm:
        cpufreq: s5pv210: Remove spurious __init annotation
        cpufreq: intel_pstate: Add CPU ID for Braswell processor
        intel_pstate: Turn per cpu printk into pr_debug
        ACPI / LPSS: Add ACPI IDs for Intel Braswell
        ACPI / EC: Add support to disallow QR_EC to be issued before completing previous QR_EC
        ACPI / EC: Add support to disallow QR_EC to be issued when SCI_EVT isn't set
        ACPI: Run fixed event device notifications in process context
        ACPI / scan: Allow ACPI drivers to bind to PNP device objects
      ad6ede80
  5. 29 Aug, 2014 21 commits