1. 04 Apr, 2013 8 commits
    • Linus Torvalds's avatar
      Merge tag 'pm+acpi-3.9-rc6' of git://git.kernel.org/pub/scm/linux/kernel/git/rafael/linux-pm · d08d528d
      Linus Torvalds authored
      Pull ACPI and power management fixes from Rafael Wysocki:
      
       - Revert of a recent cpuidle change that caused Nehalem machines to
         hang on boot from Alex Shi.
      
       - USB power management fix addressing a crash in the port device
         object's release routine from Rafael J Wysocki.
      
       - Device PM QoS fix for a potential deadlock related to sysfs interface
         from Rafael J Wysocki.
      
       - Fix for a cpufreq crash when the /cpus Device Tree node is missing
         from Paolo Pisati.
      
       - Fix for a build issue on ia64 related to the Boot Graphics Resource
         Table (BGRT) from Tony Luck.
      
       - Two fixes for ACPI handles being set incorrectly for device objects
         that don't correspond to any ACPI namespace nodes in the I2C and SPI
         subsystems from Rafael J Wysocki.
      
       - Fix for compiler warnings related to CONFIG_PM_DEVFREQ being unset
         from Rajagopal Venkat.
      
       - Fix for a symbol definition typo in cpufreq_governor.h from Borislav
         Petkov.
      
      * tag 'pm+acpi-3.9-rc6' of git://git.kernel.org/pub/scm/linux/kernel/git/rafael/linux-pm:
        ACPI / BGRT: Don't let users configure BGRT on non X86 systems
        cpuidle / ACPI: recover percpu ACPI processor cstate
        ACPI / I2C: Use parent's ACPI_HANDLE() in acpi_i2c_register_devices()
        cpufreq: Correct header guards typo
        ACPI / SPI: Use parent's ACPI_HANDLE() in acpi_register_spi_devices()
        cpufreq: check OF node /cpus presence before dereferencing it
        PM / devfreq: Fix compiler warnings for CONFIG_PM_DEVFREQ unset
        PM / QoS: Avoid possible deadlock related to sysfs access
        USB / PM: Don't try to hide PM QoS flags from usb_port_device_release()
      d08d528d
    • Jan Stancek's avatar
      mm: prevent mmap_cache race in find_vma() · b6a9b7f6
      Jan Stancek authored
      find_vma() can be called by multiple threads with read lock
      held on mm->mmap_sem and any of them can update mm->mmap_cache.
      Prevent compiler from re-fetching mm->mmap_cache, because other
      readers could update it in the meantime:
      
                     thread 1                             thread 2
                                              |
        find_vma()                            |  find_vma()
          struct vm_area_struct *vma = NULL;  |
          vma = mm->mmap_cache;               |
          if (!(vma && vma->vm_end > addr     |
              && vma->vm_start <= addr)) {    |
                                              |    mm->mmap_cache = vma;
          return vma;                         |
           ^^ compiler may optimize this      |
              local variable out and re-read  |
              mm->mmap_cache                  |
      
      This issue can be reproduced with gcc-4.8.0-1 on s390x by running
      mallocstress testcase from LTP, which triggers:
      
        kernel BUG at mm/rmap.c:1088!
          Call Trace:
           ([<000003d100c57000>] 0x3d100c57000)
            [<000000000023a1c0>] do_wp_page+0x2fc/0xa88
            [<000000000023baae>] handle_pte_fault+0x41a/0xac8
            [<000000000023d832>] handle_mm_fault+0x17a/0x268
            [<000000000060507a>] do_protection_exception+0x1e2/0x394
            [<0000000000603a04>] pgm_check_handler+0x138/0x13c
            [<000003fffcf1f07a>] 0x3fffcf1f07a
          Last Breaking-Event-Address:
            [<000000000024755e>] page_add_new_anon_rmap+0xc2/0x168
      
      Thanks to Jakub Jelinek for his insight on gcc and helping to
      track this down.
      Signed-off-by: default avatarJan Stancek <jstancek@redhat.com>
      Acked-by: default avatarDavid Rientjes <rientjes@google.com>
      Signed-off-by: default avatarHugh Dickins <hughd@google.com>
      Cc: stable@vger.kernel.org
      Signed-off-by: default avatarLinus Torvalds <torvalds@linux-foundation.org>
      b6a9b7f6
    • Linus Torvalds's avatar
      Merge tag 'upstream-3.9-rc6' of git://git.infradead.org/linux-ubifs · 22d1e6f4
      Linus Torvalds authored
      Pull UBIFS fix from Artem Bityutskiy:
       "Make the space fixup feature work in the case when the file-system is
        first mounted R/O and then remounted R/W."
      
      * tag 'upstream-3.9-rc6' of git://git.infradead.org/linux-ubifs:
        UBIFS: make space fixup work in the remount case
      22d1e6f4
    • Rafael J. Wysocki's avatar
      Merge branch 'pm-fixes' into fixes · 6cb437ac
      Rafael J. Wysocki authored
      * pm-fixes:
        cpufreq: Correct header guards typo
        cpufreq: check OF node /cpus presence before dereferencing it
        PM / devfreq: Fix compiler warnings for CONFIG_PM_DEVFREQ unset
        PM / QoS: Avoid possible deadlock related to sysfs access
        USB / PM: Don't try to hide PM QoS flags from usb_port_device_release()
      6cb437ac
    • Rafael J. Wysocki's avatar
      Merge branch 'acpi-fixes' into fixes · fc1a7fe8
      Rafael J. Wysocki authored
      * acpi-fixes:
        ACPI / BGRT: Don't let users configure BGRT on non X86 systems
        cpuidle / ACPI: recover percpu ACPI processor cstate
        ACPI / I2C: Use parent's ACPI_HANDLE() in acpi_i2c_register_devices()
        ACPI / SPI: Use parent's ACPI_HANDLE() in acpi_register_spi_devices()
      fc1a7fe8
    • Linus Torvalds's avatar
      Merge branch 'for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/jikos/hid · 014642cb
      Linus Torvalds authored
      Pull HID fixes from Jiri Kosina:
      
       - Workaround for device ID conflict between Masterkit MA901 usb radio
         device and Atmel V-USB devices, to avoid regressions from older
         kernels, by Alexey Klimov
      
       - fix for possible race during input device registration in magicmouse
         driver, by Benjamin Tissoires
      
      * 'for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/jikos/hid:
        HID: magicmouse: fix race between input_register() and probe()
        media: radio-ma901: return ENODEV in probe if usb_device doesn't match
        HID: fix Masterkit MA901 hid quirks
      014642cb
    • Linus Torvalds's avatar
      Merge tag 'gpio-fixes-v3.9' of git://git.kernel.org/pub/scm/linux/kernel/git/linusw/linux-gpio · 8d448270
      Linus Torvalds authored
      Pull GPIO fixes from Linus Walleij:
       "Two GPIO fixes for the v3.9 series:
         - Fix erroneous return value in the ICH driver
         - Make the STMPE driver proper properly on device tree boots"
      
      * tag 'gpio-fixes-v3.9' of git://git.kernel.org/pub/scm/linux/kernel/git/linusw/linux-gpio:
        gpio: stmpe: pass DT node to irqdomain
        gpio-ich: Fix value returned by ichx_gpio_request
      8d448270
    • Benjamin Tissoires's avatar
      HID: magicmouse: fix race between input_register() and probe() · f1a9a149
      Benjamin Tissoires authored
      Since kernel 3.7, it appears that the input registration occured before
      the end of magicmouse_setup_input(). This is shown by receiving a lot of
      "EV_SYN SYN_REPORT 1" instead of normal "EV_SYN SYN_REPORT 0".
      This value means that the output buffer is full, and the user space
      is loosing events.
      
      Using .input_configured guarantees that the race is not occuring, and that
      the call of "input_set_events_per_packet(input, 60)" is taken into account
      by input_register().
      
      Fixes:
      https://bugzilla.redhat.com/show_bug.cgi?id=908604
      
      Cc: stable@vger.kernel.org
      Reported-and-Tested-By: default avatarClarke Wixon <cwixon@usa.net>
      Signed-off-by: default avatarBenjamin Tissoires <benjamin.tissoires@redhat.com>
      Signed-off-by: default avatarJiri Kosina <jkosina@suse.cz>
      f1a9a149
  2. 03 Apr, 2013 16 commits
    • Linus Torvalds's avatar
      Merge branch 'fixes' of git://git.linaro.org/people/rmk/linux-arm · 66ade474
      Linus Torvalds authored
      Pull ARM fixes from Russell King:
       "Another round of ARM fixes, which include:
         - Fixing a problem with LPAE mapping sections
         - Reporting of some hwcaps on Krait CPUs
         - Avoiding repetitive warnings in the breakpoint code
         - Fixing a build error noticed on Dove platforms with PJ4 CPUs
         - Fix masking of level 2 cache revision.
         - Fixing timer-based udelay()
         - A larger fix for an erratum causing people major grief with Cortex
           A15 CPUs"
      
      * 'fixes' of git://git.linaro.org/people/rmk/linux-arm:
        ARM: 7690/1: mm: fix CONFIG_LPAE typos
        ARM: 7689/1: add unwind annotations to ftrace asm
        ARM: 7685/1: delay: use private ticks_per_jiffy field for timer-based delay ops
        ARM: 7684/1: errata: Workaround for Cortex-A15 erratum 798181 (TLBI/DSB operations)
        ARM: 7682/1: cache-l2x0: fix masking of RTL revision numbering and set_debug init
        ARM: iWMMXt: always enable iWMMXt support with PJ4 CPUs
        ARM: 7681/1: hw_breakpoint: use warn_once to avoid spam from reset_ctrl_regs()
        ARM: 7678/1: Work around faulty ISAR0 register in some Krait CPUs
        ARM: 7680/1: Detect support for SDIV/UDIV from ISAR0 register
        ARM: 7679/1: Clear IDIVT hwcap if CONFIG_ARM_THUMB=n
        ARM: 7677/1: LPAE: Fix mapping in alloc_init_section for unaligned addresses
        ARM: KVM: vgic: take distributor lock on sync_hwstate path
        ARM: KVM: vgic: force EOIed LRs to the empty state
      66ade474
    • Linus Torvalds's avatar
      Merge tag 'ext4_for_linus_stable' of git://git.kernel.org/pub/scm/linux/kernel/git/tytso/ext4 · cbfa0e72
      Linus Torvalds authored
      Pull ext4 fixes from Ted Ts'o:
       "Unfortunately, we introduced some big-endian bugs during the last
        merge window.  Fortunately, Cai and Christian noticed before 3.9
        shipped."
      
      * tag 'ext4_for_linus_stable' of git://git.kernel.org/pub/scm/linux/kernel/git/tytso/ext4:
        ext4: fix big-endian bugs which could cause fs corruptions
      cbfa0e72
    • Linus Torvalds's avatar
      Merge branch 'for_linus' of git://git.kernel.org/pub/scm/linux/kernel/git/jack/linux-fs · cd0e4a9d
      Linus Torvalds authored
      Pull reiserfs fix from Jan Kara:
       "A fix for reiserfs xattr bug exposed by changes to lookup_one_len()"
      
      * 'for_linus' of git://git.kernel.org/pub/scm/linux/kernel/git/jack/linux-fs:
        reiserfs: Fix warning and inode leak when deleting inode with xattrs
      cd0e4a9d
    • Linus Torvalds's avatar
      Merge branch 'for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/s390/linux · 17eb3d8f
      Linus Torvalds authored
      Pull s390 fixes from Martin Schwidefsky:
       "Just a bunch of bugfixes"
      
      * 'for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/s390/linux:
        s390/mm: provide emtpy check_pgt_cache() function
        s390/uaccess: fix page table walk
        s390/3270: fix minor_start issue
        s390/uaccess: fix clear_user_pt()
        s390/scm_blk: fix error return code in scm_blk_init()
        s390/scm_block: fix printk format string
        drivers/Kconfig: add several missing GENERIC_HARDIRQS dependencies
      17eb3d8f
    • Zheng Liu's avatar
      ext4: fix big-endian bugs which could cause fs corruptions · 8cde7ad1
      Zheng Liu authored
      When an extent was zeroed out, we forgot to do convert from cpu to le16.
      It could make us hit a BUG_ON when we try to write dirty pages out.  So
      fix it.
      
      [ Also fix a bug found by Dmitry Monakhov where we were missing
        le32_to_cpu() calls in the new indirect punch hole code.
      
        There are a number of other big endian warnings found by static code
        analyzers, but we'll wait for the next merge window to fix them all
        up.  These fixes are designed to be Obviously Correct by code
        inspection, and easy to demonstrate that it won't make any
        difference (and hence, won't introduce any bugs) on little endian
        architectures such as x86.  --tytso ]
      Signed-off-by: default avatarZheng Liu <wenqing.lz@taobao.com>
      Signed-off-by: default avatar"Theodore Ts'o" <tytso@mit.edu>
      Reported-by: default avatarCAI Qian <caiqian@redhat.com>
      Reported-by: default avatarChristian Kujau <lists@nerdbynature.de>
      Cc: Dmitry Monakhov <dmonakhov@openvz.org>
      8cde7ad1
    • Paul Bolle's avatar
      ARM: 7690/1: mm: fix CONFIG_LPAE typos · 4e1db26a
      Paul Bolle authored
      CONFIG_LPAE doesn't exist: the correct option is CONFIG_ARM_LPAE, so fix
      up the two typos under arch/arm/.
      
      The fix to head.S is slightly scary, but this is just for setting up
      an early io-mapping for the serial port when running on a big-endian,
      LPAE system. Since these systems don't exist in the wild (at least, I
      have no access to one outside of kvmtool, which doesn't provide a serial
      port suitable for earlyprintk), then we can revisit the code later if it
      causes any problems.
      Signed-off-by: default avatarPaul Bolle <pebolle@tiscali.nl>
      Signed-off-by: default avatarWill Deacon <will.deacon@arm.com>
      Signed-off-by: default avatarRussell King <rmk+kernel@arm.linux.org.uk>
      4e1db26a
    • Rabin Vincent's avatar
      ARM: 7689/1: add unwind annotations to ftrace asm · b21e023b
      Rabin Vincent authored
      Add unwind annotations to the ftrace assembly code so that the function
      tracer's stacktracing options (func_stack_trace, etc.) work when
      CONFIG_ARM_UNWIND is enabled.
      Signed-off-by: default avatarRabin Vincent <rabin@rab.in>
      Signed-off-by: default avatarRussell King <rmk+kernel@arm.linux.org.uk>
      b21e023b
    • Will Deacon's avatar
      ARM: 7685/1: delay: use private ticks_per_jiffy field for timer-based delay ops · 6f3d90e5
      Will Deacon authored
      Commit 70264367 ("ARM: 7653/2: do not scale loops_per_jiffy when
      using a constant delay clock") fixed a problem with our timer-based
      delay loop, where loops_per_jiffy is scaled by cpufreq yet used directly
      by the timer delay ops.
      
      This patch fixes the problem in a more elegant way by keeping a private
      ticks_per_jiffy field in the delay ops, independent of loops_per_jiffy
      and therefore not subject to scaling. The loop-based delay continues to
      use loops_per_jiffy directly, as it should.
      Acked-by: default avatarNicolas Pitre <nico@linaro.org>
      Signed-off-by: default avatarWill Deacon <will.deacon@arm.com>
      Signed-off-by: default avatarRussell King <rmk+kernel@arm.linux.org.uk>
      6f3d90e5
    • Catalin Marinas's avatar
      ARM: 7684/1: errata: Workaround for Cortex-A15 erratum 798181 (TLBI/DSB operations) · 93dc6887
      Catalin Marinas authored
      On Cortex-A15 (r0p0..r3p2) the TLBI/DSB are not adequately shooting down
      all use of the old entries. This patch implements the erratum workaround
      which consists of:
      
      1. Dummy TLBIMVAIS and DSB on the CPU doing the TLBI operation.
      2. Send IPI to the CPUs that are running the same mm (and ASID) as the
         one being invalidated (or all the online CPUs for global pages).
      3. CPU receiving the IPI executes a DMB and CLREX (part of the exception
         return code already).
      Signed-off-by: default avatarCatalin Marinas <catalin.marinas@arm.com>
      Signed-off-by: default avatarRussell King <rmk+kernel@arm.linux.org.uk>
      93dc6887
    • Rob Herring's avatar
      ARM: 7682/1: cache-l2x0: fix masking of RTL revision numbering and set_debug init · 6e7aceeb
      Rob Herring authored
      Commit b8db6b88 (ARM: 7547/4: cache-l2x0: add support for Aurora L2 cache
      ctrl) moved the masking of the part ID which caused the RTL version to be
      lost. Commit 6248d060 (ARM: 7545/1: cache-l2x0: make outer_cache_fns a
      field of l2x0_of_data) changed how .set_debug is initialized. Both commits
      break commit 74ddcdb8 (ARM: 7608/1: l2x0: Only set .set_debug
      on PL310 r3p0 and earlier) which uses the RTL version to conditionally set
      .set_debug function pointer. Commit b8db6b88 also caused the printed cache
      ID to be missing the version information.
      
      Fix this by reverting how the part number is masked so the RTL version
      info is maintained. The cache-id-part DT property does not set the RTL
      bits so masking them should have no effect. Also, re-arrange the order
      of the function pointer init so the .set_debug function can be overridden.
      Reported-by: default avatarPaolo Pisati <paolo.pisati@canonical.com>
      Signed-off-by: default avatarRob Herring <rob.herring@calxeda.com>
      Cc: Gregory CLEMENT <gregory.clement@free-electrons.com>
      Cc: Yehuda Yitschak <yehuday@marvell.com>
      Signed-off-by: default avatarRussell King <rmk+kernel@arm.linux.org.uk>
      6e7aceeb
    • Russell King's avatar
      ARM: iWMMXt: always enable iWMMXt support with PJ4 CPUs · 698613b6
      Russell King authored
      Jason Cooper reports these build errors:
      arch/arm/kernel/built-in.o: In function `iwmmxt_do':
      /.../arch/arm/kernel/pj4-cp0.c:36: undefined reference to `iwmmxt_task_release'
      /.../arch/arm/kernel/pj4-cp0.c:40: undefined reference to `iwmmxt_task_switch'
      make: *** [vmlinux] Error 1
      
      This is caused because the PJ4 code explicitly references the iWMMXt
      code, but doesn't require it to be built.  Fix this by ensuring that
      iWMMXt is always enabled with PJ4.
      Reported-by: default avatarJason Cooper <jason@lakedaemon.net>
      Signed-off-by: default avatarRussell King <rmk+kernel@arm.linux.org.uk>
      698613b6
    • Tony Luck's avatar
      ACPI / BGRT: Don't let users configure BGRT on non X86 systems · e66cd537
      Tony Luck authored
      Fengguang Wu's 0-Day kernel build testing backend found the
      following build error for an allmodconfig build on ia64:
      
         drivers/built-in.o: In function `show_yoffset':
      >> bgrt.c:(.text+0xe5a71): undefined reference to `bgrt_tab'
      >> bgrt.c:(.text+0xe5a91): undefined reference to `bgrt_tab'
         drivers/built-in.o: In function `show_xoffset':
      >> bgrt.c:(.text+0xe5b51): undefined reference to `bgrt_tab'
      >> bgrt.c:(.text+0xe5b71): undefined reference to `bgrt_tab'
         drivers/built-in.o: In function `show_type':
      >> bgrt.c:(.text+0xe5c31): undefined reference to `bgrt_tab'
         drivers/built-in.o:bgrt.c:(.text+0xe5c51): more undefined references to `bgrt_tab' follow
         drivers/built-in.o: In function `bgrt_init':
         bgrt.c:(.init.text+0x8931): undefined reference to `bgrt_image'
         bgrt.c:(.init.text+0x8932): undefined reference to `bgrt_image_size'
         bgrt.c:(.init.text+0x8950): undefined reference to `bgrt_image'
         bgrt.c:(.init.text+0x8960): undefined reference to `bgrt_image_size'
      
      The problem is that all these undefined names are provided by
      arch/x86/platform/efi/efi-bgrt.c - which is obviously not available
      to the ia64 build.
      
      It doesn't seem useful to provide the BGRT support for Itanium
      (many systems are headless and have no graphics at all). So
      just don't let users configure this driver on non-X86 machines.
      Reported-by: default avatarFengguang Wu <fengguang.wu@intel.com>
      Acked-by: default avatarH. Peter Anvin <hpa@zytor.com>
      Signed-off-by: default avatarTony Luck <tony.luck@intel.com>
      Signed-off-by: default avatarRafael J. Wysocki <rafael.j.wysocki@intel.com>
      e66cd537
    • Linus Torvalds's avatar
      Merge git://git.kernel.org/pub/scm/linux/kernel/git/davem/net · da241efc
      Linus Torvalds authored
      Pull networking fixes from David Miller:
      
       1) Fix VSOCK layer handling of context ID changes, from Reilly Grant.
      
       2) Now that we have a synchronize_net() in netdev_rx_handler_unregister(),
          we can't let any call sites hold locks.  Unfortunately bonding does,
          so we have to drop the rwlock there a little bit earlier, fix from
          Veaceslav Falico.
      
       3) MAC address setting loop exits one iteration too early in mlx4
          driver, from Yan Burman.
      
       4) Restore ipv6 routes properly upon ifdown/ifup of loopback, from
          Balakumaran Kannan.
      
      * git://git.kernel.org/pub/scm/linux/kernel/git/davem/net:
        VSOCK: Handle changes to the VMCI context ID.
        net IPv6 : Fix broken IPv6 routing table after loopback down-up
        cbq: incorrect processing of high limits
        net/mlx4_en: Fix setting initial MAC address
        bonding: get netdev_rx_handler_unregister out of locks
      da241efc
    • Linus Torvalds's avatar
      Merge tag 'regmap-v3.9-rc4' of git://git.kernel.org/pub/scm/linux/kernel/git/broonie/regmap · 6e8517a9
      Linus Torvalds authored
      Pull regmap fixes from Mark Brown:
       "A small collection of fixes.  The most important ones are those from
        Stephen and Lars-Peter both of which fix cache issues that have been
        lurking for a while but not manifesting noticably enough for anyone to
        report them."
      
      * tag 'regmap-v3.9-rc4' of git://git.kernel.org/pub/scm/linux/kernel/git/broonie/regmap:
        regmap: async: Add missing return
        regmap: don't corrupt work buffer in _regmap_raw_write()
        regmap: cache Fix regcache-rbtree sync
        regmap: Initialize `map->debugfs' before regcache
      6e8517a9
    • Linus Torvalds's avatar
      Merge branch 'drm-fixes' of git://people.freedesktop.org/~airlied/linux · bd709bd0
      Linus Torvalds authored
      Pull DRM fixes from Dave Airlie:
       "Two core fixes, both regressions, along with some intel and some
        nouveau fixes for regressions and oopses"
      
      * 'drm-fixes' of git://people.freedesktop.org/~airlied/linux:
        drm: correctly restore mappings if drm_open fails
        drm/nouveau: fix NULL ptr dereference from nv50_disp_intr()
        drm/nouveau: fix handling empty channel list in ioctl's
        drm: don't unlock in the addfb error paths
        drm/i915: Fix build failure
        drm/i915: Be sure to turn hsync/vsync back on at crt enable (v2)
        drm/i915: duct-tape locking when eDP init fails
      bd709bd0
    • Linus Torvalds's avatar
      Merge branch 'upstream' of git://git.linux-mips.org/pub/scm/ralf/upstream-linus · aea7fab8
      Linus Torvalds authored
      Pull MIPS fixes from Ralf Baechle:
       "A collection of fixes pretty much across the MIPS code.  Even the
        change to include/linux/signal.h by David Howells' 2a148698 ("Fix
        breakage in MIPS siginfo handling") should be considered MIPS-specific
        as it touches an ifdefed segment that is only relevant to MIPS and
        which unfortunately can't be made to go away entirely."
      
      * 'upstream' of git://git.linux-mips.org/pub/scm/ralf/upstream-linus:
        Fix breakage in MIPS siginfo handling
        Revert "MIPS: BCM63XX: Call board_register_device from device_initcall()"
        MIPS: BCM63XX: Make nvram checksum failure non fatal
        MIPS: Fix code generation for non-DSP capable CPUs
        MIPS: Fix inconsistent formatting inside /proc/cpuinfo
        MIPS: SEAD3: Enable LL/SC.
        MIPS: Get rid of CONFIG_CPU_HAS_LLSC again
        MIPS: Add dependencies for HAVE_ARCH_TRANSPARENT_HUGEPAGE
        MIPS: VR4133: Fix probe for LL/SC.
        MIPS: Fix logic errors in bitops.c
        MIPS: Use CONFIG_CPU_MIPSR2 in csum_partial.S
        MIPS: compat: Return same error ENOSYS as native for invalid operation.
      aea7fab8
  3. 02 Apr, 2013 16 commits
    • Ilija Hadzic's avatar
      drm: correctly restore mappings if drm_open fails · a8ec3a66
      Ilija Hadzic authored
      If first drm_open fails, the error-handling path will
      incorrectly restore inode's mapping to NULL. This can
      cause the crash later on. Fix by separately storing
      away mapping pointers that drm_open can touch and
      restore each from its own respective variable if the
      call fails.
      
      Fixes: https://bugzilla.novell.com/show_bug.cgi?id=807850
      (thanks to Michal Hocko for investigating investigating and
      finding the root cause of the bug)
      
      Reference:
      http://lists.freedesktop.org/archives/dri-devel/2013-March/036564.html
      
      v2: Use one variable to store file and inode mapping
          since they are the same at the function entry.
          Fix spelling mistakes in commit message.
      
      v3: Add reference to the original bug report.
      Reported-by: default avatarMarco Munderloh <munderl@tnt.uni-hannover.de>
      Tested-by: default avatarMarco Munderloh <munderl@tnt.uni-hannover.de>
      Signed-off-by: default avatarIlija Hadzic <ihadzic@research.bell-labs.com>
      Cc: Michal Hocko <mhocko@suse.cz>
      Cc: stable@vger.kernel.org
      Signed-off-by: default avatarDave Airlie <airlied@redhat.com>
      a8ec3a66
    • Dave Airlie's avatar
      Merge branch 'drm-nouveau-fixes-3.9' of... · 7cebefe6
      Dave Airlie authored
      Merge branch 'drm-nouveau-fixes-3.9' of git://anongit.freedesktop.org/git/nouveau/linux-2.6 into drm-next
      
      Oops fixers.
      * 'drm-nouveau-fixes-3.9' of git://anongit.freedesktop.org/git/nouveau/linux-2.6:
        drm/nouveau: fix NULL ptr dereference from nv50_disp_intr()
        drm/nouveau: fix handling empty channel list in ioctl's
      7cebefe6
    • Dave Airlie's avatar
      Merge branch 'drm-intel-fixes' of git://people.freedesktop.org/~danvet/drm-intel into drm-next · 1caa5900
      Dave Airlie authored
      One locking regression fix, and a couple of other i915 ones.
      
      * 'drm-intel-fixes' of git://people.freedesktop.org/~danvet/drm-intel:
        drm: don't unlock in the addfb error paths
        drm/i915: Fix build failure
        drm/i915: Be sure to turn hsync/vsync back on at crt enable (v2)
        drm/i915: duct-tape locking when eDP init fails
      1caa5900
    • Reilly Grant's avatar
      VSOCK: Handle changes to the VMCI context ID. · 990454b5
      Reilly Grant authored
      The VMCI context ID of a virtual machine may change at any time. There
      is a VMCI event which signals this but datagrams may be processed before
      this is handled. It is therefore necessary to be flexible about the
      destination context ID of any datagrams received. (It can be assumed to
      be correct because it is provided by the hypervisor.) The context ID on
      existing sockets should be updated to reflect how the hypervisor is
      currently referring to the system.
      Signed-off-by: default avatarReilly Grant <grantr@vmware.com>
      Acked-by: default avatarAndy King <acking@vmware.com>
      Signed-off-by: default avatarDavid S. Miller <davem@davemloft.net>
      990454b5
    • Balakumaran Kannan's avatar
      net IPv6 : Fix broken IPv6 routing table after loopback down-up · 25fb6ca4
      Balakumaran Kannan authored
      IPv6 Routing table becomes broken once we do ifdown, ifup of the loopback(lo)
      interface. After down-up, routes of other interface's IPv6 addresses through
      'lo' are lost.
      
      IPv6 addresses assigned to all interfaces are routed through 'lo' for internal
      communication. Once 'lo' is down, those routing entries are removed from routing
      table. But those removed entries are not being re-created properly when 'lo' is
      brought up. So IPv6 addresses of other interfaces becomes unreachable from the
      same machine. Also this breaks communication with other machines because of
      NDISC packet processing failure.
      
      This patch fixes this issue by reading all interface's IPv6 addresses and adding
      them to IPv6 routing table while bringing up 'lo'.
      
      ==Testing==
      Before applying the patch:
      $ route -A inet6
      Kernel IPv6 routing table
      Destination                    Next Hop                   Flag Met Ref Use If
      2000::20/128                   ::                         U    256 0     0 eth0
      fe80::/64                      ::                         U    256 0     0 eth0
      ::/0                           ::                         !n   -1  1     1 lo
      ::1/128                        ::                         Un   0   1     0 lo
      2000::20/128                   ::                         Un   0   1     0 lo
      fe80::xxxx:xxxx:xxxx:xxxx/128  ::                         Un   0   1     0 lo
      ff00::/8                       ::                         U    256 0     0 eth0
      ::/0                           ::                         !n   -1  1     1 lo
      $ sudo ifdown lo
      $ sudo ifup lo
      $ route -A inet6
      Kernel IPv6 routing table
      Destination                    Next Hop                   Flag Met Ref Use If
      2000::20/128                   ::                         U    256 0     0 eth0
      fe80::/64                      ::                         U    256 0     0 eth0
      ::/0                           ::                         !n   -1  1     1 lo
      ::1/128                        ::                         Un   0   1     0 lo
      ff00::/8                       ::                         U    256 0     0 eth0
      ::/0                           ::                         !n   -1  1     1 lo
      $
      
      After applying the patch:
      $ route -A inet6
      Kernel IPv6 routing
      table
      Destination                    Next Hop                   Flag Met Ref Use If
      2000::20/128                   ::                         U    256 0     0 eth0
      fe80::/64                      ::                         U    256 0     0 eth0
      ::/0                           ::                         !n   -1  1     1 lo
      ::1/128                        ::                         Un   0   1     0 lo
      2000::20/128                   ::                         Un   0   1     0 lo
      fe80::xxxx:xxxx:xxxx:xxxx/128  ::                         Un   0   1     0 lo
      ff00::/8                       ::                         U    256 0     0 eth0
      ::/0                           ::                         !n   -1  1     1 lo
      $ sudo ifdown lo
      $ sudo ifup lo
      $ route -A inet6
      Kernel IPv6 routing table
      Destination                    Next Hop                   Flag Met Ref Use If
      2000::20/128                   ::                         U    256 0     0 eth0
      fe80::/64                      ::                         U    256 0     0 eth0
      ::/0                           ::                         !n   -1  1     1 lo
      ::1/128                        ::                         Un   0   1     0 lo
      2000::20/128                   ::                         Un   0   1     0 lo
      fe80::xxxx:xxxx:xxxx:xxxx/128  ::                         Un   0   1     0 lo
      ff00::/8                       ::                         U    256 0     0 eth0
      ::/0                           ::                         !n   -1  1     1 lo
      $
      Signed-off-by: default avatarBalakumaran Kannan <Balakumaran.Kannan@ap.sony.com>
      Signed-off-by: default avatarMaruthi Thotad <Maruthi.Thotad@ap.sony.com>
      Signed-off-by: default avatarDavid S. Miller <davem@davemloft.net>
      25fb6ca4
    • Vasily Averin's avatar
      cbq: incorrect processing of high limits · f0f6ee1f
      Vasily Averin authored
      currently cbq works incorrectly for limits > 10% real link bandwidth,
      and practically does not work for limits > 50% real link bandwidth.
      Below are results of experiments taken on 1 Gbit link
      
       In shaper | Actual Result
      -----------+---------------
        100M     | 108 Mbps
        200M     | 244 Mbps
        300M     | 412 Mbps
        500M     | 893 Mbps
      
      This happen because of q->now changes incorrectly in cbq_dequeue():
      when it is called before real end of packet transmitting,
      L2T is greater than real time delay, q_now gets an extra boost
      but never compensate it.
      
      To fix this problem we prevent change of q->now until its synchronization
      with real time.
      Signed-off-by: default avatarVasily Averin <vvs@openvz.org>
      Reviewed-by: default avatarAlexey Kuznetsov <kuznet@ms2.inr.ac.ru>
      Acked-by: default avatarEric Dumazet <edumazet@google.com>
      Signed-off-by: default avatarDavid S. Miller <davem@davemloft.net>
      f0f6ee1f
    • Stanislav Kinsbursky's avatar
      ipc: set msg back to -EAGAIN if copy wasn't performed · 2dc958fa
      Stanislav Kinsbursky authored
      Make sure that msg pointer is set back to error value in case of
      MSG_COPY flag is set and desired message to copy wasn't found.  This
      garantees that msg is either a error pointer or a copy address.
      
      Otherwise the last message in queue will be freed without unlinking from
      the queue (which leads to memory corruption) and the dummy allocated
      copy won't be released.
      Signed-off-by: default avatarStanislav Kinsbursky <skinsbursky@parallels.com>
      Signed-off-by: default avatarLinus Torvalds <torvalds@linux-foundation.org>
      2dc958fa
    • Yan Burman's avatar
      net/mlx4_en: Fix setting initial MAC address · bab6a9ea
      Yan Burman authored
      Commit 6bbb6d99 "net/mlx4_en: Optimize Rx fast path filter checks" introduced a regression
      under which the MAC address read from the card was not converted correctly
      (the most significant byte was not handled), fix that.
      Reviewed-by: default avatarOr Gerlitz <ogerlitz@mellanox.com>
      Signed-off-by: default avatarYan Burman <yanb@mellanox.com>
      Signed-off-by: default avatarDavid S. Miller <davem@davemloft.net>
      bab6a9ea
    • Veaceslav Falico's avatar
      bonding: get netdev_rx_handler_unregister out of locks · fcd99434
      Veaceslav Falico authored
      Now that netdev_rx_handler_unregister contains synchronize_net(), we need
      to call it outside of bond->lock, cause it might sleep. Also, remove the
      already unneded synchronize_net().
      Signed-off-by: default avatarVeaceslav Falico <vfalico@redhat.com>
      Acked-by: default avatarEric Dumazet <edumazet@google.com>
      Signed-off-by: default avatarDavid S. Miller <davem@davemloft.net>
      fcd99434
    • Linus Torvalds's avatar
      Merge tag 'fixes' of git://git.kernel.org/pub/scm/linux/kernel/git/arm/arm-soc · 118c9a45
      Linus Torvalds authored
      Pull ARM SoC bug fixes from Arnd Bergmann:
       "After a quiet set of fixes for 3.9-rc4, a lot of people woke up and
        sent urgent fixes for 3.9.  I pushed back on a number of them that got
        deferred to 3.10, but these are the ones that seemed important.
      
        Regression in 3.9:
      
         - Multiple regressions in OMAP2+ clock cleanup
         - SH-Mobile frame buffer bug fix that merged here because of
           maintainer MIA
         - ux500 prcmu changes broke DT booting
         - MMCI duplicated regulator setup on ux500
         - New ux500 clock driver broke ethernet on snowball
         - Local interrupt driver for mvebu broke ethernet
         - MVEBU GPIO driver did not get set up right on Orion DT
         - incorrect interrupt number on Orion crypto for DT
      
        Long-standing bugs, including candidates for stable:
      
         - Kirkwood MMC needs to disable invalid card detect pins
         - MV SDIO pinmux was wrong on Mirabox
         - GoFlex Net board file needs to set NAND chip delay
         - MSM timer restart race
         - ep93xx early debug code broke in 3.7
         - i.MX CPU hotplug race
         - Incorrect clock setup for OMAP1 USB
         - Workaround for bad clock setup by some old OMAP4 boot loaders
         - Static I/O mappings on cns3xxx since 3.2"
      
      * tag 'fixes' of git://git.kernel.org/pub/scm/linux/kernel/git/arm/arm-soc:
        ARM: cns3xxx: fix mapping of private memory region
        arm: mvebu: Fix pinctrl for Armada 370 Mirabox SDIO port.
        arm: orion5x: correct IRQ used in dtsi for mv_cesa
        arm: orion5x: fix orion5x.dtsi gpio parameters
        ARM: Kirkwood: fix unused mvsdio gpio pins
        arm: mvebu: Use local interrupt only for the timer 0
        ARM: kirkwood: Fix chip-delay for GoFlex Net
        ARM: ux500: Enable the clock controlling Ethernet on Snowball
        ARM: ux500: Stop passing ios_handler() as an MMCI power controlling call-back
        ARM: ux500: Apply the TCPM and TCDM locations and sizes to dbx5x0 DT
        fbdev: sh_mobile_lcdc: fixup B side hsync adjust settings
        ARM: OMAP: clocks: Delay clk inits atleast until slab is initialized
        ARM: imx: fix sync issue between imx_cpu_die and imx_cpu_kill
        ARM: msm: Stop counting before reprogramming clockevent
        ARM: ep93xx: Fix wait for UART FIFO to be empty
        ARM: OMAP4: PM: fix PM regression introduced by recent clock cleanup
        ARM: OMAP3: hwmod data: keep MIDLEMODE in force-standby for musb
        ARM: OMAP4: clock data: lock USB DPLL on boot
        ARM: OMAP1: fix USB host on 1710
      118c9a45
    • Linus Torvalds's avatar
      Merge branch 'for-3.9' of git://linux-nfs.org/~bfields/linux · f8e9248d
      Linus Torvalds authored
      Pull nfsd bugfix from J Bruce Fields:
       "An xdr decoding error--thanks, Toralf Förster, and Trinity!"
      
      * 'for-3.9' of git://linux-nfs.org/~bfields/linux:
        nfsd4: reject "negative" acl lengths
      f8e9248d
    • Arnd Bergmann's avatar
      Merge tag 'v3.9-rc1_cns3xxx_fixes' of git://git.infradead.org/users/cbou/linux-cns3xxx into fixes · 06d1d8c8
      Arnd Bergmann authored
      From Anton Vorontsov <anton@enomsg.org>:
      
      This tag includes Mac Lin's work to revive CNS3xxx booting:
      
       "Since commit 0536bdf3 (ARM: move iotable mappings within the vmalloc
       region), [...] the pre-defined iotable mappings is not in the vmalloc
       region. [...] move the iotable mappings into the vmalloc region, and
       merge the MPCore private memory region (containing the SCU, the GIC and
       the TWD) as a single region."
      
      Plus there is a small cosmetic fix, also from Mac Lin.
      
      * tag 'v3.9-rc1_cns3xxx_fixes' of git://git.infradead.org/users/cbou/linux-cns3xxx:
        ARM: cns3xxx: fix mapping of private memory region
      
      [arnd: dropped the cosmetic fix from the merge as it is not needed for 3.9]
      Signed-off-by: default avatarArnd Bergmann <arnd@arndb.de>
      06d1d8c8
    • Alex Shi's avatar
      cpuidle / ACPI: recover percpu ACPI processor cstate · 6240a10d
      Alex Shi authored
      Commit ac3ebafa "ACPI / idle: remove usage of the statedata"
      changed the percpu processor cstate to a unified cstate in ACPI idle.
      That caused all our NHM boxes to boot hang or panic.
      
      2178751 Task dump for CPU 1:
      	2178752 swapper/1       R  running task     6736     0      1 0x00000000
      	2178753  ffff8801e8029dc8 ffffffff8101cf96 ffff8801e8029e28 ffffffff813d294b
      	2178754  0000000000000f99 0000000000000003 00000000003cf654 0000000025c17d03
      	2178755  ffff8801e8029e38 ffff8801e74fc000 00000002590dc5c4 ffffffff8163cdb0
      	2178756 Call Trace:
      	2178757  [<ffffffff8101cf96>] ? acpi_processor_ffh_cstate_enter+0x2d/0x2f
      	2178758  [<ffffffff813d294b>] acpi_idle_enter_bm+0x1b1/0x236
      	2178759  [<ffffffff8163cdb0>] ? disable_cpuidle+0x10/0x10
      	2178760  [<ffffffff8163cdc2>] cpuidle_enter+0x12/0x14
      	2178761  [<ffffffff8163d286>] cpuidle_wrap_enter+0x2f/0x6d
      	2178762  [<ffffffff8163d2d4>] cpuidle_enter_tk+0x10/0x12
      	2178763  [<ffffffff8163cdd6>] cpuidle_enter_state+0x12/0x3a
      	2178764  [<ffffffff8163d4a7>] cpuidle_idle_call+0xe8/0x161
      	2178765  [<ffffffff81008d99>] cpu_idle+0x5e/0xa4
      	2178766  [<ffffffff8174c6c1>] start_secondary+0x1a9/0x1ad
      	2178767 Task dump for CPU 2:
      
      In fact, the ACPI idle is based on the assumption of difference percpu
      cstate structures that are necessary for the implementation to work
      cprrectly.  A unique acpi_processor_cx is not sifficient by far.
      
      This patch is just a quick fix re-introducing the percpu cstates.
      
      If someone really wants to unify the ACPI cstates, please make sure
      that the whole software infrastructure is changed and take hardware
      as well as many different kinds of BIOS settings into account.
      
      [rjw: Changelog]
      Reported-by: default avatarLKP project <lkp@linux.intel.com>
      Reported-by: default avatarXie ChanglongX <changlongx.xie@intel.com>
      Tested-by: default avatarYinghai Lu <yinghai@kernel.org>
      Signed-off-by: default avatarAlex Shi <alex.shi@intel.com>
      Signed-off-by: default avatarRafael J. Wysocki <rafael.j.wysocki@intel.com>
      6240a10d
    • Rafael J. Wysocki's avatar
      ACPI / I2C: Use parent's ACPI_HANDLE() in acpi_i2c_register_devices() · b34bb1ee
      Rafael J. Wysocki authored
      The ACPI handle of struct i2c_adapter's dev member should not be
      set, because this causes that struct i2c_adapter to be associated
      with the ACPI device node corresponding to its parent as the
      second "physical_device", which is incorrect (this happens during
      the registration of struct i2c_adapter).  Consequently,
      acpi_i2c_register_devices() should use the ACPI handle of the
      parent of the struct i2c_adapter it is called for rather than the
      struct i2c_adapter's ACPI handle (which should be NULL).
      
      Make that happen and modify the i2c-designware-platdrv driver,
      which currently is the only driver for ACPI-enumerated I2C
      controller chips, not to set the ACPI handle for the
      struct i2c_adapter it creates.
      Signed-off-by: default avatarRafael J. Wysocki <rafael.j.wysocki@intel.com>
      Reviewed-by: default avatarAaron Lu <aaron.lu@intel.com>
      Acked-by: default avatarMika Westerberg <mika.westerberg@linux.intel.com>
      Acked-by: default avatarWolfram Sang <wsa@the-dreams.de>
      b34bb1ee
    • Borislav Petkov's avatar
      cpufreq: Correct header guards typo · beb0ff39
      Borislav Petkov authored
      It should be "governor".
      Signed-off-by: default avatarBorislav Petkov <bp@suse.de>
      Acked-by: default avatarViresh Kumar <viresh.kumar@linaro.org>
      Signed-off-by: default avatarRafael J. Wysocki <rafael.j.wysocki@intel.com>
      beb0ff39
    • Heiko Carstens's avatar
      s390/mm: provide emtpy check_pgt_cache() function · 765a0cac
      Heiko Carstens authored
      All architectures need to provide a check_pgt_cache() function. The s390 one
      got lost somewhere.
      So reintroduce it to prevent future compile errors e.g. if Thomas Gleixner's
      idle loop rework patches get merged.
      Signed-off-by: default avatarHeiko Carstens <heiko.carstens@de.ibm.com>
      Signed-off-by: default avatarMartin Schwidefsky <schwidefsky@de.ibm.com>
      765a0cac