28 May, 2010

40 commits

  • Signed-off-by: Christoph Hellwig
    Signed-off-by: Al Viro

    Christoph Hellwig
     
  • Add a mutex_unlock missing on the error path. At other exists from the
    function that return an error flag, the mutex is unlocked, so do the same
    here.

    The semantic match that finds this problem is as follows:
    (http://coccinelle.lip6.fr/)

    //
    @@
    expression E1;
    @@

    * mutex_lock(E1,...);

    * mutex_unlock(E1,...);
    //

    Signed-off-by: Julia Lawall
    Signed-off-by: Al Viro

    Julia Lawall
     
  • once anon_inode_getfd() is called, you can't expect *anything* about
    struct file that descriptor points to - another thread might be doing
    whatever it likes with descriptor table at that point.

    Cc: stable
    Signed-off-by: Al Viro

    Al Viro
     
  • __aio_put_req() plays sick games with file refcount. What
    it wants is fput() from atomic context; it's almost always
    done with f_count > 1, so they only have to deal with delayed
    work in rare cases when their reference happens to be the
    last one. Current code decrements f_count and if it hasn't
    hit 0, everything is fine. Otherwise it keeps a pointer
    to struct file (with zero f_count!) around and has delayed
    work do __fput() on it.

    Better way to do it: use atomic_long_add_unless( , -1, 1)
    instead of !atomic_long_dec_and_test(). IOW, decrement it
    only if it's not the last reference, leave refcount alone
    if it was. And use normal fput() in delayed work.

    I've made that atomic_long_add_unless call a new helper -
    fput_atomic(). Drops a reference to file if it's safe to
    do in atomic (i.e. if that's not the last one), tells if
    it had been able to do that. aio.c converted to it, __fput()
    use is gone. req->ki_file *always* contributes to refcount
    now. And __fput() became static.

    Signed-off-by: Al Viro

    Al Viro
     
  • Commit 1f36f774b22a0ceb7dd33eca626746c81a97b6a5 broke FS_REVAL_DOT semantics.

    In particular, before this patch, the command
    ls -l
    in an NFS mounted directory would always check if the directory on the server
    had changed and if so would flush and refill the pagecache for the dir.
    After this patch, the same "ls -l" will repeatedly return stale date until
    the cached attributes for the directory time out.

    The following patch fixes this by ensuring the d_revalidate is called by
    do_last when "." is being looked-up.
    link_path_walk has already called d_revalidate, but in that case LOOKUP_OPEN
    is not set so nfs_lookup_verify_inode chooses not to do any validation.

    The following patch restores the original behaviour.

    Cc: stable@kernel.org
    Signed-off-by: NeilBrown
    Signed-off-by: Al Viro

    Neil Brown
     
  • This reverts commit a7cf4145bb86aaf85d4d4d29a69b50b688e2e49d.

    Al Viro
     
  • * 'release' of git://git.kernel.org/pub/scm/linux/kernel/git/aegl/linux-2.6:
    [IA64] Fix build breakage

    Linus Torvalds
     
  • In commit 0ac0c0d0f837c499afd02a802f9cf52d3027fa3b
    cpusets: randomize node rotor used in cpuset_mem_spread_node()

    Jack Steiner fixed a problem with too many small tasks being
    assigned to node 0. Copy his code to ia64 to avoid build error.

    arch/ia64/kernel/smpboot.c:641: error: ‘cpu_to_node_map’ undeclared (first use in this function)

    In commit 3bccd996276b108c138e8176793a26ecef54d573
    numa: ia64: use generic percpu var numa_node_id() implementation

    Lee Schermerhorn added some set_numa_node() calls - but these
    only work on CONFIG_NUMA=y configurations. Surround the calls
    with #ifdef CONFIG_NUMA

    Signed-off-by: Tony Luck

    Tony Luck
     
  • …git/tip/linux-2.6-tip

    * 'perf-core-for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/tip/linux-2.6-tip: (61 commits)
    tracing: Add __used annotation to event variable
    perf, trace: Fix !x86 build bug
    perf report: Support multiple events on the TUI
    perf annotate: Fix up usage of the build id cache
    x86/mmiotrace: Remove redundant instruction prefix checks
    perf annotate: Add TUI interface
    perf tui: Remove annotate from popup menu after failure
    perf report: Don't start the TUI if -D is used
    perf: Fix getline undeclared
    perf: Optimize perf_tp_event_match()
    perf: Remove more code from the fastpath
    perf: Optimize the !vmalloc backed buffer
    perf: Optimize perf_output_copy()
    perf: Fix wakeup storm for RO mmap()s
    perf-record: Share per-cpu buffers
    perf-record: Remove -M
    perf: Ensure that IOC_OUTPUT isn't used to create multi-writer buffers
    perf, trace: Optimize tracepoints by using per-tracepoint-per-cpu hlist to track events
    perf, trace: Optimize tracepoints by removing IRQ-disable from perf/tracepoint interaction
    perf tui: Allow disabling the TUI on a per command basis in ~/.perfconfig
    ...

    Linus Torvalds
     
  • * 'for-linus' of git://git.o-hand.com/linux-rpurdie-backlight:
    gta02: Use pcf50633 backlight driver instead of platform backlight driver.
    backlight: pcf50633: Register a pcf50633-backlight device in pcf50633 core driver.
    backlight: Add pcf50633 backlight driver
    backlight: 88pm860x_bl: fix error handling in pm860x_backlight_probe
    backlight: max8925_bl: Fix error handling path
    backlight: l4f00242t03: fix error handling in l4f00242t03_probe
    backlight: add S6E63M0 AMOLED LCD Panel driver
    backlight: adp8860: add support for ADP8861 & ADP8863
    backlight: mbp_nvidia_bl - Fix DMI_SYS_VENDOR for MacBook1,1
    backlight: Add Cirrus EP93xx backlight driver
    backlight: l4f00242t03: Fix regulators handling code in remove function
    backlight: fix adp8860_bl build errors
    backlight: new driver for the ADP8860 backlight parts
    backlight: 88pm860x_bl - potential memory leak
    backlight: mbp_nvidia_bl - add support for older MacBookPro and MacBook 6,1.
    backlight: Kconfig cleanup
    backlight: backlight_device_register() return ERR_PTR()

    Linus Torvalds
     
  • * 'for-linus' of git://git.o-hand.com/linux-rpurdie-leds:
    leds: Add mx31moboard MC13783 led support
    leds: Add mc13783 LED support
    leds: leds-ss4200: fix led_classdev_unregister twice in error handling
    leds: leds-lp3944: properly handle lp3944_configure fail in lp3944_probe
    leds: led-class: set permissions on max_brightness file to 0444
    leds: leds-gpio: Change blink_set callback to be able to turn off blinking
    leds: Add LED driver for the Soekris net5501 board
    leds: 88pm860x - fix checking in probe function

    Linus Torvalds
     
  • * 'hwmon-for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/jdelvare/staging: (23 commits)
    hwmon: (lm75) Add support for the Texas Instruments TMP105
    hwmon: (ltc4245) Read only one GPIO pin
    hwmon: (dme1737) Add SCH5127 support
    hwmon: (tmp102) Don't always stop chip at exit
    hwmon: (tmp102) Fix suspend and resume functions
    hwmon: (tmp102) Various fixes
    hwmon: Driver for TI TMP102 temperature sensor
    hwmon: EMC1403 thermal sensor support
    hwmon: (applesmc) Add temperature sensor labels to sysfs interface
    hwmon: (applesmc) Add generic support for MacBook Pro 7
    hwmon: (applesmc) Add generic support for MacBook Pro 6
    hwmon: (applesmc) Add support for MacBook Pro 5,3 and 5,4
    hwmon: (tmp401) Reorganize code to get rid of static forward declarations
    hwmon: (tmp401) Use constants for sysfs file permissions
    hwmon: (adm1031) Allow setting update rate
    hwmon: Add description of the update_rate sysfs attribute
    hwmon: (lm90) Use programmed update rate
    hwmon: (f71882fg) Acquire I/O regions while we're working with them
    hwmon: (f71882fg) Code cleanup
    hwmon: (f71882fg) Use strict_stro(l|ul) instead of simple_strto$1
    ...

    Linus Torvalds
     
  • Add support for the Texas Instruments TMP105 temperature sensor
    device.

    Signed-off-by: Shubhrajyoti Datta
    Acked-by: Jonathan Cameron
    Signed-off-by: Jean Delvare

    Shubhrajyoti Datta
     
  • Read only one of the GPIO pins as an analog voltage. The ADC can be
    switched to a different GPIO pin at runtime, but this is not supported.

    Previously, this driver would report the analog voltage of the currently
    selected GPIO pin as all three GPIO voltages: in9_input, in10_input and
    in11_input.

    Signed-off-by: Ira W. Snyder
    Signed-off-by: Jean Delvare
    Cc: stable@kernel.org

    Ira W. Snyder
     
  • Add support for the hardware monitoring capabilities of the SCH5127
    chip to the dme1737 driver.

    Signed-off-by: Juerg Haefliger
    Signed-off-by: Jean Delvare
    Tested-by: Jeff Rickman

    Juerg Haefliger
     
  • Only stop the chip at driver exit if it was stopped when driver was
    loaded. Leave it running otherwise.

    Also restore the device configuration if probe failed, to not leave
    the system in a dangling state.

    Signed-off-by: Jean Delvare
    Cc: Steven King

    Jean Delvare
     
  • Suspend and resume functions shouldn't overwrite the configuration
    register. They should only alter the one bit they have to touch.

    Also don't assume that register reads and writes always succeed.
    Handle errors properly, shall they happen.

    Signed-off-by: Jean Delvare
    Cc: Steven King

    Jean Delvare
     
  • Fixes from my driver review:
    http://lists.lm-sensors.org/pipermail/lm-sensors/2010-March/028051.html

    Only the small changes are in there, more important changes will come
    later separately as time permits.

    * Drop the remnants of the now gone detect function
    * The TMP102 has no known compatible chip
    * Include the right header files
    * Clarify why byte swapping of register values is needed
    * Strip resolution info bit from temperature register value
    * Set cache lifetime to 1/3 second
    * Don't arbitrarily reject limit values; clamp as needed
    * Make limit writing unconditional
    * Don't check for transaction types the driver doesn't use
    * Properly check for error when setting configuration
    * Report error on failed probe
    * Make the driver load automatically where needed
    * Various other minor fixes

    Signed-off-by: Jean Delvare
    Cc: Steven King

    Jean Delvare
     
  • Driver for the TI TMP102.

    The TI TMP102 is similar to the LM75. It differs from the LM75 by
    having a 16-bit conf register and the temp registers have a minimum
    resolution of 12 bits; the extended conf register can select 13-bit
    resolution (which this driver does) and also change the update rate
    (which this driver currently doesn't use).

    [JD: Fix tmp102_exit tag, must be __exit, not __init.]

    Signed-off-by: Steven King
    Signed-off-by: Jean Delvare

    Steven King
     
  • Provides support for the EMC1403 thermal sensor. Only reporting of values
    is supported. The various Moorestown specific extras to do with thermal
    alerts and the like are not in this version of the driver.

    Considerably edited and tidied up by Alan Cox, plus fixes and detection
    bits from Jean Delvare.

    Signed-off-by: Kalhan Trisal
    Signed-off-by: Alan Cox
    Signed-off-by: Jean Delvare

    Kalhan Trisal
     
  • The Apple SMC uses a systematic labeling scheme for the hardware
    temperature sensors. This scheme is currently hidden from
    userland. Since the sensor set, and consequently the numbering,
    differs between models, an extensive database of configurations is
    required for an application such as fan control. This patch adds the
    SMC labels to the hwmon sysfs interface, allowing applications to use
    the sensors more intelligibly.

    [rydberg@euromail.se: fixed error handling]
    Signed-off-by: Alex Murray
    Signed-off-by: Henrik Rydberg
    Signed-off-by: Jean Delvare

    Alex Murray
     
  • This patch adds generic support for the MacBook Pro 7 family
    based on the 7,1 model.

    Signed-off-by: Henrik Rydberg
    Signed-off-by: Jean Delvare

    Henrik Rydberg
     
  • This patch adds generic support for the MacBook Pro 6 family
    based on the 6,2 model.

    [rydberg@euromail.se: patch cleanup]
    Signed-off-by: Bernhard Froemel
    Signed-off-by: Henrik Rydberg
    Signed-off-by: Jean Delvare

    Bernhard Froemel
     
  • The MacBookPro 5,3 model has two fans, whereas the 5,4 model has
    only one. This patch adds explicit support for the 5,3 and 5,4 models.

    Signed-off-by: Henrik Rydberg
    Signed-off-by: Jean Delvare

    Henrik Rydberg
     
  • Signed-off-by: Andre Prendel
    Acked-by: Hans de Goede
    Signed-off-by: Jean Delvare

    Andre Prendel
     
  • Replace octal representation of file permissions by the corresponding
    constants.

    Signed-off-by: Andre Prendel
    Acked-by: Hans de Goede
    Signed-off-by: Jean Delvare

    Andre Prendel
     
  • Based on earlier work by Ira W. Snyder.

    The adm1031 chip is capable of using a runtime configurable sampling rate,
    using the fan filter register. Add support for reading and setting the
    update rate via sysfs.

    Signed-off-by: Jean Delvare
    Acked-by: Ira W. Snyder

    Jean Delvare
     
  • The update_rate attribute can be used by drivers to let userspace choose
    the update rate of the chip, if it is configurable.

    Signed-off-by: Ira W. Snyder
    Signed-off-by: Jean Delvare

    Ira W. Snyder
     
  • The lm90 driver programs the sensor chip to update its readings at 2 Hz
    (500 ms between readings). However, the driver only does reads from the
    chip at intervals of 2 * HZ (2000 ms between readings). Change the driver
    update rate to the programmed update rate.

    Signed-off-by: Ira W. Snyder
    Signed-off-by: Jean Delvare

    Ira W. Snyder
     
  • Acquire the I/O region for the Super I/O chip while we're working on it.

    Signed-off-by: Giel van Schijndel
    Cc: Hans de Goede
    Signed-off-by: Jean Delvare

    Giel van Schijndel
     
  • Some code cleanup: properly use previously defined functions, rather
    than duplicating their code.

    Signed-off-by: Giel van Schijndel
    Cc: Hans de Goede
    Signed-off-by: Jean Delvare

    Giel van Schijndel
     
  • Use the strict_strol and strict_stroul functions instead of simple_strol
    and simple_stroul respectively in sysfs functions.

    Signed-off-by: Giel van Schijndel
    Acked-by: Hans de Goede
    Signed-off-by: Jean Delvare

    Giel van Schijndel
     
  • Fixed several coding style issues.

    Signed-off-by: Giel van Schijndel
    Acked-by: Hans de Goede
    Signed-off-by: Jean Delvare

    Giel van Schijndel
     
  • The LM64 appears to be an LM63 with added GPIO lines. Add support for the
    hwmon functionality - GPIO can be added at some later stage if someone
    has a need for them.

    Signed-off-by: Matthew Garrett
    Signed-off-by: Jean Delvare

    Matthew Garrett
     
  • When the user passes the kernel parameter acpi_enforce_resources=lax,
    the ACPI resources are no longer protected, so a native driver can
    make use of them. In that case, we do not want the asus_atk0110 to be
    loaded. Unfortunately, this driver loads automatically due to its
    MODULE_DEVICE_TABLE, so the user ends up with two drivers loaded for
    the same device - this is bad.

    So I suggest that we prevent the asus_atk0110 driver from loading if
    acpi_enforce_resources=lax.

    Signed-off-by: Jean Delvare
    Acked-by: Luca Tettamanti
    Cc: Len Brown

    Jean Delvare
     
  • * 'for-linus' of git://git390.marist.edu/pub/scm/linux-2.6:
    [S390] fill out file list in s390 MAINTAINERS entry
    [S390] Add support for LZO-compressed kernels.
    [S390] cmm: get rid of CMM_PROC config option
    [S390] cmm: remove superfluous EXPORT_SYMBOLs plus cleanups
    [S390] dasd: unit check handling during internal cio I/O
    [S390] cio: unit check handling during internal I/O
    [S390] ccwgroup: add locking around drvdata access
    [S390] cio: remove stsch
    [S390] spp: remove KVM_AWARE_CMF config option
    [S390] kprobes: forbid probing of stnsm/stosm/epsw
    [S390] spp: fix compilation for CONFIG_32BIT
    [S390] atomic: implement atomic64_dec_if_positive
    [S390] cmm: fix crash on module unload

    Linus Torvalds
     
  • * 'sfi-release' of git://git.kernel.org/pub/scm/linux/kernel/git/lenb/linux-sfi-2.6:
    SFI: add sysfs interface for SFI tables.
    SFI: add support for v0.81 spec

    Linus Torvalds
     
  • * git://git.kernel.org/pub/scm/linux/kernel/git/mason/btrfs-unstable: (27 commits)
    Btrfs: add more error checking to btrfs_dirty_inode
    Btrfs: allow unaligned DIO
    Btrfs: drop verbose enospc printk
    Btrfs: Fix block generation verification race
    Btrfs: fix preallocation and nodatacow checks in O_DIRECT
    Btrfs: avoid ENOSPC errors in btrfs_dirty_inode
    Btrfs: move O_DIRECT space reservation to btrfs_direct_IO
    Btrfs: rework O_DIRECT enospc handling
    Btrfs: use async helpers for DIO write checksumming
    Btrfs: don't walk around with task->state != TASK_RUNNING
    Btrfs: do aio_write instead of write
    Btrfs: add basic DIO read/write support
    direct-io: do not merge logically non-contiguous requests
    direct-io: add a hook for the fs to provide its own submit_bio function
    fs: allow short direct-io reads to be completed via buffered IO
    Btrfs: Metadata ENOSPC handling for balance
    Btrfs: Pre-allocate space for data relocation
    Btrfs: Metadata ENOSPC handling for tree log
    Btrfs: Metadata reservation for orphan inodes
    Btrfs: Introduce global metadata reservation
    ...

    Linus Torvalds
     
  • Commit e9fb7631ebcd ("cpu-hotplug: introduce cpu_notify(),
    __cpu_notify(), cpu_notify_nofail()") also introduced this annoying
    warning:

    kernel/cpu.c:157: warning: 'cpu_notify_nofail' defined but not used

    when CONFIG_HOTPLUG_CPU wasn't set.

    So move that helper inside the #ifdef CONFIG_HOTPLUG_CPU region, and
    simplify it while at it.

    Signed-off-by: Linus Torvalds

    Linus Torvalds
     
  • * git://git.kernel.org/pub/scm/linux/kernel/git/jejb/scsi-misc-2.6:
    [SCSI] fix race in scsi_target_reap
    [SCSI] aacraid: Eliminate use after free
    [SCSI] arcmsr: Support HW reset for EH and polling scheme for scsi device
    [SCSI] bfa: fix system crash when reading sysfs fc_host statistics
    [SCSI] iscsi_tcp: remove sk_sleep check
    [SCSI] ipr: improve interrupt service routine performance
    [SCSI] ipr: set the data list length in the request control block
    [SCSI] ipr: fix a register read to use the correct address for 64 bit adapters
    [SCSI] ipr: include the resource path in the IOA status area structure
    [SCSI] ipr: implement fixes for 64 bit adapter support
    [SCSI] be2iscsi: correct return value in mgmt_invalidate_icds()

    Linus Torvalds