1. Feb 15, 2013
  2. Feb 13, 2013
  3. Feb 09, 2013
    • Prarit Bhargava's avatar
      time, Fix setting of hardware clock in NTP code · 84e345e4
      Prarit Bhargava authored
      
      
      At init time, if the system time is "warped" forward in warp_clock()
      it will differ from the hardware clock by sys_tz.tz_minuteswest.  This time
      difference is not taken into account when ntp updates the hardware clock,
      and this causes the system time to jump forward by this offset every reboot.
      
      The kernel must take this offset into account when writing the system time
      to the hardware clock in the ntp code.  This patch adds
      persistent_clock_is_local which indicates that an offset has been applied
      in warp_clock() and accounts for the "warp" before writing the hardware
      clock.
      
      x86 does not have this problem as rtc writes are software limited to a
      +/-15 minute window relative to the current rtc time.  Other arches, such
      as powerpc, however do a full synchronization of the system time to the
      rtc and will see this problem.
      
      [v2]: generated against tip/timers/core
      
      Signed-off-by: default avatarPrarit Bhargava <prarit@redhat.com>
      Cc: John Stultz <john.stultz@linaro.org>
      Cc: Thomas Gleixner <tglx@linutronix.de>
      Signed-off-by: default avatarJohn Stultz <john.stultz@linaro.org>
      84e345e4
  4. Feb 05, 2013
  5. Feb 04, 2013
  6. Feb 01, 2013
  7. Jan 31, 2013
    • Linus Torvalds's avatar
      Merge branch 'x86-efi-for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/tip/tip · 04c2eee5
      Linus Torvalds authored
      Pull x86 EFI fixes from Peter Anvin:
       "This is a collection of fixes for the EFI support.  The controversial
        bit here is a set of patches which bumps the boot protocol version as
        part of fixing some serious problems with the EFI handover protocol,
        used when booting under EFI using a bootloader as opposed to directly
        from EFI.  These changes should also make it a lot saner to support
        cross-mode 32/64-bit EFI booting in the future.  Getting these changes
        into 3.8 means we avoid presenting an inconsistent ABI to bootloaders.
      
        Other changes are display detection and fixing efivarfs."
      
      * 'x86-efi-for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/tip/tip:
        x86, efi: remove attribute check from setup_efi_pci
        x86, build: Dynamically find entry points in compressed startup code
        x86, efi: Fix PCI ROM handing in EFI boot stub, in 32-bit mode
        x86, efi: Fix 32-bit EFI handover protocol entry point
        x86, efi: Fix display detection in EFI boot stub
        x86, boot: Define the 2.12 bzImage boot protocol
        x86/boot: Fix minor fd leakage in tools/relocs.c
        x86, efi: Set runtime_version to the EFI spec revision
        x86, efi: fix 32-bit warnings in setup_efi_pci()
        efivarfs: Delete dentry from dcache in efivarfs_file_write()
        efivarfs: Never return ENOENT from firmware
        efi, x86: Pass a proper identity mapping in efi_call_phys_prelog
        efivarfs: Drop link count of the right inode
      04c2eee5
    • Linus Torvalds's avatar
      Merge branch 'x86-urgent-for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/tip/tip · bdb0ae6a
      Linus Torvalds authored
      Pull x86 fixes from Peter Anvin:
       "This is a collection of miscellaneous fixes, the most important one is
        the fix for the Samsung laptop bricking issue (auto-blacklisting the
        samsung-laptop driver); the efi_enabled() changes you see below are
        prerequisites for that fix.
      
        The other issues fixed are booting on OLPC XO-1.5, an UV fix, NMI
        debugging, and requiring CAP_SYS_RAWIO for MSR references, just as
        with I/O port references."
      
      * 'x86-urgent-for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/tip/tip:
        samsung-laptop: Disable on EFI hardware
        efi: Make 'efi_enabled' a function to query EFI facilities
        smp: Fix SMP function call empty cpu mask race
        x86/msr: Add capabilities check
        x86/dma-debug: Bump PREALLOC_DMA_DEBUG_ENTRIES
        x86/olpc: Fix olpc-xo1-sci.c build errors
        arch/x86/platform/uv: Fix incorrect tlb flush all issue
        x86-64: Fix unwind annotations in recent NMI changes
        x86-32: Start out cr0 clean, disable paging before modifying cr3/4
      bdb0ae6a
    • Linus Torvalds's avatar
      Merge branch 'drm-fixes' of git://people.freedesktop.org/~airlied/linux · 0fe94b9e
      Linus Torvalds authored
      Pull console lockdep checking revert from Dave Airlie.
      
      The lockdep splat this showed was interesting, but it's very very old,
      and we won't be fixing it until 3.9.  In the meantime, undo the lockdep
      annotation so that we don't generate the (known) console lockdep issue,
      and then possibly hide any potential other (unknown) lockdep problems
      that got disabled by the first one that triggered.
      
      * 'drm-fixes' of git://people.freedesktop.org/~airlied/linux:
        Revert "console: implement lockdep support for console_lock"
      0fe94b9e
    • Dave Airlie's avatar
      Revert "console: implement lockdep support for console_lock" · ff0d05bf
      Dave Airlie authored
      This reverts commit daee7797
      
      .
      
      I'll requeue this after the console locking fixes, so lockdep
      is useful again for people until fbcon is fixed.
      
      Signed-off-by: default avatarDave Airlie <airlied@redhat.com>
      ff0d05bf
    • H. Peter Anvin's avatar
      Merge tag 'efi-for-3.8' into x86/efi · becbd660
      H. Peter Anvin authored
      
      
      Various urgent EFI fixes and some warning cleanups for v3.8
      
        * EFI boot stub fix for Macbook Pro's from Maarten Lankhorst
        * Fix an oops in efivarfs from Lingzhu Xiang
        * 32-bit warning cleanups from Jan Beulich
        * Patch to Boot on >512GB RAM systems from Nathan Zimmer
        * Set efi.runtime_version correctly
        * efivarfs updates
      
      Signed-off-by: default avatarH. Peter Anvin <hpa@linux.intel.com>
      becbd660
    • Matt Fleming's avatar
      samsung-laptop: Disable on EFI hardware · e0094244
      Matt Fleming authored
      It has been reported that running this driver on some Samsung laptops
      with EFI can cause those machines to become bricked as detailed in the
      following report,
      
      	https://bugs.launchpad.net/ubuntu-cdimage/+bug/1040557
      
      There have also been reports of this driver causing Machine Check
      Exceptions on recent EFI-enabled Samsung laptops,
      
      	https://bugzilla.kernel.org/show_bug.cgi?id=47121
      
      
      
      So disable it if booting from EFI since this driver relies on
      grovelling around in the BIOS memory map which isn't going to work.
      
      Cc: Corentin Chary <corentincj@iksaif.net>
      Cc: Matthew Garrett <mjg59@srcf.ucam.org>
      Cc: Colin Ian King <colin.king@canonical.com>
      Cc: Steve Langasek <steve.langasek@canonical.com>
      Cc: <stable@vger.kernel.org>
      Signed-off-by: default avatarMatt Fleming <matt.fleming@intel.com>
      Signed-off-by: default avatarH. Peter Anvin <hpa@linux.intel.com>
      e0094244
    • Matt Fleming's avatar
      efi: Make 'efi_enabled' a function to query EFI facilities · 83e68189
      Matt Fleming authored
      Originally 'efi_enabled' indicated whether a kernel was booted from
      EFI firmware. Over time its semantics have changed, and it now
      indicates whether or not we are booted on an EFI machine with
      bit-native firmware, e.g. 64-bit kernel with 64-bit firmware.
      
      The immediate motivation for this patch is the bug report at,
      
          https://bugs.launchpad.net/ubuntu-cdimage/+bug/1040557
      
      which details how running a platform driver on an EFI machine that is
      designed to run under BIOS can cause the machine to become
      bricked. Also, the following report,
      
          https://bugzilla.kernel.org/show_bug.cgi?id=47121
      
      
      
      details how running said driver can also cause Machine Check
      Exceptions. Drivers need a new means of detecting whether they're
      running on an EFI machine, as sadly the expression,
      
          if (!efi_enabled)
      
      hasn't been a sufficient condition for quite some time.
      
      Users actually want to query 'efi_enabled' for different reasons -
      what they really want access to is the list of available EFI
      facilities.
      
      For instance, the x86 reboot code needs to know whether it can invoke
      the ResetSystem() function provided by the EFI runtime services, while
      the ACPI OSL code wants to know whether the EFI config tables were
      mapped successfully. There are also checks in some of the platform
      driver code to simply see if they're running on an EFI machine (which
      would make it a bad idea to do BIOS-y things).
      
      This patch is a prereq for the samsung-laptop fix patch.
      
      Cc: David Airlie <airlied@linux.ie>
      Cc: Corentin Chary <corentincj@iksaif.net>
      Cc: Matthew Garrett <mjg59@srcf.ucam.org>
      Cc: Dave Jiang <dave.jiang@intel.com>
      Cc: Olof Johansson <olof@lixom.net>
      Cc: Peter Jones <pjones@redhat.com>
      Cc: Colin Ian King <colin.king@canonical.com>
      Cc: Steve Langasek <steve.langasek@canonical.com>
      Cc: Tony Luck <tony.luck@intel.com>
      Cc: Konrad Rzeszutek Wilk <konrad@kernel.org>
      Cc: Rafael J. Wysocki <rjw@sisk.pl>
      Cc: <stable@vger.kernel.org>
      Signed-off-by: default avatarMatt Fleming <matt.fleming@intel.com>
      Signed-off-by: default avatarH. Peter Anvin <hpa@linux.intel.com>
      83e68189
  8. Jan 30, 2013
    • Linus Torvalds's avatar
      Merge tag 'edac_for_3.8' of git://git.kernel.org/pub/scm/linux/kernel/git/bp/bp · a56e1600
      Linus Torvalds authored
      Pull EDAC fixlets from Borislav Petkov:
       "Two minor correctness fixlets from Dan Carpenter and Joe Perches each."
      
      * tag 'edac_for_3.8' of git://git.kernel.org/pub/scm/linux/kernel/git/bp/bp:
        EDAC: Fix kcalloc argument order
        EDAC: Test correct variable in ->store function
      a56e1600
    • Linus Torvalds's avatar
      Merge tag 'sound-3.8' of git://git.kernel.org/pub/scm/linux/kernel/git/tiwai/sound · 58ff603b
      Linus Torvalds authored
      Pull sound fixes from Takashi Iwai:
      
       - A collection of small ASoC driver fixes (error path fixes, register
         correction, regulator bypass mode fix, etc)
      
       - A few regression fixes and quirks of HD-audio (wrong page attributes
         for SG-buffer, Poulsbo/Oaktrail controller fix, digital mic fix for
         Acer, etc)
      
       - A fix for USB-audio UAC2 devices wrt FU length check
      
      * tag 'sound-3.8' of git://git.kernel.org/pub/scm/linux/kernel/git/tiwai/sound:
        ALSA: hda - Fix non-snoop page handling
        ALSA: hda - Enable LPIB delay count for Poulsbo / Oaktrail
        ALSA: hda - fix inverted internal mic on Acer AOA150/ZG5
        ALSA: usb-audio: fix invalid length check for RME and other UAC 2 devices
        ALSA: hda - Add a fixup for Packard-Bell desktop with ALC880
        ASoC: wm_adsp: Release firmware on error
        ASoC: wm_adsp: Use GFP_DMA for things that may be DMAed
        ASoC: arizona: Use actual rather than desired BCLK when calculating LRCLK
        ASoC: wm2200: correct mixer values and text
        ASoC: MAINTAINERS: Update email address.
        ASoC: wm5110: Correct AEC loopback mask
        ASoC: wm5102: Correct AEC loopback mask
        ASoC: dapm: Fix sense of regulator bypass mode
        ASoC: fsl: fix multiple definition of init_module
        ASoC: arizona: Disable free-running mode on FLL1
      58ff603b
    • Joe Perches's avatar
      EDAC: Fix kcalloc argument order · d3d09e18
      Joe Perches authored
      
      
      First number, then size.
      
      Signed-off-by: default avatarJoe Perches <joe@perches.com>
      Cc: <stable@vger.kernel.org>
      Signed-off-by: default avatarBorislav Petkov <bp@suse.de>
      d3d09e18
    • Dan Carpenter's avatar
      EDAC: Test correct variable in ->store function · 8024c4c0
      Dan Carpenter authored
      
      
      We're testing for ->show but calling ->store().
      
      Signed-off-by: default avatarDan Carpenter <dan.carpenter@oracle.com>
      Cc: stable@vger.kernel.org
      Signed-off-by: default avatarBorislav Petkov <bp@suse.de>
      8024c4c0
    • Linus Torvalds's avatar
      Merge branch 'drm-fixes' of git://people.freedesktop.org/~airlied/linux · 2e51b231
      Linus Torvalds authored
      Pull drm fixes from Dave Airlie:
       "Intel, radeon and exynos fixes.  Nothing too major or wierd: one dmar
        fix and a radeon cursor corruption, along with misc exynos fixes."
      
      * 'drm-fixes' of git://people.freedesktop.org/~airlied/linux: (21 commits)
        drm/exynos: add check for the device power status
        drm/exynos: Make 'drm_hdmi_get_edid' static
        drm/exynos: fimd and ipp are broken on multiplatform
        drm/exynos: don't include plat/gpio-cfg.h
        drm/exynos: Remove "internal" interrupt handling
        drm/exynos: Add missing static specifiers in exynos_drm_rotator.c
        drm/exynos: Replace mdelay with usleep_range
        drm/exynos: Make ipp_handle_cmd_work static
        drm/exynos: Make g2d_userptr_get_dma_addr static
        drm/exynos: consider DMA_NONE flag to dmabuf import
        drm/exynos: free sg object if dma_map_sg is failed
        drm/exynos: added validation of edid for vidi connection
        drm/exynos: let drm handle edid allocations
        drm/radeon: Enable DMA_IB_SWAP_ENABLE on big endian hosts.
        drm/radeon: fix a rare case of double kfree
        radeon_display: Use pointer return error codes
        drm/radeon: fix cursor corruption on DCE6 and newer
        drm/i915: dump UTS_RELEASE into the error_state
        iommu/intel: disable DMAR for g4x integrated gfx
        drm/i915: GFX_MODE Flush TLB Invalidate Mode must be '1' for scanline waits
        ...
      2e51b231
    • Linus Torvalds's avatar
      Merge tag 'for-linus-v3.8-rc6' of git://oss.sgi.com/xfs/xfs · f96736e1
      Linus Torvalds authored
      Pull xfs bugfixes from Ben Myers:
       "Here are fixes for returning EFSCORRUPTED on probe of a non-xfs
        filesystem, the stack switch in xfs_bmapi_allocate, a crash in
        _xfs_buf_find, speculative preallocation as the filesystem nears
        ENOSPC, an unmount hang, a race with AIO, and a regression with
        xfs_fsr:
      
         - fix return value when filesystem probe finds no XFS magic, a
           regression introduced in 98021821.
      
         - fix stack switch in __xfs_bmapi_allocate by moving the check for
           stack switch up into xfs_bmapi_write.
      
         - fix oops in _xfs_buf_find by validating that the requested block is
           within the filesystem bounds.
      
         - limit speculative preallocation near ENOSPC.
      
         - fix an unmount hang in xfs_wait_buftarg by freeing the
           xfs_buf_log_item in xfs_buf_item_unlock.
      
         - fix a possible use after free with AIO.
      
         - fix xfs_swap_extents after removal of xfs_flushinval_pages, a
           regression introduced in commit fb595814."
      
      * tag 'for-linus-v3.8-rc6' of git://oss.sgi.com/xfs/xfs:
        xfs: Fix xfs_swap_extents() after removal of xfs_flushinval_pages()
        xfs: Fix possible use-after-free with AIO
        xfs: fix shutdown hang on invalid inode during create
        xfs: limit speculative prealloc near ENOSPC thresholds
        xfs: fix _xfs_buf_find oops on blocks beyond the filesystem end
        xfs: pull up stack_switch check into xfs_bmapi_write
        xfs: Do not return EFSCORRUPTED when filesystem probe finds no XFS magic
      f96736e1
    • Linus Torvalds's avatar
      Merge branch 'for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/s390/linux · 8e5d573a
      Linus Torvalds authored
      Pull one s390 fix from Martin Schwidefsky:
       "Another transparent huge page fix, we need to define a s390 variant
        for pmdp_set_wrprotect to flush the TLB for the huge page correctly."
      
      * 'for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/s390/linux:
        s390/thp: implement pmdp_set_wrprotect()
      8e5d573a
    • Linus Torvalds's avatar
      Merge tag 'pinctrl-fixes-rc6' of git://git.kernel.org/pub/scm/linux/kernel/git/linusw/linux-pinctrl · d6a3bf93
      Linus Torvalds authored
      Pull pinctrl fixes from Linus Walleij:
       "This is a late pinctrl fix pull request, we had to revert out the
        pinctrl-single GPIO backend, because of, well, design issues.  We're
        cooking a better thing for the next cycle.
      
         - Revert gpio request/free backend, new patch set in the works, will
           be for v3.9.  Get this old cruft out before anyone hurts himself on
           it.
         - Kconfig buzz
         - Various compile warnings
         - MPP6 value for the Kirkwood"
      
      * tag 'pinctrl-fixes-rc6' of git://git.kernel.org/pub/scm/linux/kernel/git/linusw/linux-pinctrl:
        pinctrl: nomadik: nmk_prcm_gpiocr_get_mode may be unused
        pinctrl: exynos: don't mark probing functions as __init
        Revert "pinctrl: single: support gpio request and free"
        pinctrl: mvebu: fix MPP6 value for kirkwood driver
        pinctrl: mvebu: Fix compiler warnings
        pinctrl: pinctrl-mxs: Fix variables' definition type
        pinctrl: samsung: removing duplicated condition for PINCTRL_SAMSUNG
      d6a3bf93
    • John Stultz's avatar
      timekeeping: Switch HAS_PERSISTENT_CLOCK to ALWAYS_USE_PERSISTENT_CLOCK · 6f16eebe
      John Stultz authored
      
      
      Jason pointed out the HAS_PERSISTENT_CLOCK name isn't
      quite accurate for the config, as some systems may have
      the persistent_clock in some cases, but not always.
      
      So change the config name to the more clear
      ALWAYS_USE_PERSISTENT_CLOCK.
      
      Signed-off-by: default avatarJohn Stultz <john.stultz@linaro.org>
      6f16eebe
    • Arnd Bergmann's avatar
      pinctrl: nomadik: nmk_prcm_gpiocr_get_mode may be unused · 0fafd50e
      Arnd Bergmann authored
      
      
      nmk_prcm_gpiocr_get_mode is only needed for debugfs output at
      the moment, which can be compile-time disabled. Marking
      the function __maybe_unused still gives us compile-time
      coverage, but avoids a gcc warning.
      
      Without this patch, building nhk8815_defconfig results in:
      
      drivers/pinctrl/pinctrl-nomadik.c:676:12: warning: 'nmk_prcm_gpiocr_get_mode' defined but not used [-Wunused-function]
      
      Signed-off-by: default avatarArnd Bergmann <arnd@arndb.de>
      Cc: Jean-Nicolas Graux <jean-nicolas.graux@stericsson.com>
      Cc: Srinidhi Kasagar <srinidhi.kasagar@stericsson.com>
      Signed-off-by: default avatarLinus Walleij <linus.walleij@linaro.org>
      0fafd50e
    • Arnd Bergmann's avatar
      pinctrl: exynos: don't mark probing functions as __init · 312b00e5
      Arnd Bergmann authored
      
      
      Functions called from a driver probe() method must not be
      marked __init, because they may get called after the
      init phase is done, when the device shows up late, or
      because of deferred probing.
      
      Without this patch, building exynos_defconfig results in
      multiple warnings like:
      
      WARNING: drivers/pinctrl/built-in.o(.text+0x51bc): Section mismatch in reference from the function exynos5440_pinctrl_probe() to the function .init.text:exynos5440_gpiolib_register()
      The function exynos5440_pinctrl_probe() references
      the function __init exynos5440_gpiolib_register().
      This is often because exynos5440_pinctrl_probe lacks a __init
      annotation or the annotation of exynos5440_gpiolib_register is wrong.
      
      Signed-off-by: default avatarArnd Bergmann <arnd@arndb.de>
      Cc: Tomasz Figa <t.figa@samsung.com>
      Acked-by: default avatarKukjin Kim <kgene.kim@samsung.com>
      Signed-off-by: default avatarLinus Walleij <linus.walleij@linaro.org>
      312b00e5
    • Maarten Lankhorst's avatar
      x86, efi: remove attribute check from setup_efi_pci · 73970188
      Maarten Lankhorst authored
      It looks like the original commit that copied the rom contents from
      efi always copied the rom, and the fixup in setup_efi_pci from commit
      886d751a
      
       ("x86, efi: correct precedence of operators in
      setup_efi_pci") broke that.
      
      This resulted in macbook pro's no longer finding the rom images, and
      thus not being able to use the radeon card any more.
      
      The solution is to just remove the check for now, and always copy the
      rom if available.
      
      Reported-by: default avatarVitaly Budovski <vbudovski+news@gmail.com>
      Cc: Dan Carpenter <dan.carpenter@oracle.com>
      Cc: Seth Forshee <seth.forshee@canonical.com>
      Acked-by: default avatarMatthew Garrett <mjg59@srcf.ucam.org>
      Cc: Bjorn Helgaas <bhelgaas@google.com>
      Cc: Sasha Levin <sasha.levin@oracle.com>
      Signed-off-by: default avatarMaarten Lankhorst <maarten.lankhorst@canonical.com>
      Signed-off-by: default avatarMatt Fleming <matt.fleming@intel.com>
      73970188
    • Takashi Iwai's avatar
      ALSA: hda - Fix non-snoop page handling · 9ddf1aeb
      Takashi Iwai authored
      For non-snoop mode, we fiddle with the page attributes of CORB/RIRB
      and the position buffer, but also the ring buffers.  The problem is
      that the current code blindly assumes that the buffer is contiguous.
      However, the ring buffers may be SG-buffers, thus a wrong vmapped
      address is passed there, leading to Oops.
      
      This patch fixes the handling for SG-buffers.
      
      Bugzilla: https://bugzilla.novell.com/show_bug.cgi?id=800701
      
      
      
      Cc: <stable@vger.kernel.org>
      Signed-off-by: default avatarTakashi Iwai <tiwai@suse.de>
      9ddf1aeb
  9. Jan 29, 2013
    • Takashi Iwai's avatar
      ALSA: hda - Enable LPIB delay count for Poulsbo / Oaktrail · f748abcc
      Takashi Iwai authored
      
      
      Currently we use LPIB forcibly for both playback and capture for
      Poulsbo and Oaktrail devices, and this seems rather problematic.
      The recent fix for LPIB delay count seems working well with these
      devices, so let's enable it instead.
      
      Reported-by: default avatarMartin Weishart <martin.weishart@telosalliance.com>
      Signed-off-by: default avatarTakashi Iwai <tiwai@suse.de>
      f748abcc
    • Linus Torvalds's avatar
      Merge tag 'regulator-3.8-rc5' of git://git.kernel.org/pub/scm/linux/kernel/git/broonie/regulator · 6abb7c25
      Linus Torvalds authored
      Pull regulator fixes from Mark Brown:
       "Fairly small stuff - a build failure fix for ST platforms, an error
        checking fix and an update to the MAINTAINERS file for Liam."
      
      * tag 'regulator-3.8-rc5' of git://git.kernel.org/pub/scm/linux/kernel/git/broonie/regulator:
        regulator: tps80031: Use IS_ERR to check return value of regulator_register()
        regulators: db8500: Fix compile failure for drivers/regulator/dbx500-prcmu.c
        regulator: MAINTAINERS: update email address
      6abb7c25
    • Mark Brown's avatar
      51b919ba
    • Mark Brown's avatar
    • Mark Brown's avatar
    • Linus Torvalds's avatar
      Merge branch 'merge' of git://git.kernel.org/pub/scm/linux/kernel/git/benh/powerpc · fc16e884
      Linus Torvalds authored
      Pull powerpc fixes from Benjamin Herrenschmidt:
       "Whenever you have a chance between two dives, you might want to
        consider pulling my merge branch to pickup a few fixes for 3.8 that
        have been accumulating for the last couple of weeks (I was myself
        travelling then on vacation).
      
        Nothing major, just a handful of powerpc bug fixes that I consider
        worth getting in before 3.8 goes final."
      
      And I'll have everybody know that I'm not diving for several days yet.
      Snif.
      
      * 'merge' of git://git.kernel.org/pub/scm/linux/kernel/git/benh/powerpc:
        powerpc: Max next_tb to prevent from replaying timer interrupt
        powerpc: kernel/kgdb.c: Fix memory leakage
        powerpc/book3e: Disable interrupt after preempt_schedule_irq
        powerpc/oprofile: Fix error in oprofile power7_marked_instr_event() function
        powerpc/pasemi: Fix crash on reboot
        powerpc: Fix MAX_STACK_TRACE_ENTRIES too low warning for ppc32
      fc16e884
    • Tiejun Chen's avatar
      powerpc: Max next_tb to prevent from replaying timer interrupt · 689dfa89
      Tiejun Chen authored
      
      
      With lazy interrupt, we always call __check_irq_replaysome with
      decrementers_next_tb to check if we need to replay timer interrupt.
      So in hotplug case we also need to set decrementers_next_tb as MAX
      to make sure __check_irq_replay don't replay timer interrupt
      when return as we expect, otherwise we'll trap here infinitely.
      
      Signed-off-by: default avatarTiejun Chen <tiejun.chen@windriver.com>
      Signed-off-by: default avatarBenjamin Herrenschmidt <benh@kernel.crashing.org>
      689dfa89
    • Cong Ding's avatar
      powerpc: kernel/kgdb.c: Fix memory leakage · fefd9e6f
      Cong Ding authored
      
      
      the variable backup_current_thread_info isn't freed before existing the
      function.
      
      Signed-off-by: default avatarCong Ding <dinggnu@gmail.com>
      Signed-off-by: default avatarBenjamin Herrenschmidt <benh@kernel.crashing.org>
      fefd9e6f
    • Tiejun Chen's avatar
      powerpc/book3e: Disable interrupt after preempt_schedule_irq · 572177d7
      Tiejun Chen authored
      
      
      In preempt case current arch_local_irq_restore() from
      preempt_schedule_irq() may enable hard interrupt but we really
      should disable interrupts when we return from the interrupt,
      and so that we don't get interrupted after loading SRR0/1.
      
      Signed-off-by: default avatarTiejun Chen <tiejun.chen@windriver.com>
      CC: <stable@vger.kernel.org>
      Signed-off-by: default avatarBenjamin Herrenschmidt <benh@kernel.crashing.org>
      572177d7
    • Carl E. Love's avatar
      powerpc/oprofile: Fix error in oprofile power7_marked_instr_event() function · 46ed7a76
      Carl E. Love authored
      
      
      The calculation for the left shift of the mask OPROFILE_PM_PMCSEL_MSK has an
      error.  The calculation is should be to shift left by (max_cntrs - cntr) times
      the width of the pmsel field width.  However, the #define OPROFILE_MAX_PMC_NUM
      was used instead of OPROFILE_PMSEL_FIELD_WIDTH.  This patch fixes the
      calculation.
      
      Signed-off-by: default avatarCarl Love <cel@us.ibm.com>
      Acked-by: default avatarPaul Mackerras <paulus@samba.org>
      Signed-off-by: default avatarBenjamin Herrenschmidt <benh@kernel.crashing.org>
      46ed7a76
    • Steven Rostedt's avatar
      powerpc/pasemi: Fix crash on reboot · 72640d88
      Steven Rostedt authored
      commit f96972f2
      
       "kernel/sys.c: call disable_nonboot_cpus() in
      kernel_restart()"
      
      added a call to disable_nonboot_cpus() on kernel_restart(), which tries
      to shutdown all the CPUs except the first one. The issue with the PA
      Semi, is that it does not support CPU hotplug.
      
      When the call is made to __cpu_down(), it calls the notifiers
      CPU_DOWN_PREPARE, and then tries to take the CPU down.
      
      One of the notifiers to the CPU hotplug code, is the cpufreq. The
      DOWN_PREPARE will call __cpufreq_remove_dev() which calls
      cpufreq_driver->exit. The PA Semi exit handler unmaps regions of I/O
      that is used by an interrupt that goes off constantly
      (system_reset_common, but it goes off during normal system operations
      too). I'm not sure exactly what this interrupt does.
      
      Running a simple function trace, you can see it goes off quite a bit:
      
      # tracer: function
      #
      #           TASK-PID    CPU#    TIMESTAMP  FUNCTION
      #              | |       |          |         |
                <idle>-0     [001]  1558.859363: .pasemi_system_reset_exception <-.system_reset_exception
                <idle>-0     [000]  1558.860112: .pasemi_system_reset_exception <-.system_reset_exception
                <idle>-0     [000]  1558.861109: .pasemi_system_reset_exception <-.system_reset_exception
                <idle>-0     [001]  1558.861361: .pasemi_system_reset_exception <-.system_reset_exception
                <idle>-0     [000]  1558.861437: .pasemi_system_reset_exception <-.system_reset_exception
      
      When the region is unmapped, the system crashes with:
      
      Disabling non-boot CPUs ...
      Error taking CPU1 down: -38
      Unable to handle kernel paging request for data at address 0xd0000800903a0100
      Faulting instruction address: 0xc000000000055fcc
      Oops: Kernel access of bad area, sig: 11 [#1]
      PREEMPT SMP NR_CPUS=64 NUMA PA Semi PWRficient
      Modules linked in: shpchp
      NIP: c000000000055fcc LR: c000000000055fb4 CTR: c0000000000df1fc
      REGS: c0000000012175d0 TRAP: 0300   Not tainted  (3.8.0-rc4-test-dirty)
      MSR: 9000000000009032 <SF,HV,EE,ME,IR,DR,RI>  CR: 24000088  XER: 00000000
      SOFTE: 0
      DAR: d0000800903a0100, DSISR: 42000000
      TASK = c0000000010e9008[0] 'swapper/0' THREAD: c000000001214000 CPU: 0
      GPR00: d0000800903a0000 c000000001217850 c0000000012167e0 0000000000000000
      GPR04: 0000000000000000 0000000000000724 0000000000000724 0000000000000000
      GPR08: 0000000000000000 0000000000000000 0000000000000001 0000000000a70000
      GPR12: 0000000024000080 c00000000fff0000 ffffffffffffffff 000000003ffffae0
      GPR16: ffffffffffffffff 0000000000a21198 0000000000000060 0000000000000000
      GPR20: 00000000008fdd35 0000000000a21258 000000003ffffaf0 0000000000000417
      GPR24: 0000000000a226d0 c000000000000000 0000000000000000 0000000000000000
      GPR28: c00000000138b358 0000000000000000 c000000001144818 d0000800903a0100
      NIP [c000000000055fcc] .set_astate+0x5c/0xa4
      LR [c000000000055fb4] .set_astate+0x44/0xa4
      Call Trace:
      [c000000001217850] [c000000000055fb4] .set_astate+0x44/0xa4 (unreliable)
      [c0000000012178f0] [c00000000005647c] .restore_astate+0x2c/0x34
      [c000000001217980] [c000000000054668] .pasemi_system_reset_exception+0x6c/0x88
      [c000000001217a00] [c000000000019ef0] .system_reset_exception+0x48/0x84
      [c000000001217a80] [c000000000001e40] system_reset_common+0x140/0x180
      
      Signed-off-by: default avatarBenjamin Herrenschmidt <benh@kernel.crashing.org>
      72640d88