commit 683fdc5fe5fec5c4f27eb58a8781f212f50c8e01
Merge: f7f84f3... 0f99fed...
Author: Linus Torvalds <torvalds@linux-foundation.org>
Date:   Sun Feb 22 13:26:30 2009 -0800

    Merge branch 'core/urgent' of git://git.kernel.org/pub/scm/linux/kernel/git/tip/linux-2.6-tip
    
    * 'core/urgent' of git://git.kernel.org/pub/scm/linux/kernel/git/tip/linux-2.6-tip:
      PM: Split up sysdev_[suspend|resume] from device_power_[down|up], fix

commit 0f99fed4606dcbcbe813df831a39fd8f9653ef54
Author: Ingo Molnar <mingo@elte.hu>
Date:   Sun Feb 22 22:07:03 2009 +0100

    PM: Split up sysdev_[suspend|resume] from device_power_[down|up], fix
    
    Impact: module build fix
    
    Fix:
    
     ERROR: "sysdev_resume" [arch/x86/kernel/apm.ko] undefined!
     ERROR: "sysdev_suspend" [arch/x86/kernel/apm.ko] undefined!
    
    As these APIs are now used by the APM driver, which can be built
    as a module.
    
    Also fix a few extra (and inconsistent) newlines in comment blocks
    preceding these functions.
    
    Signed-off-by: Ingo Molnar <mingo@elte.hu>

commit f7f84f38cd916552c175f1f3d09cb6e85c1b29fc
Author: Randy Dunlap <randy.dunlap@oracle.com>
Date:   Sun Feb 22 12:15:45 2009 -0800

    docbook: split kernel-api for device-drivers
    
    The kernel-api docbook was much larger than any of the others,
    so processing it took longer and needed some docbook extras in
    some cases, so split it into kernel-api (infrastructure etc.)
    and device drivers/device subsystems.  This allows these docbooks
    to be generated in parallel.  (This reduced the docbook processing
    time on my 4-proc system with make -j4 from about 5min:16sec to
    about 2min:01sec.)
    
    The chapters that were moved from kernel-api to device-drivers are:
    
    Driver Basics
    Device drivers infrastructure
    Parallel Port Devices
    Message-based devices
    Sound Devices
    16x50 UART Driver
    Frame Buffer Library
    Input Subsystem
    Serial Peripheral Interface (SPI)
    I2C and SMBus Subsystem
    
    Signed-off-by: Randy Dunlap <randy.dunlap@oracle.com>
    Acked-by: Sam Ravnborg <sam@ravnborg.org>
    Signed-off-by: Linus Torvalds <torvalds@linux-foundation.org>

commit 770824bdc421ff58a64db608294323571c949f4c
Author: Rafael J. Wysocki <rjw@sisk.pl>
Date:   Sun Feb 22 18:38:50 2009 +0100

    PM: Split up sysdev_[suspend|resume] from device_power_[down|up]
    
    Move the sysdev_suspend/resume from the callee to the callers, with
    no real change in semantics, so that we can rework the disabling of
    interrupts during suspend/hibernation.
    
    This is based on an earlier patch from Linus.
    
    Signed-off-by: Rafael J. Wysocki <rjw@sisk.pl>
    Signed-off-by: Linus Torvalds <torvalds@linux-foundation.org>

commit 936577c61d0c10b8929608a92c98d839b22053bc
Author: Linus Torvalds <torvalds@linux-foundation.org>
Date:   Sun Feb 22 10:27:49 2009 -0800

    x86: Add IRQF_TIMER to legacy x86 timer interrupt descriptors
    
    Right now nobody cares, but the suspend/resume code will eventually want
    to suspend device interrupts without suspending the timer, and will
    depend on this flag to know.
    
    The modern x86 timer infrastructure uses the local APIC timers and never
    shows up as a device interrupt at all, so it isn't affected and doesn't
    need any of this.
    
    Cc: Rafael J. Wysocki <rjw@sisk.pl>
    Cc: Ingo Molnar <mingo@elte.hu>
    Signed-off-by: Linus Torvalds <torvalds@linux-foundation.org>

commit 7c24af498f60e41b9363d3102a31f8cfa6589ca3
Merge: f8a1af6... 5acfac5...
Author: Linus Torvalds <torvalds@linux-foundation.org>
Date:   Sun Feb 22 09:28:46 2009 -0800

    Merge branch 'release' of git://git.kernel.org/pub/scm/linux/kernel/git/lenb/linux-acpi-2.6
    
    * 'release' of git://git.kernel.org/pub/scm/linux/kernel/git/lenb/linux-acpi-2.6:
      ACPI: remove CONFIG_ACPI_SYSTEM
      fujitsu-laptop: Use RFKILL support bitmask from firmware
      x86_64: Fix S3 fail path
      x86_64: acpi/wakeup_64 cleanup
      battery: don't assume we are fully charged when not charging or discharging
      ACPI: EC: Add delay for slow MSI controller

commit f8a1af6bbc63218cabce742a7a291ac7c08bbd00
Author: Mike Murphy <mamurph@cs.clemson.edu>
Date:   Sun Feb 22 01:19:23 2009 -0500

    PATCH [2/2] Documentation/filesystems/sysfs.txt: fix descriptions of device attributes
    
    Fix descriptions of device attributes to be consistent with the actual
    implementations in include/linux/device.h
    
    Signed-off-by: Mike Murphy <mamurph[at]cs.clemson.edu>
    Signed-off-by: Linus Torvalds <torvalds@linux-foundation.org>

commit 245127dbe9ea1e5a93aae0d3ede09992f1e99f53
Author: Mike Murphy <mamurph@cs.clemson.edu>
Date:   Sun Feb 22 01:17:14 2009 -0500

    PATCH [1/2] Documentation/driver-model/device.txt: fix struct device_attribute
    
    Fix the presented definition of struct device_attribute to match the
    actual definition in include/linux/device.h
    
    Signed-off-by: Mike Murphy <mamurph[at]cs.clemson.edu>
    Signed-off-by: Linus Torvalds <torvalds@linux-foundation.org>

commit 3d92e8f3ae9ba21cac30370eb254ed9dc20df043
Author: Geert Uytterhoeven <geert@linux-m68k.org>
Date:   Sun Feb 22 09:38:47 2009 +0100

    m68k: atari - Rename "mfp" to "st_mfp"
    
    http://kisskb.ellerman.id.au/kisskb/buildresult/72115/:
    | net/mac80211/ieee80211_i.h:327: error: syntax error before 'volatile'
    | net/mac80211/ieee80211_i.h:350: error: syntax error before '}' token
    | net/mac80211/ieee80211_i.h:455: error: field 'sta' has incomplete type
    | distcc[19430] ERROR: compile net/mac80211/main.c on sprygo/32 failed
    
    This is caused by
    
    | # define mfp ((*(volatile struct MFP*)MFP_BAS))
    
    in arch/m68k/include/asm/atarihw.h, which conflicts with the new "mfp" enum in
    net/mac80211/ieee80211_i.h.
    
    Rename "mfp" to "st_mfp", as it's a way too generic name for a global #define.
    
    Signed-off-by: Geert Uytterhoeven <geert@linux-m68k.org>
    Signed-off-by: Linus Torvalds <torvalds@linux-foundation.org>

commit 5acfac5a6473b459ed38c0edf515be030f3b5874
Merge: 5423a0c... 56f382a... ba193d6... 6defa2f...
Author: Len Brown <len.brown@intel.com>
Date:   Sat Feb 21 22:01:43 2009 -0500

    Merge branches 'release', 'bugzilla-12011', 'bugzilla-12632', 'misc' and 'suspend' into release

commit ba193d64abfe644e8752affa310a368eda01f46e
Author: Bjorn Helgaas <bjorn.helgaas@hp.com>
Date:   Thu Feb 19 12:56:16 2009 -0700

    ACPI: remove CONFIG_ACPI_SYSTEM
    
    Remove CONFIG_ACPI_SYSTEM.  It was always set the same as CONFIG_ACPI,
    and it had no menu label, so there was no way to set it to anything
    other than "y".
    
    Some things under CONFIG_ACPI_SYSTEM (acpi_irq_handled, acpi_os_gpe_count(),
    event_is_open, register_acpi_notifier(), etc.) are used unconditionally
    by the CA, the OSPM, and drivers, so we depend on them always being
    present.
    
    Signed-off-by: Bjorn Helgaas <bjorn.helgaas@hp.com>
    Signed-off-by: Len Brown <len.brown@intel.com>

commit 4898c2b2f04051e19f4230683c0f0b15f71af887
Author: Tony Vroon <tony@linx.net>
Date:   Mon Feb 2 11:11:10 2009 +0000

    fujitsu-laptop: Use RFKILL support bitmask from firmware
    
    Up until now, we polled the rfkill status for every incoming FUJ02E3 ACPI event.
    It turns out that the firmware has a bitmask which indicates what rfkill-related
    state it can report.
    The rfkill_supported bitmask is now used to avoid polling for rfkill at all in
    the notification handler if there is no support. Also, it is used in the platform
    device callbacks. As before we register all callbacks and report "unknown" if the
    firmware does not give us status updates for that particular bit.
    
    This was fed through checkpatch.pl and tested on the S6420, S7020 and P8010
    platforms.
    
    Signed-off-by: Tony Vroon <tony@linx.net>
    Tested-by: Stephen Gildea <stepheng+linux@gildea.com>
    Acked-by: Jonathan Woithe <jwoithe@physics.adelaide.edu.au>
    Signed-off-by: Len Brown <len.brown@intel.com>

commit 6defa2fe2019f3729933516fba5cfd75eecd07de
Author: Jiri Slaby <jirislaby@gmail.com>
Date:   Sun Feb 15 22:46:45 2009 +0100

    x86_64: Fix S3 fail path
    
    As acpi_enter_sleep_state can fail, take this into account in
    do_suspend_lowlevel and don't return to the do_suspend_lowlevel's
    caller. This would break (currently) fpu status and preempt count.
    
    Technically, this means use `call' instead of `jmp' and `jmp' to
    the `resume_point' after the `call' (i.e. if
    acpi_enter_sleep_state returns=fails). `resume_point' will handle
    the restore of fpu and preempt count gracefully.
    
    Signed-off-by: Jiri Slaby <jirislaby@gmail.com>
    Signed-off-by: Rafael J. Wysocki <rjw@sisk.pl>
    Signed-off-by: Len Brown <len.brown@intel.com>

commit e6bd6760c92dc8475c79c4c4a8a16ac313c0b93d
Author: Jiri Slaby <jirislaby@gmail.com>
Date:   Sun Feb 15 22:45:49 2009 +0100

    x86_64: acpi/wakeup_64 cleanup
    
    - remove %ds re-set, it's already set in wakeup_long64
    - remove double labels and alignment (ENTRY already adds both)
    - use meaningful resume point labelname
    - skip alignment while jumping from wakeup_long64 to the resume point
    - remove .size, .type and unused labels
    [v2]
    - added ENDPROCs
    
    Signed-off-by: Jiri Slaby <jirislaby@gmail.com>
    Acked-by: Cyrill Gorcunov <gorcunov@openvz.org>
    Acked-by: Pavel Machek <pavel@suse.cz>
    Signed-off-by: Rafael J. Wysocki <rjw@sisk.pl>
    Signed-off-by: Len Brown <len.brown@intel.com>

commit adfafefd104d840ee4461965f22624d77532675b
Merge: 460c133... 403f307...
Author: Linus Torvalds <torvalds@linux-foundation.org>
Date:   Sat Feb 21 14:17:26 2009 -0800

    Merge branch 'hibernate'
    
    * hibernate:
      PM: Fix suspend_console and resume_console to use only one semaphore
      PM: Wait for console in resume
      PM: Fix pm_notifiers during user mode hibernation
      swsusp: clean up shrink_all_zones()
      swsusp: dont fiddle with swappiness
      PM: fix build for CONFIG_PM unset
      PM/hibernate: fix "swap breaks after hibernation failures"
      PM/resume: wait for device probing to finish
      Consolidate driver_probe_done() loops into one place

commit 403f307576396f3362fbb65af190885b6036c72c
Author: Arve Hjønnevåg <arve@android.com>
Date:   Sat Feb 14 02:07:24 2009 +0100

    PM: Fix suspend_console and resume_console to use only one semaphore
    
    This fixes a race where a thread acquires the console while the
    console is suspended, and the console is resumed before this
    thread releases it. In this case, the secondary console
    semaphore would be left locked, and the primary semaphore would
    be released twice. This in turn would cause the console switch
    on suspend or resume to hang forever.
    
    Note that suspend_console does not actually lock the console
    for clients that use acquire_console_sem, it only locks it for
    clients that use try_acquire_console_sem. If we change
    suspend_console to fully lock the console, then the kernel
    may deadlock on suspend. One client of try_acquire_console_sem
    is acquire_console_semaphore_for_printk, which uses it to
    prevent printk from using the console while it is suspended.
    
    Signed-off-by: Arve Hjønnevåg <arve@android.com>
    Signed-off-by: Rafael J. Wysocki <rjw@sisk.pl>
    Cc: Len Brown <lenb@kernel.org>
    Cc: Greg KH <gregkh@suse.de>
    Signed-off-by: Linus Torvalds <torvalds@linux-foundation.org>

commit b090f9fa53d51c8a33370071de9e391919ee1fa7
Author: Arve Hjønnevåg <arve@android.com>
Date:   Sat Feb 14 02:06:17 2009 +0100

    PM: Wait for console in resume
    
    Avoids later waking up to a blinking cursor if the device woke up and
    returned to sleep before the console switch happened.
    
    Signed-off-by: Brian Swetland <swetland@google.com>
    Signed-off-by: Arve Hjønnevåg <arve@android.com>
    Signed-off-by: Rafael J. Wysocki <rjw@sisk.pl>
    Cc: Len Brown <lenb@kernel.org>
    Cc: Greg KH <gregkh@suse.de>
    Signed-off-by: Linus Torvalds <torvalds@linux-foundation.org>

commit ebae2604f2c3693717d9dc687c84578f0526480c
Author: Andrey Borzenkov <arvidjaar@mail.ru>
Date:   Sat Feb 14 02:05:14 2009 +0100

    PM: Fix pm_notifiers during user mode hibernation
    
    Snapshot device is opened with O_RDONLY during suspend and O_WRONLY durig
    resume.  Make sure we also call notifiers with correct parameter telling
    them what we are really doing.
    
    Signed-off-by: Andrey Borzenkov <arvidjaar@mail.ru>
    Signed-off-by: Rafael J. Wysocki <rjw@sisk.pl>
    Cc: Len Brown <lenb@kernel.org>
    Cc: Greg KH <gregkh@suse.de>
    Acked-by: Pavel Machek <pavel@ucw.cz>
    Signed-off-by: Linus Torvalds <torvalds@linux-foundation.org>

commit 0cb57258fe01e9b21076b6a15b6aec7a24168228
Author: Johannes Weiner <hannes@cmpxchg.org>
Date:   Sat Feb 14 02:04:10 2009 +0100

    swsusp: clean up shrink_all_zones()
    
    Move local variables to innermost possible scopes and use local
    variables to cache calculations/reads done more than once.
    
    No change in functionality (intended).
    
    Signed-off-by: Johannes Weiner <hannes@cmpxchg.org>
    Reviewed-by: KOSAKI Motohiro <kosaki.motohiro@jp.fujitsu.com>
    Signed-off-by: Rafael J. Wysocki <rjw@sisk.pl>
    Cc: Len Brown <lenb@kernel.org>
    Cc: Greg KH <gregkh@suse.de>
    Acked-by: Pavel Machek <pavel@ucw.cz>
    Signed-off-by: Linus Torvalds <torvalds@linux-foundation.org>

commit 3049103ddfc9aac111916bd2f39ac6976c431517
Author: Johannes Weiner <hannes@cmpxchg.org>
Date:   Sat Feb 14 02:03:08 2009 +0100

    swsusp: dont fiddle with swappiness
    
    sc.swappiness is not used in the swsusp memory shrinking path, do not
    set it.
    
    Signed-off-by: Johannes Weiner <hannes@cmpxchg.org>
    Reviewed-by: KOSAKI Motohiro <kosaki.motohiro@jp.fujitsu.com>
    Signed-off-by: Rafael J. Wysocki <rjw@sisk.pl>
    Cc: Len Brown <lenb@kernel.org>
    Cc: Greg KH <gregkh@suse.de>
    Signed-off-by: Linus Torvalds <torvalds@linux-foundation.org>

commit 09664fda48c5dd63277f1f42888ca9d5dca6037a
Author: Rafael J. Wysocki <rjw@sisk.pl>
Date:   Sat Feb 14 02:02:16 2009 +0100

    PM: fix build for CONFIG_PM unset
    
    Compilation of kprobes.c with CONFIG_PM unset is broken due to some broken
    config dependncies.  Fix that.
    
    Signed-off-by: Rafael J. Wysocki <rjw@sisk.pl>
    Cc: Len Brown <lenb@kernel.org>
    Cc: Greg KH <gregkh@suse.de>
    Reported-by: Ingo Molnar <mingo@elte.hu>
    Tested-by: Masami Hiramatsu <mhiramat@redhat.com>
    Signed-off-by: Linus Torvalds <torvalds@linux-foundation.org>

commit a1bb7d61233ba5fb5cd865f907a9ddcc8f8c02bd
Author: Alan Jenkins <alan-jenkins@tuffmail.co.uk>
Date:   Sat Feb 14 02:01:14 2009 +0100

    PM/hibernate: fix "swap breaks after hibernation failures"
    
    http://bugzilla.kernel.org/show_bug.cgi?id=12239
    
    The image writing code dropped a reference to the current swap device.
    This doesn't show up if the hibernation succeeds - because it doesn't
    affect the image which gets resumed.  But it means multiple _failed_
    hibernations end up freeing the swap device while it is still use!
    
    swsusp_write() finds the block device for the swap file using swap_type_of().
    It then uses blkdev_get() / blkdev_put() to open and close the block device.
    
    Unfortunately, blkdev_get() assumes ownership of the inode of the block_device
    passed to it.  So blkdev_put() calls iput() on the inode.  This is by design
    and other callers expect this behaviour.  The fix is for swap_type_of() to take
    a reference on the inode using bdget().
    
    Signed-off-by: Alan Jenkins <alan-jenkins@tuffmail.co.uk>
    Signed-off-by: Rafael J. Wysocki <rjw@sisk.pl>
    Cc: Len Brown <lenb@kernel.org>
    Cc: Greg KH <gregkh@suse.de>
    Signed-off-by: Linus Torvalds <torvalds@linux-foundation.org>

commit eed3ee08292d821282169708e5e8e89a0d0a0c63
Author: Arjan van de Ven <arjan@linux.intel.com>
Date:   Sat Feb 14 02:00:19 2009 +0100

    PM/resume: wait for device probing to finish
    
    the resume code does not currently wait for device probing to finish.
    Even without async function calls this is dicey and not correct,
    but with async function calls during the boot sequence this is going
    to get hit more...
    
    This patch adds the synchronization using the newly introduced helper.
    
    Signed-off-by: Arjan van de Ven <arjan@linux.intel.com>
    Signed-off-by: Rafael J. Wysocki <rjw@sisk.pl>
    Cc: Len Brown <lenb@kernel.org>
    Acked-by: Greg KH <gregkh@suse.de>
    Signed-off-by: Linus Torvalds <torvalds@linux-foundation.org>

commit 216773a787c3c46ef26bf1742c1fdba37d26be45
Author: Arjan van de Ven <arjan@linux.intel.com>
Date:   Sat Feb 14 01:59:06 2009 +0100

    Consolidate driver_probe_done() loops into one place
    
    there's a few places that currently loop over driver_probe_done(), and
    I'm about to add another one. This patch abstracts it into a helper
    to reduce duplication.
    
    Signed-off-by: Arjan van de Ven <arjan@linux.intel.com>
    Signed-off-by: Rafael J. Wysocki <rjw@sisk.pl>
    Cc: Len Brown <lenb@kernel.org>
    Acked-by: Greg KH <gregkh@suse.de>
    Signed-off-by: Linus Torvalds <torvalds@linux-foundation.org>

commit 56f382a08722186623400180adbb9d1be1721cee
Author: Richard Hughes <hughsient@gmail.com>
Date:   Sun Jan 25 15:05:50 2009 +0000

    battery: don't assume we are fully charged when not charging or discharging
    
    On hardware like the T61 it can take a couple of seconds for the battery
    to start charging after the power is connected, and we incorrectly tell
    userspace that we are fully charged, and then go back to charging.
    
    Only mark a battery as fully charged when the preset charge matches either
    the last full charge, or the design charge.
    
    http://bugzilla.kernel.org/show_bug.cgi?id=12632
    
    Signed-off-by: Richard Hughes <hughsient@gmail.com>
    Acked-by: Alexey Starikovskiy <astarikovskiy@suse.de>
    Acked-by: Henrique de Moraes Holschuh <hmh@hmh.eng.br>
    Signed-off-by: Len Brown <len.brown@intel.com>

commit 5423a0cb3f74c16e90683f8ee1cec6c240a9556e
Author: Alexey Starikovskiy <astarikovskiy@suse.de>
Date:   Sat Feb 21 12:18:13 2009 -0500

    ACPI: EC: Add delay for slow MSI controller
    
    http://bugzilla.kernel.org/show_bug.cgi?id=12011
    
    Signed-off-by: Alexey Starikovskiy <astarikovskiy@suse.de>
    Signed-off-by: Len Brown <len.brown@intel.com>

commit 460c1338fc05add0e8050d4945a46f207b13a5fc
Merge: 710320d... cc3ca22...
Author: Linus Torvalds <torvalds@linux-foundation.org>
Date:   Sat Feb 21 09:15:39 2009 -0800

    Merge branch 'x86-fixes-for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/tip/linux-2.6-tip
    
    * 'x86-fixes-for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/tip/linux-2.6-tip:
      x86, mce: remove incorrect __cpuinit for mce_cpu_features()
      MAINTAINERS: paravirt-ops maintainers update

commit 710320d57999016729da7c9cfee017b276f553bc
Merge: 2ec77fc... eca6acf...
Author: Linus Torvalds <torvalds@linux-foundation.org>
Date:   Sat Feb 21 09:11:28 2009 -0800

    Merge git://git.kernel.org/pub/scm/linux/kernel/git/sfrench/cifs-2.6
    
    * git://git.kernel.org/pub/scm/linux/kernel/git/sfrench/cifs-2.6:
      [CIFS] Fix multiuser mounts so server does not invalidate earlier security contexts
      [CIFS] improve posix semantics of file create
      [CIFS] Fix oops in cifs_strfromUCS_le mounting to servers which do not specify their OS
      cifs: posix fill in inode needed by posix open
      cifs: properly handle case where CIFSGetSrvInodeNumber fails
      cifs: refactor new_inode() calls and inode initialization
      [CIFS] Prevent OOPs when mounting with remote prefixpath.
      [CIFS] ipv6_addr_equal for address comparison

commit cc3ca22063784076bd240fda87217387a8f2ae92
Author: H. Peter Anvin <hpa@zytor.com>
Date:   Fri Feb 20 23:35:51 2009 -0800

    x86, mce: remove incorrect __cpuinit for mce_cpu_features()
    
    Impact: Bug fix on UP
    
    Checkin 6ec68bff3c81e776a455f6aca95c8c5f1d630198:
        x86, mce: reinitialize per cpu features on resume
    
    introduced a call to mce_cpu_features() in the resume path, in order
    for the MCE machinery to get properly reinitialized after a resume.
    However, this function (and its successors) was flagged __cpuinit,
    which becomes __init on UP configurations (on SMP suspend/resume
    requires CPU hotplug and so this would not be seen.)
    
    Remove the offending __cpuinit annotations for mce_cpu_features() and
    its successor functions.
    
    Cc: Andi Kleen <ak@linux.intel.com>
    Cc: Linus Torvalds <torvalds@linux-foundation.org>
    Signed-off-by: H. Peter Anvin <hpa@zytor.com>

commit eca6acf91552a9b2e997cc76339115c95eac0217
Author: Steve French <sfrench@us.ibm.com>
Date:   Fri Feb 20 05:43:09 2009 +0000

    [CIFS] Fix multiuser mounts so server does not invalidate earlier security contexts
    
    When two different users mount the same Windows 2003 Server share using CIFS,
    the first session mounted can be invalidated.  Some servers invalidate the first
    smb session when a second similar user (e.g. two users who get mapped by server to "guest")
    authenticates an smb session from the same client.
    
    By making sure that we set the 2nd and subsequent vc numbers to nonzero values,
    this ensures that we will not have this problem.
    
    Fixes Samba bug 6004, problem description follows:
    How to reproduce:
    
    - configure an "open share" (full permissions to Guest user) on Windows 2003
    Server (I couldn't reproduce the problem with Samba server or Windows older
    than 2003)
    - mount the share twice with different users who will be authenticated as guest.
    
     noacl,noperm,user=john,dir_mode=0700,domain=DOMAIN,rw
     noacl,noperm,user=jeff,dir_mode=0700,domain=DOMAIN,rw
    
    Result:
    
    - just the mount point mounted last is accessible:
    
    Signed-off-by: Steve French <sfrench@us.ibm.com>

commit c3b2a0c640bff7df85d79fb4f89674949a267ec2
Author: Steve French <sfrench@us.ibm.com>
Date:   Fri Feb 20 04:32:45 2009 +0000

    [CIFS] improve posix semantics of file create
    
    Samba server added support for a new posix open/create/mkdir operation
    a year or so ago, and we added support to cifs for mkdir to use it,
    but had not added the corresponding code to file create.
    
    The following patch helps improve the performance of the cifs create
    path (to Samba and servers which support the cifs posix protocol
    extensions).  Using Connectathon basic test1, with 2000 files, the
    performance improved about 15%, and also helped reduce network traffic
    (17% fewer SMBs sent over the wire) due to saving a network round trip
    for the SetPathInfo on every file create.
    
    It should also help the semantics (and probably the performance) of
    write (e.g. when posix byte range locks are on the file) on file
    handles opened with posix create, and adds support for a few flags
    which would have to be ignored otherwise.
    
    Signed-off-by: Steve French <sfrench@us.ibm.com>

commit 69765529d701c838df19ea1f5ad2f33a528261ae
Author: Steve French <sfrench@us.ibm.com>
Date:   Tue Feb 17 01:29:40 2009 +0000

    [CIFS] Fix oops in cifs_strfromUCS_le mounting to servers which do not specify their OS
    
    Fixes kernel bug #10451 http://bugzilla.kernel.org/show_bug.cgi?id=10451
    
    Certain NAS appliances do not set the operating system or network operating system
    fields in the session setup response on the wire.  cifs was oopsing on the unexpected
    zero length response fields (when trying to null terminate a zero length field).
    
    This fixes the oops.
    
    Acked-by: Jeff Layton <jlayton@redhat.com>
    CC: stable <stable@kernel.org>
    Signed-off-by: Steve French <sfrench@us.ibm.com>

commit 44f68fadd865bb288ebdcea2b602f0b1cab27a0c
Author: Jeff Layton <jlayton@redhat.com>
Date:   Wed Feb 11 08:08:28 2009 -0500

    cifs: posix fill in inode needed by posix open
    
    function needed to prepare for posix open
    
    Signed-off-by: Jeff Layton <jlayton@redhat.com>
    Signed-off-by: Steve French <sfrench@us.ibm.com>

commit 950ec52880fab89b957c7dc45e8b8476dd63741f
Author: Jeff Layton <jlayton@redhat.com>
Date:   Wed Feb 11 08:08:26 2009 -0500

    cifs: properly handle case where CIFSGetSrvInodeNumber fails
    
    ...if it does then we pass a pointer to an unintialized variable for
    the inode number to cifs_new_inode. Have it pass a NULL pointer instead.
    
    Also tweak the function prototypes to reduce the amount of casting.
    
    Signed-off-by: Jeff Layton <jlayton@redhat.com>
    Signed-off-by: Steve French <sfrench@us.ibm.com>

commit 132ac7b77cc95a22d6118d327c96586759fbf006
Author: Jeff Layton <jlayton@redhat.com>
Date:   Tue Feb 10 07:33:57 2009 -0500

    cifs: refactor new_inode() calls and inode initialization
    
    Move new inode creation into a separate routine and refactor the
    callers to take advantage of it.
    
    Signed-off-by: Jeff Layton <jlayton@redhat.com>
    Signed-off-by: Steve French <sfrench@us.ibm.com>

commit e4cce94c9c8797b08faf6a79396df4d175e377fa
Author: Igor Mammedov <niallain@gmail.com>
Date:   Tue Feb 10 14:10:26 2009 +0300

    [CIFS] Prevent OOPs when mounting with remote prefixpath.
    
    Fixes OOPs with message 'kernel BUG at fs/cifs/cifs_dfs_ref.c:274!'.
    Checks if the prefixpath in an accesible while we are still in cifs_mount
    and fails with reporting a error if we can't access the prefixpath
    
    Should fix Samba bugs 6086 and 5861 and kernel bug 12192
    
    Signed-off-by: Igor Mammedov <niallain@gmail.com>
    Acked-by: Jeff Layton <jlayton@redhat.com>
    Signed-off-by: Steve French <sfrench@us.ibm.com>

commit 2ec77fc93ca8731368fbe8e71f805c0569d4bcee
Merge: be71cb5... 3d16118...
Author: Linus Torvalds <torvalds@linux-foundation.org>
Date:   Fri Feb 20 18:04:53 2009 -0800

    Merge branch 'drm-fixes' of git://git.kernel.org/pub/scm/linux/kernel/git/airlied/drm-2.6
    
    * 'drm-fixes' of git://git.kernel.org/pub/scm/linux/kernel/git/airlied/drm-2.6: (26 commits)
      drm/radeon: update sarea copies of last_ variables on resume.
      drm/i915: Keep refs on the object over the lifetime of vmas for GTT mmap.
      drm/i915: take struct mutex around fb unref
      drm: Use spread spectrum when the bios tells us it's ok.
      drm: Collapse identical i8xx_clock() and i9xx_clock().
      drm: Bring PLL limits in sync with DDX values.
      drm: Add locking around cursor gem operations.
      drm: Propagate failure from setting crtc base.
      drm: Check for a NULL encoder when reverting on error path
      drm/i915: Cleanup the hws on ringbuffer constrution failure.
      drm/i915: Don't add panel_fixed_mode to the probed modes list at LVDS init.
      drm: Release user fbs in drm_release
      drm/i915: Unpin the fb on error during construction.
      drm/i915: Unpin the hws if we fail to kmap.
      drm/i915: Unpin the ringbuffer if we fail to ioremap it.
      drm/i915: unpin for an invalid memory domain.
      drm/i915: Release and unlock on mmap_gtt error path.
      drm/i915: Set framebuffer alignment based upon the fence constraints.
      drm: Do not leak a new reference for flink() on an existing name
      drm/i915: Fix potential AB-BA deadlock in i915_gem_execbuffer()
      ...

commit be71cb5b526709b8e42c707dc9e8c5b034ac8d1c
Merge: b5482d4... 07a66d7...
Author: Linus Torvalds <torvalds@linux-foundation.org>
Date:   Fri Feb 20 18:03:07 2009 -0800

    Merge branch 'x86-fixes-for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/tip/linux-2.6-tip
    
    * 'x86-fixes-for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/tip/linux-2.6-tip:
      x86: use the right protections for split-up pagetables
      x86, vmi: TSC going backwards check in vmi clocksource

commit b5482d475c6eff1ebc0b1cee73421ef26f1d046c
Merge: 264b299... 822c05b...
Author: Linus Torvalds <torvalds@linux-foundation.org>
Date:   Fri Feb 20 18:02:38 2009 -0800

    Merge git://git.kernel.org/pub/scm/linux/kernel/git/jejb/scsi-rc-fixes-2.6
    
    * git://git.kernel.org/pub/scm/linux/kernel/git/jejb/scsi-rc-fixes-2.6:
      [SCSI] qla2xxx: Update version number to 8.03.00-k3.
      [SCSI] qla2xxx: Mask out 'reserved' bits while processing FLT regions.
      [SCSI] qla2xxx: Correct slab-error overwrite during vport creation and deletion.
      [SCSI] qla2xxx: Properly acknowledge IDC notification messages.
      [SCSI] qla2xxx: Remove interrupt request bit check in the response processing path in multiq mode.
      [SCSI] lpfc: introduce missing kfree
      [SCSI] libiscsi: Fix scsi command timeout oops in iscsi_eh_timed_out
      [SCSI] qla2xxx: fix Kernel Panic with Qlogic 2472 Card.
      [SCSI] ibmvfc: Increase cancel timeout
      [SCSI] ibmvfc: Fix rport relogin
      [SCSI] ibmvfc: Fix command timeout errors
      [SCSI] sg: fix device number in blktrace data
      [SCSI] scsi_scan: add missing interim SDEV_DEL state if slave_alloc fails
      [SCSI] ibmvscsi: Correct DMA mapping leak

commit 264b29900657f53fb4ddc8bf08f447c4c227b2cf
Merge: b6adea3... 2cfbd50...
Author: Linus Torvalds <torvalds@linux-foundation.org>
Date:   Fri Feb 20 17:59:14 2009 -0800

    Merge git://git.kernel.org/pub/scm/linux/kernel/git/mason/btrfs-unstable
    
    * git://git.kernel.org/pub/scm/linux/kernel/git/mason/btrfs-unstable:
      Btrfs: check file pointer in btrfs_sync_file

commit b6adea334c6c89d5e6c94f9196bbf3a279cb53bd
Author: Mauro Carvalho Chehab <mchehab@redhat.com>
Date:   Fri Feb 20 15:38:52 2009 -0800

    8250: fix boot hang with serial console when using with Serial Over Lan port
    
    Intel 8257x Ethernet boards have a feature called Serial Over Lan.
    
    This feature works by emulating a serial port, and it is detected by
    kernel as a normal 8250 port.  However, this emulation is not perfect, as
    also noticed on changeset 7500b1f602aad75901774a67a687ee985d85893f.
    
    Before this patch, the kernel were trying to check if the serial TX is
    capable of work using IRQ's.
    
    This were done with a code similar this:
    
            serial_outp(up, UART_IER, UART_IER_THRI);
            lsr = serial_in(up, UART_LSR);
            iir = serial_in(up, UART_IIR);
            serial_outp(up, UART_IER, 0);
    
            if (lsr & UART_LSR_TEMT && iir & UART_IIR_NO_INT)
    		up->bugs |= UART_BUG_TXEN;
    
    This works fine for other 8250 ports, but, on 8250-emulated SoL port, the
    chip is a little lazy to down UART_IIR_NO_INT at UART_IIR register.
    
    Due to that, UART_BUG_TXEN is sometimes enabled.  However, as TX IRQ keeps
    working, and the TX polling is now enabled, the driver miss-interprets the
    IRQ received later, hanging up the machine until a key is pressed at the
    serial console.
    
    This is the 6 version of this patch.  Previous versions were trying to
    introduce a large enough delay between serial_outp and serial_in(up,
    UART_IIR), but not taking forever.  However, the needed delay couldn't be
    safely determined.
    
    At the experimental tests, a delay of 1us solves most of the cases, but
    still hangs sometimes.  Increasing the delay to 5us was better, but still
    doesn't solve.  A very high delay of 50 ms seemed to work every time.
    
    However, poking around with delays and pray for it to be enough doesn't
    seem to be a good approach, even for a quirk.
    
    So, instead of playing with random large arbitrary delays, let's just
    disable UART_BUG_TXEN for all SoL ports.
    
    [akpm@linux-foundation.org: fix warnings]
    Signed-off-by: Mauro Carvalho Chehab <mchehab@redhat.com>
    Cc: Alan Cox <alan@lxorguk.ukuu.org.uk>
    Cc: <stable@kernel.org>
    Signed-off-by: Andrew Morton <akpm@linux-foundation.org>
    Signed-off-by: Linus Torvalds <torvalds@linux-foundation.org>

commit 3cf311409d37d904335eb720e8a6b2c17bee6698
Author: Yang Hongyang <yanghy@cn.fujitsu.com>
Date:   Fri Feb 20 15:38:51 2009 -0800

    atyfb: remove unused local variable `pwr_command'
    
    Signed-off-by: Yang Hongyang<yanghy@cn.fujitsu.com>
    Signed-off-by: Andrew Morton <akpm@linux-foundation.org>
    Signed-off-by: Linus Torvalds <torvalds@linux-foundation.org>

commit 01b24fee285b098c74318a8be801ef3711ec18d7
Author: Michael Buesch <mb@bu3sch.de>
Date:   Fri Feb 20 15:38:49 2009 -0800

    spi_bitbang: add more lowlevel function documentation
    
    This adds more documentation of the lowlevel API to avoid future bugs.
    
    Signed-off-by: Michael Buesch <mb@bu3sch.de>
    Acked-by: David Brownell <dbrownell@users.sourceforge.net>
    Signed-off-by: Andrew Morton <akpm@linux-foundation.org>
    Signed-off-by: Linus Torvalds <torvalds@linux-foundation.org>

commit f6fcba7014f9cc535fa75ef98c008b24e49e2212
Author: Tejun Heo <tj@kernel.org>
Date:   Fri Feb 20 15:38:48 2009 -0800

    vmalloc: call flush_cache_vunmap() from unmap_kernel_range()
    
    Impact: proper vcache flush on unmap_kernel_range()
    
    flush_cache_vunmap() should be called before pages are unmapped.  Add
    a call to it in unmap_kernel_range().
    
    Signed-off-by: Tejun Heo <tj@kernel.org>
    Acked-by: Nick Piggin <npiggin@suse.de>
    Acked-by: David S. Miller <davem@davemloft.net>
    Cc: <stable@kernel.org>		[2.6.28.x]
    Signed-off-by: Andrew Morton <akpm@linux-foundation.org>
    Signed-off-by: Linus Torvalds <torvalds@linux-foundation.org>

commit 3fd076dd955a34c35dc456f4ef676e03cdced044
Author: Li Zefan <lizf@cn.fujitsu.com>
Date:   Fri Feb 20 15:38:48 2009 -0800

    cpuset: various documentation fixes and updates
    
    I noticed the old commit 8f5aa26c75b7722e80c0c5c5bb833d41865d7019
    ("cpusets: update_cpumask documentation fix") is not a complete fix,
    resulting in inconsistent paragraphs.  This patch fixes it and does other
    fixes and updates:
    
    - s/migrate_all_tasks()/migrate_live_tasks()/
    - describe more cpuset control files
    - s/cpumask_t/struct cpumask/
    - document cpu hotplug and change of 'sched_relax_domain_level' may cause
      domain rebuild
    - document various ways to query and modify cpusets
    - the equivalent of "mount -t cpuset" is "mount -t cgroup -o cpuset,noprefix"
    
    Signed-off-by: Li Zefan <lizf@cn.fujitsu.com>
    Acked-by: Randy Dunlap <randy.dunlap@oracle.com>
    Cc: Paul Menage <menage@google.com>
    Signed-off-by: Andrew Morton <akpm@linux-foundation.org>
    Signed-off-by: Linus Torvalds <torvalds@linux-foundation.org>

commit 152de30bced150617e5731a9fe2364c9d04fe26c
Author: Randy Dunlap <randy.dunlap@oracle.com>
Date:   Fri Feb 20 15:38:47 2009 -0800

    docsrc: use config instead of menuconfig
    
    BUILD_DOCSRC should be controlled by "config" instead of "menuconfig".
    I have no idea how I managed to use "menuconfig" here.
    
    Signed-off-by: Randy Dunlap <randy.dunlap@oracle.com>
    Signed-off-by: Andrew Morton <akpm@linux-foundation.org>
    Signed-off-by: Linus Torvalds <torvalds@linux-foundation.org>

commit b28fe28f2a07ee325834179174a95495d2786561
Author: Dan Carpenter <error27@gmail.com>
Date:   Fri Feb 20 15:38:46 2009 -0800

    sx.c: avoid referencing freed memory if copy_from_user() fails
    
    The "break" would just result in reusing a free'd pointer.  I don't have
    the cards myself to test it though.  :/
    
    Signed-off-by: Dan Carpenter <error27@gmail.com>
    Cc: Ilpo Järvinen <ilpo.jarvinen@helsinki.fi>
    Signed-off-by: Andrew Morton <akpm@linux-foundation.org>
    Signed-off-by: Linus Torvalds <torvalds@linux-foundation.org>

commit 9b6d25100ace1dcf9750803ff08f6b61f840be79
Author: Ilpo Järvinen <ilpo.jarvinen@helsinki.fi>
Date:   Fri Feb 20 15:38:45 2009 -0800

    sx.c: fix dbl statement if - add missing braces
    
    Caused by 736d54533aed (sx.c: fix missed unlock_kernel() on error path in
    sx_fw_ioctl()).  You guys keep breaking things this way in every single
    kernel release in at least couple of places...  :-(
    
    Signed-off-by: Ilpo Järvinen <ilpo.jarvinen@helsinki.fi>
    Acked-by: Dan Carpenter <error27@gmail.com>
    Signed-off-by: Andrew Morton <akpm@linux-foundation.org>
    Signed-off-by: Linus Torvalds <torvalds@linux-foundation.org>

commit ad444684b78f12fb3f45a733722e2cbfe102d25c
Author: Li Zefan <lizf@cn.fujitsu.com>
Date:   Fri Feb 20 15:38:43 2009 -0800

    README: fix a wrong filename
    
    It should be Documentation/build/kconfig.txt.
    
    Introduced by commit 2af238e455ef5fd31c2f7a06c2db3f13d843b9bf
    ("kbuild: make *config usage docs").
    
    Signed-off-by: Li Zefan <lizf@cn.fujitsu.com>
    Cc: Sam Ravnborg <sam@ravnborg.org>
    Signed-off-by: Andrew Morton <akpm@linux-foundation.org>
    Signed-off-by: Linus Torvalds <torvalds@linux-foundation.org>

commit 3ef0e5ba467366125f04b423f4638baca54a4fc1
Author: Johannes Weiner <hannes@cmpxchg.org>
Date:   Fri Feb 20 15:38:41 2009 -0800

    slab: introduce kzfree()
    
    kzfree() is a wrapper for kfree() that additionally zeroes the underlying
    memory before releasing it to the slab allocator.
    
    Currently there is code which memset()s the memory region of an object
    before releasing it back to the slab allocator to make sure
    security-sensitive data are really zeroed out after use.
    
    These callsites can then just use kzfree() which saves some code, makes
    users greppable and allows for a stupid destructor that isn't necessarily
    aware of the actual object size.
    
    Signed-off-by: Johannes Weiner <hannes@cmpxchg.org>
    Reviewed-by: Pekka Enberg <penberg@cs.helsinki.fi>
    Cc: Matt Mackall <mpm@selenic.com>
    Acked-by: Christoph Lameter <cl@linux-foundation.org>
    Cc: Nick Piggin <npiggin@suse.de>
    Signed-off-by: Andrew Morton <akpm@linux-foundation.org>
    Signed-off-by: Linus Torvalds <torvalds@linux-foundation.org>

commit d9190913b71831f5e3d04de62cfb1fd069a9db35
Author: Wei Yongjun <yjwei@cn.fujitsu.com>
Date:   Fri Feb 20 15:38:40 2009 -0800

    mn10300: fix typo && -> || in arch/mn10300/unit-asb2305/pci.c
    
    Fix the typo && -> ||.
    
    Signed-off-by: Wei Yongjun <yjwei@cn.fujitsu.com>
    Signed-off-by: David Howells <dhowells@redhat.com>
    Signed-off-by: Andrew Morton <akpm@linux-foundation.org>
    Signed-off-by: Linus Torvalds <torvalds@linux-foundation.org>

commit 58bafe72ad937ec0813109254a154cf32be25fc4
Author: David Howells <dhowells@redhat.com>
Date:   Fri Feb 20 15:38:38 2009 -0800

    mn10300: fix oprofile
    
    oprofile for MN10300 seems to have been broken by the advent of the new
    tracing framework.
    
    Signed-off-by: David Howells <dhowells@redhat.com>
    Signed-off-by: Andrew Morton <akpm@linux-foundation.org>
    Signed-off-by: Linus Torvalds <torvalds@linux-foundation.org>

commit 41a9e64ca4d60dc412cfcd42d5be5dec1f1ed427
Author: Luca Bigliardi <shammash@artha.org>
Date:   Fri Feb 20 15:38:36 2009 -0800

    uml: fix vde network backend in user mode linux
    
    * Replace kmalloc() with uml_kmalloc() (fix build failure)
    
    * Remove unnecessary UM_KERN_INFO in printk() (don't display '<6>' while
      printing info)
    
    Signed-off-by: Luca Bigliardi <shammash@artha.org>
    Cc: Jiri Kosina <jkosina@suse.cz>
    Reviewed-by: WANG Cong <wangcong@zeuux.org>
    Cc: Jeff Dike <jdike@addtoit.com>
    Signed-off-by: Andrew Morton <akpm@linux-foundation.org>
    Signed-off-by: Linus Torvalds <torvalds@linux-foundation.org>

commit 8cbb5bc374522a5f359e34856829732a7ed458a4
Author: Zachary Amsden <zach@vmware.com>
Date:   Fri Feb 20 11:27:46 2009 -0800

    MAINTAINERS: paravirt-ops maintainers update
    
    Welcome to Alok Kataria, our new paravirt-ops maintainer.
    
    Cc: Chris Wright <chrisw@sous-sol.org>
    Cc: Alok Kataria <akataria@vmware.com>
    Cc: Rusty Russell <rusty@rustcorp.com.au>
    Signed-off-by: Ingo Molnar <mingo@elte.hu>

commit 2cfbd50b536c878e58ab3681c4e944fa3d99b415
Author: Chris Mason <chris.mason@oracle.com>
Date:   Fri Feb 20 10:55:10 2009 -0500

    Btrfs: check file pointer in btrfs_sync_file
    
    fsync can be called by NFS with a null file pointer, and btrfs was
    oopsing in this case.
    
    Signed-off-by: Chris Mason <chris.mason@oracle.com>

commit 07a66d7c53a538e1a9759954a82bb6c07365eff9
Author: Ingo Molnar <mingo@elte.hu>
Date:   Fri Feb 20 08:04:13 2009 +0100

    x86: use the right protections for split-up pagetables
    
    Steven Rostedt found a bug in where in his modified kernel
    ftrace was unable to modify the kernel text, due to the PMD
    itself having been marked read-only as well in
    split_large_page().
    
    The fix, suggested by Linus, is to not try to 'clone' the
    reference protection of a huge-page, but to use the standard
    (and permissive) page protection bits of KERNPG_TABLE.
    
    The 'cloning' makes sense for the ptes but it's a confused and
    incorrect concept at the page table level - because the
    pagetable entry is a set of all ptes and hence cannot
    'clone' any single protection attribute - the ptes can be any
    mixture of protections.
    
    With the permissive KERNPG_TABLE, even if the pte protections
    get changed after this point (due to ftrace doing code-patching
    or other similar activities like kprobes), the resulting combined
    protections will still be correct and the pte's restrictive
    (or permissive) protections will control it.
    
    Also update the comment.
    
    This bug was there for a long time but has not caused visible
    problems before as it needs a rather large read-only area to
    trigger. Steve possibly hacked his kernel with some really
    large arrays or so. Anyway, the bug is definitely worth fixing.
    
    [ Huang Ying also experienced problems in this area when writing
      the EFI code, but the real bug in split_large_page() was not
      realized back then. ]
    
    Reported-by: Steven Rostedt <rostedt@goodmis.org>
    Reported-by: Huang Ying <ying.huang@intel.com>
    Acked-by: Linus Torvalds <torvalds@linux-foundation.org>
    Signed-off-by: Ingo Molnar <mingo@elte.hu>

commit 48ffc70b675aa7798a52a2e92e20f6cce9140b3d
Author: Alok N Kataria <akataria@vmware.com>
Date:   Wed Feb 18 12:33:55 2009 -0800

    x86, vmi: TSC going backwards check in vmi clocksource
    
    Impact: fix time warps under vmware
    
    Similar to the check for TSC going backwards in the TSC clocksource,
    we also need this check for VMI clocksource.
    
    Signed-off-by: Alok N Kataria <akataria@vmware.com>
    Cc: Zachary Amsden <zach@vmware.com>
    Signed-off-by: Ingo Molnar <mingo@elte.hu>
    Cc: stable@kernel.org

commit 3d16118dc825a654043dfe3e14371fdf2976994d
Author: etienne <etienne.basset@numericable.fr>
Date:   Fri Feb 20 09:44:45 2009 +1000

    drm/radeon: update sarea copies of last_ variables on resume.
    
    This fixes a regression reported in bug #12613.
    
    [airlied: not I tweaked the patch slightly and fixed it by etienne did
    all the hardwork so gets authorship]
    
    Signed-off-by: etienne <etienne.basset@numericable.fr>
    Signed-off-by: Dave Airlie <airlied@redhat.com>

commit ab00b3e5210954cbaff9207db874a9f03197e3ba
Author: Jesse Barnes <jbarnes@virtuousgeek.org>
Date:   Wed Feb 11 14:01:46 2009 -0800

    drm/i915: Keep refs on the object over the lifetime of vmas for GTT mmap.
    
    This fixes potential fault at fault time if the object was unreferenced
    while the mapping still existed.  Now, while the mmap_offset only lives
    for the lifetime of the object, the object also stays alive while a vma
    exists that needs it.
    
    Signed-off-by: Jesse Barnes <jbarnes@virtuousgeek.org>
    Signed-off-by: Eric Anholt <eric@anholt.net>
    Signed-off-by: Dave Airlie <airlied@redhat.com>

commit 496818f08a78476abdb307e241911536221239fc
Author: Jesse Barnes <jbarnes@virtuousgeek.org>
Date:   Wed Feb 11 13:28:14 2009 -0800

    drm/i915: take struct mutex around fb unref
    
    Need to do this in case the unref ends up doing a free.
    
    Signed-off-by: Jesse Barnes <jbarnes@virtuousgeek.org>
    Signed-off-by: Eric Anholt <eric@anholt.net>
    Signed-off-by: Dave Airlie <airlied@redhat.com>

commit 43565a0648e664744ac9201c199681451355edcc
Author: Kristian Høgsberg <krh@bitplanet.net>
Date:   Fri Feb 13 20:56:52 2009 -0500

    drm: Use spread spectrum when the bios tells us it's ok.
    
    Lifted from the DDX modesetting.
    
    Signed-off-by: Kristian Høgsberg <krh@redhat.com>
    Signed-off-by: Eric Anholt <eric@anholt.net>
    Signed-off-by: Dave Airlie <airlied@redhat.com>

commit a29f5ca3d691995266a4b1df313e32ff0509a03c
Author: Kristian Høgsberg <krh@bitplanet.net>
Date:   Fri Feb 13 20:56:51 2009 -0500

    drm: Collapse identical i8xx_clock() and i9xx_clock().
    
    They used to be different.  Now they're identical.
    
    Signed-off-by: Kristian Høgsberg <krh@redhat.com>
    Signed-off-by: Eric Anholt <eric@anholt.net>
    Signed-off-by: Dave Airlie <airlied@redhat.com>

commit f3cade5c037054ce5f57651fe0b64eaa9781c753
Author: Kristian Høgsberg <krh@bitplanet.net>
Date:   Fri Feb 13 20:56:50 2009 -0500

    drm: Bring PLL limits in sync with DDX values.
    
    Signed-off-by: Kristian Høgsberg <krh@redhat.com>
    Signed-off-by: Eric Anholt <eric@anholt.net>
    Signed-off-by: Dave Airlie <airlied@redhat.com>

commit 7f9872e06d749afdc2029aa6b7ffe88cb3b8c5c2
Author: Kristian Høgsberg <krh@bitplanet.net>
Date:   Fri Feb 13 20:56:49 2009 -0500

    drm: Add locking around cursor gem operations.
    
    We need to hold the struct_mutex around pinning and the phys object
    operations.
    
    Signed-off-by: Kristian Høgsberg <krh@redhat.com>
    Signed-off-by: Eric Anholt <eric@anholt.net>
    Signed-off-by: Dave Airlie <airlied@redhat.com>

commit 5c3b82e2b229e78eb32f4ea12d16f3ebeeab3fc7
Author: Chris Wilson <chris@chris-wilson.co.uk>
Date:   Wed Feb 11 13:25:09 2009 +0000

    drm: Propagate failure from setting crtc base.
    
    Check the error paths within intel_pipe_set_base() to first cleanup and
    then report back the error.
    
    Signed-off-by: Chris Wilson <chris@chris-wilson.co.uk>
    Signed-off-by: Eric Anholt <eric@anholt.net>
    Signed-off-by: Dave Airlie <airlied@linux.ie>

commit e62fb64e6187ea9d8bcedb17ccaa045ed92d4b55
Author: Chris Wilson <chris@chris-wilson.co.uk>
Date:   Wed Feb 11 16:39:21 2009 +0000

    drm: Check for a NULL encoder when reverting on error path
    
    We need to skip the connectors with a NULL encoder to match the success
    path and avoid an OOPS.
    
    Signed-off-by: Chris Wilson <chris@chris-wilson.co.uk>
    Signed-off-by: Eric Anholt <eric@anholt.net>
    Signed-off-by: Dave Airlie <airlied@linux.ie>

commit 85a7bb98582b60b7e9130159d2464eb0bbac13f7
Author: Chris Wilson <chris@chris-wilson.co.uk>
Date:   Wed Feb 11 14:52:44 2009 +0000

    drm/i915: Cleanup the hws on ringbuffer constrution failure.
    
    If we fail to create the ringbuffer, then we need to cleanup the allocated
    hws.
    
    Signed-off-by: Chris Wilson <chris@chris-wilson.co.uk>
    Signed-off-by: Eric Anholt <eric@anholt.net>
    Signed-off-by: Dave Airlie <airlied@linux.ie>

commit 67eabc0553a32c491fdb392ff2358a0384562050
Author: Steve Aarnio <steve.j.aarnio@linux.intel.com>
Date:   Thu Feb 12 11:34:02 2009 -0800

    drm/i915: Don't add panel_fixed_mode to the probed modes list at LVDS init.
    
    In the case where no EDID data is read from the device, adding the
    panel_fixed_mode pointer to the probed modes list causes data corruption.
    
    If the panel_fixed_mode pointer is added to the probed modes list at
    init time, a copy of the mode is added again at drm_get_modes() request
    time.  Then, the panel_fixed_mode pointer is freed because it is seen as
    a duplicate mode.  Unfortunately, this pointer is still stored and used
    in mode_fixup().
    
    Because the panel_fixed_mode data is copied and returned at
    drm_get_modes() time, it is unnecessary to add this information at init
    time.
    
    Signed-off-by: Steve Aarnio <steve.j.aarnio@intel.com>
    Signed-off-by: Eric Anholt <eric@anholt.net>
    Signed-off-by: Dave Airlie <airlied@linux.ie>

commit ea39f835168f60b01e59d0f348da25d297e7cf94
Author: Kristian Høgsberg <krh@redhat.com>
Date:   Thu Feb 12 14:37:56 2009 -0500

    drm: Release user fbs in drm_release
    
    Avoids leaking fbs and associated buffers on release.
    
    Signed-off-by: Kristian Høgsberg <krh@redhat.com>
    Tested-by: Tested-by: Chris Wilson <chris@chris-wilson.co.uk>
    Signed-off-by: Eric Anholt <eric@anholt.net>
    Signed-off-by: Dave Airlie <airlied@linux.ie>

commit b4476f52e43fadcb9402723a1a55ba1308757525
Author: Chris Wilson <chris@chris-wilson.co.uk>
Date:   Wed Feb 11 14:26:36 2009 +0000

    drm/i915: Unpin the fb on error during construction.
    
    If we fail whilst constructing the fb, then we need to unpin it as well.
    
    Signed-off-by: Chris Wilson <chris@chris-wilson.co.uk>
    Signed-off-by: Eric Anholt <eric@anholt.net>
    Signed-off-by: Dave Airlie <airlied@linux.ie>

commit 3eb2ee77b0b6b7b2c10308d7b46d2a459fb5be10
Author: Chris Wilson <chris@chris-wilson.co.uk>
Date:   Wed Feb 11 14:26:34 2009 +0000

    drm/i915: Unpin the hws if we fail to kmap.
    
    A missing unpin on the error path.
    
    Signed-off-by: Chris Wilson <chris@chris-wilson.co.uk>
    Signed-off-by: Eric Anholt <eric@anholt.net>
    Signed-off-by: Dave Airlie <airlied@linux.ie>

commit 47ed185a777632063d2748f59d14ec6fdeb26f67
Author: Chris Wilson <chris@chris-wilson.co.uk>
Date:   Wed Feb 11 14:26:33 2009 +0000

    drm/i915: Unpin the ringbuffer if we fail to ioremap it.
    
    A missing unpin on the error path.
    
    Signed-off-by: Chris Wilson <chris@chris-wilson.co.uk>
    Signed-off-by: Eric Anholt <eric@anholt.net>
    Signed-off-by: Dave Airlie <airlied@linux.ie>

commit 491152b8778d7d290579c989e8607892accde920
Author: Chris Wilson <chris@chris-wilson.co.uk>
Date:   Wed Feb 11 14:26:32 2009 +0000

    drm/i915: unpin for an invalid memory domain.
    
    A missing unreference and unpin after rejecting the relocation for an
    invalid memory domain.
    
    Signed-off-by: Chris Wilson <chris@chris-wilson.co.uk>
    Signed-off-by: Eric Anholt <eric@anholt.net>
    Signed-off-by: Dave Airlie <airlied@linux.ie>

commit 13af10627676879d1b20ee3cdba9a28f0906dd98
Author: Chris Wilson <chris@chris-wilson.co.uk>
Date:   Wed Feb 11 14:26:31 2009 +0000

    drm/i915: Release and unlock on mmap_gtt error path.
    
    We failed to unlock the mutex after failing to create the mmap offset.
    
    Signed-off-by: Chris Wilson <chris@chris-wilson.co.uk>
    Signed-off-by: Eric Anholt <eric@anholt.net>
    Signed-off-by: Dave Airlie <airlied@linux.ie>

commit 2ebed176a7ee126448d34fc336afb2ea0238c280
Author: Chris Wilson <chris@chris-wilson.co.uk>
Date:   Wed Feb 11 14:26:30 2009 +0000

    drm/i915: Set framebuffer alignment based upon the fence constraints.
    
    Set the request alignment to 0, and leave it up to i915_gem_object_pin()
    to set the appropriate alignment to match the fence covering the object.
    
    Eric Anholt mentioned that the pinning code is meant to choose the
    maximum of the request alignment and that of the fence covering the
    object... However currently, the pinning code will only apply the fence
    constraints if the supplied alignment is 0.
    
    Signed-off-by: Chris Wilson <chris@chris-wilson.co.uk>
    Signed-off-by: Eric Anholt <eric@anholt.net>
    Signed-off-by: Dave Airlie <airlied@linux.ie>

commit 8d59bae5d9aae10ab230561519bfb97962509bcb
Author: Chris Wilson <chris@chris-wilson.co.uk>
Date:   Wed Feb 11 14:26:28 2009 +0000

    drm: Do not leak a new reference for flink() on an existing name
    
    The name table should only hold a single reference, so avoid leaking
    additional references for secondary calls to flink().
    
    Signed-off-by: Chris Wilson <chris@chris-wilson.co.uk>
    Signed-off-by: Eric Anholt <eric@anholt.net>
    Signed-off-by: Dave Airlie <airlied@linux.ie>

commit a35f2e2b83a789e189a501ebd722bc9a1310eb05
Author: Roland Dreier <rdreier@cisco.com>
Date:   Fri Feb 6 17:48:09 2009 -0800

    drm/i915: Fix potential AB-BA deadlock in i915_gem_execbuffer()
    
    Lockdep warns that i915_gem_execbuffer() can trigger a page fault (which
    takes mmap_sem) while holding dev->struct_mutex, while drm_vm_open()
    (which is called with mmap_sem already held) takes dev->struct_mutex.
    So this is a potential AB-BA deadlock.
    
    The way that i915_gem_execbuffer() triggers a page fault is by doing
    copy_to_user() when returning new buffer offsets back to userspace;
    however there is no reason to hold the struct_mutex when doing this
    copy, since what is being copied is the contents of an array private to
    i915_gem_execbuffer() anyway.  So we can fix the potential deadlock (and
    get rid of the lockdep warning) by simply moving the copy_to_user()
    outside of where struct_mutex is held.
    
    This fixes <http://bugzilla.kernel.org/show_bug.cgi?id=12491>.
    
    Reported-by: Jesse Brandeburg <jesse.brandeburg@intel.com>
    Tested-by: Jesse Brandeburg <jesse.brandeburg@intel.com>
    Signed-off-by: Roland Dreier <rolandd@cisco.com>
    Signed-off-by: Eric Anholt <eric@anholt.net>
    Signed-off-by: Dave Airlie <airlied@linux.ie>

commit 96dec61d563fb8dff2c8427fdf85327a95b65c74
Author: Chris Wilson <chris@chris-wilson.co.uk>
Date:   Sun Feb 8 19:08:04 2009 +0000

    drm/i915: refleak along pin() error path.
    
    A missing unreference if the user calls pin() a second time on a pinned
    buffer.
    
    Signed-off-by: Chris Wilson <chris@chris-wilson.co.uk>
    Signed-off-by: Eric Anholt <eric@anholt.net>
    Signed-off-by: Dave Airlie <airlied@linux.ie>

commit d6873102fd36c577f88174d8bd50f1d51645fc51
Author: Chris Wilson <chris@chris-wilson.co.uk>
Date:   Sun Feb 8 19:07:51 2009 +0000

    drm/i915: hold mutex for unreference() in i915_gem_tiling.c
    
    Signed-off-by: Chris Wilson <chris@chris-wilson.co.uk>
    Signed-off-by: Eric Anholt <eric@anholt.net>
    Signed-off-by: Dave Airlie <airlied@linux.ie>

commit a198bc80ae59cf7c6da93bc8bd017b2198148ed7
Author: Chris Wilson <chris@chris-wilson.co.uk>
Date:   Fri Feb 6 16:55:20 2009 +0000

    drm/i915: Cleanup trivial leak on execbuffer error path.
    
    Also spotted by Owain Ainsworth.
    
    Signed-off-by: Chris Wilson <chris@chris-wilson.co.uk>
    Signed-off-by: Eric Anholt <eric@anholt.net>
    Signed-off-by: Dave Airlie <airlied@linux.ie>

commit 3e49c4f4cf786b70bbc369b99e590de4bebac1b3
Author: Chris Wilson <chris@chris-wilson.co.uk>
Date:   Mon Feb 9 11:31:41 2009 +0000

    drm: Free the object ref on error.
    
    Ensure that the object is unreferenced if we fail to allocate during
    drm_gem_flink_ioctl().
    
    Signed-off-by: Chris Wilson <chris@chris-wilson.co.uk>
    Signed-off-by: Eric Anholt <eric@anholt.net>
    Signed-off-by: Dave Airlie <airlied@linux.ie>

commit ad45aa9e6e010283bbd8cf0c6309866233e113f2
Author: Chris Wilson <chris@chris-wilson.co.uk>
Date:   Mon Feb 9 11:31:41 2009 +0000

    drm: Potential use-after-free on error path.
    
    Remove the member from the hash table before we free the structure!
    
    Signed-off-by: Chris Wilson <chris@chris-wilson.co.uk>
    Signed-off-by: Eric Anholt <eric@anholt.net>
    Signed-off-by: Dave Airlie <airlied@linux.ie>

commit 005568be363b90c9333c3bcbc1e7a53922816322
Author: Tobias Klauser <tklauser@distanz.ch>
Date:   Mon Feb 9 22:02:42 2009 +0100

    drm/i915: Storage class should be before const qualifier
    
    The C99 specification states in section 6.11.5:
    
    The placement of a storage-class specifier other than at the beginning
    of the declaration specifiers in a declaration is an obsolescent
    feature.
    
    Signed-off-by: Tobias Klauser <tklauser@distanz.ch>
    Signed-off-by: Eric Anholt <eric@anholt.net>
    Signed-off-by: Dave Airlie <airlied@linux.ie>

commit 620565ef5f35f4196e5081417db381c16b0ae791
Merge: a5e7536... 27e88bf...
Author: Linus Torvalds <torvalds@linux-foundation.org>
Date:   Thu Feb 19 13:09:32 2009 -0800

    Merge branch 'for-linus' of git://oss.sgi.com/xfs/xfs
    
    * 'for-linus' of git://oss.sgi.com/xfs/xfs:
      Revert "[XFS] remove old vmap cache"
      Revert "[XFS] use scalable vmap API"

commit a5e753638874b9caabde01c8774e1a39e31cb614
Merge: 402a917... ec8148d...
Author: Linus Torvalds <torvalds@linux-foundation.org>
Date:   Thu Feb 19 13:09:20 2009 -0800

    Merge branch 'release' of git://git.kernel.org/pub/scm/linux/kernel/git/aegl/linux-2.6
    
    * 'release' of git://git.kernel.org/pub/scm/linux/kernel/git/aegl/linux-2.6:
      [IA64] xen_domu build fix
      [IA64] fixes configs and add default config for ia64 xen domU
      [IA64] Remove redundant cpu_clear() in __cpu_disable path
      [IA64] Revert "prevent ia64 from invoking irq handlers on offline CPUs"
      [IA64] bte_copy of BTE_MAX_XFER trips BUG_ON.
      [IA64] Build fix for __early_pfn_to_nid() undefined link error

commit ec8148de85a73a3be397a59b6d8f4f32cf2dd254
Author: Tony Luck <aegl@agluck-desktop.(none)>
Date:   Thu Feb 19 12:05:00 2009 -0800

    [IA64] xen_domu build fix
    
    arch/ia64/xen/xen_pv_ops.c:156: error: xen_init_ops causes a section type conflict
    arch/ia64/xen/xen_pv_ops.c:340: error: xen_iosapic_ops causes a section type conflict
    
    Signed-off-by: Tony Luck <tony.luck@intel.com>

commit 1d5b20f490f61f36a58e6ecf1713a49a43620666
Author: Isaku Yamahata <yamahata@valinux.co.jp>
Date:   Fri Jan 16 12:17:30 2009 +0900

    [IA64] fixes configs and add default config for ia64 xen domU
    
    This patch fixes xen related Kconfigs and add default config
    file for ia64 xen domU.
    
    Signed-off-by: Isaku Yamahata <yamahata@valinux.co.jp>
    Signed-off-by: Tony Luck <aegl@agluck-desktop.(none)>

commit c0acdea21437eff134cc3486bdc52907d9086af1
Author: Alex Chiang <achiang@hp.com>
Date:   Mon Feb 9 11:16:57 2009 -0700

    [IA64] Remove redundant cpu_clear() in __cpu_disable path
    
    The second call to cpu_clear() is redundant, as we've already removed
    the CPU from cpu_online_map before calling migrate_platform_irqs().
    
    Signed-off-by: Alex Chiang <achiang@hp.com>
    Signed-off-by: Tony Luck <aegl@agluck-desktop.(none)>

commit 66db2e6331612bbec193a358885854330596a92a
Author: Alex Chiang <achiang@hp.com>
Date:   Mon Feb 9 11:16:16 2009 -0700

    [IA64] Revert "prevent ia64 from invoking irq handlers on offline CPUs"
    
    This reverts commit e7b140365b86aaf94374214c6f4e6decbee2eb0a.
    
    Commit e7b14036 removes the targetted disabled CPU from the
    cpu_online_map after calls to migrate_platform_irqs and fixup_irqs.
    
    Paul McKenney states that the reasoning behind the patch was to
    prevent irq handlers from running on CPUs marked offline because:
    
    	RCU happily ignores CPUs that don't have their bits set in
    	cpu_online_map, so if there are RCU read-side critical sections
    	in the irq handlers being run, RCU will ignore them.  If the
    	other CPUs were running, they might sequence through the RCU
    	state machine, which could result in data structures being
    	yanked out from under those irq handlers, which in turn could
    	result in oopses or worse.
    
    Unfortunately, both ia64 functions above look at cpu_online_map to find
    a new CPU to migrate interrupts onto. This means we can potentially
    migrate an interrupt off ourself back to... ourself. Uh oh.
    
    This causes an oops when we finally try to process pending interrupts on
    the CPU we want to disable. The oops results from calling __do_IRQ with
    a NULL pt_regs:
    
    Unable to handle kernel NULL pointer dereference (address 0000000000000040)
    Call Trace:
     [<a000000100016930>] show_stack+0x50/0xa0
                                    sp=e0000009c922fa00 bsp=e0000009c92214d0
     [<a0000001000171a0>] show_regs+0x820/0x860
                                    sp=e0000009c922fbd0 bsp=e0000009c9221478
     [<a00000010003c700>] die+0x1a0/0x2e0
                                    sp=e0000009c922fbd0 bsp=e0000009c9221438
     [<a0000001006e92f0>] ia64_do_page_fault+0x950/0xa80
                                    sp=e0000009c922fbd0 bsp=e0000009c92213d8
     [<a00000010000c7a0>] ia64_native_leave_kernel+0x0/0x270
                                    sp=e0000009c922fc60 bsp=e0000009c92213d8
     [<a0000001000ecdb0>] profile_tick+0xd0/0x1c0
                                    sp=e0000009c922fe30 bsp=e0000009c9221398
     [<a00000010003bb90>] timer_interrupt+0x170/0x3e0
                                    sp=e0000009c922fe30 bsp=e0000009c9221330
     [<a00000010013a800>] handle_IRQ_event+0x80/0x120
                                    sp=e0000009c922fe30 bsp=e0000009c92212f8
     [<a00000010013aa00>] __do_IRQ+0x160/0x4a0
                                    sp=e0000009c922fe30 bsp=e0000009c9221290
     [<a000000100012290>] ia64_process_pending_intr+0x2b0/0x360
                                    sp=e0000009c922fe30 bsp=e0000009c9221208
     [<a0000001000112d0>] fixup_irqs+0xf0/0x2a0
                                    sp=e0000009c922fe30 bsp=e0000009c92211a8
     [<a00000010005bd80>] __cpu_disable+0x140/0x240
                                    sp=e0000009c922fe30 bsp=e0000009c9221168
     [<a0000001006c5870>] take_cpu_down+0x50/0xa0
                                    sp=e0000009c922fe30 bsp=e0000009c9221148
     [<a000000100122610>] stop_cpu+0xd0/0x200
                                    sp=e0000009c922fe30 bsp=e0000009c92210f0
     [<a0000001000e0440>] kthread+0xc0/0x140
                                    sp=e0000009c922fe30 bsp=e0000009c92210c8
     [<a000000100014ab0>] kernel_thread_helper+0xd0/0x100
                                    sp=e0000009c922fe30 bsp=e0000009c92210a0
     [<a00000010000a4c0>] start_kernel_thread+0x20/0x40
                                    sp=e0000009c922fe30 bsp=e0000009c92210a0
    
    I don't like this revert because it is fragile. ia64 is getting lucky
    because we seem to only ever process timer interrupts in this path, but
    if we ever race with an IPI here, we definitely use RCU and have the
    potential of hitting an oops that Paul describes above.
    
    Patching ia64's timer_interrupt() to check for NULL pt_regs is
    insufficient though, as we still hit the above oops.
    
    As a short term solution, I do think that this revert is the right
    answer. The revert hold up under repeated testing (24+ hour test runs)
    with this setup:
    
    	- 8-way rx6600
    	- randomly toggling CPU online/offline state every 2 seconds
    	- running CPU exercisers, memory hog, disk exercisers, and
    	  network stressors
    	- average system load around ~160
    
    In the long term, we really need to figure out why we set pt_regs = NULL
    in ia64_process_pending_intr(). If it turns out that it is unnecessary
    to do so, then we could safely re-introduce e7b14036 (along with some
    other logic to be smarter about migrating interrupts).
    
    One final note: x86 also removes the disabled CPU from cpu_online_map
    and then re-enables interrupts for 1ms, presumably to handle any pending
    interrupts:
    
    arch/x86/kernel/irq_32.c (and irq_64.c):
    cpu_disable_common:
    	[remove cpu from cpu_online_map]
    
    	fixup_irqs():
    		for_each_irq:
    			[break CPU affinities]
    
    		local_irq_enable();
    		mdelay(1);
    		local_irq_disable();
    
    So they are doing implicitly what ia64 is doing explicitly.
    
    Signed-off-by: Alex Chiang <achiang@hp.com>
    Signed-off-by: Tony Luck <aegl@agluck-desktop.(none)>

commit 39d481cba27809598e755e184bc0d8ae1d22423e
Author: Robin Holt <holt@sgi.com>
Date:   Tue Feb 3 18:40:59 2009 -0600

    [IA64] bte_copy of BTE_MAX_XFER trips BUG_ON.
    
    BTE_MAX_XFER is wrong.  It is one greater than the number of cache
    lines the BTE is actually able to transfer.  If you request a transfer
    of exactly BTE_MAX_XFER size, you trip a very cryptic BUG_ON() which
    should certainly be made more clear.
    
    This patch fixes that constant and also cleans up the BUG_ON()s in
    arch/ia64/sn/kernel/bte.c to test one condition per line.
    
    Signed-off-by: Robin Holt <holt@sgi.com>
    Signed-off-by: Tony Luck <aegl@agluck-desktop.(none)>

commit 334f85b647bc46ff4d27ace55aa65f44d6a2f4db
Author: Tony Luck <aegl@agluck-desktop.(none)>
Date:   Thu Feb 19 11:22:36 2009 -0800

    [IA64] Build fix for __early_pfn_to_nid() undefined link error
    
    ia64 only defines __early_pfn_to_nid() for SPARSEMEM && NUMA configurations,
    so the recent:
    
    	commit: f2dbcfa738368c8a40d4a5f0b65dc9879577cb21
    	mm: clean up for early_pfn_to_nid()
    
    ends up with some link problems for certain configuration files.
    
    Fix arch/ia64/Kconfig to only define HAVE_ARCH_EARLY_PFN_TO_NID in the
    cases where we do provide this function.
    
    Signed-off-by: Tony Luck <tony.luck@intel.com>

commit 27e88bf6af7d42adf790f7b2ed7d65475f191cf2
Author: Felix Blyakher <felixb@sgi.com>
Date:   Wed Feb 18 15:56:51 2009 -0600

    Revert "[XFS] remove old vmap cache"
    
    This reverts commit d2859751cd0bf586941ffa7308635a293f943c17.
    
    This commit caused regression. We'll try to fix use of new
    vmap API for next release.
    
    Signed-off-by: Christoph Hellwig <hch@lst.de>
    Signed-off-by: Felix Blyakher <felixb@sgi.com>

commit 7fdf582447aa01658b624adc0a51a31e4278b68c
Author: Felix Blyakher <felixb@sgi.com>
Date:   Wed Feb 18 15:41:28 2009 -0600

    Revert "[XFS] use scalable vmap API"
    
    This reverts commit 95f8e302c04c0b0c6de35ab399a5551605eeb006.
    
    This commit caused regression. We'll try to fix use of new
    vmap API for next release.
    
    Signed-off-by: Christoph Hellwig <hch@lst.de>
    Signed-off-by: Felix Blyakher <felixb@sgi.com>

commit 402a917aca5daca69fcc91f43e6f1e6939cf393b
Merge: bcf8951... 9dd446f...
Author: Linus Torvalds <torvalds@linux-foundation.org>
Date:   Thu Feb 19 09:52:12 2009 -0800

    Merge master.kernel.org:/home/rmk/linux-2.6-arm
    
    * master.kernel.org:/home/rmk/linux-2.6-arm:
      [ARM] 5405/1: ep93xx: remove unused gesbc9312.h header
      [ARM] 5404/1: Fix condition in arm_elf_read_implies_exec() to set READ_IMPLIES_EXEC
      [ARM] omap: fix clock reparenting in omap2_clk_set_parent()
      [ARM] 5403/1: pxa25x_ep_fifo_flush() *ep->reg_udccs always set to 0
      [ARM] 5402/1: fix a case of wrap-around in sanity_check_meminfo()
      [ARM] 5401/1: Orion: fix edge triggered GPIO interrupt support
      [ARM] 5400/1: Add support for inverted rdy_busy pin for Atmel nand device controller
      [ARM] 5391/1: AT91: Enable GPIO clocks earlier
      [ARM] 5390/1: AT91: Watchdog fixes
      [ARM] 5398/1: Add Wan ZongShun to MAINTAINERS for W90P910
      [ARM] omap: fix _omap2_clksel_get_src_field()
      [ARM] omap: fix omap2_divisor_to_clksel() error return value

commit bcf8951fc23476c9190a7df0bc501ff47d0c3a61
Merge: f54b2fe... 07db1c1...
Author: Linus Torvalds <torvalds@linux-foundation.org>
Date:   Thu Feb 19 09:14:35 2009 -0800

    Merge branch 'x86-fixes-for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/tip/linux-2.6-tip
    
    * 'x86-fixes-for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/tip/linux-2.6-tip:
      x86, mce: fix ifdef for 64bit thermal apic vector clear on shutdown
      x86, mce: use force_sig_info to kill process in machine check
      x86, mce: reinitialize per cpu features on resume
      x86, rcu: fix strange load average and ksoftirqd behavior

commit f54b2fe4aef9aa74ddf2c856928c3e29f3371fe7
Merge: 83ff1af... ed4a2f3...
Author: Linus Torvalds <torvalds@linux-foundation.org>
Date:   Thu Feb 19 09:14:22 2009 -0800

    Merge branch 'tracing-fixes-for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/tip/linux-2.6-tip
    
    * 'tracing-fixes-for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/tip/linux-2.6-tip:
      tracing: limit the number of loops the ring buffer self test can make
      tracing: have function trace select kallsyms
      tracing: disable tracing while testing ring buffer
      tracing/function-graph-tracer: trace the idle tasks

commit 83ff1af9d330348d1a6685b0c06d33847cd72723
Merge: a1342d3... 23d75d9...
Author: Linus Torvalds <torvalds@linux-foundation.org>
Date:   Thu Feb 19 08:35:52 2009 -0800

    Merge branch 'for-linus' of git://git390.marist.edu/pub/scm/linux-2.6
    
    * 'for-linus' of git://git390.marist.edu/pub/scm/linux-2.6:
      [S390] fix "mem=" handling in case of standby memory
      [S390] Fix timeval regression on s390
      [S390] sclp: handle empty event buffers

commit a1342d3b8e5dbffae9d5520e2847d7d605c25266
Merge: ba95fd4... e432472...
Author: Linus Torvalds <torvalds@linux-foundation.org>
Date:   Thu Feb 19 08:35:29 2009 -0800

    Merge branch 'for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/tiwai/sound-2.6
    
    * 'for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/tiwai/sound-2.6:
      sound: virtuoso: revert "do not overwrite EEPROM on Xonar D2/D2X"
      ALSA: jack - Use card->shortname for input name
      ALSA: usb-audio - Workaround for misdetected sample rate with CM6207
      ALSA: usb-audio - Fix non-continuous rate detection
      sound: usb-audio: fix uninitialized variable with M-Audio MIDI interfaces
      Revert "Sound: hda - Restore PCI configuration space with interrupts off"

commit 9dd446f657ebebb209274878be5d01103fcfe988
Author: Hartley Sweeten <hartleys@visionengravers.com>
Date:   Thu Feb 19 17:09:04 2009 +0100

    [ARM] 5405/1: ep93xx: remove unused gesbc9312.h header
    
    Remove the gesbc9312.h header since it is unused.
    
    Signed-off-by: H Hartley Sweeten <hsweeten@visionengravers.com>
    Signed-off-by: Russell King <rmk+kernel@arm.linux.org.uk>

commit 9da616fb9946c8d65387052e5a538b8f54ddb292
Author: Makito SHIOKAWA <lkhmkt@gmail.com>
Date:   Thu Feb 19 15:34:59 2009 +0100

    [ARM] 5404/1: Fix condition in arm_elf_read_implies_exec() to set READ_IMPLIES_EXEC
    
    READ_IMPLIES_EXEC must be set when:
    o binary _is_ an executable stack (i.e. not EXSTACK_DISABLE_X)
    o processor architecture is _under_ ARMv6 (XN bit is supported from ARMv6)
    
    Signed-off-by: Makito SHIOKAWA <lkhmkt@gmail.com>
    Signed-off-by: Russell King <rmk+kernel@arm.linux.org.uk>

commit 23d75d9cadd79bc9fd6553857d57c679cf18d4cb
Author: Heiko Carstens <heiko.carstens@de.ibm.com>
Date:   Thu Feb 19 15:19:01 2009 +0100

    [S390] fix "mem=" handling in case of standby memory
    
    Standby memory detected with the sclp interface gets always registered
    with add_memory calls without considering the limitationt that the
    "mem=" kernel paramater implies.
    So fix this and only register standby memory that is below the specified
    limit.
    This fixes zfcpdump since it uses "mem=32M". In case there is appr.
    2GB standby memory present all of usable memory would be used for the
    struct pages needed for standby memory.
    
    Signed-off-by: Heiko Carstens <heiko.carstens@de.ibm.com>
    Signed-off-by: Martin Schwidefsky <schwidefsky@de.ibm.com>

commit d5cd0343d2878b66e25e044f644563c6bf708833
Author: Christian Borntraeger <borntraeger@de.ibm.com>
Date:   Thu Feb 19 15:19:00 2009 +0100

    [S390] Fix timeval regression on s390
    
    commit aa5e97ce4bbc9d5daeec16b1d15bb3f6b7b4f4d4
    [PATCH] improve precision of process accounting.
    
    Introduced a timing regression:
    -bash-3.2# time ls
    real    0m0.006s
    user    0m1.754s
    sys     0m1.094s
    
    The problem was introduced by an error in cputime_to_timeval.
    Cputime is now 1/4096 microsecond, therefore, we have to divide
    the remainder with 4096 to get the microseconds.
    
    Signed-off-by: Christian Borntraeger <borntraeger@de.ibm.com>
    Signed-off-by: Martin Schwidefsky <schwidefsky@de.ibm.com>

commit e2e5a0f2b100a5204d27def8bbf73333d1710be2
Author: Peter Oberparleiter <peter.oberparleiter@de.ibm.com>
Date:   Thu Feb 19 15:18:59 2009 +0100

    [S390] sclp: handle empty event buffers
    
    Handle a malformed hardware response which some versions of the
    Support Element (SE) may present during SE restart and which otherwise
    would result in an endless loop in function sclp_dispatch_evbufs.
    
    Signed-off-by: Peter Oberparleiter <peter.oberparleiter@de.ibm.com>
    Signed-off-by: Martin Schwidefsky <schwidefsky@de.ibm.com>

commit 41f3103fcfffff096c34f5267d7c9a26b44d89d3
Author: Russell King <rmk@dyn-67.arm.linux.org.uk>
Date:   Thu Feb 19 13:25:16 2009 +0000

    [ARM] omap: fix clock reparenting in omap2_clk_set_parent()
    
    When changing the parent of a clock, it is necessary to keep the
    clock use counts balanced otherwise things the parent state will
    get corrupted.  Since we already disable and re-enable the clock,
    we might as well use the recursive versions instead.
    
    Signed-off-by: Russell King <rmk+kernel@arm.linux.org.uk>

commit e432472db2ca42366240c32c38dc36de424ac7cd
Merge: e6845d9... 3b03cc5...
Author: Takashi Iwai <tiwai@suse.de>
Date:   Thu Feb 19 13:58:05 2009 +0100

    Merge branch 'fix/usb-audio' into for-linus

commit e6845d9101c5ad2b132473d515e77d74415f004b
Merge: 379752f... 6ce6c47...
Author: Takashi Iwai <tiwai@suse.de>
Date:   Thu Feb 19 13:58:01 2009 +0100

    Merge branch 'fix/misc' into for-linus

commit 379752fdf8d2e2be2e7da84300bbf73e4f78c36f
Merge: d2f8d7e... d14a7e0...
Author: Takashi Iwai <tiwai@suse.de>
Date:   Thu Feb 19 13:57:52 2009 +0100

    Merge branch 'fix/hda' into for-linus

commit 22eb36f49e24e922ca6594a99157a3fcb92d3824
Author: Roel Kluin <roel.kluin@gmail.com>
Date:   Thu Feb 19 11:57:46 2009 +0100

    [ARM] 5403/1: pxa25x_ep_fifo_flush() *ep->reg_udccs always set to 0
    
    *ep->reg_udccs is always set to 0.
    
    Signed-off-by: Roel Kluin <roel.kluin@gmail.com>
    Acked-by: Eric Miao <eric.miao@marvell.com>
    Signed-off-by: Russell King <rmk+kernel@arm.linux.org.uk>

commit 3fd9825c42c784a59b3b90bdf073f49d4bb42a8d
Author: Nicolas Pitre <nico@cam.org>
Date:   Wed Feb 18 22:29:22 2009 +0100

    [ARM] 5402/1: fix a case of wrap-around in sanity_check_meminfo()
    
    In the non highmem case, if two memory banks of 1GB each are provided,
    the second bank would evade suppression since its virtual base would
    be 0.  Fix this by disallowing any memory bank which virtual base
    address is found to be lower than PAGE_OFFSET.
    
    Reported-by: Lennert Buytenhek <buytenh@marvell.com>
    
    Signed-off-by: Nicolas Pitre <nico@marvell.com>
    Signed-off-by: Russell King <rmk+kernel@arm.linux.org.uk>

commit ed4a2f374d71770796789ed559c35a36bab82f1a
Merge: 5b058bc... 4b3e3d2...
Author: Ingo Molnar <mingo@elte.hu>
Date:   Thu Feb 19 10:16:45 2009 +0100

    Merge branch 'tip/tracing/urgent' of git://git.kernel.org/pub/scm/linux/kernel/git/rostedt/linux-2.6-trace into tracing/urgent

commit 6ce6c473a7fd742fdb0db95841e2c4c6b37337c5
Author: Clemens Ladisch <clemens@ladisch.de>
Date:   Tue Feb 17 09:50:30 2009 +0100

    sound: virtuoso: revert "do not overwrite EEPROM on Xonar D2/D2X"
    
    This reverts commit 7e86c0e6850504ec9516b953f316a47277825e33 ("do not
    overwrite EEPROM on Xonar D2/D2X") because it did not actually help with
    the problem.
    
    More user reports show that the overwriting of the EEPROM is not
    triggered by using this driver but by installing Linux, and that the
    installation of any other operating system (even one without any CMI8788
    driver) has the same effect.  In other words, the presence of this
    driver does not have any effect on the occurrence of the error.  (So
    far, the available evidence seems to point to a BIOS bug.)
    
    Furthermore, it turns out that the EEPROM chip is protected against
    stray write commands by the command format and by requiring a separate
    write-enable command, so the error scenario in the previous commit (that
    SPI writes can be misinterpreted as an EEPROM write command) is not even
    theoretically possible.
    
    The mixer control that was removed as a consequence of the previous
    commit can only be partially emulated in userspace, which also means it
    cannot be seen be the in-kernel OSS API emulation, so it is better to
    revert that change.
    
    Signed-off-by: Clemens Ladisch <clemens@ladisch.de>
    Cc: <stable@kernel.org>
    Signed-off-by: Takashi Iwai <tiwai@suse.de>

commit 4b3e3d228429c75d398f1aa24532e468d3220c49
Author: Steven Rostedt <srostedt@redhat.com>
Date:   Wed Feb 18 22:50:01 2009 -0500

    tracing: limit the number of loops the ring buffer self test can make
    
    Impact: prevent deadlock if ring buffer gets corrupted
    
    This patch adds a paranoid check to make sure the ring buffer consumer
    does not go into an infinite loop. Since the ring buffer has been set
    to read only, the consumer should not loop for more than the ring buffer
    size. A check is added to make sure the consumer does not loop more than
    the ring buffer size.
    
    Signed-off-by: Steven Rostedt <srostedt@redhat.com>

commit 4d7a077c0c7bfdba04cf0aa0b79053cf4ebaacf8
Author: Steven Rostedt <srostedt@redhat.com>
Date:   Wed Feb 18 22:06:18 2009 -0500

    tracing: have function trace select kallsyms
    
    Impact: fix output of function tracer to be useful
    
    The function tracer is pretty useless if KALLSYMS is not configured.
    Unless you are good at reading hex values, the function tracer should
    select the KALLSYMS configuration.
    
    Also, the dynamic function tracer will fail its self test if KALLSYMS
    is not selected.
    
    Signed-off-by: Steven Rostedt <srostedt@redhat.com>

commit 0c5119c1e655e0719a69601b1049acdd5ec1c125
Author: Steven Rostedt <srostedt@redhat.com>
Date:   Wed Feb 18 18:33:57 2009 -0500

    tracing: disable tracing while testing ring buffer
    
    Impact: fix to prevent hard lockup on self tests
    
    If one of the tracers are broken and is constantly filling the ring
    buffer while the test of the ring buffer is running, it will hang
    the box. The reason is that the test is a consumer that will not
    stop till the ring buffer is empty. But if the tracer is broken and
    is constantly producing input to the buffer, this test will never
    end. The result is a lockup of the box.
    
    This happened when KALLSYMS was not defined and the dynamic ftrace
    test constantly filled the ring buffer, because the filter failed
    and all functions were being traced. Something was being called
    that constantly filled the buffer.
    
    Signed-off-by: Steven Rostedt <srostedt@redhat.com>

commit ba95fd47d177d46743ad94055908d22840370e06
Merge: 59af0a0... be987fd...
Author: Linus Torvalds <torvalds@linux-foundation.org>
Date:   Wed Feb 18 18:33:04 2009 -0800

    Merge branch 'for-linus' of git://git.kernel.dk/linux-2.6-block
    
    * 'for-linus' of git://git.kernel.dk/linux-2.6-block:
      block: fix deadlock in blk_abort_queue() for drivers that readd to timeout list
      block: fix booting from partitioned md array
      block: revert part of 18ce3751ccd488c78d3827e9f6bf54e6322676fb
      cciss: PCI power management reset for kexec
      paride/pg.c: xs(): &&/|| confusion
      fs/bio: bio_alloc_bioset: pass right object ptr to mempool_free
      block: fix bad definition of BIO_RW_SYNC
      bsg: Fix sense buffer bug in SG_IO

commit 59af0a0b5848caf38f1bf7013905c3e9cdba4d1d
Merge: f04b30d... 3ebf74b...
Author: Linus Torvalds <torvalds@linux-foundation.org>
Date:   Wed Feb 18 17:55:15 2009 -0800

    Merge branch 'for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/drzeus/mmc
    
    * 'for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/drzeus/mmc:
      omap_hsmmc: Change while(); loops with finite version
      omap_hsmmc: recover from transfer failures
      omap_hsmmc: only MMC1 allows HCTL.SDVS != 1.8V
      omap_hsmmc: card detect irq bugfix
      sdhci: fix led naming
      mmc_test: fix basic read test
      s3cmci: Fix hangup in do_pio_write()
      Revert "sdhci: force high speed capability on some controllers"
      MMC: fix bug - SDHC card capacity not correct

commit f04b30de3c82528f1ab4c58b3dd4c975f5341901
Author: Ingo Molnar <mingo@elte.hu>
Date:   Wed Feb 18 14:48:43 2009 -0800

    inotify: fix GFP_KERNEL related deadlock
    
    Enhanced lockdep coverage of __GFP_NOFS turned up this new lockdep
    assert:
    
    [ 1093.677775]
    [ 1093.677781] =================================
    [ 1093.680031] [ INFO: inconsistent lock state ]
    [ 1093.680031] 2.6.29-rc5-tip-01504-gb49eca1-dirty #1
    [ 1093.680031] ---------------------------------
    [ 1093.680031] inconsistent {RECLAIM_FS-ON-W} -> {IN-RECLAIM_FS-W} usage.
    [ 1093.680031] kswapd0/308 [HC0[0]:SC0[0]:HE1:SE1] takes:
    [ 1093.680031]  (&inode->inotify_mutex){+.+.?.}, at: [<c0205942>] inotify_inode_is_dead+0x20/0x80
    [ 1093.680031] {RECLAIM_FS-ON-W} state was registered at:
    [ 1093.680031]   [<c01696b9>] mark_held_locks+0x43/0x5b
    [ 1093.680031]   [<c016baa4>] lockdep_trace_alloc+0x6c/0x6e
    [ 1093.680031]   [<c01cf8b0>] kmem_cache_alloc+0x20/0x150
    [ 1093.680031]   [<c040d0ec>] idr_pre_get+0x27/0x6c
    [ 1093.680031]   [<c02056e3>] inotify_handle_get_wd+0x25/0xad
    [ 1093.680031]   [<c0205f43>] inotify_add_watch+0x7a/0x129
    [ 1093.680031]   [<c020679e>] sys_inotify_add_watch+0x20f/0x250
    [ 1093.680031]   [<c010389e>] sysenter_do_call+0x12/0x35
    [ 1093.680031]   [<ffffffff>] 0xffffffff
    [ 1093.680031] irq event stamp: 60417
    [ 1093.680031] hardirqs last  enabled at (60417): [<c018d5f5>] call_rcu+0x53/0x59
    [ 1093.680031] hardirqs last disabled at (60416): [<c018d5b9>] call_rcu+0x17/0x59
    [ 1093.680031] softirqs last  enabled at (59656): [<c0146229>] __do_softirq+0x157/0x16b
    [ 1093.680031] softirqs last disabled at (59651): [<c0106293>] do_softirq+0x74/0x15d
    [ 1093.680031]
    [ 1093.680031] other info that might help us debug this:
    [ 1093.680031] 2 locks held by kswapd0/308:
    [ 1093.680031]  #0:  (shrinker_rwsem){++++..}, at: [<c01b0502>] shrink_slab+0x36/0x189
    [ 1093.680031]  #1:  (&type->s_umount_key#4){+++++.}, at: [<c01e6d77>] shrink_dcache_memory+0x110/0x1fb
    [ 1093.680031]
    [ 1093.680031] stack backtrace:
    [ 1093.680031] Pid: 308, comm: kswapd0 Not tainted 2.6.29-rc5-tip-01504-gb49eca1-dirty #1
    [ 1093.680031] Call Trace:
    [ 1093.680031]  [<c016947a>] valid_state+0x12a/0x13d
    [ 1093.680031]  [<c016954e>] mark_lock+0xc1/0x1e9
    [ 1093.680031]  [<c016a5b4>] ? check_usage_forwards+0x0/0x3f
    [ 1093.680031]  [<c016ab74>] __lock_acquire+0x2c6/0xac8
    [ 1093.680031]  [<c01688d9>] ? register_lock_class+0x17/0x228
    [ 1093.680031]  [<c016b3d3>] lock_acquire+0x5d/0x7a
    [ 1093.680031]  [<c0205942>] ? inotify_inode_is_dead+0x20/0x80
    [ 1093.680031]  [<c08824c4>] __mutex_lock_common+0x3a/0x4cb
    [ 1093.680031]  [<c0205942>] ? inotify_inode_is_dead+0x20/0x80
    [ 1093.680031]  [<c08829ed>] mutex_lock_nested+0x2e/0x36
    [ 1093.680031]  [<c0205942>] ? inotify_inode_is_dead+0x20/0x80
    [ 1093.680031]  [<c0205942>] inotify_inode_is_dead+0x20/0x80
    [ 1093.680031]  [<c01e6672>] dentry_iput+0x90/0xc2
    [ 1093.680031]  [<c01e67a3>] d_kill+0x21/0x45
    [ 1093.680031]  [<c01e6a46>] __shrink_dcache_sb+0x27f/0x355
    [ 1093.680031]  [<c01e6dc5>] shrink_dcache_memory+0x15e/0x1fb
    [ 1093.680031]  [<c01b05ed>] shrink_slab+0x121/0x189
    [ 1093.680031]  [<c01b0d12>] kswapd+0x39f/0x561
    [ 1093.680031]  [<c01ae499>] ? isolate_pages_global+0x0/0x233
    [ 1093.680031]  [<c0157eae>] ? autoremove_wake_function+0x0/0x43
    [ 1093.680031]  [<c01b0973>] ? kswapd+0x0/0x561
    [ 1093.680031]  [<c0157daf>] kthread+0x41/0x82
    [ 1093.680031]  [<c0157d6e>] ? kthread+0x0/0x82
    [ 1093.680031]  [<c01043ab>] kernel_thread_helper+0x7/0x10
    
    inotify_handle_get_wd() does idr_pre_get() which does a
    kmem_cache_alloc() without __GFP_FS - and is hence deadlockable under
    extreme MM pressure.
    
    Signed-off-by: Ingo Molnar <mingo@elte.hu>
    Acked-by: Peter Zijlstra <a.p.zijlstra@chello.nl>
    Cc: MinChan Kim <minchan.kim@gmail.com>
    Cc: Nick Piggin <nickpiggin@yahoo.com.au>
    Signed-off-by: Andrew Morton <akpm@linux-foundation.org>
    Signed-off-by: Linus Torvalds <torvalds@linux-foundation.org>

commit be50344e604f956891fc0013f1ba78823a758124
Author: Michael Buesch <mb@bu3sch.de>
Date:   Wed Feb 18 14:48:41 2009 -0800

    spi-gpio: sanitize MISO bitvalue
    
    gpio_get_value() returns 0 or nonzero, but getmiso() expects 0 or 1.
    Sanitize the value to a 0/1 boolean.
    
    Signed-off-by: Michael Buesch <mb@bu3sch.de>
    Acked-by: David Brownell <dbrownell@users.sourceforge.net>
    Signed-off-by: Andrew Morton <akpm@linux-foundation.org>
    Signed-off-by: Linus Torvalds <torvalds@linux-foundation.org>

commit 97bef7dd05563807539122c488a5dd93ed327722
Author: Bernhard Walle <bernhard.walle@gmx.de>
Date:   Wed Feb 18 14:48:40 2009 -0800

    Bernhard has moved
    
    Since I don't work for SUSE any more and the bwalle@suse.de address is
    invalid, correct it in the copyright headers and documentation.
    
    Signed-off-by: Bernhard Walle <bernhard.walle@gmx.de>
    Cc: Greg KH <greg@kroah.com>
    Signed-off-by: Andrew Morton <akpm@linux-foundation.org>
    Signed-off-by: Linus Torvalds <torvalds@linux-foundation.org>

commit 310d8c93f9f07499cd7ca82d7997774a89de00e7
Author: Randy Dunlap <randy.dunlap@oracle.com>
Date:   Wed Feb 18 14:48:39 2009 -0800

    x86: dell-laptop: depends on POWER_SUPPLY
    
    Build breaks when DELL_LAPTOP=y and POWER_SUPPLY=m.  DELL_LAPTOP needs to
    depend on POWER_SUPPLY.
    
    dell-laptop.c:(.text+0x1ef3c4): undefined reference to `power_supply_is_system_supplied'
    dell-laptop.c:(.text+0x1ef45e): undefined reference to `power_supply_is_system_supplied'
    
    Signed-off-by: Randy Dunlap <randy.dunlap@oracle.com>
    Cc: Matthew Garrett <mjg59@srcf.ucam.org>
    Cc: Ingo Molnar <mingo@elte.hu>
    Cc: Thomas Gleixner <tglx@linutronix.de>
    Cc: "H. Peter Anvin" <hpa@zytor.com>
    Cc: Len Brown <lenb@kernel.org>
    Signed-off-by: Andrew Morton <akpm@linux-foundation.org>
    Signed-off-by: Linus Torvalds <torvalds@linux-foundation.org>

commit 2db69a9340da12a4db44edb7506dd68799aeff55
Author: Bill Nottingham <notting@redhat.com>
Date:   Wed Feb 18 14:48:39 2009 -0800

    vt: Declare PIO_CMAP/GIO_CMAP as compatbile ioctls.
    
    Otherwise, these don't work when called from 32-bit userspace on 64-bit
    kernels.
    
    Cc: Jiri Kosina <jkosina@suse.cz>
    Cc: Alan Cox <alan@lxorguk.ukuu.org.uk>
    Cc: <stable@kernel.org>		[2.6.25.x, 2.6.26.x, 2.6.27.x, 2.6.28.x]
    Signed-off-by: Andrew Morton <akpm@linux-foundation.org>
    Signed-off-by: Linus Torvalds <torvalds@linux-foundation.org>

commit a1a5c3b9237662f326cc730e167e7524b5d05a36
Author: Krzysztof Helt <krzysztof.h1@wp.pl>
Date:   Wed Feb 18 14:48:38 2009 -0800

    fbdev/drm: fix Kconfig submenu mess in "Graphics support"
    
    Submenus of the graphics support "Support for frame buffer devices" and
    "Direct Rendering Manager (XFree86 4.1.0 and higher DRI support)" are
    broken in half after latest changes for Intel 915 mode setting support.
    
    The DRM subsection is broken because one option is put outside the choice
    section it depends on.
    
    The frame buffers part is broken then due to circular dependency.  Fix
    this by make Intel frame buffers depend on CONFIG_INTEL_AGP.
    
    Kconfigs are broken by d2f59357700487a8b944f4f7777d1e97cf5ea2ed
    ("drm/i915: select framebuffer support automatically").
    
    This is probably not only way to fix this.
    
    Signed-off-by: Krzysztof Helt <krzysztof.h1@wp.pl>
    Cc: Ingo Molnar <mingo@elte.hu>
    Cc: Dave Airlie <airlied@linux.ie>
    Signed-off-by: Andrew Morton <akpm@linux-foundation.org>
    Signed-off-by: Linus Torvalds <torvalds@linux-foundation.org>

commit 5a74db06cc8d36a325913aa4968ae169f997a466
Author: Philippe De Muyter <phdm@macqel.be>
Date:   Wed Feb 18 14:48:36 2009 -0800

    floppy: request and release only the ports we actually use
    
    The floppy driver requests an I/O port it doesn't need, and sometimes this
    causes a conflict with a motherboard device reported by PNPBIOS.
    
    This patch makes the floppy driver request and release only the ports it
    actually uses.  It also factors out the request/release stuff and the
    io-ports list so they're all in one place now.
    
    The current floppy driver uses only these ports:
    
        0x3f2 (FD_DOR)
        0x3f4 (FD_STATUS)
        0x3f5 (FD_DATA)
        0x3f7 (FD_DCR/FD_DIR)
    
    but it requests 0x3f2-0x3f5 and 0x3f7, which includes the unused port
    0x3f3.
    
    Some BIOSes report 0x3f3 as a motherboard resource.  The PNP system driver
    reserves that, which causes a conflict when the floppy driver requests
    0x3f2-0x3f5 later.
    
    Philippe reported that this conflict broke the floppy driver between
    2.6.11 and 2.6.22.  His PNPBIOS reports these devices:
    
        $ cat 00:07/id 00:07/resources	# motherboard device
        PNP0c02
        state = active
        io 0x80-0x80
        io 0x10-0x1f
        io 0x22-0x3f
        io 0x44-0x5f
        io 0x90-0x9f
        io 0xa2-0xbf
        io 0x3f0-0x3f1
        io 0x3f3-0x3f3
    
        $ cat 00:03/id 00:03/resources	# floppy device
        PNP0700
        state = active
        io 0x3f4-0x3f5
        io 0x3f2-0x3f2
    
    Reference:
        http://lkml.org/lkml/2009/1/31/162
    
    Signed-off-by: Bjorn Helgaas <bjorn.helgaas@hp.com>
    Signed-off-by: Philippe De Muyter <phdm@macqel.be>
    Reported-by: Philippe De Muyter <phdm@macqel.be>
    Tested-by: Philippe De Muyter <phdm@macqel.be>
    Cc: Adam M Belay <abelay@mit.edu>
    Cc: Robert Hancock <hancockrwd@gmail.com>
    Signed-off-by: Andrew Morton <akpm@linux-foundation.org>
    Signed-off-by: Linus Torvalds <torvalds@linux-foundation.org>

commit ffa7525c13eb3db0fd19a3e1cffe2ce6f561f5f3
Author: Adam Lackorzynski <adam@os.inf.tu-dresden.de>
Date:   Wed Feb 18 14:48:34 2009 -0800

    jsm: additional device support
    
    I have a Digi Neo 8 PCI card (114f:00b1) Serial controller: Digi
    International Digi Neo 8 (rev 05)
    
    that works with the jsm driver after using the following patch.
    
    Signed-off-by: Adam Lackorzynski <adam@os.inf.tu-dresden.de>
    Cc: Scott H Kilau <Scott_Kilau@digi.com>
    Cc: Wendy Xiong <wendyx@us.ibm.com>
    Acked-by: Alan Cox <alan@lxorguk.ukuu.org.uk>
    Signed-off-by: Andrew Morton <akpm@linux-foundation.org>
    Signed-off-by: Linus Torvalds <torvalds@linux-foundation.org>

commit cc2559bccc72767cb446f79b071d96c30c26439b
Author: KAMEZAWA Hiroyuki <kamezawa.hiroyu@jp.fujitsu.com>
Date:   Wed Feb 18 14:48:33 2009 -0800

    mm: fix memmap init for handling memory hole
    
    Now, early_pfn_in_nid(PFN, NID) may returns false if PFN is a hole.
    and memmap initialization was not done. This was a trouble for
    sparc boot.
    
    To fix this, the PFN should be initialized and marked as PG_reserved.
    This patch changes early_pfn_in_nid() return true if PFN is a hole.
    
    Signed-off-by: KAMEZAWA Hiroyuki <kamezawa.hiroyu@jp.fujitsu.com>
    Reported-by: David Miller <davem@davemlloft.net>
    Tested-by: KOSAKI Motohiro <kosaki.motohiro@jp.fujitsu.com>
    Cc: Mel Gorman <mel@csn.ul.ie>
    Cc: Heiko Carstens <heiko.carstens@de.ibm.com>
    Cc: <stable@kernel.org>		[2.6.25.x, 2.6.26.x, 2.6.27.x, 2.6.28.x]
    Signed-off-by: Andrew Morton <akpm@linux-foundation.org>
    Signed-off-by: Linus Torvalds <torvalds@linux-foundation.org>

commit f2dbcfa738368c8a40d4a5f0b65dc9879577cb21
Author: KAMEZAWA Hiroyuki <kamezawa.hiroyu@jp.fujitsu.com>
Date:   Wed Feb 18 14:48:32 2009 -0800

    mm: clean up for early_pfn_to_nid()
    
    What's happening is that the assertion in mm/page_alloc.c:move_freepages()
    is triggering:
    
    	BUG_ON(page_zone(start_page) != page_zone(end_page));
    
    Once I knew this is what was happening, I added some annotations:
    
    	if (unlikely(page_zone(start_page) != page_zone(end_page))) {
    		printk(KERN_ERR "move_freepages: Bogus zones: "
    		       "start_page[%p] end_page[%p] zone[%p]\n",
    		       start_page, end_page, zone);
    		printk(KERN_ERR "move_freepages: "
    		       "start_zone[%p] end_zone[%p]\n",
    		       page_zone(start_page), page_zone(end_page));
    		printk(KERN_ERR "move_freepages: "
    		       "start_pfn[0x%lx] end_pfn[0x%lx]\n",
    		       page_to_pfn(start_page), page_to_pfn(end_page));
    		printk(KERN_ERR "move_freepages: "
    		       "start_nid[%d] end_nid[%d]\n",
    		       page_to_nid(start_page), page_to_nid(end_page));
     ...
    
    And here's what I got:
    
    	move_freepages: Bogus zones: start_page[2207d0000] end_page[2207dffc0] zone[fffff8103effcb00]
    	move_freepages: start_zone[fffff8103effcb00] end_zone[fffff8003fffeb00]
    	move_freepages: start_pfn[0x81f600] end_pfn[0x81f7ff]
    	move_freepages: start_nid[1] end_nid[0]
    
    My memory layout on this box is:
    
    [    0.000000] Zone PFN ranges:
    [    0.000000]   Normal   0x00000000 -> 0x0081ff5d
    [    0.000000] Movable zone start PFN for each node
    [    0.000000] early_node_map[8] active PFN ranges
    [    0.000000]     0: 0x00000000 -> 0x00020000
    [    0.000000]     1: 0x00800000 -> 0x0081f7ff
    [    0.000000]     1: 0x0081f800 -> 0x0081fe50
    [    0.000000]     1: 0x0081fed1 -> 0x0081fed8
    [    0.000000]     1: 0x0081feda -> 0x0081fedb
    [    0.000000]     1: 0x0081fedd -> 0x0081fee5
    [    0.000000]     1: 0x0081fee7 -> 0x0081ff51
    [    0.000000]     1: 0x0081ff59 -> 0x0081ff5d
    
    So it's a block move in that 0x81f600-->0x81f7ff region which triggers
    the problem.
    
    This patch:
    
    Declaration of early_pfn_to_nid() is scattered over per-arch include
    files, and it seems it's complicated to know when the declaration is used.
     I think it makes fix-for-memmap-init not easy.
    
    This patch moves all declaration to include/linux/mm.h
    
    After this,
      if !CONFIG_NODES_POPULATES_NODE_MAP && !CONFIG_HAVE_ARCH_EARLY_PFN_TO_NID
         -> Use static definition in include/linux/mm.h
      else if !CONFIG_HAVE_ARCH_EARLY_PFN_TO_NID
         -> Use generic definition in mm/page_alloc.c
      else
         -> per-arch back end function will be called.
    
    Signed-off-by: KAMEZAWA Hiroyuki <kamezawa.hiroyu@jp.fujitsu.com>
    Tested-by: KOSAKI Motohiro <kosaki.motohiro@jp.fujitsu.com>
    Reported-by: David Miller <davem@davemlloft.net>
    Cc: Mel Gorman <mel@csn.ul.ie>
    Cc: Heiko Carstens <heiko.carstens@de.ibm.com>
    Cc: <stable@kernel.org>		[2.6.25.x, 2.6.26.x, 2.6.27.x, 2.6.28.x]
    Signed-off-by: Andrew Morton <akpm@linux-foundation.org>
    Signed-off-by: Linus Torvalds <torvalds@linux-foundation.org>

commit ada723dcd681e2dffd7d73345cc8fda0eb0df9bd
Author: Peter Zijlstra <peterz@infradead.org>
Date:   Wed Feb 18 14:48:30 2009 -0800

    fs/super.c: add lockdep annotation to s_umount
    
    Li Zefan said:
    
    Thread 1:
      for ((; ;))
      {
          mount -t cpuset xxx /mnt > /dev/null 2>&1
          cat /mnt/cpus > /dev/null 2>&1
          umount /mnt > /dev/null 2>&1
      }
    
    Thread 2:
      for ((; ;))
      {
          mount -t cpuset xxx /mnt > /dev/null 2>&1
          umount /mnt > /dev/null 2>&1
      }
    
    (Note: It is irrelevant which cgroup subsys is used.)
    
    After a while a lockdep warning showed up:
    
    =============================================
    [ INFO: possible recursive locking detected ]
    2.6.28 #479
    ---------------------------------------------
    mount/13554 is trying to acquire lock:
     (&type->s_umount_key#19){--..}, at: [<c049d888>] sget+0x5e/0x321
    
    but task is already holding lock:
     (&type->s_umount_key#19){--..}, at: [<c049da0c>] sget+0x1e2/0x321
    
    other info that might help us debug this:
    1 lock held by mount/13554:
     #0:  (&type->s_umount_key#19){--..}, at: [<c049da0c>] sget+0x1e2/0x321
    
    stack backtrace:
    Pid: 13554, comm: mount Not tainted 2.6.28-mc #479
    Call Trace:
     [<c044ad2e>] validate_chain+0x4c6/0xbbd
     [<c044ba9b>] __lock_acquire+0x676/0x700
     [<c044bb82>] lock_acquire+0x5d/0x7a
     [<c049d888>] ? sget+0x5e/0x321
     [<c061b9b8>] down_write+0x34/0x50
     [<c049d888>] ? sget+0x5e/0x321
     [<c049d888>] sget+0x5e/0x321
     [<c045a2e7>] ? cgroup_set_super+0x0/0x3e
     [<c045959f>] ? cgroup_test_super+0x0/0x2f
     [<c045bcea>] cgroup_get_sb+0x98/0x2e7
     [<c045cfb6>] cpuset_get_sb+0x4a/0x5f
     [<c049dfa4>] vfs_kern_mount+0x40/0x7b
     [<c049e02d>] do_kern_mount+0x37/0xbf
     [<c04af4a0>] do_mount+0x5c3/0x61a
     [<c04addd2>] ? copy_mount_options+0x2c/0x111
     [<c04af560>] sys_mount+0x69/0xa0
     [<c0403251>] sysenter_do_call+0x12/0x31
    
    The cause is after alloc_super() and then retry, an old entry in list
    fs_supers is found, so grab_super(old) is called, but both functions hold
    s_umount lock:
    
    struct super_block *sget(...)
    {
    	...
    retry:
    	spin_lock(&sb_lock);
    	if (test) {
    		list_for_each_entry(old, &type->fs_supers, s_instances) {
    			if (!test(old, data))
    				continue;
    			if (!grab_super(old))  <--- 2nd: down_write(&old->s_umount);
    				goto retry;
    			if (s)
    				destroy_super(s);
    			return old;
    		}
    	}
    	if (!s) {
    		spin_unlock(&sb_lock);
    		s = alloc_super(type);   <--- 1th: down_write(&s->s_umount)
    		if (!s)
    			return ERR_PTR(-ENOMEM);
    		goto retry;
    	}
    	...
    }
    
    It seems like a false positive, and seems like VFS but not cgroup needs to
    be fixed.
    
    Peter said:
    
    We can simply put the new s_umount instance in a but lockdep doesn't
    particularly cares about subclass order.
    
    If there's any issue with the callers of sget() assuming the s_umount lock
    being of sublcass 0, then there is another annotation we can use to fix
    that, but lets not bother with that if this is sufficient.
    
    Addresses http://bugzilla.kernel.org/show_bug.cgi?id=12673
    
    Signed-off-by: Peter Zijlstra <a.p.zijlstra@chello.nl>
    Tested-by: Li Zefan <lizf@cn.fujitsu.com>
    Reported-by: Li Zefan <lizf@cn.fujitsu.com>
    Cc: Al Viro <viro@zeniv.linux.org.uk>
    Cc: Paul Menage <menage@google.com>
    Cc: Arjan van de Ven <arjan@infradead.org>
    Signed-off-by: Andrew Morton <akpm@linux-foundation.org>
    Signed-off-by: Linus Torvalds <torvalds@linux-foundation.org>

commit 27c0c8e511fa9e2389503926840fac606d90a049
Author: Atsushi Nemoto <anemo@mba.ocn.ne.jp>
Date:   Wed Feb 18 14:48:28 2009 -0800

    atmel_serial might lose modem status change
    
    I found a problem of handling of modem status of atmel_serial driver.
    
    With the commit 1ecc26 ("atmel_serial: split the interrupt handler"),
    handling of modem status signal was splitted into two parts.  The
    atmel_tasklet_func() compares new status with irq_status_prev, but
    irq_status_prev is not correct if signal status was changed while the port
    is closed.
    
    Here is a sequence to cause problem:
    
    1. Remote side sets CTS (and DSR).
    2. Local side close the port.
    3. Local side clears RTS and DTR.
    4. Remote side clears CTS and DSR.
    5. Local side reopen the port.  hw_stopped becomes 1.
    6. Local side sets RTS and DTR.
    7. Remote side sets CTS and DSR.
    
    Then CTS change interrupt can be received, but since CTS bit in
    irq_status_prev and new status is same, uart_handle_cts_change() will not
    be called (so hw_stopped will not be cleared, i.e.  cannot send any data).
    
    I suppose irq_status_prev should be initialized at somewhere in open
    sequence.
    
    Itai Levi pointed out that we need to initialize atmel_port->irq_status
    as well here. His analysis is as follows:
    
    > Regarding the second part of the patch (which resets irq_status_prev),
    > it turns out that both versions of the patch (mine and Atsushi's)
    > still leave enough room for faulty behavior when opening the port.
    >
    > This is because we are not resetting both irq_status_prev and
    > irq_status in atmel_startup() to CSR, which leads faulty behavior in
    > the following sequences:
    >
    > First case:
    > 1. closing the port while CTS line = 1 (TX not allowed)
    > 2. setting CTS line = 0 (TX allowed)
    > 3. opening the port
    > 4. transmitting one char
    > 5. Cannot transmit more chars, although CTS line is 0
    >
    > Second case:
    > 1. closing the port while CTS line = 0 (TX allowed)
    > 2. setting CTS line = 1 (TX not allowed)
    > 3. opening the port
    > 4. receiving some chars
    > 5. Now we can transmit, although CTS line is 1
    >
    > This reason for this is that the tasklet is scheduled as a result of
    > TX or RX interrupts (not a status change!), in steps 4 above. Inside
    > the tasklet, the atmel_port->irq_status (which holds the value from
    > the previous session) is compared to atmel_port->irq_status_prev.
    > Hence, a status-change of the CTS line is faultily detected.
    >
    > Both cases were verified on 9260 hardware.
    
    [haavard.skinnemoen@atmel.com: folded with patch from Itai Levi]
    Signed-off-by: Atsushi Nemoto <anemo@mba.ocn.ne.jp>
    Signed-off-by: Haavard Skinnemoen <haavard.skinnemoen@atmel.com>
    Cc: Remy Bohmer <linux@bohmer.net>
    Cc: Marc Pignat <marc.pignat@hevs.ch>
    Cc: Itai Levi <itai.levi.devel@gmail.com>
    Cc: Alan Cox <alan@lxorguk.ukuu.org.uk>
    Signed-off-by: Andrew Morton <akpm@linux-foundation.org>
    Signed-off-by: Linus Torvalds <torvalds@linux-foundation.org>

commit 287d859222e0adbc67666a6154aaf42d7d5bbb54
Author: Dan Williams <dan.j.williams@intel.com>
Date:   Wed Feb 18 14:48:26 2009 -0800

    atmel-mci: fix initialization of dma slave data
    
    The conversion of atmel-mci to dma_request_channel missed the
    initialization of the channel dma_slave information.  The filter_fn passed
    to dma_request_channel is responsible for initializing the channel's
    private data.  This implementation has the additional benefit of enabling
    a generic client-channel data passing mechanism.
    
    Reviewed-by: Atsushi Nemoto <anemo@mba.ocn.ne.jp>
    Signed-off-by: Dan Williams <dan.j.williams@intel.com>
    Acked-by: Haavard Skinnemoen <hskinnemoen@atmel.com>
    Signed-off-by: Andrew Morton <akpm@linux-foundation.org>
    Signed-off-by: Linus Torvalds <torvalds@linux-foundation.org>

commit 9ccf3b5e8409927835c4d38cb2f380c9e4349e76
Author: Giuseppe Bilotta <giuseppe.bilotta@gmail.com>
Date:   Wed Feb 18 14:48:25 2009 -0800

    lis3lv02d: add axes knowledge of HP Pavilion dv5 models
    
    Add support for HP Pavilion dv5.
    
    Since Intel-based models have an inverted x axis, while AMD-based models
    have an inverted y axis, we introduce a new macro that special-cases axis
    orientation based on two DMI entries: HP dv5 axis configuration is then
    based on both the PRODUCT and BOARD name.
    
    Signed-off-by: Giuseppe Bilotta <giuseppe.bilotta@gmail.com>
    Cc: Eric Piel <Eric.Piel@tremplin-utc.net>
    Cc: Pavel Machek <pavel@suse.cz>
    Tested-by: Palatis Tseng <palatis@gmail.com>
    Signed-off-by: Andrew Morton <akpm@linux-foundation.org>
    Signed-off-by: Linus Torvalds <torvalds@linux-foundation.org>

commit 137bad32342a613586347341d1307c2b9812ef44
Author: Giuseppe Bilotta <giuseppe.bilotta@gmail.com>
Date:   Wed Feb 18 14:48:24 2009 -0800

    lis3lv02d: support both one- and two-byte sensors
    
    Sensors responding with 0x3B to WHO_AM_I only have one data register per
    direction, thus returning a signed byte from the position which is
    occupied by the MSB in sensors responding with 0x3A.
    
    Since multiple sensors share the reply to WHO_AM_I, we rename the defines
    to better indicate what they identify (family of single and double
    precision sensors).
    
    We support both kind of sensors by checking for the sensor type on init
    and defining appropriate data-access routines and sensor limits (for the
    joystick) depending on what we find.
    
    [akpm@linux-foundation.org: coding-style fixes]
    Signed-off-by: Giuseppe Bilotta <giuseppe.bilotta@gmail.com>
    Acked-by: Eric Piel <Eric.Piel@tremplin-utc.net>
    Cc: Pavel Machek <pavel@suse.cz>
    Signed-off-by: Andrew Morton <akpm@linux-foundation.org>
    Signed-off-by: Linus Torvalds <torvalds@linux-foundation.org>

commit ef2cfc790bf5f0ff189b01eabc0f4feb5e8524df
Author: Pavel Machek <pavel@suse.cz>
Date:   Wed Feb 18 14:48:23 2009 -0800

    hp accelerometer: add freefall detection
    
    This adds freefall handling to hp_accel driver.  According to HP, it
    should just work, without us having to set the chip up by hand.
    
    hpfall.c is example .c program that parks the disk when accelerometer
    detects free fall.  It should work; for now, it uses fixed 20seconds
    protection period.
    
    Signed-off-by: Pavel Machek <pavel@suse.cz>
    Cc: Thomas Renninger <trenn@suse.de>
    Cc: Éric Piel <eric.piel@tremplin-utc.net>
    Signed-off-by: Andrew Morton <akpm@linux-foundation.org>
    Signed-off-by: Linus Torvalds <torvalds@linux-foundation.org>

commit 3a5093ee6728c8cbe9c039e685fc1fca8f965048
Author: Alexey Dobriyan <adobriyan@gmail.com>
Date:   Wed Feb 18 14:48:22 2009 -0800

    eeepc: should depend on INPUT
    
    Otherwise with INPUT=m, EEEPC_LAPTOP=y one gets
    
    drivers/built-in.o: In function `input_sync':
    eeepc-laptop.c:(.text+0x18ce51): undefined reference to `input_event'
    drivers/built-in.o: In function `input_report_key':
    eeepc-laptop.c:(.text+0x18ce73): undefined reference to `input_event'
    drivers/built-in.o: In function `eeepc_hotk_check':
    eeepc-laptop.c:(.text+0x18d05f): undefined reference to `input_allocate_device'
    eeepc-laptop.c:(.text+0x18d10f): undefined reference to `input_register_device'
    eeepc-laptop.c:(.text+0x18d131): undefined reference to `input_free_device'
    drivers/built-in.o: In function `eeepc_backlight_exit':
    eeepc-laptop.c:(.text+0x18d546): undefined reference to `input_unregister_device'
    
    Signed-off-by: Alexey Dobriyan <adobriyan@gmail.com>
    Cc: Len Brown <lenb@kernel.org>
    Cc: Ingo Molnar <mingo@elte.hu>
    Signed-off-by: Andrew Morton <akpm@linux-foundation.org>
    Signed-off-by: Linus Torvalds <torvalds@linux-foundation.org>

commit 42f5e039c3f6512271636928ddc4e7f7a0371672
Author: Rafael J. Wysocki <rjw@sisk.pl>
Date:   Wed Feb 18 14:48:21 2009 -0800

    pm: fix build for CONFIG_PM unset
    
    Compilation of kprobes.c with CONFIG_PM unset is broken due to some broken
    config dependncies.  Fix that.
    
    Signed-off-by: Rafael J. Wysocki <rjw@sisk.pl>
    Reported-by: Ingo Molnar <mingo@elte.hu>
    Tested-by: Masami Hiramatsu <mhiramat@redhat.com>
    Cc: Len Brown <lenb@kernel.org>
    Acked-by: Pavel Machek <pavel@suse.cz>
    Signed-off-by: Andrew Morton <akpm@linux-foundation.org>
    Signed-off-by: Linus Torvalds <torvalds@linux-foundation.org>

commit 67e055d144c5b2acdc1c63811fde031263bf92c5
Author: Li Zefan <lizf@cn.fujitsu.com>
Date:   Wed Feb 18 14:48:20 2009 -0800

    cgroups: fix possible use after free
    
    In cgroup_kill_sb(), root is freed before sb is detached from the list, so
    another sget() may find this sb and call cgroup_test_super(), which will
    access the root that has been freed.
    
    Reported-by: Al Viro <viro@ZenIV.linux.org.uk>
    Signed-off-by: Li Zefan <lizf@cn.fujitsu.com>
    Acked-by: Paul Menage <menage@google.com>
    Signed-off-by: Andrew Morton <akpm@linux-foundation.org>
    Signed-off-by: Linus Torvalds <torvalds@linux-foundation.org>

commit 1cf6e7d83bf334cc5916137862c920a97aabc018
Author: Nick Piggin <npiggin@suse.de>
Date:   Wed Feb 18 14:48:18 2009 -0800

    mm: task dirty accounting fix
    
    YAMAMOTO-san noticed that task_dirty_inc doesn't seem to be called properly for
    cases where set_page_dirty is not used to dirty a page (eg. mark_buffer_dirty).
    
    Additionally, there is some inconsistency about when task_dirty_inc is
    called.  It is used for dirty balancing, however it even gets called for
    __set_page_dirty_no_writeback.
    
    So rather than increment it in a set_page_dirty wrapper, move it down to
    exactly where the dirty page accounting stats are incremented.
    
    Cc: YAMAMOTO Takashi <yamamoto@valinux.co.jp>
    Signed-off-by: Nick Piggin <npiggin@suse.de>
    Acked-by: Peter Zijlstra <a.p.zijlstra@chello.nl>
    Signed-off-by: Andrew Morton <akpm@linux-foundation.org>
    Signed-off-by: Linus Torvalds <torvalds@linux-foundation.org>

commit 610d18f4128ebbd88845d0fc60cce67b49af881e
Author: Davide Libenzi <davidel@xmailserver.org>
Date:   Wed Feb 18 14:48:18 2009 -0800

    timerfd: add flags check
    
    As requested by Michael, add a missing check for valid flags in
    timerfd_settime(), and make it return EINVAL in case some extra bits are
    set.
    
    Michael said:
    If this is to be any use to userland apps that want to check flag
    support (perhaps it is too late already), then the sooner we get it
    into the kernel the better: 2.6.29 would be good; earlier stables as
    well would be even better.
    
    [akpm@linux-foundation.org: remove unused TFD_FLAGS_SET]
    Acked-by: Michael Kerrisk <mtk.manpages@gmail.com>
    Signed-off-by: Davide Libenzi <davidel@xmailserver.org>
    Cc: <stable@kernel.org>		[2.6.27.x, 2.6.28.x]
    Signed-off-by: Andrew Morton <akpm@linux-foundation.org>
    Signed-off-by: Linus Torvalds <torvalds@linux-foundation.org>

commit ef35ce231b3cb2a4b1808e826da263bf37ccb38a
Author: Pavel Machek <pavel@suse.cz>
Date:   Wed Feb 18 14:48:16 2009 -0800

    Pavel has moved
    
    My @suse.cz address will stop working some day, so put working one into
    MAINTAINERS/CREDITS.  It would be cool to get this to 2.6.29...  it should
    not really break anything.
    
    Signed-off-by: Pavel Machek <pavel@ucw.cz>
    Cc: Jiri Kosina <jkosina@suse.cz>
    Signed-off-by: Andrew Morton <akpm@linux-foundation.org>
    Signed-off-by: Linus Torvalds <torvalds@linux-foundation.org>

commit 8f19d472935c83d823fa4cf02bcc0a7b9952db30
Author: Eric Biederman <ebiederm@xmission.com>
Date:   Wed Feb 18 14:48:16 2009 -0800

    seq_file: properly cope with pread
    
    Currently seq_read assumes that the offset passed to it is always the
    offset it passed to user space.  In the case pread this assumption is
    broken and we do the wrong thing when presented with pread.
    
    To solve this I introduce an offset cache inside of struct seq_file so we
    know where our logical file position is.  Then in seq_read if we try to
    read from another offset we reset our data structures and attempt to go to
    the offset user space wanted.
    
    [akpm@linux-foundation.org: restore FMODE_PWRITE]
    [pjt@google.com: seq_open needs its fmode opened up to take advantage of this]
    Signed-off-by: Eric Biederman <ebiederm@xmission.com>
    Cc: Alexey Dobriyan <adobriyan@gmail.com>
    Cc: Al Viro <viro@zeniv.linux.org.uk>
    Cc: Paul Turner <pjt@google.com>
    Cc: <stable@kernel.org>		[2.6.25.x, 2.6.26.x, 2.6.27.x, 2.6.28.x]
    Signed-off-by: Andrew Morton <akpm@linux-foundation.org>
    Signed-off-by: Linus Torvalds <torvalds@linux-foundation.org>

commit 55ec82176eca52e4e0530a82a0eb59160a1a95a1
Author: Paul Turner <pjt@google.com>
Date:   Wed Feb 18 14:48:15 2009 -0800

    vfs: separate FMODE_PREAD/FMODE_PWRITE into separate flags
    
    Separate FMODE_PREAD and FMODE_PWRITE into separate flags to reflect the
    reality that the read and write paths may have independent restrictions.
    
    A git grep verifies that these flags are always cleared together so this
    new behavior will only apply to interfaces that change to clear flags
    individually.
    
    This is required for "seq_file: properly cope with pread", a post-2.6.25
    regression fix.
    
    [akpm@linux-foundation.org: add comment]
    Signed-off-by: Paul Turner <pjt@google.com>
    Cc: Eric Biederman <ebiederm@xmission.com>
    Cc:  Alexey Dobriyan <adobriyan@gmail.com>
    Cc: Al Viro <viro@zeniv.linux.org.uk>
    Cc: <stable@kernel.org>		[2.6.25.x, 2.6.26.x, 2.6.27.x, 2.6.28.x]
    Signed-off-by: Andrew Morton <akpm@linux-foundation.org>
    Signed-off-by: Linus Torvalds <torvalds@linux-foundation.org>

commit b851ee7921fabdd7dfc96ffc4e9609f5062bd12b
Author: Li Zefan <lizf@cn.fujitsu.com>
Date:   Wed Feb 18 14:48:14 2009 -0800

    cgroups: update documentation about css_set hash table
    
    The css_set hash table was introduced in 2.6.26, so update the
    documentation accordingly.
    
    Signed-off-by: Li Zefan <lizf@cn.fujitsu.com>
    Acked-by: Paul Menage <menage@google.com>
    Signed-off-by: Andrew Morton <akpm@linux-foundation.org>
    Signed-off-by: Linus Torvalds <torvalds@linux-foundation.org>

commit b6d6c5175809934e04a606d9193ef04924a7a7d9
Author: Ed Cashin <ecashin@coraid.com>
Date:   Wed Feb 18 14:48:13 2009 -0800

    aoe: ignore vendor extension AoE responses
    
    The Welland ME-747K-SI AoE target generates unsolicited AoE responses that
    are marked as vendor extensions.  Instead of ignoring these packets, the
    aoe driver was generating kernel messages for each unrecognized response
    received.  This patch corrects the behavior.
    
    Signed-off-by: Ed Cashin <ecashin@coraid.com>
    Reported-by: <karaluh@karaluh.pl>
    Tested-by: <karaluh@karaluh.pl>
    Cc: <stable@kernel.org>
    Cc: Alex Buell <alex.buell@munted.org.uk>
    Signed-off-by: Andrew Morton <akpm@linux-foundation.org>
    Signed-off-by: Linus Torvalds <torvalds@linux-foundation.org>

commit c296861291669f305deef19b78042330d7135017
Author: Benjamin Herrenschmidt <benh@kernel.crashing.org>
Date:   Wed Feb 18 14:48:12 2009 -0800

    vmalloc: add __get_vm_area_caller()
    
    We have get_vm_area_caller() and __get_vm_area() but not
    __get_vm_area_caller()
    
    On powerpc, I use __get_vm_area() to separate the ranges of addresses
    given to vmalloc vs.  ioremap (various good reasons for that) so in order
    to be able to implement the new caller tracking in /proc/vmallocinfo, I
    need a "_caller" variant of it.
    
    (akpm: needed for ongoing powerpc development, so merge it early)
    
    [akpm@linux-foundation.org: coding-style fixes]
    Signed-off-by: Benjamin Herrenschmidt <benh@kernel.crashing.org>
    Reviewed-by: KOSAKI Motohiro <kosaki.motohiro@jp.fujitsu.com>
    Signed-off-by: Andrew Morton <akpm@linux-foundation.org>
    Signed-off-by: Linus Torvalds <torvalds@linux-foundation.org>

commit 3ebf74b1de9f94da4291db3ea1ae11c5bedb5784
Author: Jean Pihet <jpihet@mvista.com>
Date:   Fri Feb 6 16:42:51 2009 +0100

    omap_hsmmc: Change while(); loops with finite version
    
    Replace the infinite 'while() ;' loops
    with a finite loop version.
    
    Signed-off-by: Jean Pihet <jpihet@mvista.com>
    Acked-by: Tony Lindgren <tony@atomide.com>
    Signed-off-by: Pierre Ossman <drzeus@drzeus.cx>

commit c232f457e409b34417166596ea3daf298ace95c9
Author: Jean Pihet <jpihet@mvista.com>
Date:   Wed Feb 11 13:11:39 2009 -0800

    omap_hsmmc: recover from transfer failures
    
    Timeouts during a command that has a data phase can result in the next
    command issued after the command that failed not being processed, i.e.  no
    interrupt ever occurs to indicate the command has completed.  This failure
    can result in a deadlock.
    
    This patch resets the data state machine to clear the error in case of a
    command timeout.
    
    Tested on OMAP3430 chip and intensive MMC/SD device removal while
    transferring data.
    
    Signed-off-by: Andy Lowe <alowe@mvista.com>
    Signed-off-by: Jean Pihet <jpihet@mvista.com>
    Signed-off-by: Adrian Hunter <ext-adrian.hunter@nokia.com>
    Signed-off-by: Andrew Morton <akpm@linux-foundation.org>
    Acked-by: Tony Lindgren <tony@atomide.com>
    Signed-off-by: Pierre Ossman <drzeus@drzeus.cx>

commit eb25082657be3e7639e349fc926afdcbb0a4dc65
Author: David Brownell <dbrownell@users.sourceforge.net>
Date:   Tue Feb 17 14:49:01 2009 -0800

    omap_hsmmc: only MMC1 allows HCTL.SDVS != 1.8V
    
    Based on a patch from Tony Lindgren ... after initialization,
    never change HCTL.SDVS except for MMC1.  The other controller
    instances only support 1.8V in that field, although they can
    suport other card/SDIO/eMMC/... voltages with level shifting
    solutions such as external transceivers.
    
    MMC2 behavior sanity tested on Overo/WLAN, OMAP3430 SDP, and
    custom hardware.  MMC1 also sanity tested on those platforms
    plus Beagle.  This also fixes a bug preventing MMC2 (and also
    presumably MMC3) from powering down when requested.
    
    Signed-off-by: David Brownell <dbrownell@users.sourceforge.net>
    Acked-by: Tony Lindgren <tony@atomide.com>
    Signed-off-by: Pierre Ossman <drzeus@drzeus.cx>

commit 249d0fa9d59b6165ecc224720d9ce9b7267cf1b8
Author: David Brownell <dbrownell@users.sourceforge.net>
Date:   Wed Feb 4 14:42:03 2009 -0800

    omap_hsmmc: card detect irq bugfix
    
    Work around lockdep issue when card detect IRQ handlers run in
    thread context ... it forces IRQF_DISABLED, which prevents all
    access to twl4030 card detect signals.
    
    Signed-off-by: David Brownell <dbrownell@users.sourceforge.net>
    Acked-by: Tony Lindgren <tony@atomide.com>
    Signed-off-by: Pierre Ossman <drzeus@drzeus.cx>

commit 5dbace0c9ba110c1a3810a89fa6bf12b7574b5a3
Author: Helmut Schaa <helmut.schaa@googlemail.com>
Date:   Sat Feb 14 16:22:39 2009 +0100

    sdhci: fix led naming
    
    Fix the led device naming for the sdhci driver.
    
    The led class documentation defines the led name to have the
    form "devicename:colour:function" while not applicable sections
    should be left blank.
    
    To comply with the documentation the led device name is changed
    from "mmc*" to "mmc*::".
    
    Signed-off-by: Helmut Schaa <helmut.schaa@googlemail.com>
    Signed-off-by: Pierre Ossman <drzeus@drzeus.cx>

commit 58a5dd3e0e77029d3db1f8fa75d0b54b38169d5d
Author: Rabin Vincent <rabin@rab.in>
Date:   Fri Feb 13 22:55:26 2009 +0530

    mmc_test: fix basic read test
    
    Due to a typo in the Basic Read test, it's currently identical to the
    Basic Write test.  Fix this.
    
    Signed-off-by: Rabin Vincent <rabin@rab.in>
    Signed-off-by: Pierre Ossman <drzeus@drzeus.cx>

commit 994244883739e4044bef76d4e5d7a9b66dc6c7b6
Author: Yauhen Kharuzhy <jekhor@gmail.com>
Date:   Wed Feb 11 13:25:52 2009 -0800

    s3cmci: Fix hangup in do_pio_write()
    
    This commit fixes the regression what was added by commit
    088a78af978d0c8e339071a9b2bca1f4cb368f30 "s3cmci: Support transfers
    which are not multiple of 32 bits."
    
    fifo_free() now returns amount of available space in FIFO buffer in
    bytes.  But do_pio_write() writes to FIFO 32-bit words.  Condition for
    return from cycle is (fifo_free() == 0), but when fifo has 1..3 bytes
    of free space then this condition will never be true and system hangs.
    
    This patch changes condition in the while() to (fifo_free() > 3).
    
    Signed-off-by: Yauhen Kharuzhy <jekhor@gmail.com>
    Signed-off-by: Andrew Morton <akpm@linux-foundation.org>
    Signed-off-by: Pierre Ossman <drzeus@drzeus.cx>

commit 2678f60d2bc05a12580b93eb36f089f0e55693e0
Author: Takashi Iwai <tiwai@suse.de>
Date:   Wed Feb 18 16:46:27 2009 +0100

    ALSA: jack - Use card->shortname for input name
    
    Currently the jack layer refers to card->longname as a part of
    its input device name string.  However, longname is often really long
    and way too ugly as an identifier, such as,
    "HDA Intel at 0xf8400000 irq 21".
    
    This patch changes the code to use card->shortname instead.
    The shortname string contains usually the h/w vendor and product
    names but without messy I/O port or IRQ numbers.
    
    Signed-off-by: Takashi Iwai <tiwai@suse.de>

commit be987fdb55a4726e2fcbab7501f89276bdb57288
Author: Hannes Reinecke <hare@suse.de>
Date:   Wed Feb 18 10:30:15 2009 +0100

    block: fix deadlock in blk_abort_queue() for drivers that readd to timeout list
    
    blk_abort_queue() iterates the timeout list and aborts each request on the
    list, but if the driver error handling readds a request to the timeout list
    during this processing, we could be looping forever. Fix this by splicing
    current entries to a local list and run over that list instead.
    
    Signed-off-by: Jens Axboe <jens.axboe@oracle.com>

commit 41b8c853a495438208faa5be03bbb0050859163b
Author: Neil Brown <neilb@suse.de>
Date:   Wed Feb 18 10:33:59 2009 +0100

    block: fix booting from partitioned md array
    
    Hi Tejun,
    
     it looks like your commit:
    
       block: don't depend on consecutive minor space
       f331c0296f2a9fee0d396a70598b954062603015
    
     broke a particular case for booting from partitioned md/raid devices.
     That is the second time this has been broken recently.  The previous
     time was fixed by
    
       block: do_mounts - accept root=<non-existant partition>
       30f2f0eb4bd2c43d10a8b0d872c6e5ad8f31c9a0
    
     Because the data isn't available when an md device is first created
     (we add disks and set it up after creation), the initial partition
     scan finds nothing.  It is not until the device is opened that
     another partition scan happens and finds something.
    
     So at the point where the kernel parameter "root=/dev/md_d0p1" is
     being parsed, md_d0 exists, but md_d0p1 does not.
     However if we let blk_lookup_devt return the correct device number
     even though the device doesn't exist, then the attempt to mount it
     will successfully find the partition.
    
     I have tried in the past to find a way to get the partition table to
     be read as soon as the array is assembled but that proved impossible
     (at the time).  I don't remember the details, and could possibly
     revisit it.  However it would be really nice if blk_lookup_devt
     could be adjusted to again accept non existant partitions.
    
    Signed-off-by: Jens Axboe <jens.axboe@oracle.com>

commit 78f707bfc723552e8309b7c38a8d0cc51012e813
Author: Jens Axboe <jens.axboe@oracle.com>
Date:   Tue Feb 17 13:59:08 2009 +0100

    block: revert part of 18ce3751ccd488c78d3827e9f6bf54e6322676fb
    
    The above commit added WRITE_SYNC and switched various places to using
    that for committing writes that will be waited upon immediately after
    submission. However, this causes a performance regression with AS and CFQ
    for ext3 at least, since sync_dirty_buffer() will submit some writes with
    WRITE_SYNC while ext3 has sumitted others dependent writes without the sync
    flag set. This causes excessive anticipation/idling in the IO scheduler
    because sync and async writes get interleaved, causing a big performance
    regression for the below test case (which is meant to simulate sqlite
    like behaviour).
    
    ---- test case ----
    
    int main(int argc, char **argv)
    {
    
    	int fdes, i;
    	FILE *fp;
    	struct timeval start;
    	struct timeval end;
    	struct timeval res;
    
    	gettimeofday(&start, NULL);
    	for (i=0; i<ROWS; i++) {
    		fp = fopen("test_file", "a");
    		fprintf(fp, "Some Text Data\n");
    		fdes = fileno(fp);
    		fsync(fdes);
    		fclose(fp);
    	}
    	gettimeofday(&end, NULL);
    
    	timersub(&end, &start, &res);
    	fprintf(stdout, "time to write %d lines is %ld(msec)\n", ROWS,
    			(res.tv_sec*1000000 + res.tv_usec)/1000);
    
    	return 0;
    }
    
    -------------------
    
    Thanks to Sean.White@APCC.com for tracking down this performance
    regression and providing a test case.
    
    Signed-off-by: Jens Axboe <jens.axboe@oracle.com>

commit 82eb03cfd862a65363fa2826de0dbd5474cfe5e2
Author: Chip Coldwell <coldwell@redhat.com>
Date:   Mon Feb 16 13:11:56 2009 +0100

    cciss: PCI power management reset for kexec
    
    The kexec kernel resets the CCISS hardware in three steps:
    
    1. Use PCI power management states to reset the controller in the
       kexec kernel.
    
    2. Clear the MSI/MSI-X bits in PCI configuration space so that MSI
       initialization in the kexec kernel doesn't fail.
    
    3. Use the CCISS "No-op" message to determine when the controller
       firmware has recovered from the PCI PM reset.
    
    [akpm@linux-foundation.org: cleanups]
    Signed-off-by: Mike Miller <mike.miller@hp.com>
    Cc: Randy Dunlap <randy.dunlap@oracle.com>
    Signed-off-by: Andrew Morton <akpm@linux-foundation.org>
    Signed-off-by: Jens Axboe <jens.axboe@oracle.com>

commit c8cbec6bdf6329279fd14696020f6b59d1d3124d
Author: Roel Kluin <roel.kluin@gmail.com>
Date:   Mon Feb 16 13:11:55 2009 +0100

    paride/pg.c: xs(): &&/|| confusion
    
    &&/|| confusion
    
    Signed-off-by: Roel Kluin <roel.kluin@gmail.com>
    Cc: Bartlomiej Zolnierkiewicz <bzolnier@gmail.com>
    Signed-off-by: Andrew Morton <akpm@linux-foundation.org>
    Signed-off-by: Jens Axboe <jens.axboe@oracle.com>

commit a60e78e57a17d55bbd5a96da16fe9649d364b987
Author: Subhash Peddamallu <subhash.peddamallu@gmail.com>
Date:   Mon Feb 16 10:27:07 2009 +0100

    fs/bio: bio_alloc_bioset: pass right object ptr to mempool_free
    
    When freeing from bio pool use right ptr to account for bs->front_pad,
    instead of bio ptr,
    
    Signed-off-by: Subhash Peddamallu <subhash.peddamallu@gmail.com>
    Signed-off-by: Jens Axboe <jens.axboe@oracle.com>

commit 93dbb393503d53cd226e5e1f0088fe8f4dbaa2b8
Author: Jens Axboe <jens.axboe@oracle.com>
Date:   Mon Feb 16 10:25:40 2009 +0100

    block: fix bad definition of BIO_RW_SYNC
    
    We can't OR shift values, so get rid of BIO_RW_SYNC and use BIO_RW_SYNCIO
    and BIO_RW_UNPLUG explicitly. This brings back the behaviour from before
    213d9417fec62ef4c3675621b9364a667954d4dd.
    
    Signed-off-by: Jens Axboe <jens.axboe@oracle.com>

commit c1c201200a359cf3b6e2e36a4236cdca77a3cd8e
Author: Boaz Harrosh <bharrosh@panasas.com>
Date:   Tue Feb 3 07:47:29 2009 +0100

    bsg: Fix sense buffer bug in SG_IO
    
    When submitting requests via SG_IO, which does a sync io, a
    bsg_command is not allocated. So an in-Kernel sense_buffer was not
    set. However when calling blk_execute_rq() with no sense buffer
    one is provided from the stack. Now bsg at blk_complete_sgv4_hdr_rq()
    would check if rq->sense_len and a sense was requested by sg_io_v4
    the rq->sense was copy_user() back, but by now it is already mangled
    stack memory.
    
    I have fixed that by forcing a sense_buffer when calling bsg_map_hdr().
    The bsg_command->sense is provided in the write/read path like before,
    and on-the-stack buffer is provided when doing SG_IO.
    
    I have also fixed a dprintk message to print rq->errors in hex because
    of the scsi bit-field use of this member. For other block devices it
    does not matter anyway.
    
    Signed-off-by: Boaz Harrosh <bharrosh@panasas.com>
    Acked-by: FUJITA Tomonori <fujita.tomonori@lab.ntt.co.jp>
    Signed-off-by: Jens Axboe <jens.axboe@oracle.com>

commit 86a6a8749d5b8fd5c2b544fe9fd11101e3d0550f
Author: Pierre Ossman <drzeus@drzeus.cx>
Date:   Mon Feb 2 21:13:49 2009 +0100

    Revert "sdhci: force high speed capability on some controllers"
    
    This reverts commit a4b76193774b463b922cab2f92450efb20d29ef0.
    
    It turned out that the controller had problem running at the
    higher speed, so go back to trusting the hardware capability
    bits.
    
    Signed-off-by: Pierre Ossman <drzeus@drzeus.cx>

commit 444122fd58fdc83c96877a92b3f6288cafddb08d
Author: Yi Li <yi.li@analog.com>
Date:   Thu Feb 5 15:31:57 2009 +0800

    MMC: fix bug - SDHC card capacity not correct
    
    Signed-off-by: Yi Li <yi.li@analog.com>
    Signed-off-by: Bryan Wu <cooloney@kernel.org>
    Signed-off-by: Pierre Ossman <drzeus@drzeus.cx>

commit 5955c7a2cfb6a35429adea5dc480002b15ca8cfc
Author: Zlatko Calusic <zlatko.calusic@iskon.hr>
Date:   Wed Feb 18 01:33:34 2009 +0100

    Add support for VT6415 PCIE PATA IDE Host Controller
    
    Signed-off-by: Zlatko Calusic <zlatko.calusic@iskon.hr>
    Signed-off-by: Linus Torvalds <torvalds@linux-foundation.org>

commit 3494252d5644993f407a45f01c3e8ad5ae38f93c
Author: Rafael J. Wysocki <rjw@sisk.pl>
Date:   Fri Feb 13 23:41:12 2009 +0100

    USB/PCI: Fix resume breakage of controllers behind cardbus bridges
    
    If a USB PCI controller is behind a cardbus bridge, we are trying to
    restore its configuration registers too early, before the cardbus
    bridge is operational.  To fix this, call pci_restore_state() from
    usb_hcd_pci_resume() and remove usb_hcd_pci_resume_early() which is
    no longer necessary (the configuration spaces of USB controllers that
    are not behind cardbus bridges will be restored by the PCI PM core
    with interrupts disabled anyway).
    
    This patch fixes the regression from 2.6.28 tracked as
    http://bugzilla.kernel.org/show_bug.cgi?id=12659
    
    [ Side note: the proper long-term fix is probably to just force the
      unplug event at suspend time instead of doing a plug/unplug at resume
      time, but this patch is fine regardless  - Linus ]
    
    Signed-off-by: Rafael J. Wysocki <rjw@sisk.pl>
    Reported-by: Miles Lane <miles.lane@gmail.com>
    Signed-off-by: Linus Torvalds <torvalds@linux-foundation.org>

commit 07db1c140eb233971341396e492cc73d4280e698
Author: Andi Kleen <andi@firstfloor.org>
Date:   Thu Feb 12 13:39:35 2009 +0100

    x86, mce: fix ifdef for 64bit thermal apic vector clear on shutdown
    
    Impact: Bugfix
    
    The ifdef for the apic clear on shutdown for the 64bit intel thermal
    vector was incorrect and never triggered. Fix that.
    
    Signed-off-by: Andi Kleen <ak@linux.intel.com>
    Acked-by: Thomas Gleixner <tglx@linutronix.de>
    Signed-off-by: H. Peter Anvin <hpa@zytor.com>

commit 380851bc6b1b4107c61dfa2997f9095dcf779336
Author: Andi Kleen <andi@firstfloor.org>
Date:   Thu Feb 12 13:39:33 2009 +0100

    x86, mce: use force_sig_info to kill process in machine check
    
    Impact: bug fix (with tolerant == 3)
    
    do_exit cannot be called directly from the exception handler because
    it can sleep and the exception handler runs on the exception stack.
    Use force_sig() instead.
    
    Based on a earlier patch by Ying Huang who debugged the problem.
    
    Signed-off-by: Andi Kleen <ak@linux.intel.com>
    Acked-by: Thomas Gleixner <tglx@linutronix.de>
    Signed-off-by: H. Peter Anvin <hpa@zytor.com>

commit 6ec68bff3c81e776a455f6aca95c8c5f1d630198
Author: Andi Kleen <andi@firstfloor.org>
Date:   Thu Feb 12 13:39:26 2009 +0100

    x86, mce: reinitialize per cpu features on resume
    
    Impact: Bug fix
    
    This fixes a long standing bug in the machine check code. On resume the
    boot CPU wouldn't get its vendor specific state like thermal handling
    reinitialized. This means the boot cpu wouldn't ever get any thermal
    events reported again.
    
    Call the respective initialization functions on resume
    
    v2: Remove ancient init because they don't have a resume device anyways.
        Pointed out by Thomas Gleixner.
    v3: Now fix the Subject too to reflect v2 change
    
    Signed-off-by: Andi Kleen <ak@linux.intel.com>
    Acked-by: Thomas Gleixner <tglx@linutronix.de>
    Signed-off-by: H. Peter Anvin <hpa@zytor.com>

commit fd4b9b3650076ffadbdd6e360eb198f5d61747c0
Author: Nicolas Pitre <nico@cam.org>
Date:   Tue Feb 17 20:45:50 2009 +0100

    [ARM] 5401/1: Orion: fix edge triggered GPIO interrupt support
    
    The GPIO interrupts can be configured as either level triggered or edge
    triggered, with a default of level triggered.  When an edge triggered
    interrupt is requested, the gpio_irq_set_type method is called which
    currently switches the given IRQ descriptor between two struct irq_chip
    instances: orion_gpio_irq_level_chip and orion_gpio_irq_edge_chip. This
    happens via __setup_irq() which also calls irq_chip_set_defaults() to
    assign default methods to uninitialized ones.  The problem is that
    irq_chip_set_defaults() is called before the irq_chip reference is
    switched, leaving the new irq_chip (orion_gpio_irq_edge_chip in this
    case) with uninitialized methods such as chip->startup() causing a kernel
    oops.
    
    Many solutions are possible, such as making irq_chip_set_defaults() global
    and calling it from gpio_irq_set_type(), or calling __irq_set_trigger()
    before irq_chip_set_defaults() in __setup_irq().  But those require
    modifications to the generic IRQ code which might have adverse effect on
    other architectures, and that would still be a fragile arrangement.
    Manually copying the missing methods from within gpio_irq_set_type()
    would be really ugly and it would break again the day new methods with
    automatic defaults are added.
    
    A better solution is to have a single irq_chip instance which can deal
    with both edge and level triggered interrupts.  It is also a good idea
    to switch the IRQ handler instead, as the edge IRQ handler allows for
    one edge IRQ event to be queued as the IRQ is actually masked only when
    that second IRQ is received, at which point the hardware can queue an
    additional IRQ event, making edge triggered interrupts a bit more
    reliable.
    
    Tested-by: Martin Michlmayr <tbm@cyrius.com>
    
    Signed-off-by: Nicolas Pitre <nico@marvell.com>
    Signed-off-by: Russell King <rmk+kernel@arm.linux.org.uk>

commit e78ac4b9deb8f36d8c828b6d91232960f109d951
Merge: 29a0c5c... a0490fa...
Author: Linus Torvalds <torvalds@linux-foundation.org>
Date:   Tue Feb 17 14:30:06 2009 -0800

    Merge branch 'sched-fixes-for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/tip/linux-2.6-tip
    
    * 'sched-fixes-for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/tip/linux-2.6-tip:
      sched: cpu hotplug fix

commit 29a0c5ce5d008f398346d644456d62ab300d5e10
Merge: f8effd1... 3997ad3...
Author: Linus Torvalds <torvalds@linux-foundation.org>
Date:   Tue Feb 17 14:29:42 2009 -0800

    Merge branch 'timers-fixes-for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/tip/linux-2.6-tip
    
    * 'timers-fixes-for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/tip/linux-2.6-tip:
      timers: more consistently use clock vs timer

commit f8effd1a4a1833eac90261d78abacfaefe3d99e4
Merge: 3501033... f9aa28a...
Author: Linus Torvalds <torvalds@linux-foundation.org>
Date:   Tue Feb 17 14:29:15 2009 -0800

    Merge branch 'tracing-fixes-for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/tip/linux-2.6-tip
    
    * 'tracing-fixes-for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/tip/linux-2.6-tip:
      doc: mmiotrace.txt, buffer size control change
      trace: mmiotrace to the tracer menu in Kconfig
      mmiotrace: count events lost due to not recording

commit 35010334aa007480a833401b80922299cb1a15ef
Merge: 8ce9a75... be71661...
Author: Linus Torvalds <torvalds@linux-foundation.org>
Date:   Tue Feb 17 14:27:39 2009 -0800

    Merge branch 'x86-fixes-for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/tip/linux-2.6-tip
    
    * 'x86-fixes-for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/tip/linux-2.6-tip:
      x86, vm86: fix preemption bug
      x86, olpc: fix model detection without OFW
      x86, hpet: fix for LS21 + HPET = boot hang
      x86: CPA avoid repeated lazy mmu flush
      x86: warn if arch_flush_lazy_mmu_cpu is called in preemptible context
      x86/paravirt: make arch_flush_lazy_mmu/cpu disable preemption
      x86, pat: fix warn_on_once() while mapping 0-1MB range with /dev/mem
      x86/cpa: make sure cpa is safe to call in lazy mmu mode
      x86, ptrace, mm: fix double-free on race

commit 8ce9a75a307e142a8871c649627555e0e4a1eefb
Merge: b30b774... 9af8814...
Author: Linus Torvalds <torvalds@linux-foundation.org>
Date:   Tue Feb 17 14:26:35 2009 -0800

    Merge branch 'core-fixes-for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/tip/linux-2.6-tip
    
    * 'core-fixes-for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/tip/linux-2.6-tip:
      iommu: fix Intel IOMMU write-buffer flushing
      futex: fix reference leak
    
    Trivial conflicts fixed manually in drivers/pci/intel-iommu.c

commit b30b77493039b7b95b4d569a66af425b02651edd
Merge: c951aa6... 26456dc...
Author: Linus Torvalds <torvalds@linux-foundation.org>
Date:   Tue Feb 17 14:23:49 2009 -0800

    Merge branch 'merge' of git://git.kernel.org/pub/scm/linux/kernel/git/benh/powerpc
    
    * 'merge' of git://git.kernel.org/pub/scm/linux/kernel/git/benh/powerpc:
      powerpc/vsx: Fix VSX alignment handler for regs 32-63
      powerpc/ps3: Move ps3_mm_add_memory to device_initcall
      powerpc/mm: Fix numa reserve bootmem page selection
      powerpc/mm: Fix _PAGE_CHG_MASK to protect _PAGE_SPECIAL

commit c951aa62d59210636cc63a569bcf3331be7f5b15
Merge: 23beafb... a08f6e0...
Author: Linus Torvalds <torvalds@linux-foundation.org>
Date:   Tue Feb 17 14:23:35 2009 -0800

    Merge branch 'for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/jbarnes/pci-2.6
    
    * 'for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/jbarnes/pci-2.6:
      PCI: Documentation: fix minor PCIe HOWTO thinko
      PCI: fix missing kernel-doc and typos
      PCI: fix struct pci_platform_pm_ops kernel-doc
      PCI: fix rom.c kernel-doc warning
      PCI/MSI: fix msi_mask() shift fix

commit 23beafbe3abd3f622931e83ef4e6b17642cf408e
Merge: 48c0d9e... 8eb2dfa...
Author: Linus Torvalds <torvalds@linux-foundation.org>
Date:   Tue Feb 17 14:22:59 2009 -0800

    Merge git://git.kernel.org/pub/scm/linux/kernel/git/herbert/crypto-2.6
    
    * git://git.kernel.org/pub/scm/linux/kernel/git/herbert/crypto-2.6:
      crypto: lrw - Fix big endian support

commit 48c0d9ece360ff6001e2ae36aa9b34446d0388a8
Merge: 0637810... 2456242...
Author: Linus Torvalds <torvalds@linux-foundation.org>
Date:   Tue Feb 17 14:19:14 2009 -0800

    Merge git://git.kernel.org/pub/scm/linux/kernel/git/mason/btrfs-unstable
    
    * git://git.kernel.org/pub/scm/linux/kernel/git/mason/btrfs-unstable:
      Btrfs: hold trans_mutex when using btrfs_record_root_in_trans
      Btrfs: make a lockdep class for the extent buffer locks
      Btrfs: fs/btrfs/volumes.c: remove useless kzalloc
      Btrfs: remove unused code in split_state()
      Btrfs: remove btrfs_init_path
      Btrfs: balance_level checks !child after access
      Btrfs: Avoid using __GFP_HIGHMEM with slab allocator
      Btrfs: don't clean old snapshots on sync(1)
      Btrfs: use larger metadata clusters in ssd mode
      Btrfs: process mount options on mount -o remount,
      Btrfs: make sure all pending extent operations are complete

commit 0637810f24bad641d3d3f80fd3f63f3baffd9536
Merge: 51f2677... 7dac745...
Author: Linus Torvalds <torvalds@linux-foundation.org>
Date:   Tue Feb 17 14:16:02 2009 -0800

    Merge branch 'upstream-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/jgarzik/libata-dev
    
    * 'upstream-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/jgarzik/libata-dev:
      sata_nv: give up hardreset on nf2
      libata-sff: fix 32-bit PIO ATAPI regression

commit 51f267739a81db5eb511b95aeae338413690b8a2
Merge: 59dad0c... 9297999...
Author: Linus Torvalds <torvalds@linux-foundation.org>
Date:   Tue Feb 17 14:15:23 2009 -0800

    Merge git://git.kernel.org/pub/scm/linux/kernel/git/sam/kbuild-fixes
    
    * git://git.kernel.org/pub/scm/linux/kernel/git/sam/kbuild-fixes:
      kbuild: create the source symlink earlier in the objdir
      scripts: add x86 64 bit support to the markup_oops.pl script
      scripts: add x86 register parser to markup_oops.pl
      kbuild: add sys_* entries for syscalls in tags
      kbuild: fix tags generation of config symbols
      bootgraph: fix for use with dot symbols
      kbuild: add vmlinux to kernel rpm
      kbuild,setlocalversion: shorten the make time when using svn

commit 59dad0cbe6fd52e68b1ee4b02cbf89d64a4655cc
Merge: 1024d1c... 211e3e0...
Author: Linus Torvalds <torvalds@linux-foundation.org>
Date:   Tue Feb 17 14:14:15 2009 -0800

    Merge branch 'hwmon-for-linus' of git://jdelvare.pck.nerim.net/jdelvare-2.6
    
    * 'hwmon-for-linus' of git://jdelvare.pck.nerim.net/jdelvare-2.6:
      MAINTAINERS: Switch hdaps to Frank Seidel
      hwmon: Fix ACPI resource check error handling
      hwmon: (f71882fg) Hide misleading error message

commit 1024d1c24bb3f2c4dc568d96d3b5e22ea5865481
Merge: 5e51d16... 7bf432d...
Author: Linus Torvalds <torvalds@linux-foundation.org>
Date:   Tue Feb 17 14:09:03 2009 -0800

    Merge branch 'for_linus' of git://git.kernel.org/pub/scm/linux/kernel/git/mchehab/linux-2.6
    
    * 'for_linus' of git://git.kernel.org/pub/scm/linux/kernel/git/mchehab/linux-2.6:
      V4L/DVB (10626): ivtv: fix regression in get sliced vbi format
      V4L/DVB (10625): ivtv: fix decoder crash regression
      V4L/DVB (10619): gspca - main: Destroy the URBs at disconnection time.
      V4L/DVB (10572): Revert commit dda06a8e4610757def753ee3a541a0b1a1feb36b
      V4L/DVB (10533): fix LED status output
      V4L/DVB (10532): Correction of Stereo detection/setting and signal strength indication
      V4L/DVB (10527): tuner: fix TUV1236D analog/digital setup
      V4L/DVB (10516a): zoran: Update MAINTAINERS entry

commit 5e51d16ddefa0874993f42a4b2beb13127feda76
Merge: 7f302fe... 2b63938...
Author: Linus Torvalds <torvalds@linux-foundation.org>
Date:   Tue Feb 17 14:08:26 2009 -0800

    Merge branch 'for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/jikos/hid
    
    * 'for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/jikos/hid:
      HID: fix bus endianity in file2alias
      HID: move tmff and zpff devices from ignore_list to blacklist
      HID: unlock properly on error paths in hidraw_ioctl()
      HID: blacklist Powercom USB UPS

commit 7f302fe3173c61e0e4fcf0a6a906ae297225e3be
Merge: 68cc830... dcd9651...
Author: Linus Torvalds <torvalds@linux-foundation.org>
Date:   Tue Feb 17 14:08:03 2009 -0800

    Merge branch 'for-linus' of git://git.o-hand.com/linux-mfd
    
    * 'for-linus' of git://git.o-hand.com/linux-mfd:
      mfd: Fix sm501_register_gpio section mismatch
      mfd: fix sm501 section mismatches
      mfd: terminate pcf50633 i2c_device_id list
      mfd: Ensure all WM8350 IRQs are masked at startup
      mfd: fix htc-egpio iomem resource handling using resource_size
      mfd: Fix TWL4030 build on some ARM variants
      mfd: wm8350 tries reaches -1
      mfd: Mark WM835x USB_SLV_500MA bit as accessible
      mfd: Improve diagnostics for WM8350 ID register probe
      mfd: Initialise WM8350 interrupts earlier
      mfd: Fix egpio kzalloc return test

commit 68cc8301b45dee5de275a477a60f77f5560c8ca0
Merge: 11df586... 12d60e2...
Author: Linus Torvalds <torvalds@linux-foundation.org>
Date:   Tue Feb 17 14:07:18 2009 -0800

    Merge git://git.kernel.org/pub/scm/linux/kernel/git/wim/linux-2.6-watchdog
    
    * git://git.kernel.org/pub/scm/linux/kernel/git/wim/linux-2.6-watchdog:
      [WATCHDOG] iTCO_wdt: fix SMI_EN regression 2

commit 11df5864075f763ec0d1fdecd6a3f0af7d09a553
Merge: 2f60971... a3c1239...
Author: Linus Torvalds <torvalds@linux-foundation.org>
Date:   Tue Feb 17 14:05:59 2009 -0800

    Merge branch 'for-upstream' of git://git.kernel.org/pub/scm/linux/kernel/git/dvrabel/uwb
    
    * 'for-upstream' of git://git.kernel.org/pub/scm/linux/kernel/git/dvrabel/uwb:
      wusb: whci-hcd: always lock whc->lock with interrupts disabled

commit 2f6097129af5625db2fb5e601f89e5bf55cd1dcd
Author: Roel Kluin <roel.kluin@gmail.com>
Date:   Mon Feb 16 12:49:16 2009 +0000

    FRV: __pte_to_swp_entry doesn't expand correctly
    
    The macro doesn't expand correctly when its parameter isn't 'pte'.
    
    Signed-off-by: Roel Kluin <roel.kluin@gmail.com>
    Signed-off-by: David Howells <dhowells@redhat.com>
    Signed-off-by: Linus Torvalds <torvalds@linux-foundation.org>

commit 3512a79dbcc90e6edac98717607bd821bba50a14
Merge: 39a6576... 0905426...
Author: Linus Torvalds <torvalds@linux-foundation.org>
Date:   Tue Feb 17 14:05:05 2009 -0800

    Merge branch 'for_linus' of git://git.kernel.org/pub/scm/linux/kernel/git/tytso/ext4
    
    * 'for_linus' of git://git.kernel.org/pub/scm/linux/kernel/git/tytso/ext4:
      ext4: Fix NULL dereference in ext4_ext_migrate()'s error handling
      ext4: Implement range_cyclic in ext4_da_writepages instead of write_cache_pages
      ext4: Initialize preallocation list_head's properly
      ext4: Fix lockdep warning
      ext4: Fix to read empty directory blocks correctly in 64k
      jbd2: Avoid possible NULL dereference in jbd2_journal_begin_ordered_truncate()
      Revert "ext4: wait on all pending commits in ext4_sync_fs()"
      jbd2: Fix return value of jbd2_journal_start_commit()

commit 39a65762d4c48fd8a498f34b7fec74a6b0aebd55
Merge: 643aac1... 516a1a7...
Author: Linus Torvalds <torvalds@linux-foundation.org>
Date:   Tue Feb 17 14:04:32 2009 -0800

    Merge branch 'kvm-updates/2.6.29' of git://git.kernel.org/pub/scm/virt/kvm/kvm
    
    * 'kvm-updates/2.6.29' of git://git.kernel.org/pub/scm/virt/kvm/kvm:
      KVM: VMX: Flush volatile msrs before emulating rdmsr
      KVM: Fix assigned devices circular locking dependency
      KVM: x86: fix LAPIC pending count calculation
      KVM: Fix INTx for device assignment
      KVM: MMU: Map device MMIO as UC in EPT
      KVM: x86: disable kvmclock on non constant TSC hosts
      KVM: PIT: fix i8254 pending count read
      KVM: Fix racy in kvm_free_assigned_irq
      KVM: Add kvm_arch_sync_events to sync with asynchronize events
      KVM: mmu_notifiers release method
      KVM: Avoid using CONFIG_ in userspace visible headers
      KVM: ia64: fix fp fault/trap handler

commit 643aac1e2a34aa1d46a2d95c2a4087873f01e25e
Merge: ca77fde... 1371be0...
Author: Linus Torvalds <torvalds@linux-foundation.org>
Date:   Tue Feb 17 14:04:00 2009 -0800

    Merge git://git.kernel.org/pub/scm/linux/kernel/git/rusty/linux-2.6-for-linus
    
    * git://git.kernel.org/pub/scm/linux/kernel/git/rusty/linux-2.6-for-linus:
      cpumask: Use cpu_*_mask accessors code: alpha
      cpumask: fix powernow-k8: partial revert of 2fdf66b491ac706657946442789ec644cc317e1a

commit ca77fde8e62cecb2c0769052228d15b901367af8
Author: David Woodhouse <dwmw2@infradead.org>
Date:   Fri Feb 13 23:18:03 2009 +0000

    Fix Intel IOMMU write-buffer flushing
    
    This is the cause of the DMA faults and disk corruption that people have
    been seeing. Some chipsets neglect to report the RWBF "capability" --
    the flag which says that we need to flush the chipset write-buffer when
    changing the DMA page tables, to ensure that the change is visible to
    the IOMMU.
    
    Override that bit on the affected chipsets, and everything is happy
    again.
    
    Thanks to Chris and Bhavesh and others for helping to debug.
    
    Signed-off-by: David Woodhouse <David.Woodhouse@intel.com>
    Tested-by: Chris Wright <chrisw@sous-sol.org>
    Reviewed-by: Bhavesh Davda <bhavesh@vmware.com>
    Signed-off-by: Linus Torvalds <torvalds@linux-foundation.org>

commit 1a88b5364b535edaa321d70a566e358390ff0872
Author: Al Viro <viro@ZenIV.linux.org.uk>
Date:   Mon Feb 16 02:38:12 2009 +0000

    Fix incomplete __mntput locking
    
    Getting this wrong caused
    
    	WARNING: at fs/namespace.c:636 mntput_no_expire+0xac/0xf2()
    
    due to optimistically checking cpu_writer->mnt outside the spinlock.
    
    Here's what we really want:
     * we know that nobody will set cpu_writer->mnt to mnt from now on
     * all changes to that sucker are done under cpu_writer->lock
     * we want the laziest equivalent of
    	spin_lock(&cpu_writer->lock);
    	if (likely(cpu_writer->mnt != mnt)) {
    		spin_unlock(&cpu_writer->lock);
    		continue;
    	}
    	/* do stuff */
      that would make sure we won't miss earlier setting of ->mnt done by
      another CPU.
    
    Anyway, for now we just move the spin_lock() earlier and move the test
    into the properly locked region.
    
    Signed-off-by: Al Viro <viro@zeniv.linux.org.uk>
    Reported-and-tested-by: Li Zefan <lizf@cn.fujitsu.com>
    Signed-off-by: Linus Torvalds <torvalds@linux-foundation.org>

commit bf51935f3e988e0ed6f34b55593e5912f990750a
Author: Paul E. McKenney <paulmck@linux.vnet.ibm.com>
Date:   Tue Feb 17 06:01:30 2009 -0800

    x86, rcu: fix strange load average and ksoftirqd behavior
    
    Damien Wyart reported high ksoftirqd CPU usage (20%) on an
    otherwise idle system.
    
    The function-graph trace Damien provided:
    
    >   799.521187 |   1)    <idle>-0    |               |  rcu_check_callbacks() {
    >   799.521371 |   1)    <idle>-0    |               |  rcu_check_callbacks() {
    >   799.521555 |   1)    <idle>-0    |               |  rcu_check_callbacks() {
    >   799.521738 |   1)    <idle>-0    |               |  rcu_check_callbacks() {
    >   799.521934 |   1)    <idle>-0    |               |  rcu_check_callbacks() {
    >   799.522068 |   1)  ksoftir-2324  |               |                rcu_check_callbacks() {
    >   799.522208 |   1)    <idle>-0    |               |  rcu_check_callbacks() {
    >   799.522392 |   1)    <idle>-0    |               |  rcu_check_callbacks() {
    >   799.522575 |   1)    <idle>-0    |               |  rcu_check_callbacks() {
    >   799.522759 |   1)    <idle>-0    |               |  rcu_check_callbacks() {
    >   799.522956 |   1)    <idle>-0    |               |  rcu_check_callbacks() {
    >   799.523074 |   1)  ksoftir-2324  |               |                  rcu_check_callbacks() {
    >   799.523214 |   1)    <idle>-0    |               |  rcu_check_callbacks() {
    >   799.523397 |   1)    <idle>-0    |               |  rcu_check_callbacks() {
    >   799.523579 |   1)    <idle>-0    |               |  rcu_check_callbacks() {
    >   799.523762 |   1)    <idle>-0    |               |  rcu_check_callbacks() {
    >   799.523960 |   1)    <idle>-0    |               |  rcu_check_callbacks() {
    >   799.524079 |   1)  ksoftir-2324  |               |                  rcu_check_callbacks() {
    >   799.524220 |   1)    <idle>-0    |               |  rcu_check_callbacks() {
    >   799.524403 |   1)    <idle>-0    |               |  rcu_check_callbacks() {
    >   799.524587 |   1)    <idle>-0    |               |  rcu_check_callbacks() {
    >   799.524770 |   1)    <idle>-0    |               |  rcu_check_callbacks() {
    > [ . . . ]
    
    Shows rcu_check_callbacks() being invoked way too often. It should be called
    once per jiffy, and here it is called no less than 22 times in about
    3.5 milliseconds, meaning one call every 160 microseconds or so.
    
    Why do we need to call rcu_pending() and rcu_check_callbacks() from the
    idle loop of 32-bit x86, especially given that no other architecture does
    this?
    
    The following patch removes the call to rcu_pending() and
    rcu_check_callbacks() from the x86 32-bit idle loop in order to
    reduce the softirq load on idle systems.
    
    Reported-by: Damien Wyart <damien.wyart@free.fr>
    Signed-off-by: Paul E. McKenney <paulmck@linux.vnet.ibm.com>
    Signed-off-by: Ingo Molnar <mingo@elte.hu>

commit 211e3e0e1b116b10ba707db2fec972909fa647fd
Author: Frank Seidel <frank@f-seidel.de>
Date:   Tue Feb 17 19:59:54 2009 +0100

    MAINTAINERS: Switch hdaps to Frank Seidel
    
    As Rovert Love doesn't any more seem to be realy active on hdaps
    driver i'll happily take it over.
    
    Signed-off-by: Frank Seidel <frank@f-seidel.de>
    Cc: Robert Love <rlove@rlove.org>
    Signed-off-by: Jean Delvare <khali@linux-fr.org>

commit 18632f84fac770125c0982dfadec6b551e82144e
Author: Hans de Goede <hdegoede@redhat.com>
Date:   Tue Feb 17 19:59:54 2009 +0100

    hwmon: Fix ACPI resource check error handling
    
    This patch fixes a number of cases where things were not properly
    cleaned up when acpi_check_resource_conflict() returned an error,
    causing oopses such as the one reported here:
    https://bugzilla.redhat.com/show_bug.cgi?id=483208
    
    Signed-off-by: Hans de Goede <hdegoede@redhat.com>
    Signed-off-by: Jean Delvare <khali@linux-fr.org>

commit 603eaa1bdd3e0402085e815cc531bb0a32827a9e
Author: Jean Delvare <khali@linux-fr.org>
Date:   Tue Feb 17 19:59:54 2009 +0100

    hwmon: (f71882fg) Hide misleading error message
    
    If the F71882FG chip is at address 0x4e, then the probe at 0x2e will
    fail with the following message in the logs:
    f71882fg: Not a Fintek device
    
    This is misleading because there is a Fintek device, just at a
    different address. So I propose to degrade this message to a debug
    message.
    
    Signed-off-by: Jean Delvare <khali@linux-fr.org>
    Acked-by: Hans de Goede <hdegoede@redhat.com>

commit 5b058bcde961bf28678a70e44c079107313543b6
Author: Frederic Weisbecker <fweisbec@gmail.com>
Date:   Tue Feb 17 18:35:34 2009 +0100

    tracing/function-graph-tracer: trace the idle tasks
    
    When the function graph tracer is activated, it iterates over the task_list
    to allocate a stack to store the return addresses.
    
    But the per cpu idle tasks are not iterated by using
    do_each_thread / while_each_thread.
    
    So we have to iterate on them manually.
    
    This fixes somes weirdness in the traces and many losses of traces.
    Examples on two cpus:
    
     0)   Xorg-4287    |   2.906 us    |              }
     0)   Xorg-4287    |   3.965 us    |            }
     0)   Xorg-4287    |   5.302 us    |          }
     ------------------------------------------
     0)   Xorg-4287    =>    <idle>-0
     ------------------------------------------
    
     0)    <idle>-0    |   2.861 us    |                        }
     0)    <idle>-0    |   0.526 us    |                        set_normalized_timespec();
     0)    <idle>-0    |   7.201 us    |                      }
     0)    <idle>-0    |   8.214 us    |                    }
     0)    <idle>-0    |               |                    clockevents_program_event() {
     0)    <idle>-0    |               |                      lapic_next_event() {
     0)    <idle>-0    |   0.510 us    |                        native_apic_mem_write();
     0)    <idle>-0    |   1.546 us    |                      }
     0)    <idle>-0    |   2.583 us    |                    }
     0)    <idle>-0    | + 12.435 us   |                  }
     0)    <idle>-0    | + 13.470 us   |                }
     0)    <idle>-0    |   0.608 us    |                _spin_unlock_irqrestore();
     0)    <idle>-0    | + 23.270 us   |              }
     0)    <idle>-0    | + 24.336 us   |            }
     0)    <idle>-0    | + 25.417 us   |          }
     0)    <idle>-0    |   0.593 us    |          _spin_unlock();
     0)    <idle>-0    | + 41.869 us   |        }
     0)    <idle>-0    | + 42.906 us   |      }
     0)    <idle>-0    | + 95.035 us   |    }
     0)    <idle>-0    |   0.540 us    |    menu_reflect();
     0)    <idle>-0    | ! 100.404 us  |  }
     0)    <idle>-0    |   0.564 us    |  mce_idle_callback();
     0)    <idle>-0    |               |  enter_idle() {
     0)    <idle>-0    |   0.526 us    |    mce_idle_callback();
     0)    <idle>-0    |   1.757 us    |  }
     0)    <idle>-0    |               |  cpuidle_idle_call() {
     0)    <idle>-0    |               |    menu_select() {
     0)    <idle>-0    |   0.525 us    |      pm_qos_requirement();
     0)    <idle>-0    |   0.518 us    |      tick_nohz_get_sleep_length();
     0)    <idle>-0    |   2.621 us    |    }
    [...]
     1)    <idle>-0    |   0.518 us    |              touch_softlockup_watchdog();
     1)    <idle>-0    | + 14.355 us   |            }
     1)    <idle>-0    | + 22.840 us   |          }
     1)    <idle>-0    | + 25.949 us   |        }
     1)    <idle>-0    |               |        handle_irq() {
     1)    <idle>-0    |   0.511 us    |          irq_to_desc();
     1)    <idle>-0    |               |          handle_edge_irq() {
     1)    <idle>-0    |   0.638 us    |            _spin_lock();
     1)    <idle>-0    |               |            ack_apic_edge() {
     1)    <idle>-0    |   0.510 us    |              irq_to_desc();
     1)    <idle>-0    |               |              move_native_irq() {
     1)    <idle>-0    |   0.510 us    |                irq_to_desc();
     1)    <idle>-0    |   1.532 us    |              }
     1)    <idle>-0    |   0.511 us    |              native_apic_mem_write();
     ------------------------------------------
     1)    <idle>-0    =>    cat-5073
     ------------------------------------------
    
     1)    cat-5073    |   3.731 us    |                    }
     1)    cat-5073    |               |                    run_local_timers() {
     1)    cat-5073    |   0.533 us    |                      hrtimer_run_queues();
     1)    cat-5073    |               |                      raise_softirq() {
     1)    cat-5073    |               |                        __raise_softirq_irqoff() {
     1)    cat-5073    |               |                          /* nr: 1 */
     1)    cat-5073    |   2.718 us    |                        }
     1)    cat-5073    |   3.814 us    |                      }
    
    Signed-off-by: Frederic Weisbecker <fweisbec@gmail.com>
    Cc: Steven Rostedt <rostedt@goodmis.org>
    Cc: Arnaldo Carvalho de Melo <acme@redhat.com>
    Signed-off-by: Ingo Molnar <mingo@elte.hu>

commit 7bf432d64c47f77111fbce5d48d7774df8b48948
Author: Hans Verkuil <hverkuil@xs4all.nl>
Date:   Mon Feb 16 04:25:32 2009 -0300

    V4L/DVB (10626): ivtv: fix regression in get sliced vbi format
    
    The new v4l2_subdev_call used s_fmt instead of g_fmt.
    
    Thanks-to: Andy Walls <awalls@radix.net>
    Signed-off-by: Hans Verkuil <hverkuil@xs4all.nl>
    Signed-off-by: Mauro Carvalho Chehab <mchehab@redhat.com>

commit ac9575f75c52bcb455120f8c43376b556acba048
Author: Hans Verkuil <hverkuil@xs4all.nl>
Date:   Sat Feb 14 19:58:33 2009 -0300

    V4L/DVB (10625): ivtv: fix decoder crash regression
    
    The video_ioctl2 conversion of ivtv in kernel 2.6.27 introduced a bug
    causing decoder commands to crash. The decoder commands should have been
    handled from the video_ioctl2 default handler, ensuring correct mapping
    of the argument between user and kernel space. Unfortunately they ended
    up before the video_ioctl2 call, causing random crashes.
    
    Thanks to hannes@linus.priv.at for testing and helping me track down the
    cause!
    
    Signed-off-by: Hans Verkuil <hverkuil@xs4all.nl>
    Signed-off-by: Mauro Carvalho Chehab <mchehab@redhat.com>

commit ad28127d7c7c617bca1d426f95b6ffa1fb8f700f
Author: Adam Baker <linux@baker-net.org.uk>
Date:   Wed Feb 4 15:33:21 2009 -0300

    V4L/DVB (10619): gspca - main: Destroy the URBs at disconnection time.
    
    If a device using the gspca framework is unplugged while it is still streaming
    then the call that is used to free the URBs that have been allocated occurs
    after the pointer it uses becomes invalid at the end of gspca_disconnect.
    Make another cleanup call in gspca_disconnect while the pointer is still
    valid (multiple calls are OK as destroy_urbs checks for pointers already
    being NULL.
    
    Signed-off-by: Adam Baker <linux@baker-net.org.uk>
    Signed-off-by: Jean-Francois Moine <moinejf@free.fr>
    Signed-off-by: Mauro Carvalho Chehab <mchehab@redhat.com>

commit 28100165c3f27f681fee8b60e4e44f64a739c454
Author: Mauro Carvalho Chehab <mchehab@redhat.com>
Date:   Mon Feb 16 15:27:44 2009 -0300

    V4L/DVB (10572): Revert commit dda06a8e4610757def753ee3a541a0b1a1feb36b
    
    On Mon, 02 Feb 2009, Hartmut wrote:
    
    This change set is wrong. The affected functions cannot be called from
    an interrupt context, because they may process large buffers. In this
    case, interrupts are disabled for a long time. Functions, like
    dvb_dmx_swfilter_packets(), could be called only from a tasklet.
    
    This change set does hide some strong design bugs in dm1105.c and
    au0828-dvb.c.
    
    Please revert this change set and do fix the bugs in dm1105.c and
    au0828-dvb.c (and other files).
    
    On Sun, 15 Feb 2009, Oliver Endriss wrote:
    
    This changeset _must_ be reverted! It breaks all kernels since 2.6.27
    for applications which use DVB and require a low interrupt latency.
    
    It is a very bad idea to call the demuxer to process data buffers with
    interrupts disabled!
    
    On Mon, 16 Feb 2009, Trent Piepho wrote:
    
    I agree, this is bad.  The demuxer is far too much work to be done with
    IRQs off.  IMHO, even doing it under a spin-lock is excessive.  It should
    be a mutex.  Drivers should use a work-queue to feed the demuxer.
    
    Thank you for testing this changeset and discovering the issues on it.
    
    Cc: Trent Piepho <xyzzy@speakeasy.org>
    Cc: Hartmut <e9hack@googlemail.com>
    Cc: Oliver Endriss <o.endriss@gmx.de>
    Cc: Andreas Oberritter <obi@linuxtv.org>
    Signed-off-by: Mauro Carvalho Chehab <mchehab@redhat.com>

commit 2f94fc465a6504443bb986ba9d36e28e2b422c6e
Author: Tobias Lorenz <tobias.lorenz@gmx.net>
Date:   Thu Feb 12 14:56:19 2009 -0300

    V4L/DVB (10533): fix LED status output
    
    This patch closes one of my todos that was since long on my list.
    Some people reported clicks and glitches in the audio stream,
    correlated to the LED color changing cycle.
    Thanks to Rick Bronson <rick@efn.org>.
    
    Signed-off-by: Tobias Lorenz <tobias.lorenz@gmx.net>
    Signed-off-by: Mauro Carvalho Chehab <mchehab@redhat.com>

commit d807dec59d3c850b332b5bf95fe33f18def00068
Author: Tobias Lorenz <tobias.lorenz@gmx.net>
Date:   Thu Feb 12 14:56:10 2009 -0300

    V4L/DVB (10532): Correction of Stereo detection/setting and signal strength indication
    
    Thanks to Bob Ross <pigiron@gmx.com>
    - correction of stereo detection/setting
    - correction of signal strength indicator scaling
    
    Signed-off-by: Tobias Lorenz <tobias.lorenz@gmx.net>
    Signed-off-by: Mauro Carvalho Chehab <mchehab@redhat.com>

commit ef88f2b563275d156beebc9f76ed134f3f90f210
Author: Mauro Carvalho Chehab <mchehab@redhat.com>
Date:   Fri Feb 13 08:24:34 2009 -0300

    V4L/DVB (10527): tuner: fix TUV1236D analog/digital setup
    
    As reported by David Engel <david@istwok.net>, ATSC115 doesn't work
    fine with mythtv. This software opens both analog and dvb interfaces of
    saa7134.
    
    What happens is that some tuner commands are going to the wrong place,
    as shown at the logs:
    
    Feb 12 20:37:48 opus kernel: tuner-simple 1-0061: using tuner params #0 (ntsc)
    Feb 12 20:37:48 opus kernel: tuner-simple 1-0061: freq = 67.25 (1076), range = 0, config = 0xce, cb = 0x01
    Feb 12 20:37:48 opus kernel: tuner-simple 1-0061: Freq= 67.25 MHz, V_IF=45.75 MHz, Offset=0.00 MHz, div=1808
    Feb 12 20:37:48 opus kernel: tuner 1-0061: tv freq set to 67.25
    Feb 12 20:37:48 opus kernel: tuner-simple 1-000a: using tuner params #0 (ntsc)
    Feb 12 20:37:48 opus kernel: tuner-simple 1-000a: freq = 67.25 (1076), range = 0, config = 0xce, cb = 0x01
    Feb 12 20:37:48 opus kernel: tuner-simple 1-000a: Freq= 67.25 MHz, V_IF=45.75 MHz, Offset=0.00 MHz, div=1808
    Feb 12 20:37:48 opus kernel: tuner-simple 1-000a: tv 0x07 0x10 0xce 0x01
    Feb 12 20:37:48 opus kernel: tuner-simple 1-0061: tv 0x07 0x10 0xce 0x01
    
    This happens due to a hack at TUV1236D analog setup, where it replaces
    tuner address, at 0x61 for 0x0a, in order to save a few memory bytes.
    
    The code assumes that nobody else would try to access the tuner during
    that setup, but the point is that there's no lock to protect such
    access. So, this opens the possibility of race conditions to happen.
    
    Instead of hacking tuner address, this patch uses a temporary var with
    the proper tuner value to be used during the setup. This should save
    the issue, although we should consider to write some analog/digital
    lock at saa7134 driver.
    
    Signed-off-by: Mauro Carvalho Chehab <mchehab@redhat.com>

commit f63145e28934a0b3ad8baf31adc195ec81423351
Author: Trent Piepho <xyzzy@speakeasy.org>
Date:   Sat Jan 24 20:52:41 2009 -0300

    V4L/DVB (10516a): zoran: Update MAINTAINERS entry
    
    Ronald Bultje hasn't been maintaining the zoran driver for some time.
    Re-direct people to the mailing lists and web pages.
    
     MAINTAINERS |    6 +++---
    
    Signed-off-by: Trent Piepho <xyzzy@speakeasy.org>
    Acked-by: Jean Delvare <khali@linux-fr.org>
    Acked-by: Ronald S. Bultje <rbultje@ronald.bitfreak.net>
    Signed-off-by: Mauro Carvalho Chehab <mchehab@redhat.com>

commit 2b639386a2a26c84c8d26c649cf657ebd43a7bc8
Author: Jiri Slaby <jirislaby@gmail.com>
Date:   Tue Feb 17 12:38:36 2009 +0100

    HID: fix bus endianity in file2alias
    
    Fix endianness of bus member of hid_device_id in modpost.
    
    Signed-off-by: Jiri Slaby <jirislaby@gmail.com>
    Reported-by: Nye Liu <nyet@mrv.com>
    Cc: Jiri Kosina <jkosina@suse.cz>
    Signed-off-by: Jiri Kosina <jkosina@suse.cz>

commit daedb3d6a91f9626ab4c921378ac52e44de833d5
Author: Anssi Hannula <anssi.hannula@gmail.com>
Date:   Sat Feb 14 11:45:05 2009 +0200

    HID: move tmff and zpff devices from ignore_list to blacklist
    
    The devices handled by hid-tmff and hid-zpff were added in the
    hid_ignore_list[] instead of hid_blacklist[] in hid-core.c, thus
    disabling them completely.
    
    hid_ignore_list[] causes hid layer to skip the device, while
    hid_blacklist[] indicates there is a specific driver in hid bus.
    
    Re-enable the devices by moving them to the correct list.
    
    Signed-off-by: Anssi Hannula <anssi.hannula@gmail.com>
    Signed-off-by: Jiri Kosina <jkosina@suse.cz>

commit dfd395aff4cb16d2480b280064bea1b19ededef1
Author: Dan Carpenter <error27@gmail.com>
Date:   Tue Feb 3 16:35:17 2009 +0300

    HID: unlock properly on error paths in hidraw_ioctl()
    
    We can't return immediately because lock_kernel() is held.
    
    Signed-off-by: Dan Carpenter <error27@gmail.com>
    Signed-off-by: Jiri Kosina <jkosina@suse.cz>

commit 35cfd1d964f3c2420862f2167a0eb85ff1208999
Author: Michael Tokarev <mjt@tls.msk.ru>
Date:   Sun Feb 1 16:11:04 2009 +0100

    HID: blacklist Powercom USB UPS
    
    For quite some time users with various UPSes from Powercom were forced to play
    magic with bind/unbind in /sys in order to be able to see the UPSes.  The
    beasts does not work as HID devices, even if claims to do so.  cypress_m8
    driver works with the devices instead, creating a normal serial port with which
    normal UPS controlling software works.
    
    The manufacturer confirmed the upcoming models with proper HID support will
    have different device IDs.  In any way, it's wrong to have two completely
    different modules for one device in kernel.
    
    Blacklist the device in HID (add it to hid_ignore_list) to stop this mess,
    finally.
    
    Signed-off-By: Michael Tokarev <mjt@tls.msk.ru>
    Signed-off-by: Jiri Kosina <jkosina@suse.cz>

commit 8eb2dfac41c71701bb741f496f0cb7b7e4a3c3f6
Author: Herbert Xu <herbert@gondor.apana.org.au>
Date:   Tue Feb 17 20:00:11 2009 +0800

    crypto: lrw - Fix big endian support
    
    It turns out that LRW has never worked properly on big endian.
    This was never discussed because nobody actually used it that
    way.  In fact, it was only discovered when Geert Uytterhoeven
    loaded it through tcrypt which failed the test on it.
    
    The fix is straightforward, on big endian the to find the nth
    bit we should be grouping them by words instead of bytes.  So
    setbit128_bbe should xor with 128 - BITS_PER_LONG instead of
    128 - BITS_PER_BYTE == 0x78.
    
    Tested-by: Geert Uytterhoeven <Geert.Uytterhoeven@sonycom.com>
    Signed-off-by: Herbert Xu <herbert@gondor.apana.org.au>

commit dcd9651ecd652a186dd9ad0dde76d43320b9c0a2
Author: Rakib Mullick <rakib.mullick@gmail.com>
Date:   Tue Feb 17 09:21:52 2009 +0100

    mfd: Fix sm501_register_gpio section mismatch
    
    WARNING: drivers/mfd/built-in.o(.text+0x1706): Section mismatch in
    reference from the function sm501_register_gpio() to the function
    .devinit.text:sm501_gpio_register_chip()
    The function sm501_register_gpio() references
    the function __devinit sm501_gpio_register_chip().
    This is often because sm501_register_gpio lacks a __devinit
    annotation or the annotation of sm501_gpio_register_chip is wrong.
    
    Signed-off-by: Rakib Mullick <rakib.mullick@gmail.com>
    Signed-off-by: Samuel Ortiz <sameo@openedhand.com>

commit 158abca5f699a047ff7b67a64ab19e8ec824e37d
Author: Alexey Dobriyan <adobriyan@gmail.com>
Date:   Tue Feb 17 09:10:19 2009 +0100

    mfd: fix sm501 section mismatches
    
    drv => driver renaming is needed otherwise modpost will spit false positives
    re pointing to __devinit function from regular data.
    
    Signed-off-by: Alexey Dobriyan <adobriyan@gmail.com>
    Cc: Ben Dooks <ben-linux@fluff.org>
    Signed-off-by: Andrew Morton <akpm@linux-foundation.org>
    Signed-off-by: Samuel Ortiz <sameo@openedhand.com>

commit 8915e5402809ae6228e15c76417351dad752826e
Author: Jean Delvare <khali@linux-fr.org>
Date:   Tue Feb 17 09:07:02 2009 +0100

    mfd: terminate pcf50633 i2c_device_id list
    
    The i2c_device_id list is supposed to be zero-terminated.
    
    Signed-off-by: Jean Delvare <khali@linux-fr.org>
    Cc: Balaji Rao <balajirrao@openmoko.org>
    Signed-off-by: Samuel Ortiz <sameo@openedhand.com>
    Signed-off-by: Andrew Morton <akpm@linux-foundation.org>

commit 2f161f4485535df85451a8cfdf2487c315f665f5
Author: Mark Brown <broonie@opensource.wolfsonmicro.com>
Date:   Fri Feb 6 15:28:15 2009 +0100

    mfd: Ensure all WM8350 IRQs are masked at startup
    
    The IRQs might have been left enabled in hardware, generating spurious
    IRQs before the drivers have registered.
    
    Signed-off-by: Mark Brown <broonie@opensource.wolfsonmicro.com>
    Signed-off-by: Samuel Ortiz <sameo@openedhand.com>

commit 9427c34bc72f05b519e8466f27c38a3327bae157
Author: Philipp Zabel <philipp.zabel@gmail.com>
Date:   Wed Feb 4 21:27:48 2009 +0100

    mfd: fix htc-egpio iomem resource handling using resource_size
    
    Fixes an off-by-one error in the iomem resource mapping.
    
    Signed-off-by: Philipp Zabel <philipp.zabel@gmail.com>
    Signed-off-by: Samuel Ortiz <sameo@openedhand.com>

commit a313d758cc7956d7f1e7a727c8fa571b6468fabf
Author: Mark Brown <broonie@sirena.org.uk>
Date:   Wed Feb 4 21:26:07 2009 +0100

    mfd: Fix TWL4030 build on some ARM variants
    
    Many ARM platforms do not provide a mach/cpu.h so rather than guarding
    the use of that header with CONFIG_ARM guard it with the guards used
    when testing for the OMAP variants in the body of the code.
    
    Signed-off-by: Mark Brown <broonie@sirena.org.uk>
    Acked-by: David Brownell <dbrownell@users.sourceforge.net>
    Signed-off-by: Samuel Ortiz <sameo@openedhand.com>

commit 29c6a2e6f88225ae2673aabd2de0fa2126653231
Author: Roel Kluin <roel.kluin@gmail.com>
Date:   Wed Feb 4 21:23:22 2009 +0100

    mfd: wm8350 tries reaches -1
    
    With a postfix decrement tries will reach -1 rather than 0,
    so the warning will not be issued even upon timeout.
    
    Signed-off-by: Roel Kluin <roel.kluin@gmail.com>
    Acked-by: Mark Brown <broonie@opensource.wolfsonmicro.com>
    Signed-off-by: Samuel Ortiz <sameo@openedhand.com>

commit a39a021fd73ce06aad8d1081ac711a36930e6cb8
Author: Mark Brown <broonie@opensource.wolfsonmicro.com>
Date:   Wed Feb 4 21:10:58 2009 +0100

    mfd: Mark WM835x USB_SLV_500MA bit as accessible
    
    The code is out of sync with the silicon.
    
    Signed-off-by: Mark Brown <broonie@opensource.wolfsonmicro.com>
    Signed-off-by: Samuel Ortiz <sameo@openedhand.com>

commit 85c93ea7dca475a6ee3bf414befe94b2c42f1001
Author: Mark Brown <broonie@opensource.wolfsonmicro.com>
Date:   Wed Feb 4 21:09:38 2009 +0100

    mfd: Improve diagnostics for WM8350 ID register probe
    
    Check the return value of the device I/O functions when reading the
    ID registers so we can provide a more useful diagnostic when we're
    having trouble talking to the device.
    
    Signed-off-by: Mark Brown <broonie@opensource.wolfsonmicro.com>
    Signed-off-by: Samuel Ortiz <sameo@openedhand.com>

commit 62571c29a8343839e85e741db6a489f30686697c
Author: Mark Brown <broonie@opensource.wolfsonmicro.com>
Date:   Wed Feb 4 20:49:52 2009 +0100

    mfd: Initialise WM8350 interrupts earlier
    
    Ensure that the interrupt handling is configured before we do platform
    specific init. This allows the platform specific initialisation to
    configure things which use interrupts safely.
    
    Signed-off-by: Mark Brown <broonie@opensource.wolfsonmicro.com>
    Signed-off-by: Samuel Ortiz <sameo@openedhand.com>

commit 720fd66dfad1b0286721dbb2ed4d6076c0aa953b
Author: Julia Lawall <julia@diku.dk>
Date:   Wed Feb 4 20:44:01 2009 +0100

    mfd: Fix egpio kzalloc return test
    
    Since ei is already known to be non-NULL, I assume that what was intended
    was to test the result of kzalloc.
    
    Signed-off-by: Julia Lawall <julia@diku.dk>
    Signed-off-by: Samuel Ortiz <sameo@openedhand.com>

commit 7dac745b8e367c99175b8f0d014d996f0e5ed9e5
Author: Tejun Heo <tj@kernel.org>
Date:   Thu Feb 12 10:34:32 2009 +0900

    sata_nv: give up hardreset on nf2
    
    Kernel bz#12176 reports that nf2 hardreset simply doesn't work.  Give
    up.  Argh...
    
    Signed-off-by: Tejun Heo <tj@kernel.org>
    Cc: Robert Hancock <hancockr@shaw.ca>
    Reported-by: Saro <saro_v@hotmail.it>
    Signed-off-by: Jeff Garzik <jgarzik@redhat.com>

commit d1b3525b4126d7acad0493b62642b80b71442661
Author: Sergei Shtylyov <sshtylyov@ru.mvista.com>
Date:   Sun Feb 15 23:24:24 2009 +0400

    libata-sff: fix 32-bit PIO ATAPI regression
    
    Commit 871af1210f13966ab911ed2166e4ab2ce775b99d (libata: Add 32bit
    PIO support) has caused all kinds of errors on the ATAPI devices, so
    it has been empirically proven that one shouldn't try to read/write
    an extra data word when a device is not expecting it already. "Don't
    do it then"; however, still use a chance to do 32-bit read/write one
    last time when there are exactly 3 trailing bytes.
    
    Oh, and stop pointlessly swapping the bytes to and fro on big-endian
    machines by using io*_rep() accessors which shouldn't byte-swap.
    
    This patch should fix the kernel.org bug #12609.
    
    Signed-off-by: Sergei Shtylyov <sshtylyov@ru.mvista.com>
    Signed-off-by: Jeff Garzik <jgarzik@redhat.com>

commit 3b03cc5b86e2052295b9b484f37226ee15c87924
Author: Joris van Rantwijk <jorispubl@xs4all.nl>
Date:   Mon Feb 16 22:58:23 2009 +0100

    ALSA: usb-audio - Workaround for misdetected sample rate with CM6207
    
    The CM6207 incorrectly advertises its 96 kHz playback setting as 48 kHz
    in its USB device descriptor. This patch extends an existing workaround
    in usbaudio.c to also cover the CM6207.
    
    This resolves issue 0004249 in the ALSA bug tracker.
    
    Signed-off-by: Joris van Rantwijk <jorispubl@xs4all.nl>
    Cc: <stable@kernel.org>
    Signed-off-by: Takashi Iwai <tiwai@suse.de>

commit 0412558c873f716efe902b397af0653a550f7341
Author: Takashi Iwai <tiwai@suse.de>
Date:   Mon Feb 16 22:48:12 2009 +0100

    ALSA: usb-audio - Fix non-continuous rate detection
    
    The detection of non-continuous rates (given via rate tables) isn't
    processed properly (e.g. for type II).
    
    This patch fixes and simplifies the detection code.
    
    Tested-by: Joris van Rantwijk <jorispubl@xs4all.nl>
    Cc: <stable@kernel.org>
    Signed-off-by: Takashi Iwai <tiwai@suse.de>

commit 744f6592727a7ab9e3ca4266bedaa786825a31bb
Author: Gregory CLEMENT <gclement00@gmail.com>
Date:   Mon Feb 16 21:21:47 2009 +0100

    [ARM] 5400/1: Add support for inverted rdy_busy pin for Atmel nand device controller
    
    Add support for inverted rdy_busy pin for Atmel nand device controller
    It will fix building error on NeoCore926 board.
    
    Acked-by: Andrew Victor <linux@maxim.org.za>
    Acked-by: David Woodhouse <David.Woodhouse@intel.com>
    Signed-off-by: Gregory CLEMENT <gclement@adeneo.adetelgroup.com>
    Signed-off-by: Russell King <rmk+kernel@arm.linux.org.uk>

commit a3c1239eb59c0a907f8be5587d42e950f44543f8
Author: David Vrabel <david.vrabel@csr.com>
Date:   Mon Feb 16 14:37:12 2009 +0000

    wusb: whci-hcd: always lock whc->lock with interrupts disabled
    
    Always lock whc->lock with spin_lock_irq() or spin_lock_irqsave().
    
    Signed-off-by: David Vrabel <david.vrabel@csr.com>

commit e156ac4c571e3be741bc411e58820b74a9295c72
Author: Clemens Ladisch <clemens@ladisch.de>
Date:   Mon Feb 16 15:22:39 2009 +0100

    sound: usb-audio: fix uninitialized variable with M-Audio MIDI interfaces
    
    Fix the snd_usbmidi_create_endpoints_midiman() function, which forgot to
    set the out_interval member of the endpoint info structure for Midiman/
    M-Audio devices.  Since kernel 2.6.24, any non-zero value makes the
    driver use interrupt transfers instead of bulk transfers.  With EHCI
    controllers, these random interval values result in unbearably large
    latencies for output MIDI transfers.
    
    Signed-off-by: Clemens Ladisch <clemens@ladisch.de>
    Reported-by: David <devurandom@foobox.com>
    Tested-by: David <devurandom@foobox.com>
    Cc: <stable@kernel.org>
    Signed-off-by: Takashi Iwai <tiwai@suse.de>

commit d14a7e0bfc4aed6452a436c9836903fbd1a5d6ad
Author: Takashi Iwai <tiwai@suse.de>
Date:   Mon Feb 16 10:13:03 2009 +0100

    Revert "Sound: hda - Restore PCI configuration space with interrupts off"
    
    This reverts commit 32e176c14d7a425b681ef003c9061001ddb7fc7b.
    
    That commit caused a regression with suspend on Thinkpad SL300.
    
    Reference: kernel bug#12711
    	http://bugzilla.kernel.org/show_bug.cgi?id=12711
    
    Tested-by:  Alexandre Rostovtsev <tetromino@gmail.com>
    Acked-by: Rafael J. Wysocki <rjw@sisk.pl>
    Signed-off-by: Takashi Iwai <tiwai@suse.de>

commit 1371be0f7c8f6141b2dbfde6a7ae7885bedb9834
Author: Rusty Russell <rusty@rustcorp.com.au>
Date:   Mon Feb 16 17:31:59 2009 -0600

    cpumask: Use cpu_*_mask accessors code: alpha
    
    Impact: use new API, fix SMP bug.
    
    Use the new accessors rather than frobbing bits directly.
    
    This also removes the bug introduced in ee0c468b (alpha: compile
    fixes) which had Alpha setting bits on an on-stack cpumask, not the
    cpu_online_map.
    
    Cc: Richard Henderson <rth@twiddle.net>
    Cc: FUJITA Tomonori <fujita.tomonori@lab.ntt.co.jp>
    Signed-off-by: Rusty Russell <rusty@rustcorp.com.au>
    Signed-off-by: Mike Travis <travis@sgi.com>
    Acked-by: Ivan Kokshaysky <ink@jurassic.park.msu.ru>
    Acked-by: Ingo Molnar <mingo@elte.hu>

commit a0abd520fd69295f4a3735e29a9448a32e101d47
Author: Rusty Russell <rusty@rustcorp.com.au>
Date:   Mon Feb 16 17:31:58 2009 -0600

    cpumask: fix powernow-k8: partial revert of 2fdf66b491ac706657946442789ec644cc317e1a
    
    Impact: fix powernow-k8 when acpi=off (or other error).
    
    There was a spurious change introduced into powernow-k8 in this patch:
    so that we try to "restore" the cpus_allowed we never saved.  We revert
    that file.
    
    See lkml "[PATCH] x86/powernow: fix cpus_allowed brokage when
    acpi=off" from Yinghai for the bug report.
    
    Cc: Mike Travis <travis@sgi.com>
    Cc: Yinghai Lu <yinghai@kernel.org>
    Signed-off-by: Rusty Russell <rusty@rustcorp.com.au>
    Acked-by: Ingo Molnar <mingo@elte.hu>

commit 090542641de833c6f756895fc2f139f046e298f9
Author: Dan Carpenter <error27@gmail.com>
Date:   Sun Feb 15 20:02:19 2009 -0500

    ext4: Fix NULL dereference in ext4_ext_migrate()'s error handling
    
    This was found through a code checker (http://repo.or.cz/w/smatch.git/).
    It looks like you might be able to trigger the error by trying to migrate
    a readonly file system.
    
    Signed-off-by: Dan Carpenter <error27@gmail.com>
    Signed-off-by: "Theodore Ts'o" <tytso@mit.edu>

commit f9aa28adfc6a4b01268ebb6d88566cca8627905f
Author: Pekka Paalanen <pq@iki.fi>
Date:   Sat Jan 3 21:09:27 2009 +0200

    doc: mmiotrace.txt, buffer size control change
    
    Impact: prevents confusing the user when buffer size is inadequate
    
    The tracing framework offers a resizeable buffer, which mmiotrace uses
    to record events. If the buffer is full, the following events will be
    lost. Events should not be lost, so the documentation instructs the user
    to increase the buffer size. The buffer size is set via a debugfs file.
    
    Mmiotrace documentation was not updated the same time the debugfs file
    was changed. The old file was tracing/trace_entries and first contained
    the number of entries the buffer had space for, per cpu. Nowadays this
    file is replaced with the file tracing/buffer_size_kb, which tells the
    amount of memory reserved for the buffer, per cpu, in kilobytes.
    
    Previously, a flag had to be toggled via the debugfs file
    tracing/tracing_enabled when the buffer size was changed. This is no
    longer necessary.
    
    The mmiotrace documentation is updated to reflect the current state of
    the tracing framework.
    
    Signed-off-by: Pekka Paalanen <pq@iki.fi>
    Signed-off-by: Steven Rostedt <srostedt@redhat.com>
    Signed-off-by: Ingo Molnar <mingo@elte.hu>

commit 6bc5c366b1a45ca18fba6851f62db5743b3f6db5
Author: Pekka Paalanen <pq@iki.fi>
Date:   Sat Jan 3 21:23:51 2009 +0200

    trace: mmiotrace to the tracer menu in Kconfig
    
    Impact: cosmetic change in Kconfig menu layout
    
    This patch was originally suggested by Peter Zijlstra, but seems it
    was forgotten.
    
    CONFIG_MMIOTRACE and CONFIG_MMIOTRACE_TEST were selectable
    directly under the Kernel hacking / debugging menu in the kernel
    configuration system. They were present only for x86 and x86_64.
    
    Other tracers that use the ftrace tracing framework are in their own
    sub-menu. This patch moves the mmiotrace configuration options there.
    Since the Kconfig file, where the tracer menu is, is not architecture
    specific, HAVE_MMIOTRACE_SUPPORT is introduced and provided only by
    x86/x86_64. CONFIG_MMIOTRACE now depends on it.
    
    Signed-off-by: Pekka Paalanen <pq@iki.fi>
    Signed-off-by: Steven Rostedt <srostedt@redhat.com>
    Signed-off-by: Ingo Molnar <mingo@elte.hu>

commit 391b170f10e669dd429aa47bce998c2fa839404c
Author: Pekka Paalanen <pq@iki.fi>
Date:   Tue Jan 6 13:57:11 2009 +0200

    mmiotrace: count events lost due to not recording
    
    Impact: enhances lost events counting in mmiotrace
    
    The tracing framework, or the ring buffer facility it uses, has a switch
    to stop recording data. When recording is off, the trace events will be
    lost. The framework does not count these, so mmiotrace has to count them
    itself.
    
    Signed-off-by: Pekka Paalanen <pq@iki.fi>
    Signed-off-by: Steven Rostedt <srostedt@redhat.com>
    Signed-off-by: Ingo Molnar <mingo@elte.hu>

commit 929799973ba4a40f7b8001e9cc461c13d04c4124
Author: Andi Kleen <andi@firstfloor.org>
Date:   Sat Jan 10 04:56:13 2009 +0100

    kbuild: create the source symlink earlier in the objdir
    
    It's useful to already have the source symlink in a
    objdir when one just runs make *config. Then one
    can do
    
    mkdir obj-allyes
    cd obj-allyes
    make -C ../sourcedir O=$(pwd) allyesconfig
    ./source/scripts/config --disable debug_info
    make CC=icecc -j18
    
    without having to interrupt the make first just to
    get the source symlink.
    
    Signed-off-by: Andi Kleen <ak@linux.intel.com>
    [sam: deleted the other source symlink statement]
    Signed-off-by: Sam Ravnborg <sam@ravnborg.org>

commit 11df65c3c6f7fdc837a5be8787d31011e8bb93c1
Author: Arjan van de Ven <arjan@linux.intel.com>
Date:   Sun Feb 15 11:30:55 2009 +0100

    scripts: add x86 64 bit support to the markup_oops.pl script
    
    Signed-off-by: Arjan van de Ven <arjan@linux.intel.com>
    Signed-off-by: Andrew Morton <akpm@linux-foundation.org>
    Signed-off-by: Sam Ravnborg <sam@ravnborg.org>

commit c19ef7fd8e534c870166213e9e30de9c44b34a76
Author: Arjan van de Ven <arjan@linux.intel.com>
Date:   Sun Feb 15 11:30:52 2009 +0100

    scripts: add x86 register parser to markup_oops.pl
    
    An oops dump also contains the register values.
    
    This patch parses these for (32 bit) x86, and then annotates the
    disassembly with these values; this helps in analysis of the oops by the
    developer, for example, NULL pointer or other pointer bugs show up clearly
    this way.
    
    Signed-off-by: Arjan van de Ven <arjan@linux.intel.com>
    Signed-off-by: Andrew Morton <akpm@linux-foundation.org>
    Signed-off-by: Sam Ravnborg <sam@ravnborg.org>

commit 5123b327c107db9e560fd62d50c27a3816e5a078
Author: Rabin Vincent <rabin@rab.in>
Date:   Sun Jan 25 18:39:12 2009 +0530

    kbuild: add sys_* entries for syscalls in tags
    
    Currently, it is no longer possible to use the tags file to jump to
    system call function definitions with sys_foo, because the definitions
    are obscured by use of the SYSCALL_DEFINE* macros.
    
    This patch adds the appropriate option to ctags to make it see through
    the macro.  Also, it adds the ENTRY() work already done for Exuberant
    to Emacs too.
    
    Signed-off-by: Rabin Vincent <rabin@rab.in>
    Signed-off-by: Sam Ravnborg <sam@ravnborg.org>

commit 953fae66d124486c9e284806429c52c5402f59ac
Author: Alexey Dobriyan <adobriyan@gmail.com>
Date:   Wed Feb 11 13:24:09 2009 -0800

    kbuild: fix tags generation of config symbols
    
    commit 4f628248a578585472e19e4cba2c604643af8c6c aka "kbuild: reintroduce
    ALLSOURCE_ARCHS support for tags/cscope" breaks tags generation for
    Kconfig symbols.
    
    Steps to reproduce:
    
    	make tags
    	vi -t PROC_FS
    
    It should jump to 'config PROC_FS' line.
    
    Signed-off-by: Alexey Dobriyan <adobriyan@gmail.com>
    Tested-by: Pete Wyckoff <pw@padd.com>
    Signed-off-by: Andrew Morton <akpm@linux-foundation.org>
    Signed-off-by: Sam Ravnborg <sam@ravnborg.org>

commit 0bb98e231803860e978c302b9faccaf776881137
Author: Michael Neuling <mikey@neuling.org>
Date:   Sun Feb 15 10:20:30 2009 +0100

    bootgraph: fix for use with dot symbols
    
    powerpc has dot symbols, so the dmesg output looks like:
    
    <4>[    0.327310] calling  .migration_init+0x0/0x9c @ 1
    <4>[    0.327595] initcall .migration_init+0x0/0x9c returned 1 after 0 usecs
    
    The below fixes bootgraph.pl so it handles this correctly.
    
    Signed-off-by: Michael Neuling <mikey@neuling.org>
    Signed-off-by: Arjan van de Ven <arjan@linux.intel.com>
    Signed-off-by: Andrew Morton <akpm@linux-foundation.org>
    Signed-off-by: Sam Ravnborg <sam@ravnborg.org>

commit fc370ecfdb37b853bd8e2118c7ad9f99fa9ac5cd
Author: Josh Hunt <josh@scalex86.org>
Date:   Wed Feb 11 21:10:57 2009 -0800

    kbuild: add vmlinux to kernel rpm
    
    We are building an automated system to test kernels weekly and need to
    provide an rpm to our QA dept.  We would like to use the ability to create
    kernel rpms already in the kernel's Makefile, but need the vmlinux file
    included in the rpm for later debugging.
    
    This patch adds a compressed vmlinux to the kernel rpm when doing a
    make rpm-pkg or binrpm-pkg and upon install places the vmlinux file in /boot.
    
    Signed-off-by: Josh Hunt <josh@scalex86.org>
    Signed-off-by: Sam Ravnborg <sam@ravnborg.org>

commit d21d52d4a155e36d4dc93d642cd52cb63f7ef91b
Author: Mike Frysinger <vapier.adi@gmail.com>
Date:   Thu Feb 5 16:13:32 2009 +0800

    kbuild,setlocalversion: shorten the make time when using svn
    
    Don't bother doing `svn st` as it takes a retarded amount of time when
    the source is cold
    
    Signed-off-by: Mike Frysinger <vapier.adi@gmail.com>
    Signed-off-by: Bryan Wu <cooloney@kernel.org>
    Signed-off-by: Sam Ravnborg <sam@ravnborg.org>

commit be716615fe596ee117292dc615e95f707fb67fd1
Author: Thomas Gleixner <tglx@linutronix.de>
Date:   Tue Jan 13 23:36:34 2009 +0100

    x86, vm86: fix preemption bug
    
    Commit 3d2a71a596bd9c761c8487a2178e95f8a61da083 ("x86, traps: converge
    do_debug handlers") changed the preemption disable logic of do_debug()
    so vm86_handle_trap() is called with preemption disabled resulting in:
    
     BUG: sleeping function called from invalid context at include/linux/kernel.h:155
     in_atomic(): 1, irqs_disabled(): 0, pid: 3005, name: dosemu.bin
     Pid: 3005, comm: dosemu.bin Tainted: G        W  2.6.29-rc1 #51
     Call Trace:
      [<c050d669>] copy_to_user+0x33/0x108
      [<c04181f4>] save_v86_state+0x65/0x149
      [<c0418531>] handle_vm86_trap+0x20/0x8f
      [<c064e345>] do_debug+0x15b/0x1a4
      [<c064df1f>] debug_stack_correct+0x27/0x2c
      [<c040365b>] sysenter_do_call+0x12/0x2f
     BUG: scheduling while atomic: dosemu.bin/3005/0x10000001
    
    Restore the original calling convention and reenable preemption before
    calling handle_vm86_trap().
    
    Reported-by: Michal Suchanek <hramrach@centrum.cz>
    Cc: stable@kernel.org
    Signed-off-by: Thomas Gleixner <tglx@linutronix.de>
    Signed-off-by: Ingo Molnar <mingo@elte.hu>

commit 516a1a7e9dc80358030fe01aabb3bedf882db9e2
Author: Avi Kivity <avi@redhat.com>
Date:   Sun Feb 15 02:32:07 2009 +0200

    KVM: VMX: Flush volatile msrs before emulating rdmsr
    
    Some msrs (notable MSR_KERNEL_GS_BASE) are held in the processor registers
    and need to be flushed to the vcpu struture before they can be read.
    
    This fixes cygwin longjmp() failure on Windows x64.
    
    Signed-off-by: Avi Kivity <avi@redhat.com>

commit 682edb4c01e690c7c7cd772dbd6f4e0fd74dc572
Author: Mark McLoughlin <markmc@redhat.com>
Date:   Thu Feb 5 18:23:46 2009 +0000

    KVM: Fix assigned devices circular locking dependency
    
    kvm->slots_lock is outer to kvm->lock, so take slots_lock
    in kvm_vm_ioctl_assign_device() before taking kvm->lock,
    rather than taking it in kvm_iommu_map_memslots().
    
    Cc: stable@kernel.org
    Signed-off-by: Mark McLoughlin <markmc@redhat.com>
    Acked-by: Marcelo Tosatti <mtosatti@redhat.com>
    Signed-off-by: Avi Kivity <avi@redhat.com>

commit b682b814e3cc340f905c14dff87ce8bdba7c5eba
Author: Marcelo Tosatti <mtosatti@redhat.com>
Date:   Tue Feb 10 20:41:41 2009 -0200

    KVM: x86: fix LAPIC pending count calculation
    
    Simplify LAPIC TMCCT calculation by using hrtimer provided
    function to query remaining time until expiration.
    
    Fixes host hang with nested ESX.
    
    Signed-off-by: Marcelo Tosatti <mtosatti@redhat.com>
    Signed-off-by: Alexander Graf <agraf@suse.de>
    Signed-off-by: Avi Kivity <avi@redhat.com>

commit d7cff1c37664971aae32bb0de82231ed34933d8e
Author: Sheng Yang <sheng@linux.intel.com>
Date:   Tue Jan 6 16:25:10 2009 +0800

    KVM: Fix INTx for device assignment
    
    Missing buckets and wrong parameter for free_irq()
    
    Signed-off-by: Sheng Yang <sheng@linux.intel.com>
    Signed-off-by: Avi Kivity <avi@redhat.com>

commit 2aaf69dcee864f4fb6402638dd2f263324ac839f
Author: Sheng Yang <sheng@linux.intel.com>
Date:   Wed Jan 21 16:52:16 2009 +0800

    KVM: MMU: Map device MMIO as UC in EPT
    
    Software are not allow to access device MMIO using cacheable memory type, the
    patch limit MMIO region with UC and WC(guest can select WC using PAT and
    PCD/PWT).
    
    Signed-off-by: Sheng Yang <sheng@linux.intel.com>
    Signed-off-by: Avi Kivity <avi@redhat.com>

commit abe6655dd699069b53bcccbc65b2717f60203b12
Author: Marcelo Tosatti <mtosatti@redhat.com>
Date:   Tue Feb 10 20:59:45 2009 -0200

    KVM: x86: disable kvmclock on non constant TSC hosts
    
    This is better.
    
    Currently, this code path is posing us big troubles,
    and we won't have a decent patch in time. So, temporarily
    disable it.
    
    Signed-off-by: Glauber Costa <glommer@redhat.com>
    Signed-off-by: Marcelo Tosatti <mtosatti@redhat.com>
    Signed-off-by: Avi Kivity <avi@redhat.com>

commit d2a8284e8fca9e2a938bee6cd074064d23864886
Author: Marcelo Tosatti <mtosatti@redhat.com>
Date:   Tue Dec 30 15:55:05 2008 -0200

    KVM: PIT: fix i8254 pending count read
    
    count_load_time assignment is bogus: its supposed to contain what it
    means, not the expiration time.
    
    Signed-off-by: Marcelo Tosatti <mtosatti@redhat.com>
    Signed-off-by: Avi Kivity <avi@redhat.com>

commit ba4cef31d5a397b64ba6d3ff713ce06c62f0c597
Author: Sheng Yang <sheng@linux.intel.com>
Date:   Tue Jan 6 10:03:03 2009 +0800

    KVM: Fix racy in kvm_free_assigned_irq
    
    In the past, kvm_get_kvm() and kvm_put_kvm() was called in assigned device irq
    handler and interrupt_work, in order to prevent cancel_work_sync() in
    kvm_free_assigned_irq got a illegal state when waiting for interrupt_work done.
    But it's tricky and still got two problems:
    
    1. A bug ignored two conditions that cancel_work_sync() would return true result
    in a additional kvm_put_kvm().
    
    2. If interrupt type is MSI, we would got a window between cancel_work_sync()
    and free_irq(), which interrupt would be injected again...
    
    This patch discard the reference count used for irq handler and interrupt_work,
    and ensure the legal state by moving the free function at the very beginning of
    kvm_destroy_vm(). And the patch fix the second bug by disable irq before
    cancel_work_sync(), which may result in nested disable of irq but OK for we are
    going to free it.
    
    Signed-off-by: Sheng Yang <sheng@linux.intel.com>
    Signed-off-by: Avi Kivity <avi@redhat.com>

commit ad8ba2cd44d4d39fb3fe55d5dcc565b19fc3a7fb
Author: Sheng Yang <sheng@linux.intel.com>
Date:   Tue Jan 6 10:03:02 2009 +0800

    KVM: Add kvm_arch_sync_events to sync with asynchronize events
    
    kvm_arch_sync_events is introduced to quiet down all other events may happen
    contemporary with VM destroy process, like IRQ handler and work struct for
    assigned device.
    
    For kvm_arch_sync_events is called at the very beginning of kvm_destroy_vm(), so
    the state of KVM here is legal and can provide a environment to quiet down other
    events.
    
    Signed-off-by: Sheng Yang <sheng@linux.intel.com>
    Signed-off-by: Avi Kivity <avi@redhat.com>

commit 85db06e514422ae429b5f85742d8111b70bd56f3
Author: Marcelo Tosatti <mtosatti@redhat.com>
Date:   Wed Dec 10 21:23:26 2008 +0100

    KVM: mmu_notifiers release method
    
    The destructor for huge pages uses the backing inode for adjusting
    hugetlbfs accounting.
    
    Hugepage mappings are destroyed by exit_mmap, after
    mmu_notifier_release, so there are no notifications through
    unmap_hugepage_range at this point.
    
    The hugetlbfs inode can be freed with pages backed by it referenced
    by the shadow. When the shadow releases its reference, the huge page
    destructor will access a now freed inode.
    
    Implement the release operation for kvm mmu notifiers to release page
    refs before the hugetlbfs inode is gone.
    
    Signed-off-by: Marcelo Tosatti <mtosatti@redhat.com>
    Signed-off-by: Avi Kivity <avi@redhat.com>

commit 7a0eb1960e8ddcb68ea631caf16815485af0e228
Author: Avi Kivity <avi@redhat.com>
Date:   Mon Jan 19 14:57:52 2009 +0200

    KVM: Avoid using CONFIG_ in userspace visible headers
    
    Kconfig symbols are not available in userspace, and are not stripped by
    headers-install.  Avoid their use by adding #defines in <asm/kvm.h> to
    suit each architecture.
    
    Signed-off-by: Avi Kivity <avi@redhat.com>

commit d39123a486524fed9b4e43e08a8757fd90a5859a
Author: Yang Zhang <yang.zhang@intel.com>
Date:   Thu Jan 8 15:13:31 2009 +0800

    KVM: ia64: fix fp fault/trap handler
    
    The floating-point registers f6-f11 is used by vmm and
    saved in kvm-pt-regs, so should set the correct bit mask
    and the pointer in fp_state, otherwise, fpswa may touch
    vmm's fp registers instead of guests'.
    
    In addition, for fp trap handling,  since the instruction
    which leads to fp trap is completely executed, so can't
    use retry machanism to re-execute it, because it may
    pollute some registers.
    
    Signed-off-by: Yang Zhang <yang.zhang@intel.com>
    Signed-off-by: Avi Kivity <avi@redhat.com>

commit e49590b6dd356f8ef10ba3531a29e5086f6f2e3a
Author: Chris Ball <cjb@laptop.org>
Date:   Fri Feb 13 20:56:18 2009 -0500

    x86, olpc: fix model detection without OFW
    
    Impact: fix "garbled display, laptop is unusable" bug
    
    Commit e51a1ac2dfca9ad869471e88f828281db7e810c0 ("x86, olpc: fix endian
    bug in openfirmware workaround") breaks model comparison on OLPC; the value
    0xc2 needs to be scaled up by olpc_board().
    
    The pre-patch version was wrong, but accidentally worked anyway
    (big-endian 0xc2 is big enough to satisfy all other board revisions,
    but little endian 0xc2 is not).
    
    Signed-off-by: Chris Ball <cjb@laptop.org>
    Cc: Andrew Morton <akpm@linux-foundation.org>
    Acked-by: Andres Salomon <dilinger@queued.net>
    Cc: Harvey Harrison <harvey.harrison@gmail.com>
    Signed-off-by: Ingo Molnar <mingo@elte.hu>

commit 9af88143b277f52fc6ce0d69137f435c73c39c1a
Author: David Woodhouse <dwmw2@infradead.org>
Date:   Fri Feb 13 23:18:03 2009 +0000

    iommu: fix Intel IOMMU write-buffer flushing
    
    This is the cause of the DMA faults and disk corruption that people have
    been seeing. Some chipsets neglect to report the RWBF "capability" --
    the flag which says that we need to flush the chipset write-buffer when
    changing the DMA page tables, to ensure that the change is visible to
    the IOMMU.
    
    Override that bit on the affected chipsets, and everything is happy
    again.
    
    Thanks to Chris and Bhavesh and others for helping to debug.
    
    Should resolve:
    
      https://bugzilla.redhat.com/show_bug.cgi?id=479996
      http://bugzilla.kernel.org/show_bug.cgi?id=12578
    
    Signed-off-by: David Woodhouse <David.Woodhouse@intel.com>
    Cc: Linus Torvalds <torvalds@linux-foundation.org>
    Tested-and-acked-by: Chris Wright <chrisw@sous-sol.org>
    Reviewed-by: Bhavesh Davda <bhavesh@vmware.com>
    Signed-off-by: Ingo Molnar <mingo@elte.hu>

commit 2b768b6cdbcf7fa0761e6c35c6ea288297582c43
Author: Andrew Victor <linux@maxim.org.za>
Date:   Wed Feb 11 21:39:05 2009 +0100

    [ARM] 5391/1: AT91: Enable GPIO clocks earlier
    
    Enable the GPIO clocks earlier in the initialization sequence.  This
    allow the board-setup code to read and set GPIO pins.
    
    Signed-off-by: Marc Pignat <marc.pignat@hevs.ch>
    Signed-off-by: Andrew Victor <linux@maxim.org.za>
    Signed-off-by: Russell King <rmk+kernel@arm.linux.org.uk>

commit 2af29b78618ac8b3a8746337002f108f8fdf56ad
Author: Andrew Victor <linux@maxim.org.za>
Date:   Wed Feb 11 21:23:10 2009 +0100

    [ARM] 5390/1: AT91: Watchdog fixes
    
    The recently merged AT91SAM9 watchdog driver uses the
    AT91SAM9X_WATCHDOG config variable, whereas the original version of
    the driver (and the platform support code) used AT91SAM9_WATCHDOG.
    This causes the watchdog platform_device to never be registered, and
    therefore the driver not to be initialized.
    
    This patch:
    - updates the platform support code to use AT91SAM9X_WATCHDOG.
    - includes <linux/io.h> to fix compile error (same fix as was applied
    to at91rm9200_wdt.c)
    - fixes comment regarding watchdog clock-rates in at91rm9200.
    
    Signed-off-by: Andrew Victor <linux@maxim.org.za>
    Signed-off-by: Russell King <rmk+kernel@arm.linux.org.uk>

commit 98ad6e3b1f5f2303815c063ece91291a597f6044
Author: wanzongshun <mcuos.com@gmail.com>
Date:   Fri Feb 13 06:04:32 2009 +0100

    [ARM] 5398/1: Add Wan ZongShun to MAINTAINERS for W90P910
    
    Add Wan ZongShun to MAINTAINERS for W90P910.
    
    Signed-off-by: Wan ZongShun <mcuos.com@gmail.com>
    Signed-off-by: Russell King <rmk+kernel@arm.linux.org.uk>

commit 2acf2c261b823d9d9ed954f348b97620297a36b5
Author: Aneesh Kumar K.V <aneesh.kumar@linux.vnet.ibm.com>
Date:   Sat Feb 14 10:42:58 2009 -0500

    ext4: Implement range_cyclic in ext4_da_writepages instead of write_cache_pages
    
    With delayed allocation we lock the page in write_cache_pages() and
    try to build an in memory extent of contiguous blocks.  This is needed
    so that we can get large contiguous blocks request.  If range_cyclic
    mode is enabled, write_cache_pages() will loop back to the 0 index if
    no I/O has been done yet, and try to start writing from the beginning
    of the range.  That causes an attempt to take the page lock of lower
    index page while holding the page lock of higher index page, which can
    cause a dead lock with another writeback thread.
    
    The solution is to implement the range_cyclic behavior in
    ext4_da_writepages() instead.
    
    http://bugzilla.kernel.org/show_bug.cgi?id=12579
    
    Signed-off-by: Aneesh Kumar K.V <aneesh.kumar@linux.vnet.ibm.com>
    Signed-off-by: "Theodore Ts'o" <tytso@mit.edu>

commit d794bf8e0936dce45104565cd48c571061f4c1e3
Author: Aneesh Kumar K.V <aneesh.kumar@linux.vnet.ibm.com>
Date:   Sat Feb 14 10:31:16 2009 -0500

    ext4: Initialize preallocation list_head's properly
    
    When creating a new ext4_prealloc_space structure, we have to
    initialize its list_head pointers before we add them to any prealloc
    lists.  Otherwise, with list debug enabled, we will get list
    corruption warnings.
    
    Signed-off-by: Aneesh Kumar K.V <aneesh.kumar@linux.vnet.ibm.com>
    Signed-off-by: "Theodore Ts'o" <tytso@mit.edu>

commit abf239657b88fa7e75d5b44a65a4177e7bb8acce
Author: Russell King <rmk@dyn-67.arm.linux.org.uk>
Date:   Sat Feb 14 13:25:38 2009 +0000

    [ARM] omap: fix _omap2_clksel_get_src_field()
    
    _omap2_clksel_get_src_field() was returning the first entry which was
    either the default _or_ applicable to the SoC.  This is wrong - we
    should be returning the first default which is applicable to the SoC.
    
    Signed-off-by: Russell King <rmk+kernel@arm.linux.org.uk>

commit 9132f1b453924e7595ce2dc1853704b2a31f42de
Author: Russell King <rmk@dyn-67.arm.linux.org.uk>
Date:   Sat Feb 14 13:24:10 2009 +0000

    [ARM] omap: fix omap2_divisor_to_clksel() error return value
    
    The error checks for omap2_divisor_to_clksel() and comment disagree with
    the actual value returned on error.  Fix this to return the correct error
    value.
    
    Signed-off-by: Russell King <rmk+kernel@arm.linux.org.uk>

commit 12d60e28bed3f593aac5385acbdbb089eb8ae21e
Author: Wim Van Sebroeck <wim@iguana.be>
Date:   Wed Jan 28 20:51:04 2009 +0000

    [WATCHDOG] iTCO_wdt: fix SMI_EN regression 2
    
    bugzilla: #12363
    commit 7cd5b08be3c489df11b559fef210b81133764ad4 added a second regression:
    some Dell's and Compaq's lockup on boot. So we revert most of the code.
    The ICH9 reboot issue remains in place and will need some more fixing... :-(
    
    Signed-off-by: Wim Van Sebroeck <wim@iguana.be>

commit a08f6e04d74478d91f34a0484e69e89870adb33d
Author: Alex Chiang <achiang@hp.com>
Date:   Fri Feb 13 12:03:17 2009 -0700

    PCI: Documentation: fix minor PCIe HOWTO thinko
    
    Update doc to correctly refer to replacing the pci_register_driver API,
    and not the non-existent "pci_module_init" API.
    
    Signed-off-by: Alex Chiang <achiang@hp.com>
    Signed-off-by: Jesse Barnes <jbarnes@virtuousgeek.org>

commit f5ddcac435b6c6133a9c137c345abef53b93cf55
Author: Randy Dunlap <randy.dunlap@oracle.com>
Date:   Fri Jan 9 17:03:20 2009 -0800

    PCI: fix missing kernel-doc and typos
    
    Fix pci kernel-doc parameter missing notation, correct
    function name, and fix typo:
    
    Warning(linux-2.6.28-git10//drivers/pci/pci.c:1511): No description found for parameter 'exclusive'
    
    Signed-off-by: Randy Dunlap <randy.dunlap@oracle.com>
    Signed-off-by: Jesse Barnes <jbarnes@virtuousgeek.org>

commit b33bfdef24565fe54da91adf3cd4eea13488d7fc
Author: Randy Dunlap <randy.dunlap@oracle.com>
Date:   Fri Jan 9 17:04:26 2009 -0800

    PCI: fix struct pci_platform_pm_ops kernel-doc
    
    Fix struct pci_platform_pm_ops kernel-doc notation.
    
    Signed-off-by: Randy Dunlap <randy.dunlap@oracle.com>
    Signed-off-by: Jesse Barnes <jbarnes@virtuousgeek.org>

commit 4cc59c721cba27a4644e29103afac0f91af8da3c
Author: Randy Dunlap <randy.dunlap@oracle.com>
Date:   Mon Feb 9 09:31:20 2009 -0800

    PCI: fix rom.c kernel-doc warning
    
    Fix PCI kernel-doc warning:
    
    Warning(linux-2.6.29-rc4-git1/drivers/pci/rom.c:67): No description found for parameter 'pdev'
    
    Signed-off-by: Randy Dunlap <randy.dunlap@oracle.com>
    cc: Jesse Barnes <jbarnes@virtuousgeek.org>
    Signed-off-by: Jesse Barnes <jbarnes@virtuousgeek.org>

commit 0b49ec37a20bc7eb7178105aadaa8d1ecba825f8
Author: Matthew Wilcox <matthew@wil.cx>
Date:   Sun Feb 8 20:27:47 2009 -0700

    PCI/MSI: fix msi_mask() shift fix
    
    Hidetoshi Seto points out that commit
    bffac3c593eba1f9da3efd0199e49ea6558a40ce has wrong values in the array.
    Rather than correct the array, we can just use a bounds check and
    perform the calculation specified in the comment.  As a bonus, this will
    not run off the end of the array if the device specifies an illegal
    value in the MSI capability.
    
    Signed-off-by: Matthew Wilcox <willy@linux.intel.com>
    Signed-off-by: Hidetoshi Seto <seto.hidetoshi@jp.fujitsu.com>
    Signed-off-by: Jesse Barnes <jbarnes@virtuousgeek.org>

commit 3997ad317fdf9ecdb5702e2b4fd1f8229814ff8c
Author: Peter Zijlstra <a.p.zijlstra@chello.nl>
Date:   Thu Feb 12 15:00:52 2009 +0100

    timers: more consistently use clock vs timer
    
    While reviewing the manpages, I noticed I'd missed some clock vs timer sites.
    
    Make sure that all timer functions call cpu_timer_sample_group() and not
    cpu_clock_sample_group(). This ensures that we enable the process wide timer
    in time, and therefore pay the O(n) thread group cost from the syscall.
    
    Not doing it here, will result in the first jiffy tick after setting the timer
    doing this, resulting in a very expensive tick (but only once) and a delay in
    actually starting the timer.
    
    Signed-off-by: Peter Zijlstra <a.p.zijlstra@chello.nl>
    Signed-off-by: Ingo Molnar <mingo@elte.hu>

commit b13e24644c138d0ddbc451403c30a96b09bfd556
Author: john stultz <johnstul@us.ibm.com>
Date:   Thu Feb 12 18:48:53 2009 -0800

    x86, hpet: fix for LS21 + HPET = boot hang
    
    Between 2.6.23 and 2.6.24-rc1 a change was made that broke IBM LS21
    systems that had the HPET enabled in the BIOS, resulting in boot hangs
    for x86_64.
    
    Specifically commit b8ce33590687888ebb900d09557b8807c4539022, which
    merges the i386 and x86_64 HPET code.
    
    Prior to this commit, when we setup the HPET timers in x86_64, we did
    the following:
    
    	hpet_writel(HPET_TN_ENABLE | HPET_TN_PERIODIC | HPET_TN_SETVAL |
                        HPET_TN_32BIT, HPET_T0_CFG);
    
    However after the i386/x86_64 HPET merge, we do the following:
    
    	cfg = hpet_readl(HPET_Tn_CFG(timer));
    	cfg |= HPET_TN_ENABLE | HPET_TN_PERIODIC |
    			HPET_TN_SETVAL | HPET_TN_32BIT;
    	hpet_writel(cfg, HPET_Tn_CFG(timer));
    
    However on LS21s with HPET enabled in the BIOS, the HPET_T0_CFG register
    boots with Level triggered interrupts (HPET_TN_LEVEL) enabled. This
    causes the periodic interrupt to be not so periodic, and that results in
    the boot time hang I reported earlier in the delay calibration.
    
    My fix: Always disable HPET_TN_LEVEL when setting up periodic mode.
    
    Signed-off-by: John Stultz <johnstul@us.ibm.com>
    Signed-off-by: Ingo Molnar <mingo@elte.hu>

commit 26456dcfb8d8e43b1b64b2a14710694cf7a72f05
Author: Michael Neuling <mikey@neuling.org>
Date:   Thu Feb 12 19:08:58 2009 +0000

    powerpc/vsx: Fix VSX alignment handler for regs 32-63
    
    Fix the VSX alignment handler for VSX registers > 32.  32-63 are stored
    in the VMX part of the thread_struct not the FPR part.
    
    Signed-off-by: Michael Neuling <mikey@neuling.org>
    CC: stable@kernel.org (2.6.27 & .28 please)
    Signed-off-by: Benjamin Herrenschmidt <benh@kernel.crashing.org>

commit 0047656e2a97d4452dd7df9e52591a7afe21a263
Author: Geoff Levand <geoffrey.levand@am.sony.com>
Date:   Thu Feb 12 12:36:16 2009 +0000

    powerpc/ps3: Move ps3_mm_add_memory to device_initcall
    
    Change the PS3 hotplug memory routine ps3_mm_add_memory() from
    a core_initcall to a device_initcall.
    
    core_initcall routines run before the powerpc topology_init()
    startup routine, which is a subsys_initcall, resulting in
    failure of ps3_mm_add_memory() when CONFIG_NUMA=y.  When
    ps3_mm_add_memory() fails the system will boot with just the
    128 MiB of boot memory
    
    Signed-off-by: Geoff Levand <geoffrey.levand@am.sony.com>
    Signed-off-by: Benjamin Herrenschmidt <benh@kernel.crashing.org>

commit 06eccea6c34e00c8fedce49229ed35fa84619fb7
Author: Dave Hansen <dave@linux.vnet.ibm.com>
Date:   Thu Feb 12 12:36:04 2009 +0000

    powerpc/mm: Fix numa reserve bootmem page selection
    
    Fix the powerpc NUMA reserve bootmem page selection logic.
    
    commit 8f64e1f2d1e09267ac926e15090fd505c1c0cbcb (powerpc: Reserve
    in bootmem lmb reserved regions that cross NUMA nodes) changed
    the logic for how the powerpc LMB reserved regions were converted
    to bootmen reserved regions.  As the folowing discussion reports,
    the new logic was not correct.
    
    mark_reserved_regions_for_nid() goes through each LMB on the
    system that specifies a reserved area.  It searches for
    active regions that intersect with that LMB and are on the
    specified node.  It attempts to bootmem-reserve only the area
    where the active region and the reserved LMB intersect.  We
    can not reserve things on other nodes as they may not have
    bootmem structures allocated, yet.
    
    We base the size of the bootmem reservation on two possible
    things.  Normally, we just make the reservation start and
    stop exactly at the start and end of the LMB.
    
    However, the LMB reservations are not aware of NUMA nodes and
    on occasion a single LMB may cross into several adjacent
    active regions.  Those may even be on different NUMA nodes
    and will require separate calls to the bootmem reserve
    functions.  So, the bootmem reservation must be trimmed to
    fit inside the current active region.
    
    That's all fine and dandy, but we trim the reservation
    in a page-aligned fashion.  That's bad because we start the
    reservation at a non-page-aligned address: physbase.
    
    The reservation may only span 2 bytes, but that those bytes
    may span two pfns and cause a reserve_size of 2*PAGE_SIZE.
    
    Take the case where you reserve 0x2 bytes at 0x0fff and
    where the active region ends at 0x1000.  You'll jump into
    that if() statment, but node_ar.end_pfn=0x1 and
    start_pfn=0x0.  You'll end up with a reserve_size=0x1000,
    and then call
    
      reserve_bootmem_node(node, physbase=0xfff, size=0x1000);
    
    0x1000 may not be on the same node as 0xfff.  Oops.
    
    In almost all the vm code, end_<anything> is not inclusive.
    If you have an end_pfn of 0x1234, page 0x1234 is not
    included in the range.  Using PFN_UP instead of the
    (>> >> PAGE_SHIFT) will make this consistent with the other VM
    code.
    
    We also need to do math for the reserved size with physbase
    instead of start_pfn.  node_ar.end_pfn << PAGE_SHIFT is
    *precisely* the end of the node.  However,
    (start_pfn << PAGE_SHIFT) is *NOT* precisely the beginning
    of the reserved area.  That is, of course, physbase.
    If we don't use physbase here, the reserve_size can be
    made too large.
    
    From: Dave Hansen <dave@linux.vnet.ibm.com>
    Tested-by: Geoff Levand <geoffrey.levand@am.sony.com>  Tested on PS3.
    
    Signed-off-by: Benjamin Herrenschmidt <benh@kernel.crashing.org>

commit fbc78b07ba53ace155f27491c81a009e541a93ad
Author: Philippe Gerum <rpm@xenomai.org>
Date:   Thu Feb 12 12:18:46 2009 +0000

    powerpc/mm: Fix _PAGE_CHG_MASK to protect _PAGE_SPECIAL
    
    Fix _PAGE_CHG_MASK so that pte_modify() does not affect the _PAGE_SPECIAL bit.
    
    Signed-off-by: Philippe Gerum <rpm@xenomai.org>
    Signed-off-by: Benjamin Herrenschmidt <benh@kernel.crashing.org>

commit 7ad9de6ac83bd825996d2de98c92e0f425c31050
Author: Thomas Gleixner <tglx@linutronix.de>
Date:   Thu Feb 12 21:16:09 2009 +0100

    x86: CPA avoid repeated lazy mmu flush
    
    Impact: Flush the lazy MMU only once
    
    Pending mmu updates only need to be flushed once to bring the
    in-memory pagetable state up to date.
    
    Signed-off-by: Thomas Gleixner <tglx@linutronix.de>

commit 34b0900d323122113683685b200aae9f9b75e63b
Author: Thomas Gleixner <tglx@linutronix.de>
Date:   Thu Feb 12 21:30:48 2009 +0100

    x86: warn if arch_flush_lazy_mmu_cpu is called in preemptible context
    
    Impact: Catch cases where lazy MMU state is active in a preemtible context
    
    arch_flush_lazy_mmu_cpu() has been changed to disable preemption so
    the checks in enter/leave will never trigger. Put the preemtible()
    check into arch_flush_lazy_mmu_cpu() to catch such cases.
    
    Signed-off-by: Thomas Gleixner <tglx@linutronix.de>

commit d85cf93da66977dbc645352be1b2084a659d8a0b
Author: Jeremy Fitzhardinge <jeremy@goop.org>
Date:   Thu Feb 12 10:02:56 2009 -0800

    x86/paravirt: make arch_flush_lazy_mmu/cpu disable preemption
    
    Impact: avoid access to percpu vars in preempible context
    
    They are intended to be used whenever there's the possibility
    that there's some stale state which is going to be overwritten
    with a queued update, or to force a state change when we may be
    in lazy mode.  Either way, we could end up calling it with
    preemption enabled, so wrap the functions in their own little
    preempt-disable section so they can be safely called in any
    context (though preemption should never be enabled if we're actually
    in a lazy state).
    
    (Move out of line to avoid #include dependencies.)
    
    Signed-off-by: Jeremy Fitzhardinge <jeremy.fitzhardinge@citrix.com>
    Signed-off-by: Thomas Gleixner <tglx@linutronix.de>

commit 2456242530a21cfee82646ebeeda65d3f74faa4c
Author: Yan Zheng <zheng.yan@oracle.com>
Date:   Thu Feb 12 14:14:53 2009 -0500

    Btrfs: hold trans_mutex when using btrfs_record_root_in_trans
    
    btrfs_record_root_in_trans needs the trans_mutex held to make sure two
    callers don't race to setup the root in a given transaction.  This adds
    it to all the places that were missing it.
    
    Signed-off-by: Yan Zheng <zheng.yan@oracle.com>

commit 4008c04a07c73ec3cb1be4c1391d2159a8f75d6d
Author: Chris Mason <chris.mason@oracle.com>
Date:   Thu Feb 12 14:09:45 2009 -0500

    Btrfs: make a lockdep class for the extent buffer locks
    
    Btrfs is currently using spin_lock_nested with a nested value based
    on the tree depth of the block.  But, this doesn't quite work because
    the max tree depth is bigger than what spin_lock_nested can deal with,
    and because locks are sometimes taken before the level field is filled in.
    
    The solution here is to use lockdep_set_class_and_name instead, and to
    set the class before unlocking the pages when the block is read from the
    disk and just after init of a freshly allocated tree block.
    
    btrfs_clear_path_blocking is also changed to take the locks in the proper
    order, and it also makes sure all the locks currently held are properly
    set to blocking before it tries to retake the spinlocks.  Otherwise, lockdep
    gets upset about bad lock orderin.
    
    The lockdep magic cam from Peter Zijlstra <peterz@infradead.org>
    
    Signed-off-by: Chris Mason <chris.mason@oracle.com>

commit 3f3420df505e47751ef76a652b5cb660e5360d6f
Author: Julia Lawall <julia@diku.dk>
Date:   Thu Feb 12 10:16:03 2009 -0500

    Btrfs: fs/btrfs/volumes.c: remove useless kzalloc
    
    The call to kzalloc is followed by a kmalloc whose result is stored in the
    same variable.
    
    The semantic match that finds the problem is as follows:
    (http://www.emn.fr/x-info/coccinelle/)
    
    // <smpl>
    @r exists@
    local idexpression x;
    statement S;
    expression E;
    identifier f,l;
    position p1,p2;
    expression *ptr != NULL;
    @@
    
    (
    if ((x@p1 = \(kmalloc\|kzalloc\|kcalloc\)(...)) == NULL) S
    |
    x@p1 = \(kmalloc\|kzalloc\|kcalloc\)(...);
    ...
    if (x == NULL) S
    )
    <... when != x
         when != if (...) { <+...x...+> }
    x->f = E
    ...>
    (
     return \(0\|<+...x...+>\|ptr\);
    |
     return@p2 ...;
    )
    
    @script:python@
    p1 << r.p1;
    p2 << r.p2;
    @@
    
    print "* file: %s kmalloc %s return %s" % (p1[0].file,p1[0].line,p2[0].line)
    // </smpl>
    
    Signed-off-by: Julia Lawall <julia@diku.dk>
    Signed-off-by: Chris Mason <chris.mason@oracle.com>

commit a48ddf08ba9bab91efd95e458737afa9d7699623
Author: Qinghuang Feng <qhfeng.kernel@gmail.com>
Date:   Thu Feb 12 14:25:23 2009 -0500

    Btrfs: remove unused code in split_state()
    
    These two lines are not used, remove them.
    
    Signed-off-by: Qinghuang Feng <qhfeng.kernel@gmail.com>
    Signed-off-by: Chris Mason <chris.mason@oracle.com>

commit e00f7308658622fbd483cb0d9fe41165bf9050d0
Author: Jeff Mahoney <jeffm@suse.com>
Date:   Thu Feb 12 14:11:25 2009 -0500

    Btrfs: remove btrfs_init_path
    
    btrfs_init_path was initially used when the path objects were on the
    stack.  Now all the work is done by btrfs_alloc_path and btrfs_init_path
    isn't required.
    
    This patch removes it, and just uses kmem_cache_zalloc to zero out the object.
    
    Signed-off-by: Chris Mason <chris.mason@oracle.com>

commit 7951f3cefbd711f4429a0cd014aa83a844c399a0
Author: Jeff Mahoney <jeffm@suse.com>
Date:   Thu Feb 12 10:06:15 2009 -0500

    Btrfs: balance_level checks !child after access
    
    The BUG_ON() is in the wrong spot.
    
    Signed-off-by: Jeff Mahoney <jeffm@suse.com>
    Signed-off-by: Chris Mason <chris.mason@oracle.com>

commit b335b0034e252e79ec2e9c6697f5d663c4627bec
Author: Yan Zheng <zheng.yan@oracle.com>
Date:   Thu Feb 12 10:06:04 2009 -0500

    Btrfs: Avoid using __GFP_HIGHMEM with slab allocator
    
    btrfs_releasepage may call kmem_cache_alloc indirectly,
    and provide same GFP flags it gets to kmem_cache_alloc.
    So it's possible to use __GFP_HIGHMEM with the slab
    allocator.
    
    Signed-off-by: Yan Zheng <zheng.yan@oracle.com>

commit e1df36d2f18254d0690a0fbe036cece74ec311b8
Author: Chris Mason <chris.mason@oracle.com>
Date:   Thu Feb 12 09:45:08 2009 -0500

    Btrfs: don't clean old snapshots on sync(1)
    
    Cleaning old snapshots can make sync(1) somewhat slow, and some users
    and applications still use it in a global fsync kind of workload.
    
    This patch changes btrfs not to clean old snapshots during sync, which is
    safe from a FS consistency point of view.  The major downside is that it
    makes it difficult to tell when old snapshots have been reaped and
    the space they were using has been reclaimed.  A new ioctl will be added
    for this purpose instead.
    
    Signed-off-by: Chris Mason <chris.mason@oracle.com>

commit 536ac8ae86e68bb5574d7cc81c7d229a86b82601
Author: Chris Mason <chris.mason@oracle.com>
Date:   Thu Feb 12 09:41:38 2009 -0500

    Btrfs: use larger metadata clusters in ssd mode
    
    Larger metadata clusters can significantly improve writeback performance
    on ssd drives with large erasure blocks.  The larger clusters make it
    more likely a given IO will completely overwrite the ssd block, so it
    doesn't have to do an internal rwm cycle.
    
    On spinning media, lager metadata clusters end up spreading out the
    metadata more over time, which makes fsck slower, so we don't want this
    to be the default.
    
    Signed-off-by: Chris Mason <chris.mason@oracle.com>

commit b288052e1779261ae80138074989ef50358c4e58
Author: Chris Mason <chris.mason@oracle.com>
Date:   Thu Feb 12 09:37:35 2009 -0500

    Btrfs: process mount options on mount -o remount,
    
    Btrfs wasn't parsing any new mount options during remount, making it
    difficult to set mount options on a root drive.
    
    Signed-off-by: Chris Mason <chris.mason@oracle.com>

commit eb099670895f22970cd143875467c2768d6d87e5
Author: Josef Bacik <jbacik@redhat.com>
Date:   Thu Feb 12 09:27:38 2009 -0500

    Btrfs: make sure all pending extent operations are complete
    
    Theres a slight problem with finish_current_insert, if we set all to 1 and then
    go through and don't actually skip any of the extents on the pending list, we
    could exit right after we've added new extents.
    
    This is a problem because by inserting the new extents we could have gotten new
    COW's to happen and such, so we may have some pending updates to do or even
    more inserts to do after that.
    
    So this patch will only exit if we have never skipped any of the extents in the
    pending list, and we have no extents to insert, this will make sure that all of
    the pending work is truly done before we return.  I've been running with this
    patch for a few days with all of my other testing and have not seen issues.
    Thanks,
    
    Signed-off-by: Josef Bacik <jbacik@redhat.com>

commit a0490fa35dc0022ef95f64802e8edf18c411c790
Author: Ingo Molnar <mingo@elte.hu>
Date:   Thu Feb 12 11:35:40 2009 +0100

    sched: cpu hotplug fix
    
    rq_attach_root() does a kfree() with the runqueue lock held.
    
    That's not a very wise move, fix it.
    
    Signed-off-by: Ingo Molnar <mingo@elte.hu>

commit be03d9e8022030c16abf534e33e185bfc3d40eef
Author: Suresh Siddha <suresh.b.siddha@intel.com>
Date:   Wed Feb 11 11:20:23 2009 -0800

    x86, pat: fix warn_on_once() while mapping 0-1MB range with /dev/mem
    
    Jeff Mahoney reported:
    
    > With Suse's hwinfo tool, on -tip:
    > WARNING: at arch/x86/mm/pat.c:637 reserve_pfn_range+0x5b/0x26d()
    
    reserve_pfn_range() is not tracking the memory range below 1MB
    as non-RAM and as such is inconsistent with similar checks in
    reserve_memtype() and free_memtype()
    
    Rename the pagerange_is_ram() to pat_pagerange_is_ram() and add the
    "track legacy 1MB region as non RAM" condition.
    
    And also, fix reserve_pfn_range() to return -EINVAL, when the pfn
    range is RAM. This is to be consistent with this API design.
    
    Reported-and-tested-by: Jeff Mahoney <jeffm@suse.com>
    Signed-off-by: Suresh Siddha <suresh.b.siddha@intel.com>
    Signed-off-by: Venkatesh Pallipadi <venkatesh.pallipadi@intel.com>
    Signed-off-by: Ingo Molnar <mingo@elte.hu>

commit 4f06b0436b2ddbd3b67b10e77098a6862787b3eb
Author: Jeremy Fitzhardinge <jeremy@goop.org>
Date:   Wed Feb 11 09:32:19 2009 -0800

    x86/cpa: make sure cpa is safe to call in lazy mmu mode
    
    Impact: fix race leading to crash under KVM and Xen
    
    The CPA code may be called while we're in lazy mmu update mode - for
    example, when using DEBUG_PAGE_ALLOC and doing a slab allocation
    in an interrupt handler which interrupted a lazy mmu update.  In this
    case, the in-memory pagetable state may be out of date due to pending
    queued updates.  We need to flush any pending updates before inspecting
    the page table.  Similarly, we must explicitly flush any modifications
    CPA may have made (which comes down to flushing queued operations when
    flushing the TLB).
    
    Signed-off-by: Jeremy Fitzhardinge <jeremy.fitzhardinge@citrix.com>
    Acked-by: Marcelo Tosatti <mtosatti@redhat.com>
    Cc: Stable Kernel <stable@kernel.org>
    Signed-off-by: Ingo Molnar <mingo@elte.hu>

commit 2fff78c784ed97a8e5aa225ef5228f0a6d862d82
Author: Peter Zijlstra <peterz@infradead.org>
Date:   Wed Feb 11 18:10:10 2009 +0100

    futex: fix reference leak
    
    Catalin noticed that (38d47c1b7075: futex: rely on get_user_pages() for
    shared futexes) caused an mm_struct leak.
    
    Some tracing with the function graph tracer quickly pointed out that
    futex_wait() has exit paths with unbalanced reference counts.
    
    This regression was discovered by kmemleak.
    
    Reported-by: Catalin Marinas <catalin.marinas@arm.com>
    Signed-off-by: Peter Zijlstra <a.p.zijlstra@chello.nl>
    Tested-by: "Pallipadi, Venkatesh" <venkatesh.pallipadi@intel.com>
    Tested-by: Catalin Marinas <catalin.marinas@arm.com>
    Signed-off-by: Ingo Molnar <mingo@elte.hu>

commit 9f339e7028e2855717af3193c938f9960ad13b38
Author: Markus Metzger <markus.t.metzger@intel.com>
Date:   Wed Feb 11 15:10:27 2009 +0100

    x86, ptrace, mm: fix double-free on race
    
    Ptrace_detach() races with __ptrace_unlink() if the traced task is
    reaped while detaching. This might cause a double-free of the BTS
    buffer.
    
    Change the ptrace_detach() path to only do the memory accounting in
    ptrace_bts_detach() and leave the buffer free to ptrace_bts_untrace()
    which will be called from __ptrace_unlink().
    
    The fix follows a proposal from Oleg Nesterov.
    
    Reported-by: Oleg Nesterov <oleg@redhat.com>
    Signed-off-by: Markus Metzger <markus.t.metzger@intel.com>
    Signed-off-by: Ingo Molnar <mingo@elte.hu>

commit 822c05b6335534f74f90bd0edc12aeb5a591117a
Author: Andrew Vasquez <andrew.vasquez@qlogic.com>
Date:   Sun Feb 8 20:50:16 2009 -0800

    [SCSI] qla2xxx: Update version number to 8.03.00-k3.
    
    Signed-off-by: Andrew Vasquez <andrew.vasquez@qlogic.com>
    Signed-off-by: James Bottomley <James.Bottomley@HansenPartnership.com>

commit 9088608e00d0d9e2a772532d828312e11b118340
Author: Andrew Vasquez <andrew.vasquez@qlogic.com>
Date:   Sun Feb 8 20:50:14 2009 -0800

    [SCSI] qla2xxx: Mask out 'reserved' bits while processing FLT regions.
    
    Bits 31-8 are marked as reserved and should be ignored while
    interpreting a region's code.
    
    Signed-off-by: Andrew Vasquez <andrew.vasquez@qlogic.com>
    Signed-off-by: James Bottomley <James.Bottomley@HansenPartnership.com>

commit cf5a163127118325296c90670093b14afebb8424
Author: Anirban Chakraborty <anirban.chakraborty@qlogic.com>
Date:   Sun Feb 8 20:50:13 2009 -0800

    [SCSI] qla2xxx: Correct slab-error overwrite during vport creation and deletion.
    
    The clearing of a vha's req_ques were overrunning during vport
    creation.  During deletion, vport queues should be torn-down
    after all cleanup has occurred.
    
    Signed-off-by: Anirban Chakraborty <anirban.chakraborty@qlogic.com>
    Signed-off-by: Andrew Vasquez <andrew.vasquez@qlogic.com>
    Signed-off-by: James Bottomley <James.Bottomley@HansenPartnership.com>

commit 8a659571eccfde1df9bd057d67be51d1aaa0e2db
Author: Andrew Vasquez <andrew.vasquez@qlogic.com>
Date:   Sun Feb 8 20:50:12 2009 -0800

    [SCSI] qla2xxx: Properly acknowledge IDC notification messages.
    
    To ensure smooth operations amongst the FCoE and NIC side
    components of the ISP81xx chip, the FCoE driver (qla2xxx) must
    ensure the 10gb NIC driver (qlge) does not timeout waiting for
    IDC (Inter-Driver Communication) acknowledgments.  The
    acknowledgment requirements are trivial -- a simple mirroring of
    incoming mailbox registers during the AEN to a process-context
    capable mailbox command.
    
    Signed-off-by: Andrew Vasquez <andrew.vasquez@qlogic.com>
    Signed-off-by: James Bottomley <James.Bottomley@HansenPartnership.com>

commit 618a752319503a64d1b66615e8ea2a0e7edaf914
Author: Anirban Chakraborty <anirban.chakraborty@qlogic.com>
Date:   Sun Feb 8 20:50:11 2009 -0800

    [SCSI] qla2xxx: Remove interrupt request bit check in the response processing path in multiq mode.
    
    Correct response-queue-0 processing by instructing the firmware
    to run with interrupt-handshaking disabled, similarly to what is
    now done for all non-0 response queues.  Since all
    response-queues now run in the same mode, the driver no longer
    needs the hot-path 'is-disabled-HCCR' test.
    
    Signed-off-by: Anirban Chakraborty <anirban.chakraborty@qlogic.com>
    Signed-off-by: Andrew Vasquez <andrew.vasquez@qlogic.com>
    Signed-off-by: James Bottomley <James.Bottomley@HansenPartnership.com>

commit e916141c6889e2a35869d7057ef1cc5e5a2e86eb
Author: Julia Lawall <julia@diku.dk>
Date:   Sun Feb 8 22:43:19 2009 +0100

    [SCSI] lpfc: introduce missing kfree
    
    Error handling code following a kmalloc should free the allocated data.
    
    The semantic match that finds the problem is as follows:
    (http://www.emn.fr/x-info/coccinelle/)
    
    // <smpl>
    @r exists@
    local idexpression x;
    statement S;
    expression E;
    identifier f,l;
    position p1,p2;
    expression *ptr != NULL;
    @@
    
    (
    if ((x@p1 = \(kmalloc\|kzalloc\|kcalloc\)(...)) == NULL) S
    |
    x@p1 = \(kmalloc\|kzalloc\|kcalloc\)(...);
    ...
    if (x == NULL) S
    )
    <... when != x
         when != if (...) { <+...x...+> }
    x->f = E
    ...>
    (
     return \(0\|<+...x...+>\|ptr\);
    |
     return@p2 ...;
    )
    
    @script:python@
    p1 << r.p1;
    p2 << r.p2;
    @@
    
    print "* file: %s kmalloc %s return %s" % (p1[0].file,p1[0].line,p2[0].line)
    // </smpl>
    
    Signed-off-by: Julia Lawall <julia@diku.dk>
    Acked-by: James Smart <james.smart@emulex.com>
    Signed-off-by: James Bottomley <James.Bottomley@HansenPartnership.com>

commit 308cec14e6710b4d5b70e9778ce117be8371735d
Author: Mike Christie <michaelc@cs.wisc.edu>
Date:   Fri Feb 6 12:06:20 2009 -0600

    [SCSI] libiscsi: Fix scsi command timeout oops in iscsi_eh_timed_out
    
    Yanling Qi from LSI found the root cause of the panic, below is his
    analysis:
    
    Problem description: the open iscsi driver installs eh_timed_out handler
    to the
    blank_transport_template of the scsi middle level that causes panic of
    timed
    out command of other host
    
    Here are the details
    
    Iscsi Session creation
    
    During iscsi session creation time, the iscsi_tcp_session_create() of
    iscsi_tpc.c will create a scsi-host for the session. See the statement
    marked
    with the label A. The statement B replaces the shost->transportt point
    with a
    local struct variable.
    
    static struct iscsi_cls_session *
    iscsi_tcp_session_create(struct iscsi_endpoint *ep, uint16_t cmds_max,
                             uint16_t qdepth, uint32_t initial_cmdsn,
                             uint32_t *hostno)
    {
            struct iscsi_cls_session *cls_session;
            struct iscsi_session *session;
            struct Scsi_Host *shost;
            int cmd_i;
            if (ep) {
                    printk(KERN_ERR "iscsi_tcp: invalid ep %p.\n", ep);
                    return NULL;
            }
    
    A        shost = iscsi_host_alloc(&iscsi_sht, 0, qdepth);
    
            if (!shost)
    
                    return NULL;
    
    B         shost->transportt = iscsi_tcp_scsi_transport;
    
            shost->max_lun = iscsi_max_lun;
    
    Please note the scsi host is allocated by invoking isccsi_host_alloc()
    in
    libiscsi.c
    
    Polluting the middle level blank_transport_template in
    iscsi_host_alloc() of
    libiscsi.c
    
    The iscsi_host_alloc() invokes the middle level function
    scsi_host_alloc() in
    hosts.c for allocating a scsi_host. Then the statement marked with C
    assigns
    the iscsi_eh_cmd_timed_out handler to the eh_timed_out callback
    function.
    
    struct Scsi_Host *iscsi_host_alloc(struct scsi_host_template *sht,
    
                                       int dd_data_size, uint16_t qdepth)
    
    {
            struct Scsi_Host *shost;
            struct iscsi_host *ihost;
            shost = scsi_host_alloc(sht, sizeof(struct iscsi_host) +
    dd_data_size);
            if (!shost)
                    return NULL;
    
     C      shost->transportt->eh_timed_out = iscsi_eh_cmd_timed_out;
    
    Please note the shost->transport is the middle level
    blank_transport_template
    as shown in the code segment below. We see two problems here. 1.
    iscsi_eh_cmd_timed_out is installed to the blank_transport_template that
    will
    cause some body else problem. 2. iscsi_eh_cmd_timed_out will never be
    invoked
    when iscsi command gets timeout because the statement B resets the
    pointer.
    
    Middle level blank_transport_template
    
    In the middle level function scsi_host_alloc() of hosts.c, the middle
    level
    assigns a blank_transport_template for those hosts not implementing its
    transport layer. All HBAs without supporting a specific scsi_transport
    will
    share the middle level blank_transport_template. Please see the
    statement D
    
    struct Scsi_Host *scsi_host_alloc(struct scsi_host_template *sht, int
    privsize)
    
    {
            struct Scsi_Host *shost;
            gfp_t gfp_mask = GFP_KERNEL;
            int rval;
            if (sht->unchecked_isa_dma && privsize)
                    gfp_mask |= __GFP_DMA;
    
             shost = kzalloc(sizeof(struct Scsi_Host) + privsize, gfp_mask);
            if (!shost)
                    return NULL;
    
            shost->host_lock = &shost->default_lock;
    
            spin_lock_init(shost->host_lock);
    
            shost->shost_state = SHOST_CREATED;
    
            INIT_LIST_HEAD(&shost->__devices);
    
            INIT_LIST_HEAD(&shost->__targets);
    
            INIT_LIST_HEAD(&shost->eh_cmd_q);
    
            INIT_LIST_HEAD(&shost->starved_list);
    
            init_waitqueue_head(&shost->host_wait);
    
            mutex_init(&shost->scan_mutex);
    
            shost->host_no = scsi_host_next_hn++; /* XXX(hch): still racy */
    
            shost->dma_channel = 0xff;
    
            /* These three are default values which can be overridden */
    
            shost->max_channel = 0;
    
            shost->max_id = 8;
    
            shost->max_lun = 8;
    
            /* Give each shost a default transportt */
    
     D       shost->transportt = &blank_transport_template;
    
    Why we see panic at iscsi_eh_cmd_timed_out()
    
    The mpp virtual HBA doesn’t have a specific scsi_transport. Therefore,
    the
    blank_transport_template will be assigned to the virtual host of the MPP
    virtual HBA by SCSI middle level. Please note that the statement C has
    assigned
    iscsi-transport eh_timedout handler to the blank_transport_template.
    When a mpp
    virtual command gets timedout, the iscsi_eh_cmd_timed_out() will be
    invoked to
    handle mpp virtual command timeout from the middle level
    scsi_times_out()
    function of the scsi_error.c.
    
    enum blk_eh_timer_return scsi_times_out(struct request *req)
    
    {
    
            struct scsi_cmnd *scmd = req->special;
    
            enum blk_eh_timer_return (*eh_timed_out)(struct scsi_cmnd *);
    
            enum blk_eh_timer_return rtn = BLK_EH_NOT_HANDLED;
    
            scsi_log_completion(scmd, TIMEOUT_ERROR);
    
            if (scmd->device->host->transportt->eh_timed_out)
    
     E               eh_timed_out =
    scmd->device->host->transportt->eh_timed_out;
    
            else if (scmd->device->host->hostt->eh_timed_out)
    
                    eh_timed_out = scmd->device->host->hostt->eh_timed_out;
    
            else
    
                    eh_timed_out = NULL;
    
            if (eh_timed_out) {
    
                    rtn = eh_timed_out(scmd);
    
    It is very easy to understand why we get panic in the
    iscsi_eh_cmd_timed_out().
    A scsi_cmnd from a no-iscsi device definitely can not resolve out a
    session and
    session->lock. The panic can be happed anywhere during the differencing.
    
    static enum blk_eh_timer_return iscsi_eh_cmd_timed_out(struct scsi_cmnd
    *scmd)
    
    {
    
            struct iscsi_cls_session *cls_session;
    
            struct iscsi_session *session;
    
            struct iscsi_conn *conn;
    
            enum blk_eh_timer_return rc = BLK_EH_NOT_HANDLED;
    
            cls_session = starget_to_session(scsi_target(scmd->device));
    
            session = cls_session->dd_data;
    
            debug_scsi("scsi cmd %p timedout\n", scmd);
    
            spin_lock(&session->lock);
    
    This patch fixes the problem by moving the setting of the
    iscsi_eh_cmd_timed_out to iscsi_add_host, which is after the LLDs
    have set their transport template to shost->transportt.
    
    Signed-off-by: Mike Christie <michaelc@cs.wisc.edu>
    Signed-off-by: James Bottomley <James.Bottomley@HansenPartnership.com>

commit 7f977ddd0eedfd5aac7865794f220f65aae8f361
Author: Shyam_Iyer@Dell.com <Shyam_Iyer@Dell.com>
Date:   Thu Feb 5 20:12:37 2009 +0530

    [SCSI] qla2xxx: fix Kernel Panic with Qlogic 2472 Card.
    
    Kernel Panic is observed with a Qlogic 2472 Card is plugged into the
    system and the qla2xxx driver is loaded:
    
    QLogic Fibre Channel HBA Driver: 8.02.01.02.11.0-k9
    vendor=8086 device=3410
    qla2xxx 0000:05:00.0: PCI INT A -> GSI 40 (level, low) -> IRQ 40
    qla2xxx 0000:05:00.0: Found an ISP2432, irq 40, iobase
    0xffffc2001091c000
    qla2xxx 0000:05:00.0: Configuring PCI space...
    qla2xxx 0000:05:00.0: setting latency timer to 64
    qla2xxx 0000:05:00.0: Configure NVRAM parameters...
    BUG: unable to handle kernel NULL pointer dereference at
    0000000000000000
    IP: [<ffffffff8036319a>] strncpy+0x5/0x1e
    PGD 7c564067 PUD 78d8c067 PMD 0
    Oops: 0000 [1] SMP
    last sysfs file:
    /sys/devices/pci0000:00/0000:00:1d.1/usb6/6-2/6-2:1.1/input/input4/event
    4/dev
    CPU 1
    Modules linked in: qla2xxx(+) squashfs usb_storage scsi_transport_fc
    scsi_tgt parport_pc parport arc4 ecb crypto_blkcipher acpi_cpufreq fan
    loop nfs nfs_acl lockd sunrpc nls_iso8859_1 nls_cp437 ipv6 af_packet st
    sr_mod ide_disk ide_cd_mod ide_core cdrom usbhid hid ff_memless sg
    sd_mod crc_t10dif uhci_hcd mptsas mptscsih ehci_hcd mptbase
    scsi_transport_sas rtc_cmos rtc_core rtc_lib usbcore scsi_mod thermal
    bnx2 button processor thermal_sys hwmon edd
    Supported: Yes
    Pid: 4415, comm: insmod Not tainted 2.6.27.13-1-default #1
    RIP: 0010:[<ffffffff8036319a>] [<ffffffff8036319a>] strncpy+0x5/0x1e
    RSP: 0018:ffff88007b04fbc0 EFLAGS: 00010202
    RAX: 00000000000000b7 RBX: ffff88007b9641e0 RCX: ffff88007c1b2ad7
    RDX: 000000000000004f RSI: 0000000000000000 RDI: ffff88007c1b2ad7
    RBP: ffff88007c1b0620 R08: 0000000000000010 R09: 0000000100000000
    R10: 0000000000000046 R11: ffffffff803651c6 R12: ffff88007b074000
    R13: ffff88007b964000 R14: ffff88007c1b2ac6 R15: 0000000000000000
    FS: 00007f91a6c366f0(0000) GS:ffff88007dbeee40(0000)
    knlGS:0000000000000000
    CS: 0010 DS: 0000 ES: 0000 CR0: 000000008005003b
    CR2: 0000000000000000 CR3: 000000007bd7c000 CR4: 00000000000006e0
    DR0: 0000000000000000 DR1: 0000000000000000 DR2: 0000000000000000
    DR3: 0000000000000000 DR6: 00000000ffff0ff0 DR7: 0000000000000400
    Process insmod (pid: 4415, threadinfo ffff88007b04e000, task
    ffff880078586180)
    Stack: ffffffffa02d82c4 0000000000002432 ffff88007d385000
    ffff88007c1b0620
    ffff88007c1b0620 ffff88007c1b0000 ffff88007d385000 0000000000002432
    ffffffffa02dcb1e 0000000000002432 ffffc2001091c000 ffff88007c1b0620
    Call Trace:
    [<ffffffffa02d82c4>] qla24xx_nvram_config+0x385/0x6c2 [qla2xxx]
    [<ffffffffa02dcb1e>] qla2x00_initialize_adapter+0x169/0x383 [qla2xxx]
    [<ffffffffa02f2040>] qla2x00_probe_one+0x6bc/0x9c6 [qla2xxx]
    [<ffffffff8037346f>] pci_device_probe+0xb8/0x105
    [<ffffffff803e5a27>] really_probe+0xdd/0x1e5
    [<ffffffff803e5c14>] __driver_attach+0x46/0x6d
    [<ffffffff803e51e1>] bus_for_each_dev+0x44/0x78
    [<ffffffff803e4ac7>] bus_add_driver+0xef/0x235
    [<ffffffff803e5dd8>] driver_register+0xa2/0x11f
    [<ffffffff803736fd>] __pci_register_driver+0x5d/0x90
    [<ffffffffa0308126>] qla2x00_module_init+0x126/0x159 [qla2xxx]
    [<ffffffff80209041>] _stext+0x41/0x110
    [<ffffffff80260abd>] sys_init_module+0xa0/0x1ba
    [<ffffffff8020bfbb>] system_call_fastpath+0x16/0x1b
    [<00007f91a679b76a>] 0x7f91a679b76a
    Code: ff c1 41 39 c0 75 05 45 85 c0 75 bf 41 29 c0 44 89 c0 c3 31 d2 8a
    04 16 88 04 17 48 ff c2 84 c0 75 f3 48 89 f8 c3 48 89 f9 eb 10 <8a> 06
    3c 01 88 01 48 83 de ff 48 ff c1 48 ff ca 48 85 d2 75 eb
    RIP [<ffffffff8036319a>] strncpy+0x5/0x1e
    RSP <ffff88007b04fbc0>
    CR2: 0000000000000000
    ---[ end trace 829d7d78dfafb785 ]---
    
    The attached patch fixes the issue.
    
    Signed-off-by: Shyam Iyer <shyam_iyer@dell.com>
    Acked-by: Seokmann Ju <Seokmann.ju@qlogic.com>
    Signed-off-by: James Bottomley <James.Bottomley@HansenPartnership.com>

commit 14ae6faca11889d80f795993dbe932d82305b564
Author: Brian King <brking@linux.vnet.ibm.com>
Date:   Wed Feb 4 16:13:13 2009 -0600

    [SCSI] ibmvfc: Increase cancel timeout
    
    During cancel testing it has been shown that 15 seconds is not
    nearly long enough for the VIOS to respond to a cancel under
    loaded situations. Increasing this timeout to 60 seconds allows
    time for the VIOS to cancel the outstanding commands and prevents
    us from escalating to a full host reset, which can take much longer.
    
    Signed-off-by: Brian King <brking@linux.vnet.ibm.com>
    Signed-off-by: James Bottomley <James.Bottomley@HansenPartnership.com>

commit 0883e3b3a85b5860b7729f1279a52e95b87dea97
Author: Brian King <brking@linux.vnet.ibm.com>
Date:   Wed Feb 4 16:13:12 2009 -0600

    [SCSI] ibmvfc: Fix rport relogin
    
    The ibmvfc driver has a bug in its SCN handling. If it receives
    an ELS event such asn an N-Port SCN event or an unsolicited PLOGI,
    or any other SCN event which causes ibmvfc_reinit_host to be called,
    it is possible that we will call fc_remote_port_add for a target
    that already has an rport added, which can result in duplicate
    rports getting created for the same targets. Fix this by calling
    fc_remote_port_rolechg in this scenario instead to report any possible
    role change that may have occurred.
    
    Signed-off-by: Brian King <brking@linux.vnet.ibm.com>
    Signed-off-by: James Bottomley <James.Bottomley@HansenPartnership.com>

commit d4b17a20f30faf0debbc225bfbf98dba4e351c4d
Author: Brian King <brking@linux.vnet.ibm.com>
Date:   Wed Feb 4 16:13:08 2009 -0600

    [SCSI] ibmvfc: Fix command timeout errors
    
    Currently the ibmvfc driver sets the IBMVFC_CLASS_3_ERR flag
    in the VFC Frame if both the adapter and the device claim support
    for Class 3. However, this bit actually refers to Class 3 Error
    Recovery, which is currently not supported by the VIOS. Setting this
    bit can cause lots of command timeout responses from the VIOS resulting
    in general instability. Fix this by never setting this bit.
    
    Signed-off-by: Brian King <brking@linux.vnet.ibm.com>
    Signed-off-by: James Bottomley <James.Bottomley@HansenPartnership.com>

commit 76e3a19d0691bbfcc559ce77ab3004818fab8f22
Author: Martin Peschke <mpeschke@linux.vnet.ibm.com>
Date:   Fri Jan 30 15:46:23 2009 +0100

    [SCSI] sg: fix device number in blktrace data
    
    Hi,
    
    we have run into an issue with blktrace being started for sg devices.
    Please apply.
    
    Thanks,
    Martin
    
    From: Martin Peschke <mpeschke@linux.vnet.ibm.com>
    
    The device number denoting a generic SCSI devices (sg) in a blktrace
    trace is broken; major and minor are always 0. It looks like
    sdp->device->sdev_gendev.devt is not initialized properly.
    The fix below uses other data to make up a valid device number,
    similar to the way an sg device number is generated for sysfs output.
    
    Reported-by: Stefan Raspl <raspl@linux.vnet.ibm.com>
    Signed-off-by: Martin Peschke <mpeschke@linux.vnet.ibm.com>
    Acked-by: Douglas Gilbert <dgilbert@interlog.com>
    Signed-off-by: James Bottomley <James.Bottomley@HansenPartnership.com>

commit c2f9e49f9bbfa2e111ab1e1628b96b560bae7cec
Author: James Smart <James.Smart@Emulex.Com>
Date:   Tue Jan 27 11:41:36 2009 -0500

    [SCSI] scsi_scan: add missing interim SDEV_DEL state if slave_alloc fails
    
    We were running i/o and performing a bunch of hba resets in a loop.
    This forces a lot of target removes and then rescans. Since the
    resets are occuring during scan it's causing the scan i/o to timeout,
    invoking error recovery, etc.  We end up getting some nasty crashing
    in scsi_scan.c due to references to old sdevs that are failing
    but had some lingering references that kept them around.
    
    Fix by setting device state to SDEV_DEL if the LLD's slave_alloc
    fails.
    
    Signed-off-by: James Smart <james.smart@emulex.com>
    Signed-off-by: James Bottomley <James.Bottomley@HansenPartnership.com>

commit e637d553199e264327714da437e6c808f2f4b096
Author: Robert Jennings <rcj@linux.vnet.ibm.com>
Date:   Thu Jan 22 13:40:09 2009 -0600

    [SCSI] ibmvscsi: Correct DMA mapping leak
    
    The ibmvscsi client driver is not unmapping the SCSI command after
    encountering a DMA mapping error while trying to map an indirect
    scattergather list for the event pool.  This leads to a leak of DMA
    entitlement that could result in the device failing future DMA operations
    in a CMO environment.
    
    Signed-off-by: Robert Jennings <rcj@linux.vnet.ibm.com>
    Acked-by: Brian King <brking@linux.vnet.ibm.com>
    Signed-off-by: James Bottomley <James.Bottomley@HansenPartnership.com>

commit ba4439165f0f0d25b2fe065cf0c1ff8130b802eb
Author: Aneesh Kumar K.V <aneesh.kumar@linux.vnet.ibm.com>
Date:   Tue Feb 10 11:14:34 2009 -0500

    ext4: Fix lockdep warning
    
    We should not call ext4_mb_add_n_trim while holding alloc_semp.
    
        =============================================
        [ INFO: possible recursive locking detected ]
        2.6.29-rc4-git1-dirty #124
        ---------------------------------------------
        ffsb/3116 is trying to acquire lock:
         (&meta_group_info[i]->alloc_sem){----}, at: [<ffffffff8035a6e8>]
         ext4_mb_load_buddy+0xd2/0x343
    
        but task is already holding lock:
         (&meta_group_info[i]->alloc_sem){----}, at: [<ffffffff8035a6e8>]
         ext4_mb_load_buddy+0xd2/0x343
    
    http://bugzilla.kernel.org/show_bug.cgi?id=12672
    
    Signed-off-by: Aneesh Kumar K.V <aneesh.kumar@linux.vnet.ibm.com>
    Signed-off-by: "Theodore Ts'o" <tytso@mit.edu>

commit 7be2baaa0322c59ba888aa5260a8c130666acd41
Author: Wei Yongjun <yjwei@cn.fujitsu.com>
Date:   Tue Feb 10 09:53:42 2009 -0500

    ext4: Fix to read empty directory blocks correctly in 64k
    
    The rec_len field in the directory entry is 16 bits, so there was a
    problem representing rec_len for filesystems with a 64k block size in
    the case where the directory entry takes the entire 64k block.
    Unfortunately, there were two schemes that were proposed; one where
    all zeros meant 65536 and one where all ones (65535) meant 65536.
    E2fsprogs used 0, whereas the kernel used 65535.  Oops.  Fortunately
    this case happens extremely rarely, with the most common case being
    the lost+found directory, created by mke2fs.
    
    So we will be liberal in what we accept, and accept both encodings,
    but we will continue to encode 65536 as 65535.  This will require a
    change in e2fsprogs, but with fortunately ext4 filesystems normally
    have the dir_index feature enabled, which precludes having a
    completely empty directory block.
    
    Signed-off-by: Wei Yongjun <yjwei@cn.fujitsu.com>
    Signed-off-by: "Theodore Ts'o" <tytso@mit.edu>

commit 7f5aa215088b817add9c71914b83650bdd49f8a9
Author: Jan Kara <jack@suse.cz>
Date:   Tue Feb 10 11:15:34 2009 -0500

    jbd2: Avoid possible NULL dereference in jbd2_journal_begin_ordered_truncate()
    
    If we race with commit code setting i_transaction to NULL, we could
    possibly dereference it.  Proper locking requires the journal pointer
    (to access journal->j_list_lock), which we don't have.  So we have to
    change the prototype of the function so that filesystem passes us the
    journal pointer.  Also add a more detailed comment about why the
    function jbd2_journal_begin_ordered_truncate() does what it does and
    how it should be used.
    
    Thanks to Dan Carpenter <error27@gmail.com> for pointing to the
    suspitious code.
    
    Signed-off-by: Jan Kara <jack@suse.cz>
    Signed-off-by: "Theodore Ts'o" <tytso@mit.edu>
    Acked-by: Joel Becker <joel.becker@oracle.com>
    CC: linux-ext4@vger.kernel.org
    CC: ocfs2-devel@oss.oracle.com
    CC: mfasheh@suse.de
    CC: Dan Carpenter <error27@gmail.com>

commit 9eddacf9e9c03578ef2c07c9534423e823d677f8
Author: Jan Kara <jack@suse.cz>
Date:   Tue Feb 10 06:46:05 2009 -0500

    Revert "ext4: wait on all pending commits in ext4_sync_fs()"
    
    This undoes commit 14ce0cb411c88681ab8f3a4c9caa7f42e97a3184.
    
    Since jbd2_journal_start_commit() is now fixed to return 1 when we
    started a transaction commit, there's some transaction waiting to be
    committed or there's a transaction already committing, we don't
    need to call ext4_force_commit() in ext4_sync_fs(). Furthermore
    ext4_force_commit() can unnecessarily create sync transaction which is
    expensive so it's worthwhile to remove it when we can.
    
    http://bugzilla.kernel.org/show_bug.cgi?id=12224
    
    Signed-off-by: Jan Kara <jack@suse.cz>
    Signed-off-by: "Theodore Ts'o" <tytso@mit.edu>
    Cc: Eric Sandeen <sandeen@redhat.com>
    Cc: linux-ext4@vger.kernel.org

commit c88ccea3143975294f5a52097546bcbb75975f52
Author: Jan Kara <jack@suse.cz>
Date:   Tue Feb 10 11:27:46 2009 -0500

    jbd2: Fix return value of jbd2_journal_start_commit()
    
    The function jbd2_journal_start_commit() returns 1 if either a
    transaction is committing or the function has queued a transaction
    commit. But it returns 0 if we raced with somebody queueing the
    transaction commit as well. This resulted in ext4_sync_fs() not
    functioning correctly (description from Arthur Jones):
    
       In the case of a data=ordered umount with pending long symlinks
       which are delayed due to a long list of other I/O on the backing
       block device, this causes the buffer associated with the long
       symlinks to not be moved to the inode dirty list in the second
       phase of fsync_super.  Then, before they can be dirtied again,
       kjournald exits, seeing the UMOUNT flag and the dirty pages are
       never written to the backing block device, causing long symlink
       corruption and exposing new or previously freed block data to
       userspace.
    
    This can be reproduced with a script created by Eric Sandeen
    <sandeen@redhat.com>:
    
            #!/bin/bash
    
            umount /mnt/test2
            mount /dev/sdb4 /mnt/test2
            rm -f /mnt/test2/*
            dd if=/dev/zero of=/mnt/test2/bigfile bs=1M count=512
            touch /mnt/test2/thisisveryveryveryveryveryveryveryveryveryveryveryveryveryveryveryverylongfilename
            ln -s /mnt/test2/thisisveryveryveryveryveryveryveryveryveryveryveryveryveryveryveryverylongfilename
            /mnt/test2/link
            umount /mnt/test2
            mount /dev/sdb4 /mnt/test2
            ls /mnt/test2/
    
    This patch fixes jbd2_journal_start_commit() to always return 1 when
    there's a transaction committing or queued for commit.
    
    Signed-off-by: Jan Kara <jack@suse.cz>
    Signed-off-by: "Theodore Ts'o" <tytso@mit.edu>
    CC: Eric Sandeen <sandeen@redhat.com>
    CC: linux-ext4@vger.kernel.org

commit e1f81c8a417be466e85a38b61679aa6860ec7331
Merge: 0e2beda... b1792e3...
Author: Steve French <sfrench@us.ibm.com>
Date:   Tue Feb 3 15:19:23 2009 +0000

    Merge branch 'master' of /pub/scm/linux/kernel/git/torvalds/linux-2.6

commit 0e2bedaa394f74fa9f75ee937488c33d90039b5a
Author: Steve French <sfrench@us.ibm.com>
Date:   Fri Jan 30 21:24:41 2009 +0000

    [CIFS] ipv6_addr_equal for address comparison
    
    Signed-off-by: Jeff Layton <jlayton@redhat.com>
    Signed-off-by: Steve French <sfrench@us.ibm.com>