Skip to content
  1. Feb 24, 2014
    • Linus Torvalds's avatar
      Linux 3.14-rc4 · cfbf8d48
      Linus Torvalds authored
      v3.14-rc4
      cfbf8d48
    • Linus Torvalds's avatar
      Merge tag 'fixes-for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/arm/arm-soc · 72673429
      Linus Torvalds authored
      Pull ARM SoC fixes from Olof Johansson:
       "A collection of fixes for ARM platforms.  Most are fixes for DTS
        files, mostly from DT conversion on OMAP which is still finding a few
        issues here and there.
      
        There's a couple of small stale code removal patches that we usually
        queue for the next release instead, but they seemed harmless enough to
        bring in now.
      
        Also, a fix for backlight on some PXA platforms, and a cache
        configuration fix for Tegra, etc"
      
      * tag 'fixes-for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/arm/arm-soc: (25 commits)
        MAINTAINERS: add additional ARM BCM281xx/BCM11xxx maintainer
        ARM: tegra: only run PL310 init on systems with one
        ARM: tegra: Add head numbers to display controllers
        ARM: imx6: build pm-imx6q.c independently of CONFIG_PM
        ARM: tegra: fix RTC0 alias for Cardhu
        ARM: dove: dt: revert PMU interrupt controller node
        Documentation: dt: OMAP: Update Overo/Tobi
        ARM: dts: Add support for both OMAP35xx and OMAP36xx Overo/Tobi
        ARM: dts: omap3-tobi: Use the correct vendor prefix
        ARM: dts: omap3-tobi: Fix boot with OMAP36xx-based Overo
        ARM: OMAP2+: Remove legacy macros for zoom platforms
        ARM: OMAP2+: Remove MACH_NOKIA_N800
        ARM: dts: N900: add missing compatible property
        ARM: dts: N9/N950: fix boot hang with 3.14-rc1
        ARM: OMAP1: nokia770: enable tahvo-usb
        ARM: OMAP2+: gpmc: fix: DT ONENAND child nodes not probed when MTD_ONENAND is built as module
        ARM: OMAP2+: gpmc: fix: DT NAND child nodes not probed when MTD_NAND is built as module
        ARM: dts: omap3-gta04: Fix mmc1 properties.
        ARM: dts: omap3-gta04: Fix 'aux' gpio key flags.
        ARM: OMAP2+: add missing ARCH_HAS_OPP
        ...
      72673429
    • Linus Torvalds's avatar
      Merge tag 'regulator-v3.14-rc4' of git://git.kernel.org/pub/scm/linux/kernel/git/broonie/regulator · 24c85258
      Linus Torvalds authored
      Pull regulator fixes from Mark Brown:
       "Mostly unexciting driver fixes, plus one fix to lower the severity of
        the log message when we don't use an optional regulator - the fixes
        for ACPI system made this come up more often and it was correctly
        observed that it was causing undue concern for users"
      
      * tag 'regulator-v3.14-rc4' of git://git.kernel.org/pub/scm/linux/kernel/git/broonie/regulator:
        regulator: max14577: Fix invalid return value on DT parse success
        regulator: core: Change dummy supplies error message to a warning
        regulator: s5m8767: Add missing of_node_put
        regulator: s5m8767: Use of_get_child_by_name
        regulator: da9063: Bug fix when setting max voltage on LDOs 5-11
      24c85258
    • Linus Torvalds's avatar
      Merge branch 'timers-urgent-for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/tip/tip · b2880eb8
      Linus Torvalds authored
      Pull timer fix from Thomas Gleixner:
       "Serialize the registration of a new sched_clock in the currently ARM
        only generic sched_clock facilty to avoid sched_clock havoc"
      
      * 'timers-urgent-for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/tip/tip:
        sched_clock: Prevent callers from seeing half-updated data
      b2880eb8
    • Linus Torvalds's avatar
      Merge branch 'x86-urgent-for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/tip/tip · 208937fd
      Linus Torvalds authored
      Pull x86 fixes from Thomas Gleixner:
      
       - a bugfix which prevents a divide by 0 panic when the newly introduced
         try_msr_calibrate_tsc() fails
      
       - enablement of the Baytrail platform to utilize the newfangled msr
         based calibration
      
      * 'x86-urgent-for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/tip/tip:
        x86: tsc: Add missing Baytrail frequency to the table
        x86, tsc: Fallback to normal calibration if fast MSR calibration fails
      208937fd
    • Linus Torvalds's avatar
      Merge branch 'irq-urgent-for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/tip/tip · 5fe37fcf
      Linus Torvalds authored
      Pull irq fixes from Thomas Gleixner:
       "Another four fixlets to tame the ARM orion irq chip"
      
      * 'irq-urgent-for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/tip/tip:
        irqchip: orion: Fix getting generic chip pointer.
        irqchip: orion: clear stale interrupts in irq_startup
        irqchip: orion: use handle_edge_irq on bridge irqs
        irqchip: orion: clear bridge cause register on init
      5fe37fcf
    • Linus Torvalds's avatar
      Merge tag 'usb-3.14-rc4' of git://git.kernel.org/pub/scm/linux/kernel/git/gregkh/usb · f9b08080
      Linus Torvalds authored
      Pull USB fixes from Greg KH:
       "Here are a number of USB fixes for reported issues for 3.14-rc4
      
        The majority of these are for USB gadget, phy, and musb driver issues.
        And there's a few new device ids thrown in for good measure"
      
      * tag 'usb-3.14-rc4' of git://git.kernel.org/pub/scm/linux/kernel/git/gregkh/usb:
        usb: chipidea: need to mask when writting endptflush and endptprime
        usb: musb: correct use of schedule_delayed_work()
        usb: phy: msm: fix compilation errors when !CONFIG_PM_SLEEP
        usb: gadget: fix NULL pointer dereference
        usb: gadget: printer: using gadget_is_otg to check otg support at runtime
        phy: let phy_provider_register be the last step in registering PHY
        phy-core: Don't allow building phy-core as a module
        phy-core: Don't propagate -ENOSUPP from phy_pm_runtime_get_sync to caller
        phy-core: phy_get: Leave error logging to the caller
        phy,phy-bcm-kona-usb2.c: Add dependency on HAS_IOMEM
        usb: musb: correct use of schedule_delayed_work()
        usb: musb: do not sleep in atomic context
        USB: serial: option: blacklist interface 4 for Cinterion PHS8 and PXS8
        USB: EHCI: add delay during suspend to prevent erroneous wakeups
        usb: gadget: bcm63xx_udc: fix build failure on DMA channel code
        usb: musb: do not sleep in atomic context
        usb: gadget: s3c2410_udc: Fix build error
        usb: musb: core: Fix remote-wakeup resume
        usb: musb: host: Fix SuperSpeed hub enumeration
        usb: musb: fix obex in g_nokia.ko causing kernel panic
      f9b08080
    • Linus Torvalds's avatar
      Merge tag 'tty-3.14-rc4' of git://git.kernel.org/pub/scm/linux/kernel/git/gregkh/tty · e0f13bd4
      Linus Torvalds authored
      Pull TTY revert from Greg KH:
       "Here is a single commit, a revert of a sysfs file change that ended up
        breaking a userspace tool"
      
      * tag 'tty-3.14-rc4' of git://git.kernel.org/pub/scm/linux/kernel/git/gregkh/tty:
        Revert "tty: Set correct tty name in 'active' sysfs attribute"
      e0f13bd4
    • Linus Torvalds's avatar
      Merge tag 'staging-3.14-rc4' of git://git.kernel.org/pub/scm/linux/kernel/git/gregkh/staging · b9c2b050
      Linus Torvalds authored
      Pull staging tree fix from Greg KH:
       "Here is a single android driver fix for 3.14-rc4 that fixes a reported
        problem in the binder driver"
      
      * tag 'staging-3.14-rc4' of git://git.kernel.org/pub/scm/linux/kernel/git/gregkh/staging:
        staging: binder: Fix death notifications
      b9c2b050
    • Linus Torvalds's avatar
      Merge tag 'char-misc-3.14-rc4' of git://git.kernel.org/pub/scm/linux/kernel/git/gregkh/char-misc · 78349043
      Linus Torvalds authored
      Pull char/misc fix from Greg KH:
       "Here is a single commit, to fix a reported problem in the mei driver"
      
      * tag 'char-misc-3.14-rc4' of git://git.kernel.org/pub/scm/linux/kernel/git/gregkh/char-misc:
        mei: set client's read_cb to NULL when flow control fails
      78349043
  2. Feb 23, 2014
    • Matt Porter's avatar
      MAINTAINERS: add additional ARM BCM281xx/BCM11xxx maintainer · a3db2bba
      Matt Porter authored
      
      
      Add myself as an additional maintainer for the Broadcom mobile
      SoCs.
      
      Signed-off-by: default avatarMatt Porter <mporter@linaro.org>
      Acked-by: default avatarChristian Daudt <bcm@fixthebug.org>
      Signed-off-by: default avatarOlof Johansson <olof@lixom.net>
      a3db2bba
    • Mark Brown's avatar
      Merge remote-tracking branches 'regulator/fix/da9063',... · bcad2ca3
      Mark Brown authored
      Merge remote-tracking branches 'regulator/fix/da9063', 'regulator/fix/max14577' and 'regulator/fix/s5m8767' into regulator-linus
      bcad2ca3
    • Mark Brown's avatar
    • Greg Kroah-Hartman's avatar
      Revert "tty: Set correct tty name in 'active' sysfs attribute" · 5c0a2450
      Greg Kroah-Hartman authored
      This reverts commit d8a5dc30
      
      .
      
      This breaks plymouth installs, either because plymouth is using the file
      "incorrectly" or because the patch is incorrect.  Either way, this needs
      to be reverted until it is all figured out.
      
      Reported-by: default avatarJosh Boyer <jwboyer@fedoraproject.org>
      Reported-by: default avatarRay Strode <halfline@gmail.com>
      Cc: Lennart Poettering <lennart@poettering.net>
      Cc: Kay Sievers <kay@vrfy.org>
      Cc: Jiri Slaby <jslaby@suse.cz>
      Cc: David Herrmann <dh.herrmann@gmail.com>
      Cc: Werner Fink <werner@suse.de>
      Cc: Hannes Reinecke <hare@suse.de>
      Cc: stable <stable@vger.kernel.org>
      Signed-off-by: default avatarGreg Kroah-Hartman <gregkh@linuxfoundation.org>
      5c0a2450
    • Linus Torvalds's avatar
      Merge branch 'sched-urgent-for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/tip/tip · 5580723f
      Linus Torvalds authored
      Pull scheduler fixes from Ingo Molnar:
       "Misc fixlets: a fair number of them resulting from the new
        SCHED_DEADLINE code"
      
      * 'sched-urgent-for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/tip/tip:
        sched/deadline: Remove useless dl_nr_total
        sched/deadline: Test for CPU's presence explicitly
        sched: Add 'flags' argument to sched_{set,get}attr() syscalls
        sched: Fix information leak in sys_sched_getattr()
        sched,numa: add cond_resched to task_numa_work
        sched/core: Make dl_b->lock IRQ safe
        sched/core: Fix sched_rt_global_validate
        sched/deadline: Fix overflow to handle period==0 and deadline!=0
        sched/deadline: Fix bad accounting of nr_running
      5580723f
    • Linus Torvalds's avatar
      Merge branch 'perf-urgent-for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/tip/tip · 9b3e7c9b
      Linus Torvalds authored
      Pull perf fixes from Ingo Molnar:
       "Misc fixlets from all around the place"
      
      * 'perf-urgent-for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/tip/tip:
        perf/x86/uncore: Fix IVT/SNB-EP uncore CBOX NID filter table
        perf/x86: Correctly use FEATURE_PDCM
        perf, nmi: Fix unknown NMI warning
        perf trace: Fix ioctl 'request' beautifier build problems on !(i386 || x86_64) arches
        perf trace: Add fallback definition of EFD_SEMAPHORE
        perf list: Fix checking for supported events on older kernels
        perf tools: Handle PERF_RECORD_HEADER_EVENT_TYPE properly
        perf probe: Do not add offset twice to uprobe address
        perf/x86: Fix Userspace RDPMC switch
        perf/x86/intel/p6: Add userspace RDPMC quirk for PPro
      9b3e7c9b
    • Linus Torvalds's avatar
      Merge tag 'hwmon-for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/groeck/linux-staging · 0f0ca143
      Linus Torvalds authored
      Pull hwmon fix from Guenter Roeck:
       "Fix writing the minimum temperature in max1668 driver"
      
      * tag 'hwmon-for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/groeck/linux-staging:
        hwmon: (max1668) Fix writing the minimum temperature
      0f0ca143
    • Linus Torvalds's avatar
      Merge branch 'xfs-fixes-for-3.14-rc4' of git://oss.sgi.com/xfs/xfs · 645ceee8
      Linus Torvalds authored
      Pull xfs fixes from Dave Chinner:
       "This is the first pull request I've had to do for you, so I'm still
        sorting things out.  The reason I'm sending this and not Ben should be
        obvious from the first commit below - SGI has stepped down from the
        XFS maintainership role.  As such, I'd like to take another
        opportunity to thank them for their many years of effort maintaining
        XFS and supporting the XFS community that they developed from the
        ground up.
      
        So I haven't had time to work things like signed tags into my
        workflows yet, so this is just a repo branch I'm asking you to pull
        from.  And yes, I named the branch -rc4 because I wanted the fixes in
        rc4, not because the branch was for merging into -rc3.  Probably not
        right, either.
      
        Anyway, I should have everything sorted out by the time the next merge
        window comes around.  If there's anything that you don't like in the
        pull req, feel free to flame me unmercifully.
      
        The changes are fixes for recent regressions and important thinkos in
        verification code:
      
              - a log vector buffer alignment issue on ia32
              - timestamps on truncate got mangled
              - primary superblock CRC validation fixes and error message
                sanitisation"
      
      * 'xfs-fixes-for-3.14-rc4' of git://oss.sgi.com/xfs/xfs:
        xfs: limit superblock corruption errors to actual corruption
        xfs: skip verification on initial "guess" superblock read
        MAINTAINERS: SGI no longer maintaining XFS
        xfs: xfs_sb_read_verify() doesn't flag bad crcs on primary sb
        xfs: ensure correct log item buffer alignment
        xfs: ensure correct timestamp updates from truncate
      645ceee8
    • Ingo Molnar's avatar
      Merge tag 'perf-urgent-for-mingo' of... · a9d3f94e
      Ingo Molnar authored
      
      Merge tag 'perf-urgent-for-mingo' of git://git.kernel.org/pub/scm/linux/kernel/git/acme/linux into perf/urgent
      
      Pull perf/urgent fixes from Arnaldo Carvalho de Melo:
      
        * Handle PERF_RECORD_HEADER_EVENT_TYPE properly. (Jiri Olsa)
      
        * Fix checking for supported events on older kernels in
          'perf list' (Vince Weaver)
      
        * Do not add offset twice to uprobe address in
          'perf probe' (Masami Hiramatsu)
      
        * Fix perf trace's ioctl 'request' beautifier build problems
          on !(i386 || x86_64) arches (Arnaldo Carvalho de Melo)
      
        * Fix 'perf trace' build by adding a fallback definition for
          EFD_SEMAPHORE (Ben Hutchings)
      
      Signed-off-by: default avatarArnaldo Carvalho de Melo <acme@redhat.com>
      Signed-off-by: default avatarIngo Molnar <mingo@kernel.org>
      a9d3f94e
  3. Feb 22, 2014
    • Krzysztof Kozlowski's avatar
      regulator: max14577: Fix invalid return value on DT parse success · 08221fc4
      Krzysztof Kozlowski authored
      This fixes bug introduced in 667a6b7a
      
       (regulator: max14577: Add missing
      of_node_put). The DTS parsing function returned number of matched
      regulators as success status which then was compared against 0 in probe.
      
      Result was a probe fail after successful parsing the DTS:
      max14577-regulator: probe of max14577-regulator failed with error 2
      
      Signed-off-by: default avatarKrzysztof Kozlowski <k.kozlowski@samsung.com>
      Reviwed-by: default avatarSachin Kamat <sachin.kamat@linaro.org>
      Signed-off-by: default avatarMark Brown <broonie@linaro.org>
      08221fc4
    • Thomas Gleixner's avatar
      Merge tag 'irqchip-mvebu-fixes-3.14' of git://git.infradead.org/linux-mvebu into irq/urgent · ec79b577
      Thomas Gleixner authored
      
      
      irqchip mvebu fixes for v3.14
      
       - orion:
          - fixes for clearing bridge cause register, and clearing stale interrupts
      
      Signed-off-by: default avatarThomas Gleixner <tglx@linutronix.de>
      ec79b577
    • Linus Torvalds's avatar
      Merge tag 'dt-for-linus' of git://git.secretlab.ca/git/linux · 10527106
      Linus Torvalds authored
      Pull devicetree fixes from Grant Likely:
       "Device tree compatible match order bug fix
      
        This branch contains a bug fix for the way devicetree code identifies
        the type of device.  Device drivers can contain a list of
        of_device_ids, but it more than one entry will match, then the device
        driver may choose the wrong one.  Commit 10535314, "match each node
        compatible against all given matches first", was queued for v3.14 but
        ended up causing other bugs.  Commit 06b29e76 attempted to fix it
        but it had other bugs.  Merely reverting the fix and waiting until
        v3.15 isn't a good option because there is code in v3.14 that depends
        on the revised behaviour to boot.
      
        This branch should finally fixes the problem correctly.  This time
        instead of just hoping that the patch is correct, this branch also
        adds new testcases that validate the behaviour.
      
        The changes in this branch are larger than I would like for a -rc
        pull, but moving the test case data out of out of arch/arm so that it
        could be validated on other architectures was important"
      
      * tag 'dt-for-linus' of git://git.secretlab.ca/git/linux:
        of: Add self test for of_match_node()
        of: Move testcase FDT data into drivers/of
        of: reimplement the matching method for __of_match_node()
        Revert "of: search the best compatible match first in __of_match_node()"
      10527106
    • Linus Torvalds's avatar
      Merge git://www.linux-watchdog.org/linux-watchdog · 0a4e836a
      Linus Torvalds authored
      Pull watchdog fix from Wim Van Sebroeck:
       "It corrects the error code when no device was found for w83697hf_wdt"
      
      * git://www.linux-watchdog.org/linux-watchdog:
        watchdog: w83697hf_wdt: return ENODEV if no device was found
      0a4e836a
    • Andrew Lunn's avatar
      irqchip: orion: Fix getting generic chip pointer. · d86e9af6
      Andrew Lunn authored
      
      
      Enabling SPARSE_IRQ shows up a bug in the irq-orion bridge interrupt
      handler. The bridge interrupt is implemented using a single generic
      chip. Thus the parameter passed to irq_get_domain_generic_chip()
      should always be zero.
      
      Signed-off-by: default avatarAndrew Lunn <andrew@lunn.ch>
      Acked-by: default avatarSebastian Hesselbarth <sebastian.hesselbarth@gmail.com>
      Fixes: 9dbd90f1
      
       ("irqchip: Add support for Marvell Orion SoCs")
      Cc: <stable@vger.kernel.org> # v3.11+
      Signed-off-by: default avatarJason Cooper <jason@lakedaemon.net>
      d86e9af6
    • Stephane Eranian's avatar
      perf/x86/uncore: Fix IVT/SNB-EP uncore CBOX NID filter table · 337397f3
      Stephane Eranian authored
      
      
      This patch updates the CBOX PMU filters mapping tables for SNB-EP
      and IVT (model 45 and 62 respectively).
      
      The NID umask always comes in addition to another umask.
      When set, the NID filter is applied.
      
      The current mapping tables were missing some code/umask
      combinations to account for the NID umask. This patch
      fixes that.
      
      Cc: mingo@elte.hu
      Cc: ak@linux.intel.com
      Reviewed-by: default avatarYan, Zheng <zheng.z.yan@intel.com>
      Signed-off-by: default avatarStephane Eranian <eranian@google.com>
      Signed-off-by: default avatarPeter Zijlstra <peterz@infradead.org>
      Link: http://lkml.kernel.org/r/20140219131018.GA24475@quad
      Signed-off-by: default avatarThomas Gleixner <tglx@linutronix.de>
      337397f3
    • Peter Zijlstra's avatar
      perf/x86: Correctly use FEATURE_PDCM · c9b08884
      Peter Zijlstra authored
      
      
      The current code simply assumes Intel Arch PerfMon v2+ to have
      the IA32_PERF_CAPABILITIES MSR; the SDM specifies that we should check
      CPUID[1].ECX[15] (aka, FEATURE_PDCM) instead.
      
      This was found by KVM which implements v2+ but didn't provide the
      capabilities MSR. Change the code to DTRT; KVM will also implement the
      MSR and return 0.
      
      Cc: pbonzini@redhat.com
      Reported-by: default avatar"Michael S. Tsirkin" <mst@redhat.com>
      Suggested-by: default avatarEduardo Habkost <ehabkost@redhat.com>
      Signed-off-by: default avatarPeter Zijlstra <peterz@infradead.org>
      Link: http://lkml.kernel.org/r/20140203132903.GI8874@twins.programming.kicks-ass.net
      Signed-off-by: default avatarThomas Gleixner <tglx@linutronix.de>
      c9b08884
    • Markus Metzger's avatar
      perf, nmi: Fix unknown NMI warning · a3ef2229
      Markus Metzger authored
      
      
      When using BTS on Core i7-4*, I get the below kernel warning.
      
      $ perf record -c 1 -e branches:u ls
      Message from syslogd@labpc1501 at Nov 11 15:49:25 ...
       kernel:[  438.317893] Uhhuh. NMI received for unknown reason 31 on CPU 2.
      
      Message from syslogd@labpc1501 at Nov 11 15:49:25 ...
       kernel:[  438.317920] Do you have a strange power saving mode enabled?
      
      Message from syslogd@labpc1501 at Nov 11 15:49:25 ...
       kernel:[  438.317945] Dazed and confused, but trying to continue
      
      Make intel_pmu_handle_irq() take the full exit path when returning early.
      
      Cc: eranian@google.com
      Cc: peterz@infradead.org
      Cc: mingo@kernel.org
      Signed-off-by: default avatarMarkus Metzger <markus.t.metzger@intel.com>
      Signed-off-by: default avatarAndi Kleen <ak@linux.intel.com>
      Signed-off-by: default avatarPeter Zijlstra <peterz@infradead.org>
      Link: http://lkml.kernel.org/r/1392425048-5309-1-git-send-email-andi@firstfloor.org
      Signed-off-by: default avatarThomas Gleixner <tglx@linutronix.de>
      a3ef2229
    • Matthieu CASTET's avatar
      usb: chipidea: need to mask when writting endptflush and endptprime · 5bf5dbed
      Matthieu CASTET authored
      
      
      ENDPTFLUSH and ENDPTPRIME registers are set by software and clear
      by hardware. There is a bit for each endpoint. When we are setting
      a bit for an endpoint we should make sure we do not touch other
      endpoint bit. There is a race condition if the hardware clear the
      bit between the read and the write in hw_write.
      
      Cc: stable <stable@vger.kernel.org> # 3.11+
      Signed-off-by: default avatarPeter Chen <peter.chen@freescale.com>
      Signed-off-by: default avatarMatthieu CASTET <matthieu.castet@parrot.com>
      Tested-by: default avatarMichael Grzeschik <mgrzeschik@pengutronix.de>
      Signed-off-by: default avatarGreg Kroah-Hartman <gregkh@linuxfoundation.org>
      5bf5dbed
    • Arve Hjønnevåg's avatar
      staging: binder: Fix death notifications · e194fd8a
      Arve Hjønnevåg authored
      The change (008fa749
      
      ) that moved the
      node release code to a separate function broke death notifications in
      some cases. When it encountered a reference without a death
      notification request, it would skip looking at the remaining
      references, and therefore fail to send death notifications for them.
      
      Cc: Colin Cross <ccross@android.com>
      Cc: Android Kernel Team <kernel-team@android.com>
      Cc: stable <stable@vger.kernel.org> # 3.10
      Signed-off-by: default avatarArve Hjønnevåg <arve@android.com>
      Signed-off-by: default avatarJohn Stultz <john.stultz@linaro.org>
      Signed-off-by: default avatarJeremy Compostella <jeremy.compostella@intel.com>
      Signed-off-by: default avatarGreg Kroah-Hartman <gregkh@linuxfoundation.org>
      e194fd8a
    • Kirill Tkhai's avatar
      sched/deadline: Remove useless dl_nr_total · 995b9ea4
      Kirill Tkhai authored
      
      
      In deadline class we do not have group scheduling like in RT.
      
      dl_nr_total is the same as dl_nr_running. So, one of them should
      be removed.
      
      Cc: Ingo Molnar <mingo@redhat.com>
      Cc: Juri Lelli <juri.lelli@gmail.com>
      Signed-off-by: default avatarKirill Tkhai <tkhai@yandex.ru>
      Signed-off-by: default avatarPeter Zijlstra <peterz@infradead.org>
      Link: http://lkml.kernel.org/r/368631392675853@web20h.yandex.ru
      Signed-off-by: default avatarThomas Gleixner <tglx@linutronix.de>
      995b9ea4
    • Boris Ostrovsky's avatar
      sched/deadline: Test for CPU's presence explicitly · 82b95800
      Boris Ostrovsky authored
      
      
      A hot-removed CPU may have ID that is numerically larger than the number of
      existing CPUs in the system (e.g. we can unplug CPU 4 from a system that
      has CPUs 0, 1 and 4).
      
      Thus the WARN_ONs should check whether the CPU in question is currently
      present, not whether its ID value is less than num_present_cpus().
      
      Cc: Ingo Molnar <mingo@kernel.org>
      Cc: Juri Lelli <juri.lelli@gmail.com>
      Cc: Steven Rostedt <rostedt@goodmis.org>
      Reported-by: default avatarKonrad Rzeszutek Wilk <konrad.wilk@oracle.com>
      Signed-off-by: default avatarBoris Ostrovsky <boris.ostrovsky@oracle.com>
      Signed-off-by: default avatarPeter Zijlstra <peterz@infradead.org>
      Link: http://lkml.kernel.org/r/1392646353-1874-1-git-send-email-boris.ostrovsky@oracle.com
      Signed-off-by: default avatarThomas Gleixner <tglx@linutronix.de>
      82b95800
    • Peter Zijlstra's avatar
      sched: Add 'flags' argument to sched_{set,get}attr() syscalls · 6d35ab48
      Peter Zijlstra authored
      
      
      Because of a recent syscall design debate; its deemed appropriate for
      each syscall to have a flags argument for future extension; without
      immediately requiring new syscalls.
      
      Cc: juri.lelli@gmail.com
      Cc: Ingo Molnar <mingo@redhat.com>
      Suggested-by: default avatarMichael Kerrisk <mtk.manpages@gmail.com>
      Signed-off-by: default avatarPeter Zijlstra <peterz@infradead.org>
      Link: http://lkml.kernel.org/r/20140214161929.GL27965@twins.programming.kicks-ass.net
      Signed-off-by: default avatarThomas Gleixner <tglx@linutronix.de>
      6d35ab48
    • Vegard Nossum's avatar
      sched: Fix information leak in sys_sched_getattr() · 4efbc454
      Vegard Nossum authored
      We're copying the on-stack structure to userspace, but forgot to give
      the right number of bytes to copy. This allows the calling process to
      obtain up to PAGE_SIZE bytes from the stack (and possibly adjacent
      kernel memory).
      
      This fix copies only as much as we actually have on the stack
      (attr->size defaults to the size of the struct) and leaves the rest of
      the userspace-provided buffer untouched.
      
      Found using kmemcheck + trinity.
      
      Fixes: d50dde5a
      
       ("sched: Add new scheduler syscalls to support an extended scheduling parameters ABI")
      Cc: Dario Faggioli <raistlin@linux.it>
      Cc: Juri Lelli <juri.lelli@gmail.com>
      Cc: Ingo Molnar <mingo@kernel.org>
      Signed-off-by: default avatarVegard Nossum <vegard.nossum@oracle.com>
      Signed-off-by: default avatarPeter Zijlstra <peterz@infradead.org>
      Link: http://lkml.kernel.org/r/1392585857-10725-1-git-send-email-vegard.nossum@oracle.com
      Signed-off-by: default avatarThomas Gleixner <tglx@linutronix.de>
      4efbc454
    • Rik van Riel's avatar
      sched,numa: add cond_resched to task_numa_work · 3cf1962c
      Rik van Riel authored
      
      
      Normally task_numa_work scans over a fairly small amount of memory,
      but it is possible to run into a large unpopulated part of virtual
      memory, with no pages mapped. In that case, task_numa_work can run
      for a while, and it may make sense to reschedule as required.
      
      Cc: akpm@linux-foundation.org
      Cc: Andrea Arcangeli <aarcange@redhat.com>
      Signed-off-by: default avatarRik van Riel <riel@redhat.com>
      Reported-by: default avatarXing Gang <gang.xing@hp.com>
      Tested-by: default avatarChegu Vinod <chegu_vinod@hp.com>
      Signed-off-by: default avatarPeter Zijlstra <peterz@infradead.org>
      Link: http://lkml.kernel.org/r/1392761566-24834-2-git-send-email-riel@redhat.com
      Signed-off-by: default avatarThomas Gleixner <tglx@linutronix.de>
      3cf1962c
    • Juri Lelli's avatar
      sched/core: Make dl_b->lock IRQ safe · 49516342
      Juri Lelli authored
      
      
      Fix this lockdep warning:
      
      [   44.804600] =========================================================
      [   44.805746] [ INFO: possible irq lock inversion dependency detected ]
      [   44.805746] 3.14.0-rc2-test+ #14 Not tainted
      [   44.805746] ---------------------------------------------------------
      [   44.805746] bash/3674 just changed the state of lock:
      [   44.805746]  (&dl_b->lock){+.....}, at: [<ffffffff8106ad15>] sched_rt_handler+0x132/0x248
      [   44.805746] but this lock was taken by another, HARDIRQ-safe lock in the past:
      [   44.805746]  (&rq->lock){-.-.-.}
      
      and interrupts could create inverse lock ordering between them.
      
      [   44.805746]
      [   44.805746] other info that might help us debug this:
      [   44.805746]  Possible interrupt unsafe locking scenario:
      [   44.805746]
      [   44.805746]        CPU0                    CPU1
      [   44.805746]        ----                    ----
      [   44.805746]   lock(&dl_b->lock);
      [   44.805746]                                local_irq_disable();
      [   44.805746]                                lock(&rq->lock);
      [   44.805746]                                lock(&dl_b->lock);
      [   44.805746]   <Interrupt>
      [   44.805746]     lock(&rq->lock);
      
      by making dl_b->lock acquiring always IRQ safe.
      
      Cc: Ingo Molnar <mingo@redhat.com>
      Signed-off-by: default avatarJuri Lelli <juri.lelli@gmail.com>
      Signed-off-by: default avatarPeter Zijlstra <peterz@infradead.org>
      Link: http://lkml.kernel.org/r/1392107067-19907-3-git-send-email-juri.lelli@gmail.com
      Signed-off-by: default avatarThomas Gleixner <tglx@linutronix.de>
      49516342
    • Juri Lelli's avatar
      sched/core: Fix sched_rt_global_validate · e9e7cb38
      Juri Lelli authored
      
      
      Don't compare sysctl_sched_rt_runtime against sysctl_sched_rt_period if
      the former is equal to RUNTIME_INF, otherwise disabling -rt bandwidth
      management (with CONFIG_RT_GROUP_SCHED=n) fails.
      
      Cc: Ingo Molnar <mingo@redhat.com>
      Signed-off-by: default avatarJuri Lelli <juri.lelli@gmail.com>
      Signed-off-by: default avatarPeter Zijlstra <peterz@infradead.org>
      Link: http://lkml.kernel.org/r/1392107067-19907-2-git-send-email-juri.lelli@gmail.com
      Signed-off-by: default avatarThomas Gleixner <tglx@linutronix.de>
      e9e7cb38
    • Steven Rostedt's avatar
      sched/deadline: Fix overflow to handle period==0 and deadline!=0 · 4df1638c
      Steven Rostedt authored
      
      
      While debugging the crash with the bad nr_running accounting, I hit
      another bug where, after running my sched deadline test, I was getting
      failures to take a CPU offline. It was giving me a -EBUSY error.
      
      Adding a bunch of trace_printk()s around, I found that the cpu
      notifier that called sched_cpu_inactive() was returning a failure. The
      overflow value was coming up negative?
      
      Talking this over with Juri, the problem is that the total_bw update was
      suppose to be made by dl_overflow() which, during my tests, seemed to
      not be called. Adding more trace_printk()s, it wasn't that it wasn't
      called, but it exited out right away with the check of new_bw being
      equal to p->dl.dl_bw. The new_bw calculates the ratio between period and
      runtime. The bug is that if you set a deadline, you do not need to set
      a period if you plan on the period being equal to the deadline. That
      is, if period is zero and deadline is not, then the system call should
      set the period to be equal to the deadline. This is done elsewhere in
      the code.
      
      The fix is easy, check if period is set, and if it is not, then use the
      deadline.
      
      Cc: Juri Lelli <juri.lelli@gmail.com>
      Cc: Ingo Molnar <mingo@kernel.org>
      Cc: Linus Torvalds <torvalds@linux-foundation.org>
      Cc: Andrew Morton <akpm@linux-foundation.org>
      Signed-off-by: default avatarSteven Rostedt <rostedt@goodmis.org>
      Signed-off-by: default avatarPeter Zijlstra <peterz@infradead.org>
      Link: http://lkml.kernel.org/r/20140219135335.7e74abd4@gandalf.local.home
      Signed-off-by: default avatarThomas Gleixner <tglx@linutronix.de>
      4df1638c
    • Juri Lelli's avatar
      sched/deadline: Fix bad accounting of nr_running · 3d5f35bd
      Juri Lelli authored
      
      
      Rostedt writes:
      
      My test suite was locking up hard when enabling mmiotracer. This was due
      to the mmiotracer placing all but one CPU offline. I found this out
      when I was able to reproduce the bug with just my stress-cpu-hotplug
      test. This bug baffled me because it would not always trigger, and
      would only trigger on the first run after boot up. The
      stress-cpu-hotplug test would crash hard the first run, or never crash
      at all. But a new reboot may cause it to crash on the first run again.
      
      I spent all week bisecting this, as I couldn't find a consistent
      reproducer. I finally narrowed it down to the sched deadline patches,
      and even more peculiar, to the commit that added the sched
      deadline boot up self test to the latency tracer. Then it dawned on me
      to what the bug was.
      
      All it took was to run a task under sched deadline to screw up the CPU
      hot plugging. This explained why it would lock up only on the first run
      of the stress-cpu-hotplug test. The bug happened when the boot up self
      test of the schedule latency tracer would test a deadline task. The
      deadline task would corrupt something that would cause CPU hotplug to
      fail. If it didn't corrupt it, the stress test would always work
      (there's no other sched deadline tasks that would run to cause
      problems). If it did corrupt on boot up, the first test would lockup
      hard.
      
      I proved this theory by running my deadline test program on another box,
      and then run the stress-cpu-hotplug test, and it would now consistently
      lock up. I could run stress-cpu-hotplug over and over with no problem,
      but once I ran the deadline test, the next run of the
      stress-cpu-hotplug would lock hard.
      
      After adding lots of tracing to the code, I found the cause. The
      function tracer showed that migrate_tasks() was stuck in an infinite
      loop, where rq->nr_running never equaled 1 to break out of it. When I
      added a trace_printk() to see what that number was, it was 335 and
      never decrementing!
      
      Looking at the deadline code I found:
      
      static void __dequeue_task_dl(struct rq *rq, struct task_struct *p, int flags) {
      	dequeue_dl_entity(&p->dl);
      	dequeue_pushable_dl_task(rq, p);
      }
      
      static void dequeue_task_dl(struct rq *rq, struct task_struct *p, int flags) {
      	update_curr_dl(rq);
      	__dequeue_task_dl(rq, p, flags);
      
      	dec_nr_running(rq);
      }
      
      And this:
      
      	if (dl_runtime_exceeded(rq, dl_se)) {
      		__dequeue_task_dl(rq, curr, 0);
      		if (likely(start_dl_timer(dl_se, curr->dl.dl_boosted)))
      			dl_se->dl_throttled = 1;
      		else
      			enqueue_task_dl(rq, curr, ENQUEUE_REPLENISH);
      
      		if (!is_leftmost(curr, &rq->dl))
      			resched_task(curr);
      	}
      
      Notice how we call __dequeue_task_dl() and in the else case we
      call enqueue_task_dl()? Also notice that dequeue_task_dl() has
      underscores where enqueue_task_dl() does not. The enqueue_task_dl()
      calls inc_nr_running(rq), but __dequeue_task_dl() does not. This is
      where we get nr_running out of sync.
      
      [snip]
      
      Another point where nr_running can get out of sync is when the dl_timer
      fires:
      
      	dl_se->dl_throttled = 0;
      	if (p->on_rq) {
      		enqueue_task_dl(rq, p, ENQUEUE_REPLENISH);
      		if (task_has_dl_policy(rq->curr))
      			check_preempt_curr_dl(rq, p, 0);
      		else
      			resched_task(rq->curr);
      
      This patch does two things:
      
       - correctly accounts for throttled tasks (that are now considered
         !running);
      
       - fixes the bug, updating nr_running from {inc,dec}_dl_tasks(),
         since we risk to update it twice in some situations (e.g., a
         task is dequeued while it has exceeded its budget).
      
      Cc: mingo@redhat.com
      Cc: torvalds@linux-foundation.org
      Cc: akpm@linux-foundation.org
      Reported-by: default avatarSteven Rostedt <rostedt@goodmis.org>
      Reviewed-by: default avatarSteven Rostedt <rostedt@goodmis.org>
      Tested-by: default avatarSteven Rostedt <rostedt@goodmis.org>
      Signed-off-by: default avatarJuri Lelli <juri.lelli@gmail.com>
      Signed-off-by: default avatarPeter Zijlstra <peterz@infradead.org>
      Link: http://lkml.kernel.org/r/1392884379-13744-1-git-send-email-juri.lelli@gmail.com
      Signed-off-by: default avatarThomas Gleixner <tglx@linutronix.de>
      3d5f35bd
    • Stanislav Kholmanskikh's avatar
      watchdog: w83697hf_wdt: return ENODEV if no device was found · 0cb1c3e8
      Stanislav Kholmanskikh authored
      
      
      Most WDT driver modules return ENODEV during modprobe if
      no valid device was found, but w83697hf_wdt returns EIO.
      
      Let w83697hf_wdt return ENODEV.
      
      Signed-off-by: default avatarStanislav Kholmanskikh <stanislav.kholmanskikh@oracle.com>
      Reviewed-by: default avatarGuenter Roeck <linux@roeck-us.net>
      Signed-off-by: default avatarWim Van Sebroeck <wim@iguana.be>
      0cb1c3e8
    • Linus Torvalds's avatar
      Merge git://git.kernel.org/pub/scm/linux/kernel/git/davem/sparc · 34acae3c
      Linus Torvalds authored
      Pull sparc fixes from David Miller:
       "Three minor fixes from David Howells and Paul Gortmaker"
      
      * git://git.kernel.org/pub/scm/linux/kernel/git/davem/sparc:
        Sparc: sparc_cpu_model isn't in asm/system.h any more [ver #2]
        sparc32: make copy_to/from_user_page() usable from modular code
        sparc32: fix build failure for arch_jump_label_transform
      34acae3c