04 Mar, 2012

5 commits


03 Mar, 2012

13 commits

  • Commit 5707c87f "vfs: uninline full_name_hash()" broke the modular
    build, because it needs exporting now that it isn't inlined any more.

    Reported-by: Tetsuo Handa
    Signed-off-by: Linus Torvalds

    Linus Torvalds
     
  • hhwmon fixes for 3.3-rc6 from Guenter Roeck:

    These patches are necessary for correct operation and management of
    F75387.

    * tag 'hwmon-for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/groeck/linux-staging:
    hwmon: (f75375s) Catch some attempts to write to r/o registers
    hwmon: (f75375s) Properly map the F75387 automatic modes to pwm_enable
    hwmon: (f75375s) Make pwm*_mode writable for the F75387
    hwmon: (f75375s) Fix writes to the pwm* attribute for the F75387

    Linus Torvalds
     
  • fbdev fixes for 3.3 from Florian Tobias Schandinat

    It includes:
    - two fixes for OMAP HDMI
    - one fix to make new OMAP functions behave as they are supposed to
    - one Kconfig dependency fix
    - two fixes for viafb for modesetting on VX900 hardware

    * tag 'fbdev-fixes-for-3.3-2' of git://github.com/schandinat/linux-2.6:
    OMAPDSS: APPLY: make ovl_enable/disable synchronous
    OMAPDSS: panel-dvi: Add Kconfig dependency on I2C
    viafb: fix IGA1 modesetting on VX900
    viafb: select HW scaling on VX900 for IGA2
    OMAPDSS: HDMI: hot plug detect fix
    OMAPDSS: HACK: Ensure DSS clock domain gets out of idle when HDMI is enabled

    Linus Torvalds
     
  • sound fixes for 3.3-rc6 from Takashi Iwai

    This contains again regression fixes for various HD-audio and ASoC
    regarding SSI and dapm shutdown path. In addition, a minor azt3328
    fix and the correction of the new jack-notification strings in HD-audio.

    * tag 'sound-fixes' of git://git.kernel.org/pub/scm/linux/kernel/git/tiwai/sound:
    ALSA: hda - Kill hyphenated names
    ALSA: hda - Add a fake mute feature
    ALSA: hda - Always set HP pin in unsol handler for STAC/IDT codecs
    ALSA: azt3328 - Fix NULL ptr dereference on cards without OPL3
    ALSA: hda/realtek - Fix resume of multiple input sources
    ASoC: i.MX SSI: Fix DSP_A format.
    ASoC: dapm: Check for bias level when powering down

    Linus Torvalds
     
  • The code in link_path_walk() that finds out the length and the hash of
    the next path component is some of the hottest code in the kernel. And
    I have a version of it that does things at the full width of the CPU
    wordsize at a time, but that means that we *really* want to split it up
    into a separate helper function.

    So this re-organizes the code a bit and splits the hashing part into a
    helper function called "hash_name()". It returns the length of the
    pathname component, while at the same time computing and writing the
    hash to the appropriate location.

    The code generation is slightly changed by this patch, but generally for
    the better - and the added abstraction actually makes the code easier to
    read too. And the new interface is well suited for replacing just the
    "hash_name()" function with alternative implementations.

    Signed-off-by: Linus Torvalds

    Linus Torvalds
     
  • It did some odd things for unclear reasons. As this is one of the
    functions that gets changed when doing word-at-a-time compares, this is
    yet another of the "don't change any semantics, but clean things up so
    that subsequent patches don't get obscured by the cleanups".

    Signed-off-by: Linus Torvalds

    Linus Torvalds
     
  • .. and also use it in lookup_one_len() rather than open-coding it.

    There aren't any performance-critical users, so inlining it is silly.
    But it wouldn't matter if it wasn't for the fact that the word-at-a-time
    dentry name patches want to conditionally replace the function, and
    uninlining it sets the stage for that.

    So again, this is a preparatory patch that doesn't change any semantics,
    and only prepares for a much cleaner and testable word-at-a-time dentry
    name accessor patch.

    Signed-off-by: Linus Torvalds

    Linus Torvalds
     
  • These don't change any semantics, but they clean up the code a bit and
    mark some arguments appropriately 'const'.

    They came up as I was doing the word-at-a-time dcache name accessor
    code, and cleaning this up now allows me to send out a smaller relevant
    interesting patch for the experimental stuff.

    Signed-off-by: Linus Torvalds

    Linus Torvalds
     
  • It makes no sense to attempt to manually configure the fan in auto mode,
    or set the duty cycle directly in closed loop mode. The corresponding
    registers are then read-only. If the user tries it nonetheless, error out
    with EINVAL instead of silently doing nothing.

    Signed-off-by: Nikolaus Schulz
    [guenter.roeck@ericsson.com: Minor formatting cleanup]
    Signed-off-by: Guenter Roeck

    Nikolaus Schulz
     
  • The F75387 supports automatic fan control using either PWM duty cycle or
    RPM speed values. Make the driver detect the latter mode, and expose the
    different modes in sysfs as per pwm_enable, so that the user can switch
    between them.

    The interpretation of the pwm_enable attribute for the F75387 is adjusted
    to be a superset of those values used for similar Fintek chips which do
    not support automatic duty mode, with 2 mapping to automatic speed mode,
    and moving automatic duty mode to the new value 4.

    Toggling the duty mode via pwm_enable is currently denied for the F75387,
    as the chip then simply reinterprets the fan configuration register values
    according to the new mode, switching between RPM and PWM units, which
    makes this a dangerous operation.

    This patch introduces a new pwm mode into the driver. This is necessary
    because the new mode (automatic pwm mode, 4) may already be enabled by the
    BIOS, and the driver should not break existing functionality. This was seen
    on at least one board.

    Signed-off-by: Nikolaus Schulz
    Signed-off-by: Guenter Roeck

    Nikolaus Schulz
     
  • …t-for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/tip/tip

    Pulling latest branches from Ingo:

    * 'core-urgent-for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/tip/tip:
    memblock: Fix size aligning of memblock_alloc_base_nid()

    * 'perf-urgent-for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/tip/tip:
    perf probe: Ensure offset provided is not greater than function length without DWARF info too
    perf tools: Ensure comm string is properly terminated
    perf probe: Ensure offset provided is not greater than function length
    perf evlist: Return first evsel for non-sample event on old kernel
    perf/hwbp: Fix a possible memory leak

    * 'sched-urgent-for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/tip/tip:
    CPU hotplug, cpusets, suspend: Don't touch cpusets during suspend/resume

    Linus Torvalds
     
  • There is only one error code to return for a bad user-space buffer
    pointer passed to a system call in the same address space as the
    system call is executed, and that is EFAULT. Furthermore, the
    low-level access routines, which catch most of the faults, return
    EFAULT already.

    Signed-off-by: H. Peter Anvin
    Reviewed-by: Oleg Nesterov
    Acked-by: Roland McGrath
    Cc:
    Signed-off-by: Linus Torvalds

    H. Peter Anvin
     
  • The regset common infrastructure assumed that regsets would always
    have .get and .set methods, but not necessarily .active methods.
    Unfortunately people have since written regsets without .set methods.

    Rather than putting in stub functions everywhere, handle regsets with
    null .get or .set methods explicitly.

    Signed-off-by: H. Peter Anvin
    Reviewed-by: Oleg Nesterov
    Acked-by: Roland McGrath
    Cc:
    Signed-off-by: Linus Torvalds

    H. Peter Anvin
     

02 Mar, 2012

8 commits

  • It turned out that a performance counter on AMD does not
    count at all when the GO or HO bit is set in the control
    register and SVM is disabled in EFER.

    This patch works around this issue by masking out the HO bit
    in the performance counter control register when SVM is not
    enabled.

    The GO bit is not touched because it is only set when the
    user wants to count in guest-mode only. So when SVM is
    disabled the counter should not run at all and the
    not-counting is the intended behaviour.

    Signed-off-by: Joerg Roedel
    Signed-off-by: Peter Zijlstra
    Cc: Avi Kivity
    Cc: Stephane Eranian
    Cc: David Ahern
    Cc: Gleb Natapov
    Cc: Robert Richter
    Cc: stable@vger.kernel.org # v3.2
    Link: http://lkml.kernel.org/r/1330523852-19566-1-git-send-email-joerg.roedel@amd.com
    Signed-off-by: Ingo Molnar

    Joerg Roedel
     
  • Kill hyphens from "Line-Out" name strings, as suggested by Mark Brown.

    Signed-off-by: Takashi Iwai

    Takashi Iwai
     
  • …it/acme/linux into perf/urgent

    Various smaller perf/urgent fixes.

    Signed-off-by: Ingo Molnar <mingo@elte.hu>

    Ingo Molnar
     
  • Watchdog updates from Wim Van Sebroeck:

    * git://www.linux-watchdog.org/linux-watchdog:
    watchdog: fix GETTIMEOUT ioctl in booke_wdt
    watchdog: update maintainers git entry
    watchdog: Fix typo in pnx4008_wdt.c
    watchdog: Fix typo in Kconfig
    watchdog: fix error in probe() of s3c2410_wdt (reset at booting)
    watchdog: hpwdt: clean up set_memory_x call for 32 bit

    Linus Torvalds
     
  • Pull from Mark Brown:
    "A simple, driver specific fix. This device isn't widely used outside
    of Marvell reference boards most of which are probably used with their
    BSPs rather than with mainline so low risk."

    * tag 'for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/broonie/regulator:
    regulator: fix the ldo configure according to 88pm860x spec

    Linus Torvalds
     
  • i2c bugfix from Wolfram Sang:
    "This patch fixes a wrong assumption in the mxs-i2c-driver about a
    command queue being done. Without it, we have seen races when the
    bus was under load."

    * 'i2c-embedded/for-3.3' of git://git.pengutronix.de/git/wsa/linux-2.6:
    i2c: mxs: only flag completion when queue is completely done

    Linus Torvalds
     
  • DRM fixes from Dave Airlie:
    intel: fixes for output regression on 965GM, an oops and a machine
    hang

    radeon: uninitialised var (that gcc didn't warn about for some reason)
    + a couple of correctness fixes.

    exynos: fixes for various things, drop some chunks of unused code.

    * 'drm-fixes' of git://people.freedesktop.org/~airlied/linux:
    drm/radeon/kms/vm: fix possible bug in radeon_vm_bo_rmv()
    drm/radeon: fix uninitialized variable
    drm/radeon/kms: fix radeon_dp_get_modes for LVDS bridges (v2)
    drm/i915: Remove use of the autoreported ringbuffer HEAD position
    drm/i915: Prevent a machine hang by checking crtc->active before loading lut
    drm/i915: fix operator precedence when enabling RC6p
    drm/i915: fix a sprite watermark computation to avoid divide by zero if xpos<0
    drm/i915: fix mode set on load pipe. (v2)
    drm/exynos: exynos_drm.h header file fixes
    drm/exynos: added panel physical size.
    drm/exynos: added postclose to release resource.
    drm/exynos: removed exynos_drm_fbdev_recreate function.
    drm/exynos: fixed page flip issue.
    drm/exynos: added possible_clones setup function.
    drm/exynos: removed pageflip_event_list init code when closed.
    drm/exynos: changed priority of mixer layers.
    drm/exynos: Fix typo in exynos_mixer.c

    Linus Torvalds
     
  • Pull s390 fixes from Martin Schwidefsky

    * 'for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/s390/linux:
    [S390] memory hotplug: prevent memory zone interleave
    [S390] crash_dump: remove duplicate include
    [S390] KEYS: Enable the compat keyctl wrapper on s390x

    Linus Torvalds
     

01 Mar, 2012

14 commits

  • A small fix for the SSI driver and a fix for system shutdown with modern
    devices. Most of the modern devices will never get shut down normally
    with a visible kernel log as the systems they're in tend not to shut
    down often and when they do it's usually in form factors that don't have
    a user visible console.

    Takashi Iwai
     
  • memblock allocator aligns @size to @align to reduce the amount
    of fragmentation. Commit:

    7bd0b0f0da ("memblock: Reimplement memblock allocation using reverse free area iterator")

    Broke it by incorrectly relocating @size aligning to
    memblock_find_in_range_node(). As the aligned size is not
    propagated back to memblock_alloc_base_nid(), the actually
    reserved size isn't aligned.

    While this increases memory use for memblock reserved array,
    this shouldn't cause any critical failure; however, it seems
    that the size aligning was hiding a use-beyond-allocation bug in
    sparc64 and losing the aligning causes boot failure.

    The underlying problem is currently being debugged but this is a
    proper fix in itself, it's already pretty late in -rc cycle for
    boot failures and reverting the change for debugging isn't
    difficult. Restore the size aligning moving it to
    memblock_alloc_base_nid().

    Reported-by: Meelis Roos
    Signed-off-by: Tejun Heo
    Cc: David S. Miller
    Cc: Grant Likely
    Cc: Rob Herring
    Cc: Linus Torvalds
    Cc: Andrew Morton
    Link: http://lkml.kernel.org/r/20120228205621.GC3252@dhcp-172-17-108-109.mtv.corp.google.com
    Signed-off-by: Ingo Molnar
    LKML-Reference:

    Tejun Heo
     
  • Merge virtio pull request from Rusty Russell.

    * tag 'for-linus' of git://github.com/rustyrussell/linux:
    virtio: balloon: leak / fill balloon across S4

    Linus Torvalds
     
  • commit e562966dbaf49e7804097cd991e5d3a8934fc148 added support for S4 to
    the balloon driver. The freeze function did nothing to free the pages,
    since reclaiming the pages from the host to immediately give them back
    (if S4 was successful) seemed wasteful. Also, if S4 wasn't successful,
    the guest would have to re-fill the balloon. On restore, the pages were
    supposed to be marked freed and the free page counters were incremented
    to reflect the balloon was totally deflated.

    However, this wasn't done right. The pages that were earlier taken away
    from the guest during a balloon inflation operation were just shown as
    used pages after a successful restore from S4. Just a fancy way of
    leaking lots of memory.

    Instead of trying that, just leak the balloon on freeze and fill it on
    restore/thaw paths. This works properly now. The optimisation to not
    leak can be added later on after a bit of refactoring of the code.

    Signed-off-by: Amit Shah
    Signed-off-by: Rusty Russell

    Amit Shah
     
  • ovl->enable/disable are meant to be synchronous so that they can handle
    the configuration of fifo sizes. The current kernel doesn't configure
    fifo sizes yet, and so the code doesn't need to block to function (from
    omapdss driver's perspective).

    However, for the users of omapdss a non-blocking ovl->disable is
    confusing, because they don't know when the memory area is not used
    any more.

    Furthermore, when the fifo size configuration is added in the next merge
    window, the change from non-blocking to blocking could cause side
    effects to the users of omapdss. So by making the functions block
    already will keep them behaving in the same manner.

    And, while not the main purpose of this patch, this will also remove the
    compile warning:

    drivers/video/omap2/dss/apply.c:350: warning:
    'wait_pending_extra_info_updates' defined but not used

    Signed-off-by: Tomi Valkeinen
    Signed-off-by: Florian Tobias Schandinat

    Tomi Valkeinen
     
  • panel-dvi uses i2c, but the Kconfig didn't have dependency on I2C. Add
    it.

    Signed-off-by: Tomi Valkeinen
    Signed-off-by: Florian Tobias Schandinat

    Tomi Valkeinen
     
  • The 'perf probe' command allows kprobe to be inserted at any offset from
    a function start, which results in adding kprobes to unintended
    location. (example: perf probe do_fork+10000 is allowed even though
    size of do_fork is ~904).

    My previous patch https://lkml.org/lkml/2012/2/24/42 addressed the case
    where DWARF info was available for the kernel. This patch fixes the
    case where perf probe is used on a kernel without debuginfo available.

    Acked-by: Masami Hiramatsu
    Cc: Ananth N Mavinakayanahalli
    Cc: Jason Baron
    Cc: Masami Hiramatsu
    Cc: Srikar Dronamraju
    Cc: Steven Rostedt
    Cc: Andrew Morton
    Link: http://lkml.kernel.org/r/4F4C544D.1010909@linux.vnet.ibm.com
    Signed-off-by: Prashanth Nageshappa
    Signed-off-by: Arnaldo Carvalho de Melo

    Prashanth Nageshappa
     
  • If threads in a multi-threaded process have names shorter than the main
    thread the comm for the named threads is not properly terminated.

    E.g., for the process 'namedthreads' where each thread is named noploop%d
    where %d is the thread number:

    Before:
    perf script -f comm,tid,ip,sym,dso
    noploop:4ads 21616 400a49 noploop (/tmp/namedthreads)
    The 'ads' in the thread comm bleeds over from the process name.

    After:
    perf script -f comm,tid,ip,sym,dso
    noploop:4 21616 400a49 noploop (/tmp/namedthreads)

    Cc: Frederic Weisbecker
    Cc: Ingo Molnar
    Cc: Paul Mackerras
    Cc: Peter Zijlstra
    Cc: Thomas Gleixner
    Link: http://lkml.kernel.org/r/1330111898-68071-1-git-send-email-dsahern@gmail.com
    Signed-off-by: David Ahern
    Signed-off-by: Arnaldo Carvalho de Melo

    David Ahern
     
  • The perf probe command allows kprobe to be inserted at any offset from a
    function start, which results in adding kprobes to unintended location.

    Example: perf probe do_fork+10000 is allowed even though size of do_fork
    is ~904.

    This patch will ensure probe addition fails when the offset specified is
    greater than size of the function.

    Acked-by: Masami Hiramatsu
    Cc: Ananth N Mavinakayanahalli
    Cc: Srikar Dronamraju
    Cc: Steven Rostedt
    Cc: Andrew Morton
    Cc: Jason Baron
    Cc: Masami Hiramatsu
    Link: http://lkml.kernel.org/r/4F473F33.4060409@linux.vnet.ibm.com
    Signed-off-by: Prashanth Nageshappa
    Signed-off-by: Arnaldo Carvalho de Melo

    Prashanth Nageshappa
     
  • On old kernels that don't support sample_id_all feature,
    perf_evlist__id2evsel() returns NULL for non-sampling events.

    This breaks perf top when multiple events are given on command line. Fix
    it by using first evsel in the evlist. This will also prevent getting
    the same (potential) problem in such new tool/ old kernel combo.

    Suggested-by: Arnaldo Carvalho de Melo
    Cc: Ingo Molnar
    Cc: Paul Mackerras
    Cc: Peter Zijlstra
    Link: http://lkml.kernel.org/r/1329702447-25045-1-git-send-email-namhyung.kim@lge.com
    Signed-off-by: Namhyung Kim
    Signed-off-by: Arnaldo Carvalho de Melo

    Namhyung Kim
     
  • Arnd Bergmann says:
    "Another set of arm-soc bug fixes on top of v3.3-rc5. The few larger
    bits are all for devices that still need to get set up in board code.

    Only three platforms are in this set of fixes: omap2+, pxa and lpc32xx."

    * tag 'fixes-3.3-rc6' of git://git.kernel.org/pub/scm/linux/kernel/git/arm/arm-soc: (22 commits)
    ARM: LPC32xx: serial.c: Fixed loop limit
    ARM: LPC32xx: serial.c: HW bug workaround
    ARM: LPC32xx: irq.c: Clear latched event
    ARM: LPC32xx: Fix interrupt controller init
    ARM: LPC32xx: Fix irq on GPI_28
    ARM: OMAP2: fix mailbox init code
    ARM: OMAP2+: gpmc-smsc911x: add required smsc911x regulators
    ARM: OMAP1: Fix out-of-bounds array access for Innovator
    OMAP3 EVM: remove out-of-bounds array access of gpio_leds
    ARM: OMAP: Fix build error when mmc_omap is built as module
    ARM: OMAP: Fix kernel panic with HSMMC when twl4030_gpio is a module
    pxa/hx4700: add platform device and I2C info for AK4641 codec
    arch/arm/mach-pxa/: included linux/gpio.h twice
    arch/arm/mach-mmp/: some files include some headers twice
    ARM: pxa: fix error handling in pxa2xx_drv_pcmcia_probe
    ARM: pxa: fix including linux/gpio.h twice
    ARM: pxa: fix mixed declarations and code in sharpsl_pm
    ARM: pxa: fix wrong parsing gpio event on spitz
    ARM: OMAP2+: usb-host: fix compile warning
    ARM: OMAP4: Move the barrier memboclk_steal() as part of reserve callback
    ...

    Linus Torvalds
     
  • Build fixes for 3.3 from Jonas Bonn

    * tag 'for-3.3' of git://openrisc.net/jonas/linux:
    openrisc: Fix up audit_syscall_[entry|exit]() usage
    openrisc: include export.h for EXPORT_SYMBOL

    Linus Torvalds
     
  • The bo is removed from the list at the top of
    radeon_vm_bo_rmv(), but then the list is used
    in radeon_vm_bo_update_pte() to look up the vm.
    remove the bo_list entry at the end of the
    function instead.

    Signed-off-by: Alex Deucher
    Reviewed-by: Jerome Glisse
    Signed-off-by: Dave Airlie

    Sebastian Biemueller
     
  • Some codecs don't supply the mute amp-capabilities although the lowest
    volume gives the mute. It'd be handy if the parser provides the mute
    mixers in such a case.

    This patch adds an extension amp-cap bit (which is used only in the
    driver) to represent the min volume = mute state. Also modified the
    amp cache code to support the fake mute feature when this bit is set
    but the real mute bit is unset.

    In addition, conexant cx5051 parser uses this new feature to implement
    the missing mute controls.

    Bugzilla: https://bugzilla.kernel.org/show_bug.cgi?id=42825

    Cc:
    Signed-off-by: Takashi Iwai

    Takashi Iwai