[Devel] [cr][git]linux-cr branch, ckpt-v18-rc1, created. v2.6.31-80-g9b540da

orenl at cs.columbia.edu orenl at cs.columbia.edu
Wed Sep 16 11:36:24 PDT 2009


This is an automated email from the git hooks/post-receive script. It was
generated because a ref change was pushed to the repository containing
the project "linux-cr".

The branch, ckpt-v18-rc1 has been created
        at  9b540da2481953d874f013ad63638b72eda01ff7 (commit)

- Log -----------------------------------------------------------------
commit 9b540da2481953d874f013ad63638b72eda01ff7
Author: Nathan Lynch <ntl at pobox.com>
Date:   Wed Sep 16 14:15:41 2009 -0400

    powerpc: clone_with_pids implementation
    
    Mostly copy-paste from existing clone code.
    
    (may want to hold off applying this until the ongoing clone_with_pids
    discussion is resolved.)
    
    Signed-off-by: Nathan Lynch <ntl at pobox.com>

commit 7259afee03fe014f061e23adcb622d335f57354b
Author: Nathan Lynch <ntl at pobox.com>
Date:   Wed Sep 16 14:14:43 2009 -0400

    powerpc: enable checkpoint support in Kconfig
    
    Signed-off-by: Nathan Lynch <ntl at pobox.com>

commit a034cb38f3711ab2fa2d5d719740fa7cebbf0497
Author: Nathan Lynch <ntl at pobox.com>
Date:   Wed Sep 16 14:13:53 2009 -0400

    powerpc: wire up checkpoint and restart syscalls
    
    Signed-off-by: Nathan Lynch <ntl at pobox.com>

commit 24a17012b9c4482635cfc40a799f92a47247f09e
Author: Nathan Lynch <ntl at pobox.com>
Date:   Wed Sep 16 14:06:50 2009 -0400

    powerpc: checkpoint/restart implementation
    
    Support for checkpointing and restarting GPRs, FPU state, DABR, and
    Altivec state.
    
    The portion of the checkpoint image manipulated by this code begins
    with a bitmask of features indicating the various contexts saved.
    Fields in image that can vary depending on kernel configuration
    (e.g. FP regs due to VSX) have their sizes explicitly recorded, except
    for GPRS, so migrating between ppc32 and ppc64 won't work yet.
    
    The restart code ensures that the task is not modified until the
    checkpoint image is validated against the current kernel configuration
    and hardware features (e.g. can't restart a task using Altivec on
    non-Altivec systems).
    
    What works:
    * self and external checkpoint of simple (single thread, one open
      file) 32- and 64-bit processes on a ppc64 kernel
    
    What doesn't work:
    * restarting a 32-bit task from a 64-bit task and vice versa
    
    Untested:
    * ppc32 (but it builds)
    
    Signed-off-by: Nathan Lynch <ntl at pobox.com>
    [Oren Laadan <orenl at cs.columbia.edu>] Add arch-specific tty support

commit cac1fe8082a711cf59574cebb97739f0853a2396
Author: Nathan Lynch <ntl at pobox.com>
Date:   Wed Sep 16 14:06:34 2009 -0400

    powerpc: provide APIs for validating and updating DABR
    
    A checkpointed task image may specify a value for the DABR (Data
    Access Breakpoint Register).  The restart code needs to validate this
    value before making any changes to the current task.
    
    ptrace_set_debugreg encapsulates the bounds checking and platform
    dependencies of programming the DABR.  Split this into "validate"
    (debugreg_valid) and "update" (debugreg_update) functions, and make
    them available for use outside of the ptrace code.
    
    Also ptrace_set_debugreg has extern linkage, but no users outside of
    ptrace.c.  Make it static.
    
    Signed-off-by: Nathan Lynch <ntl at pobox.com>

commit 43aabe591a18f477a1acbde1ce35e70d55ecc4fa
Author: Nathan Lynch <ntl at pobox.com>
Date:   Wed Sep 16 14:06:09 2009 -0400

    powerpc: reserve checkpoint arch identifiers
    
    Signed-off-by: Nathan Lynch <ntl at pobox.com>

commit 1cbeacd1ee5ffb294c33b387868f9429d6c497b1
Author: Oren Laadan <orenl at cs.columbia.edu>
Date:   Wed Sep 16 14:03:33 2009 -0400

    c/r: support for controlling terminal and job control
    
    Add checkpoint/restart of controlling terminal: current->signal->tty.
    This is only done for session leaders.
    
    If the session leader belongs to the ancestor pid-ns, then checkpoint
    skips this tty; On restart, it will not be restored, and whatever tty
    is in place from parent pid-ns (at restart) will be inherited.
    
    Chagnelog [v1]:
      - Don't restore tty_old_pgrp it pgid is CKPT_PID_NULL
      - Initialize pgrp to NULL in restore_signal
    
    Signed-off-by: Oren Laadan <orenl at cs.columbia.edu>

commit cb6da48eb551e53636dc94d4544816e2e6b48a5a
Author: Oren Laadan <orenl at cs.columbia.edu>
Date:   Wed Sep 16 14:03:33 2009 -0400

    c/r: correctly restore pgid
    
    The main challenge with restoring the pgid of tasks is that the
    original "owner" (the process with that pid) might have exited
    already. I call these "ghost" pgids. 'mktree' does create these
    processes, but they then exit without participating in the restart.
    
    To solve this, this patch introduces a RESTART_GHOST flag, used for
    "ghost" owners that are created only to pass their pgid to other
    tasks. ('mktree' now makes them call restart(2) instead of exiting).
    
    When a "ghost" task calls restart(2), it will be placed on a wait
    queue until the restart completes and then exit. This guarantees that
    the pgid that it owns remains available for all (regular) restarting
    tasks for when they need it.
    
    Regular tasks perform the restart as before, except that they also
    now restore their old pgrp, which is guaranteed to exist.
    
    Changelog [v2]:
      - Call change_pid() only if new pgrp differs from current one
    Changelog [v1]:
      - Verify that pgid owner is a thread-group-leader.
      - Handle the case of pgid/sid == 0 using root's parent pid-ns
    
    Signed-off-by: Oren Laadan <orenl at cs.columbia.edu>

commit 06a18852ef703dd9b66445207a7c9450fb8b2c3f
Author: Oren Laadan <orenl at cs.columbia.edu>
Date:   Wed Sep 16 14:03:33 2009 -0400

    c/r: [pty 2/2] support for pseudo terminals
    
    This patch adds support for checkpoint and restart of pseudo terminals
    (PTYs). Since PTYs are shared (pointed to by file, and signal), they
    are managed via objhash.
    
    PTYs are master/slave pairs; The code arranges for the master to
    always be checkpointed first, followed by the slave. This is important
    since during restart both ends are created when restoring the master.
    
    In this patch only UNIX98 style PTYs are supported.
    
    Currently only PTYs that are referenced by open files are handled.
    Thus PTYs checkpoint starts with a file in tty_file_checkpoint(). It
    will first checkpoint the master and slave PTYs via tty_checkpoint(),
    and then complete the saving of the file descriptor. This means that
    in the image file, the order of objects is: master-tty, slave-tty,
    file-desc.
    
    During restart, to restore the master side, we open the /dev/ptmx
    device and get a file handle. But at this point we don't know the
    designated objref for this file, because the file is due later on in
    the image stream. On the other hand, we can't just fput() the file
    because it will close the PTY too.
    
    Instead, when we checkpoint the master PTY, we _reserve_ an objref
    for the file (which won't be further used in checkpoint). Then at
    restart, use it to insert the file to objhash.
    
    TODO:
    
    * Better sanitize input from checkpoint image on restore
    * Check the locking when saving/restoring tty_struct state
    * Echo position/buffer isn't saved (is it needed ?)
    * Handle multiple devpts mounts (namespaces)
    * Paths of ptmx and slaves are hard coded (/dev/ptmx, /dev/pts/...)
    
    Changelog[v2]:
      - Don't save/restore tty->{session,pgrp}
      - Fix leak: drop file reference after ckpt_obj_insert()
      - Move get_file() inside locked clause (fix race)
    Changelog[v1]:
      - Adjust include/asm/checkpoint_hdr.h for s390 architecture
      - Add NCC to kernel constants header (ckpt_hdr_const)
      - [Serge Hallyn] fix calculation of canon_datalen
    
    Signed-off-by: Oren Laadan <orenl at cs.columbia.edu>

commit 9f75fac6b2e131d3ac143f17bb8fad42cd8b47f2
Author: Oren Laadan <orenl at cs.columbia.edu>
Date:   Wed Sep 16 14:03:32 2009 -0400

    c/r: [pty 1/2] allow allocation of desired pty slave
    
    During restart, we need to allocate pty slaves with the same
    identifiers as recorded during checkpoint. Modify the allocation code
    to allow an in-kernel caller to request a specific slave identifier.
    
    For this, add a new field to task_struct - 'required_id'. It will
    hold the desired identifier when restoring a (master) pty.
    
    The code in ptmx_open() will use this value only for tasks that try to
    open /dev/ptmx that are restarting (PF_RESTARTING), and if the value
    isn't CKPT_REQUIRED_NONE (-1).
    
    Signed-off-by: Oren Laadan <orenl at cs.columbia.edu>

commit a4c2d033dde8c7abe5cf2f16acc861a207bd24fd
Author: Dan Smith <danms at us.ibm.com>
Date:   Wed Sep 16 14:03:27 2009 -0400

    c/r: Add AF_UNIX support (v10)
    
    This patch adds basic checkpoint/restart support for AF_UNIX sockets.  It
    has been tested with a single and multiple processes, and with data inflight
    at the time of checkpoint.  It supports socketpair()s, path-based, and
    abstract sockets.
    
    Changes in v11:
      - Create a struct socket for orphan socket during checkpoint
      - Make sockets proper objhash objects and use checkpoint_obj() on them
      - Rename headerless struct ckpt_hdr_* to struct ckpt_*
      - Remove struct timeval from socket header
      - Save and restore UNIX socket peer credentials
      - Set socket flags on restore using sock_setsockopt() where possible
      - Fail on the TIMESTAMPING_* flags for the moment (with a TODO)
      - Remove other explicit flag checks that are no longer copied blindly
      - Changed functions/variables names to follow existing conventions
      - Use proto_ops->{checkpoint,restart} methods for af_unix
      - Cleanup sock_file_restore()/sock_file_checkpoint()
      - Make ckpt_hdr_socket be part of ckpt_hdr_file_socket
      - Fold do_sock_file_checkpoint() into sock_file_checkpoint()
      - Fold do_sock_file_restore() into sock_file_restore()
      - Move sock_file_{checkpoint,restore} to net/checkpoint.c
      - Properly define sock_file_{checkpoint,restore} in header file
      - sock_file_restore() now calls restore_file_common()
    
    Changes in v10:
      - Moved header structure definitions back to checkpoint_hdr.h
      - Moved AF_UNIX checkpoint/restart code to net/unix/checkpoint.c
      - Make sock_unix_*() functions only compile if CONFIG_UNIX=y
      - Add TODO for CONFIG_UNIX=m case
    
    Changes in v9:
      - Fix double-free of skb's in the list and target holding queue in the
        error path of sock_copy_buffers()
      - Adjust use of ckpt_read_string() to match new signature
    
    Changes in v8:
      - Fix stale dev_alloc_skb() from before the conversion to skb_clone()
      - Fix a couple of broken error paths
      - Fix memory leak of kvec.iov_base on successful return from sendmsg()
      - Fix condition for deciding when to run sock_cptrst_verify()
      - Fix buffer queue copy algorithm to hold the lock during walk(s)
      - Log the errno when either getname() or getpeer() fails
      - Add comments about ancillary messages in the UNIX queue
      - Add TODO comments for credential restore and flags via setsockopt()
      - Add TODO comment about strangely-connected dgram sockets and the use
        of sendmsg(peer)
    
    Changes in v7:
      - Fix failure to free iov_base in error path of sock_read_buffer()
      - Change sock_read_buffer() to use _ckpt_read_obj_type() to get the
        header length and then use ckpt_kread() directly to read the payload
      - Change sock_read_buffers() to sock_unix_read_buffers() and break out
        some common functionality to better accommodate the subsequent INET
        patch
      - Generalize sock_unix_getnames() into sock_getnames() so INET can use it
      - Change skb_morph() to skb_clone() which uses the more common path and
        still avoids the copy
      - Add check to validate the socket type before creating socket
        on restore
      - Comment the CAP_NET_ADMIN override in sock_read_buffer_hdr
      - Strengthen the comment about priming the buffer limits
      - Change the objhash functions to deny direct checkpoint of sockets and
        remove the reference counting function
      - Change SOCKET_BUFFERS to SOCKET_QUEUE
      - Change this,peer objrefs to signed integers
      - Remove names from internal socket structures
      - Fix handling of sock_copy_buffers() result
      - Use ckpt_fill_fname() instead of d_path() for writing CWD
      - Use sock_getname() and sock_getpeer() for proper security hookage
      - Return -ENOSYS for unsupported socket families in checkpoint and restart
      - Use sock_setsockopt() and sock_getsockopt() where possible to save and
        restore socket option values
      - Check for SOCK_DESTROY flag in the global verify function because none
        of our supported socket types use it
      - Check for SOCK_USE_WRITE_QUEUE in AF_UNIX restore function because
        that flag should not be used on such a socket
      - Check socket state in UNIX restart path to validate the subset of valid
        values
    
    Changes in v6:
      - Moved the socket addresses to the per-type header
      - Eliminated the HASCWD flag
      - Remove use of ckpt_write_err() in restart paths
      - Change the order in which buffers are read so that we can set the
        socket's limit equal to the size of the image's buffers (if appropriate)
        and then restore the original values afterwards.
      - Use the ckpt_validate_errno() helper
      - Add a check to make sure that we didn't restore a (UNIX) socket with
        any skb's in the send buffer
      - Fix up sock_unix_join() to not leave addr uninitialized for socketpair
      - Remove inclusion of checkpoint_hdr.h in the socket files
      - Make sock_unix_write_cwd() use ckpt_write_string() and use the new
        ckpt_read_string() for reading the cwd
      - Use the restored realcred credentials in sock_unix_join()
      - Fix error path of the chdir_and_bind
      - Change the algorithm for reloading the socket buffers to use sendmsg()
        on the socket's peer for better accounting
      - For DGRAM sockets, check the backlog value against the system max
        to avoid letting a restart bypass the overloaded queue length
      - Use sock_bind() instead of sock->ops->bind() to gain the security hook
      - Change "restart" to "restore" in some of the function names
    
    Changes in v5:
      - Change laddr and raddr buffers in socket header to be long enough
        for INET6 addresses
      - Place socket.c and sock.h function definitions inside #ifdef
        CONFIG_CHECKPOINT
      - Add explicit check in sock_unix_makeaddr() to refuse if the
        checkpoint image specifies an addr length of 0
      - Split sock_unix_restart() into a few pieces to facilitate:
      - Changed behavior of the unix restore code so that unlinked LISTEN
        sockets don't do a bind()...unlink()
      - Save the base path of a bound socket's path so that we can chdir()
        to the base before bind() if it is a relative path
      - Call bind() for any socket that is not established but has a
        non-zero-length local address
      - Enforce the current sysctl limit on socket buffer size during restart
        unless the user holds CAP_NET_ADMIN
      - Unlink a path-based socket before calling bind()
    
    Changes in v4:
      - Changed the signdness of rcvlowat, rcvtimeo, sndtimeo, and backlog
        to match their struct sock definitions.  This should avoid issues
        with sign extension.
      - Add a sock_cptrst_verify() function to be run at restore time to
        validate several of the values in the checkpoint image against
        limits, flag masks, etc.
      - Write an error string with ctk_write_err() in the obscure cases
      - Don't write socket buffers for listen sockets
      - Sanity check address lengths before we agree to allocate memory
      - Check the result of inserting the peer object in the objhash on
        restart
      - Check return value of sock_cptrst() on restart
      - Change logic in remote getname() phase of checkpoint to not fail for
        closed (et al) sockets
      - Eliminate the memory copy while reading socket buffers on restart
    
    Changes in v3:
      - Move sock_file_checkpoint() above sock_file_restore()
      - Change __sock_file_*() functions to do_sock_file_*()
      - Adjust some of the struct cr_hdr_socket alignment
      - Improve the sock_copy_buffers() algorithm to avoid locking the source
        queue for the entire operation
      - Fix alignment in the socket header struct(s)
      - Move the per-protocol structure (ckpt_hdr_socket_un) out of the
        common socket header and read/write it separately
      - Fix missing call to sock_cptrst() in restore path
      - Break out the socket joining into another function
      - Fix failure to restore the socket address thus fixing getname()
      - Check the state values on restart
      - Fix case of state being TCP_CLOSE, which allows dgram sockets to be
        properly connected (if appropriate) to their peer and maintain the
        sockaddr for getname() operation
      - Fix restoring a listening socket that has been unlink()'d
      - Fix checkpointing sockets with an in-flight FD-passing SKB.  Fail
        with EBUSY.
      - Fix checkpointing listening sockets with an unaccepted connection.
        Fail with EBUSY.
      - Changed 'un' to 'unix' in function and structure names
    
    Changes in v2:
      - Change GFP_KERNEL to GFP_ATOMIC in sock_copy_buffers() (this seems
        to be rather common in other uses of skb_copy())
      - Move the ckpt_hdr_socket structure definition to linux/socket.h
      - Fix whitespace issue
      - Move sock_file_checkpoint() to net/socket.c for symmetry
    
    Cc: Alexey Dobriyan <adobriyan at gmail.com>
    Cc: netdev at vger.kernel.org
    Signed-off-by: Dan Smith <danms at us.ibm.com>
    Signed-off-by: Oren Laadan <orenl at cs.columbia.edu>

commit abc63753d1be8448be0ad10f4d1e3e2b3c9fa1f4
Author: Oren Laadan <orenl at cs.columbia.edu>
Date:   Wed Sep 16 12:09:21 2009 -0400

    c/r: introduce checkpoint/restore methods to struct proto_ops
    
    This adds new 'proto_ops' function for checkpointing and restoring
    sockets. This allows the checkpoint/restart code to compile nicely
    when, e.g., AF_UNIX sockets are selected as a module.
    
    It also adds a function 'collecting' a socket for leak-detection
    during full-container checkpoint. This is useful for those sockets
    that hold references to other "collectable" objects. Two examples are
    AF_UNIX buffers which reference the socket of origin, and sockets that
    have file descriptors in-transit.
    
    Signed-off-by: Oren Laadan <orenl at cs.columbia.edu>

commit f8b4de0416a935571b40deec9f365a4072212601
Author: Dan Smith <danms at us.ibm.com>
Date:   Wed Sep 16 12:09:20 2009 -0400

    Add common socket helpers to unify the security hooks
    
    This moves the meat out of the bind(), getsockname(), and getpeername() syscalls
    into helper functions that performs security_socket_bind() and then the
    sock->ops->call().  This allows a unification of this behavior between the
    syscalls and the pending socket restart logic.
    
    Acked-by: Serge Hallyn <serue at us.ibm.com>
    Signed-off-by: Dan Smith <danms at us.ibm.com>
    Cc: netdev at vger.kernel.org

commit df973a504a1c46fa41a2a01dfb9db3ce793aac96
Author: Dan Smith <danms at us.ibm.com>
Date:   Wed Sep 16 12:09:20 2009 -0400

    Expose may_setuid() in user.h and add may_setgid() (v2)
    
    Make these helpers available to others.
    
    Changes in v2:
     - Avoid checking the groupinfo in ctx->realcred against the current in
       may_setgid()
    
    Cc: Serge Hallyn <serue at us.ibm.com>
    Signed-off-by: Dan Smith <danms at us.ibm.com>

commit 0e1b2862c4089c9b48079a2dc0b5b6f09e149c26
Author: Oren Laadan <orenl at cs.columbia.edu>
Date:   Wed Sep 16 12:09:20 2009 -0400

    c/r: [signal 4/4] support for real/virt/prof itimers
    
    This patch adds support for real/virt/prof itimers.
    Expiry and the interval values are both saved in nanoseconds.
    
    Changelog[v1]:
      - [Louis Rilling] Fix saving of signal->it_real_incr if not expired
      - Fix restoring of signal->it_real_incr if expire is zero
      - Save virt/prof expire relative to process accumulated time
    
    Signed-off-by: Oren Laadan <orenl at cs.columbia.edu>

commit c0758bc1d7341583001d907841a736a3ef923731
Author: Oren Laadan <orenl at cs.columbia.edu>
Date:   Wed Sep 16 12:09:19 2009 -0400

    c/r: [signal 3/4] pending signals (private, shared)
    
    This patch adds checkpoint and restart of pending signals queues:
    struct sigpending, both per-task t->sigpending and shared (per-
    thread-group) t->signal->shared_sigpending.
    
    To checkpoint pending signals (private/shared) we first detach the
    signal queue (and copy the mask) to a separate struct sigpending.
    This separate structure can be iterated through without locking.
    
    Once the state is saved, we re-attaches (prepends) the original signal
    queue back to the original struct sigpending.
    
    Signals that arrive(d) in the meantime will be suitably queued after
    these (for real-time signals). Repeated non-realtime signals will not
    be queued because they will already be marked in the pending mask,
    that remains as is. This is the expected behavior of non-realtime
    signals.
    
    Changelog [v4]:
      - Rename headerless struct ckpt_hdr_* to struct ckpt_*
    Changelog [v3]:
      - [Dan Smith] Sanity check for number of pending signals in buffer
    Changelog [v2]:
      - Validate si_errno from checkpoint image
    Changelog [v1]:
      - Fix compilation warnings
      - [Louis Rilling] Remove SIGQUEUE_PREALLOC flag from queued signals
      - [Louis Rilling] Fail if task has posix-timers or SI_TIMER signal
    
    Signed-off-by: Oren Laadan <orenl at cs.columbia.edu>

commit 6a95fac593f9ed619f0773fcf187d7ac92345611
Author: Oren Laadan <orenl at cs.columbia.edu>
Date:   Wed Sep 16 12:09:19 2009 -0400

    c/r: [signal 2/4] checkpoint/restart of rlimit
    
    This patch adds checkpoint and restart of rlimit information
    that is part of shared signal_struct.
    
    Signed-off-by: Oren Laadan <orenl at cs.columbia.edu>

commit 50ab865385b07dd7cc4419466996c2d5a42e0672
Author: Oren Laadan <orenl at cs.columbia.edu>
Date:   Wed Sep 16 12:09:19 2009 -0400

    c/r: [signal 1/4] blocked and template for shared signals
    
    This patch adds checkpoint/restart of blocked signals mask
    (t->blocked) and a template for shared signals (t->signal).
    
    Because t->signal sharing is tied to threads, we ensure proper sharing
    of t->signal (struct signal_struct) for threads only.
    
    Access to t->signal is protected by locking t->sighand->lock.
    Therefore, the usual checkpoint_obj() invoking the callback
    checkpoint_signal(ctx, signal) is insufficient because the task
    pointer is unavailable.
    
    Instead, handling of t->signal sharing is explicit using helpers
    like ckpt_obj_lookup_add(), ckpt_obj_fetch() and ckpt_obj_insert().
    The actual state is saved (if needed) _after_ the task_objs data.
    
    To prevent tasks from handling restored signals during restart,
    set their mask to block all signals and only restore the original
    mask at the very end (before the last sync point).
    
    Introduce per-task pointer 'ckpt_data' to temporary store data
    for restore actions that are deferred to the end (like restoring
    the signal block mask).
    
    Signed-off-by: Oren Laadan <orenl at cs.columbia.edu>

commit a5efaadfd2692d73c822b56ce55179f865295339
Author: Oren Laadan <orenl at cs.columbia.edu>
Date:   Wed Sep 16 12:09:18 2009 -0400

    c/r: checkpoint and restore (shared) task's sighand_struct
    
    This patch adds the checkpointing and restart of signal handling
    state - 'struct sighand_struct'. Since the contents of this state
    only affect userspace, no input validation is required.
    
    Add _NSIG to kernel constants saved/tested with image header.
    
    Number of signals (_NSIG) is arch-dependent, but is within __KERNEL__
    and not visibile to userspace compile. Therefore, define per arch
    CKPT_ARCH_NSIG in <asm/checkpoint_hdr.h>.
    
    Changelog[v1]:
      - Rename headerless struct ckpt_hdr_* to struct ckpt_*
    
    Signed-off-by: Oren Laadan <orenl at cs.columbia.edu>

commit 9c8305ef9955573776c85c11286b33c09504e50f
Author: Serge E. Hallyn <serue at us.ibm.com>
Date:   Wed Sep 16 12:09:18 2009 -0400

    c/r: restore file->f_cred
    
    Restore a file's f_cred.  This is set to the cred of the task doing
    the open, so often it will be the same as that of the restarted task.
    
    Changelog[v1]:
      - [Nathan Lynch] discard const from struct cred * where appropriate
    
    Signed-off-by: Serge E. Hallyn <serue at us.ibm.com>

commit ca41a44eb07c98139421ae995d5715a4796a444a
Author: Serge E. Hallyn <serue at us.ibm.com>
Date:   Wed Sep 16 12:09:18 2009 -0400

    c/r: checkpoint and restore task credentials
    
    This patch adds the checkpointing and restart of credentials
    (uids, gids, and capabilities) to Oren's c/r patchset (on top
    of v14).  It goes to great pains to re-use (and define when
    needed) common helpers, in order to make sure that as security
    code is modified, the cr code will be updated.  Some of the
    helpers should still be moved (i.e. _creds() functions should
    be in kernel/cred.c).
    
    When building the credentials for the restarted process, I
    1. create a new struct cred as a copy of the running task's
    cred (using prepare_cred())
    2. always authorize any changes to the new struct cred
    based on the permissions of current_cred() (not the current
    transient state of the new cred).
    
    While this may mean that certain transient_cred1->transient_cred2
    states are allowed which otherwise wouldn't be allowed, the
    fact remains that current_cred() is allowed to transition to
    transient_cred2.
    
    The reconstructed creds are applied to the task at the very
    end of the sys_restart call.  This ensures that any objects which
    need to be re-created (file, socket, etc) are re-created using
    the creds of the task calling sys_restart - preventing an unpriv
    user from creating a privileged object, and ensuring that a
    root task can restart a process which had started out privileged,
    created some privileged objects, then dropped its privilege.
    
    With these patches, the root user can restart checkpoint images
    (created by either hallyn or root) of user hallyn's tasks,
    resulting in a program owned by hallyn.
    
    Changelog:
    	Sep 08: [NTL] discard const from struct cred * where appropriate
    	Jun 15: Fix user_ns handling when !CONFIG_USER_N
    	        Set creator_ref=0 for root_ns (discard @flags)
    		Don't  overwrite global user-ns if CONFIG_USER_NS
    	Jun 10: Merge with ckpt-v16-dev (Oren Laadan)
    	Jun 01: Don't check ordering of groups in group_info, bc
    		set_groups() will sort it for us.
    	May 28: 1. Restore securebits
    		2. Address Alexey's comments: move prototypes out of
    		   sched.h, validate ngroups < NGROUPS_MAX, validate
    		   groups are sorted, and get rid of ckpt_hdr_cred->version.
    		3. remove bogus unused flag RESTORE_CREATE_USERNS
    	May 26: Move group, user, userns, creds c/r functions out
    		of checkpoint/process.c and into the appropriate files.
    	May 26: Define struct ckpt_hdr_task_creds and move task cred
    		objref c/r into {checkpoint_restore}_task_shared().
    	May 26: Take cred refs around checkpoint_write_creds()
    	May 20: Remove the limit on number of groups in groupinfo
    		at checkpoint time
    	May 20: Remove the depth limit on empty user namespaces
    	May 20: Better document checkpoint_user
    	May 18: fix more refcounting: if (userns 5, uid 0) had
    		no active tasks or child user_namespaces, then
    		it shouldn't exist at restart or it, its namespace,
    		and its whole chain of creators will be leaked.
    	May 14: fix some refcounting:
    		1. a new user_ns needs a ref to remain pinned
    		   by its root user
    		2. current_user_ns needs an extra ref bc objhash
    		   drops two on restart
    		3. cred needs a ref for the real credentials bc
    		   commit_creds eats one ref.
    	May 13: folded in fix to userns refcounting.
    
    Signed-off-by: Serge E. Hallyn <serue at us.ibm.com>
    [orenl at cs.columbia.edu: merge with ckpt-v16-dev]

commit c0921ad4a9cdf34d6b5f17ef4dab5c8116fce75c
Author: Serge E. Hallyn <serue at us.ibm.com>
Date:   Wed Sep 16 12:09:17 2009 -0400

    c/r: capabilities: define checkpoint and restore fns
    
    [ Andrew: I am punting on dealing with the subsystem cooperation
    issues in this version, in favor of trying to get LSM issues
    straightened out ]
    
    An application checkpoint image will store capability sets
    (and the bounding set) as __u64s.  Define checkpoint and
    restart functions to translate between those and kernel_cap_t's.
    
    Define a common function do_capset_tocred() which applies capability
    set changes to a passed-in struct cred.
    
    The restore function uses do_capset_tocred() to apply the restored
    capabilities to the struct cred being crafted, subject to the
    current task's (task executing sys_restart()) permissions.
    
    Changelog:
    	Jun 09: Can't choose securebits or drop bounding set if
    		file capabilities aren't compiled into the kernel.
    		Also just store caps in __u32s (looks cleaner).
    	Jun 01: Made the checkpoint and restore functions and the
    		ckpt_hdr_capabilities struct more opaque to the
    		rest of the c/r code, as suggested by Andrew Morgan,
    		and using naming suggested by Oren.
    	Jun 01: Add commented BUILD_BUG_ON() to point out that the
    		current implementation depends on 64-bit capabilities.
    		(Andrew Morgan and Alexey Dobriyan).
    	May 28: add helpers to c/r securebits
    
    Signed-off-by: Serge E. Hallyn <serue at us.ibm.com>

commit 7fcc8381195181c5383546a48a441f99688aab0c
Author: Serge E. Hallyn <serue at us.ibm.com>
Date:   Wed Sep 16 12:09:16 2009 -0400

    c/r: clone_with_pids: define the s390 syscall
    
    Hook up the clone_with_pids system call for s390x.  clone_with_pids()
    takes an additional argument over clone(), which we pass in through
    register 7.  Stub code for using the syscall looks like:
    
    struct target_pid_set {
            int num_pids;
            pid_t *target_pids;
            unsigned long flags;
    };
    
        register unsigned long int __r2 asm ("2") = (unsigned long int)(stack);
        register unsigned long int __r3 asm ("3") = (unsigned long int)(flags);
        register unsigned long int __r4 asm ("4") = (unsigned long int)(NULL);
        register unsigned long int __r5 asm ("5") = (unsigned long int)(NULL);
        register unsigned long int __r6 asm ("6") = (unsigned long int)(NULL);
        register unsigned long int __r7 asm ("7") = (unsigned long int)(setp);
        register unsigned long int __result asm ("2");
        __asm__ __volatile__(
                " lghi %%r1,332\n"
                " svc 0\n"
                : "=d" (__result)
                : "0" (__r2), "d" (__r3),
                  "d" (__r4), "d" (__r5), "d" (__r6), "d" (__r7)
                : "1", "cc", "memory"
        );
                __result;
        })
    
        struct target_pid_set pid_set;
        int pids[1] = { 19799 };
        pid_set.num_pids = 1;
        pid_set.target_pids = &pids[0];
        pid_set.flags = 0;
    
        rc = do_clone_with_pids(topstack, clone_flags, setp);
        if (rc == 0)
    	printf("Child\n");
        else if (rc > 0)
    	printf("Parent: child pid %d\n", rc);
        else
    	printf("Error %d\n", rc);
    
    Changelog[v18]:
      - Set return value for self-checkpoint
    
    Signed-off-by: Serge E. Hallyn <serue at us.ibm.com>

commit fd3a1df99fa52b983d46b8b771db209638a0507a
Author: Dan Smith <danms at us.ibm.com>
Date:   Wed Sep 16 12:09:16 2009 -0400

    c/r: define s390-specific checkpoint-restart code
    
    Implement the s390 arch-specific checkpoint/restart helpers.  This
    is on top of Oren Laadan's c/r code.
    
    With these, I am able to checkpoint and restart simple programs as per
    Oren's patch intro.  While on x86 I never had to freeze a single task
    to checkpoint it, on s390 I do need to.  That is a prereq for consistent
    snapshots (esp with multiple processes) anyway so I don't see that as
    a problem.
    
    Changelog:
        Jun 15:
                . Fix checkpoint and restart compat wrappers
        May 28:
                . Export asm/checkpoint_hdr.h to userspace
                . Define CKPT_ARCH_ID for S390
        Apr 11:
                . Introduce ckpt_arch_vdso()
        Feb 27:
                . Add checkpoint_s390.h
                . Fixed up save and restore of PSW, with the non-address bits
                  properly masked out
        Feb 25:
                . Make checkpoint_hdr.h safe for inclusion in userspace
                . Replace comment about vsdo code
                . Add comment about restoring access registers
                . Write and read an empty ckpt_hdr_head_arch record to appease
                  code (mktree) that expects it to be there
                . Utilize NUM_CKPT_WORDS in checkpoint_hdr.h
        Feb 24:
                . Use CKPT_COPY() to unify the un/loading of cpu and mm state
                . Fix fprs definition in ckpt_hdr_cpu
                . Remove debug WARN_ON() from checkpoint.c
        Feb 23:
                . Macro-ize the un/packing of trace flags
                . Fix the crash when externally-linked
                . Break out the restart functions into restart.c
                . Remove unneeded s390_enable_sie() call
        Jan 30:
                . Switched types in ckpt_hdr_cpu to __u64 etc.
                  (Per Oren suggestion)
                . Replaced direct inclusion of structs in
                  ckpt_hdr_cpu with the struct members.
                  (Per Oren suggestion)
                . Also ended up adding a bunch of new things
                  into restart (mm_segment, ksp, etc) in vain
                  attempt to get code using fpu to not segfault
                  after restart.
    
    Signed-off-by: Serge E. Hallyn <serue at us.ibm.com>
    Signed-off-by: Dan Smith <danms at us.ibm.com>

commit 33acb5303e51ccc1824993dd42ba337bb88d22f8
Author: Dan Smith <danms at us.ibm.com>
Date:   Wed Sep 16 12:09:15 2009 -0400

    c/r: add CKPT_COPY() macro
    
    As suggested by Dave[1], this provides us a way to make the copy-in and
    copy-out processes symmetric.  CKPT_COPY_ARRAY() provides us a way to do
    the same thing but for arrays.  It's not critical, but it helps us unify
    the checkpoint and restart paths for some things.
    
    Changelog:
        Mar 04:
                . Removed semicolons
                . Added build-time check for __must_be_array in CKPT_COPY_ARRAY
        Feb 27:
                . Changed CKPT_COPY() to use assignment, eliminating the need
                  for the CKPT_COPY_BIT() macro
                . Add CKPT_COPY_ARRAY() macro to help copying register arrays,
                  etc
                . Move the macro definitions inside the CR #ifdef
        Feb 25:
                . Changed WARN_ON() to BUILD_BUG_ON()
    
    Signed-off-by: Dan Smith <danms at us.ibm.com>
    Signed-off-by: Oren Laadan <orenl at cs.columbia.edu>
    
    1: https://lists.linux-foundation.org/pipermail/containers/2009-February/015821.html (all the way at the bottom)

commit 356ca591c022531ecfda351324561d414b19ca58
Author: Oren Laadan <orenl at cs.columbia.edu>
Date:   Wed Sep 16 12:09:15 2009 -0400

    c/r: (s390): expose a constant for the number of words (CRs)
    
    We need to use this value in the checkpoint/restart code and would like to
    have a constant instead of a magic '3'.
    
    Changelog:
        Mar 30:
                . Add CHECKPOINT_SUPPORT in Kconfig (Nathan Lynch)
        Mar 03:
                . Picked up additional use of magic '3' in ptrace.h
    
    Signed-off-by: Dan Smith <danms at us.ibm.com>

commit 39fa16d77c63ea065fb7bf71e7e7251453d35cdf
Author: Oren Laadan <orenl at cs.columbia.edu>
Date:   Wed Sep 16 12:09:15 2009 -0400

    c/r: support semaphore sysv-ipc
    
    Checkpoint of sysvipc semaphores is performed by iterating through all
    sem objects and dumping the contents of each one. The semaphore array
    of each sem is dumped with that object.
    
    The semaphore array (sem->sem_base) holds an array of 'struct sem',
    which is a {int, int}. Because this translates into the same format
    on 32- and 64-bit architectures, the checkpoint format is simply the
    dump of this array as is.
    
    TODO: this patch does not handle semaphore-undo -- this data should be
    saved per-task while iterating through the tasks.
    
    Changelog[v18]:
      - Handle kmalloc failure in restore_sem_array()
    Changelog[v17]:
      - Restore objects in the right namespace
      - Forward declare struct msg_msg (instead of include linux/msg.h)
      - Fix typo in comment
      - Don't unlock ipc before calling freeary in error path
    
    Signed-off-by: Oren Laadan <orenl at cs.columbia.edu>

commit 5dab755c02421f739092cc1f34a1f82202911c73
Author: Oren Laadan <orenl at cs.columbia.edu>
Date:   Wed Sep 16 12:09:14 2009 -0400

    c/r: support message-queues sysv-ipc
    
    Checkpoint of sysvipc message-queues is performed by iterating through
    all 'msq' objects and dumping the contents of each one. The message
    queued on each 'msq' are dumped with that object.
    
    Message of a specific queue get written one by one. The queue lock
    cannot be held while dumping them, but the loop must be protected from
    someone (who ?) writing or reading. To do that we grab the lock, then
    hijack the entire chain of messages from the queue, drop the lock,
    and then safely dump them in a loop. Finally, with the lock held, we
    re-attach the chain while verifying that there isn't other (new) data
    on that queue.
    
    Writing the message contents themselves is straight forward. The code
    is similar to that in ipc/msgutil.c, the main difference being that
    we deal with kernel memory and not user memory.
    
    Changelog[v17]:
      - Allocate security context for msg_msg
      - Restore objects in the right namespace
      - Don't unlock ipc before freeing
    
    Signed-off-by: Oren Laadan <orenl at cs.columbia.edu>

commit 98ecf71bbf4e855a37f108b8ed46e90e6ee16377
Author: Oren Laadan <orenl at cs.columbia.edu>
Date:   Wed Sep 16 12:09:14 2009 -0400

    c/r: support share-memory sysv-ipc
    
    Checkpoint of sysvipc shared memory is performed in two steps: first,
    the entire ipc namespace is dumped as a whole by iterating through all
    shm objects and dumping the contents of each one. The shmem inode is
    registered in the objhash. Second, for each vma that refers to ipc
    shared memory we find the inode in the objhash, and save the objref.
    
    (If we find a new inode, that indicates that the ipc namespace is not
    entirely frozen and someone must have manipulated it since step 1).
    
    Handling of shm objects that have been deleted (via IPC_RMID) is left
    to a later patch in this series.
    
    Changelog[v18]:
      - Collect files used by shm objects
      - Use file instead of inode as shared object during checkpoint
    Changelog[v17]:
      - Restore objects in the right namespace
      - Properly initialize ctx->deferqueue
      - Fix compilation with CONFIG_CHECKPOINT=n
    
    Signed-off-by: Oren Laadan <orenl at cs.columbia.edu>

commit 2b88e16c88c83067b6a738be1fa92932df3d6c2d
Author: Oren Laadan <orenl at cs.columbia.edu>
Date:   Wed Sep 16 12:09:14 2009 -0400

    c/r: save and restore sysvipc namespace basics
    
    Add the helpers to checkpoint and restore the contents of 'struct
    kern_ipc_perm'. Add header structures for ipc state. Put place-holders
    to save and restore ipc state.
    
    Save and restores the common state (parameters) of ipc namespace.
    
    Generic code to iterate through the objects of sysvipc shared memory,
    message queues and semaphores. The logic to save and restore the state
    of these objects will be added in the next few patches.
    
    Right now, we return -EPERM if the user calling sys_restart() isn't
    allowed to create an object with the checkpointed uid.  We may prefer
    to simply use the caller's uid in that case - but that could lead to
    subtle userspace bugs?  Unsure, so going for the stricter behavior.
    
    TODO: restore kern_ipc_perms->security.
    
    Changelog[v17]:
      - Fix include: use checkpoint.h not checkpoint_hdr.h
      - Collect nsproxy->ipc_ns
      - Restore objects in the right namespace
      - If !CONFIG_IPC_NS only restore objects, not global settings
      - Don't overwrite global ipc-ns if !CONFIG_IPC_NS
      - Reset the checkpointed uid and gid info on ipc objects
      - Fix compilation with CONFIG_SYSVIPC=n
    Changelog [Dan Smith <danms at us.ibm.com>]
      - Fix compilation with CONFIG_SYSVIPC=n
      - Update to match UTS changes
    
    Signed-off-by: Oren Laadan <orenl at cs.columbia.edu>

commit 40f30126e65005d4d8388330a3982d68084bd4e1
Author: Oren Laadan <orenl at cs.columbia.edu>
Date:   Wed Sep 16 12:09:13 2009 -0400

    c/r (ipc): allow allocation of a desired ipc identifier
    
    During restart, we need to allocate ipc objects that with the same
    identifiers as recorded during checkpoint. Modify the allocation
    code allow an in-kernel caller to request a specific ipc identifier.
    The system call interface remains unchanged.
    
    Signed-off-by: Oren Laadan <orenl at cs.columbia.edu>

commit 99cb683792abbbe82123702d6947381bf945c622
Author: Dan Smith <danms at us.ibm.com>
Date:   Wed Sep 16 12:09:13 2009 -0400

    c/r: support for UTS namespace
    
    This patch adds a "phase" of checkpoint that saves out information about any
    namespaces the task(s) may have.  Do this by tracking the namespace objects
    of the tasks and making sure that tasks with the same namespace that follow
    get properly referenced in the checkpoint stream.
    
    Changes[v17]:
      - Collect nsproxy->uts_ns
      - Save uts string lengths once in ckpt_hdr_const
      - Save and restore all fields of uts-ns
      - Don't overwrite global uts-ns if !CONFIG_UTS_NS
      - Replace sys_unshare() with create_uts_ns()
      - Take uts_sem around access to uts data
    Changes:
      - Remove the kernel restore path
      - Punt on nested namespaces
      - Use __NEW_UTS_LEN in nodename and domainname buffers
      - Add a note to Documentation/checkpoint/internals.txt to indicate where
        in the save/restore process the UTS information is kept
      - Store (and track) the objref of the namespace itself instead of the
        nsproxy (based on comments from Dave on IRC)
      - Remove explicit check for non-root nsproxy
      - Store the nodename and domainname lengths and use ckpt_write_string()
        to store the actual name strings
      - Catch failure of ckpt_obj_add_ptr() in ckpt_write_namespaces()
      - Remove "types" bitfield and use the "is this new" flag to determine
        whether or not we should write out a new ns descriptor
      - Replace kernel restore path
      - Move the namespace information to be directly after the task
        information record
      - Update Documentation to reflect new location of namespace info
      - Support checkpoint and restart of nested UTS namespaces
    
    Signed-off-by: Dan Smith <danms at us.ibm.com>
    Signed-off-by: Oren Laadan <orenl at cs.columbia.edu>

commit 3d75b8a6f5a6cf6b468924838094c178dd3aaddb
Author: Oren Laadan <orenl at cs.columbia.edu>
Date:   Wed Sep 16 12:09:12 2009 -0400

    c/r: make ckpt_may_checkpoint_task() check each namespace individually
    
    For a given namespace type, say XXX, if a checkpoint was taken on a
    CONFIG_XXX_NS system, is restarted on a !CONFIG_XXX_NS, then ensure
    that:
    
    1) The global settings of the global (init) namespace do not get
    overwritten. Creating new objects in that namespace is ok, as long as
    the request identifier is available.
    
    2) All restarting tasks use a single namespace - because it is
    impossible to create additional namespaces to accommodate for what had
    been checkpointed.
    
    Original patch introducing nsproxy c/r by Dan Smith <danms at us.ibm.com>
    
    Chagnelog[v18]:
      - Add a few more ckpt_write_err()s
    Chagnelog[v17]:
      - Only collect sub-objects of struct_nsproxy once.
      - Restore namespace pieces directly instead of using sys_unshare()
      - Proper handling of restart from namespace(s) without namespace(s)
    
    Signed-off-by: Oren Laadan <orenl at cs.columbia.edu>

commit 6ceec3b3f292e154c5f709c4207db5ee24966834
Author: Oren Laadan <orenl at cs.columbia.edu>
Date:   Wed Sep 16 12:09:11 2009 -0400

    c/r: checkpoint and restore FIFOs
    
    FIFOs are almost like pipes.
    
    Checkpoints adds the FIFO pathname. The first time the FIFO is found
    it also assigns an @objref and dumps the contents in the buffers.
    
    To restore, use the @objref only to determine whether a particular
    FIFO has already been restored earlier. Note that it ignores the file
    pointer that matches that @objref (unlike with pipes, where that file
    corresponds to the other end of the pipe). Instead, it creates a new
    FIFO using the saved pathname.
    
    Signed-off-by: Oren Laadan <orenl at cs.columbia.edu>

commit f282a267cf33f2a8e33d785eab6168eba1e70c75
Author: Oren Laadan <orenl at cs.columbia.edu>
Date:   Wed Sep 16 12:09:11 2009 -0400

    c/r: support for open pipes
    
    A pipe is a double-headed inode with a buffer attached to it. We
    checkpoint the pipe buffer only once, as soon as we hit one side of
    the pipe, regardless whether it is read- or write- end.
    
    To checkpoint a file descriptor that refers to a pipe (either end), we
    first lookup the inode in the hash table: If not found, it is the
    first encounter of this pipe. Besides the file descriptor, we also (a)
    save the pipe data, and (b) register the pipe inode in the hash. If
    found, it is the second encounter of this pipe, namely, as we hit the
    other end of the same pipe. In both cases we write the pipe-objref of
    the inode.
    
    To restore, create a new pipe and thus have two file pointers (read-
    and write- ends). We only use one of them, depending on which side was
    checkpointed first. We register the file pointer of the other end in
    the hash table, with the pipe_objref given for this pipe from the
    checkpoint, to be used later when the other arrives. At this point we
    also restore the contents of the pipe buffers.
    
    To save the pipe buffer, given a source pipe, use do_tee() to clone
    its contents into a temporary 'struct pipe_inode_info', and then use
    do_splice_from() to transfer it directly to the checkpoint image file.
    
    To restore the pipe buffer, with a fresh newly allocated target pipe,
    use do_splice_to() to splice the data directly between the checkpoint
    image file and the pipe.
    
    Changelog[v18]:
      - Adjust format of pipe buffer to include the mandatory pre-header
    Changelog[v17]:
      - Forward-declare 'ckpt_ctx' et-al, don't use checkpoint_types.h
    
    Signed-off-by: Oren Laadan <orenl at cs.columbia.edu>

commit a46d2b502555ba9c8625bbe1cddf34cb641d27e9
Author: Oren Laadan <orenl at cs.columbia.edu>
Date:   Wed Sep 16 12:09:10 2009 -0400

    splice: export pipe/file-to-pipe/file functionality
    
    During pipes c/r pipes we need to save and restore pipe buffers. But
    do_splice() requires two file descriptors, therefore we can't use it,
    as we always have one file descriptor (checkpoint image) and one
    pipe_inode_info.
    
    This patch exports interfaces that work at the pipe_inode_info level,
    namely link_pipe(), do_splice_to() and do_splice_from(). They are used
    in the following patch to to save and restore pipe buffers without
    unnecessary data copy.
    
    It slightly modifies both do_splice_to() and do_splice_from() to
    detect the case of pipe-to-pipe transfer, in which case they invoke
    splice_pipe_to_pipe() directly.
    
    Signed-off-by: Oren Laadan <orenl at cs.columbia.edu>

commit cc3ec47a7d8e8d36fd16d6c7276fbca6bc4b3e93
Author: Oren Laadan <orenl at cs.columbia.edu>
Date:   Wed Sep 16 12:09:10 2009 -0400

    c/r: restore anonymous- and file-mapped- shared memory
    
    The bulk of the work is in ckpt_read_vma(), which has been refactored:
    the part that create the suitable 'struct file *' for the mapping is
    now larger and moved to a separate function. What's left is to read
    the VMA description, get the file pointer, create the mapping, and
    proceed to read the contents in.
    
    Both anonymous shared VMAs that have been read earlier (as indicated
    by a look up to objhash) and file-mapped shared VMAs are skipped.
    Anonymous shared VMAs seen for the first time have their contents
    read in directly to the backing inode, as indexed by the page numbers
    (as opposed to virtual addresses).
    
    Changelog[v14]:
      - Introduce patch
    
    Signed-off-by: Oren Laadan <orenl at cs.columbia.edu>

commit e7b30af5cad2e6ade07c7138a51772730ba8bee3
Author: Oren Laadan <orenl at cs.columbia.edu>
Date:   Wed Sep 16 12:09:10 2009 -0400

    c/r: dump anonymous- and file-mapped- shared memory
    
    We now handle anonymous and file-mapped shared memory. Support for IPC
    shared memory requires support for IPC first. We extend ckpt_write_vma()
    to detect shared memory VMAs and handle it separately than private
    memory.
    
    There is not much to do for file-mapped shared memory, except to force
    msync() on the region to ensure that the file system is consistent
    with the checkpoint image. Use our internal type CKPT_VMA_SHM_FILE.
    
    Anonymous shared memory is always backed by inode in shmem filesystem.
    We use that inode to look up the VMA in the objhash and register it if
    not found (on first encounter). In this case, the type of the VMA is
    CKPT_VMA_SHM_ANON, and we dump the contents. On the other hand, if it is
    found there, we must have already saved it before, so we change the
    type to CKPT_VMA_SHM_ANON_SKIP and skip it.
    
    To dump the contents of a shmem VMA, we loop through the pages of the
    inode in the shmem filesystem, and dump the contents of each dirty
    (allocated) page - unallocated pages must be clean.
    
    Note that we save the original size of a shmem VMA because it may have
    been re-mapped partially. The format itself remains like with private
    VMAs, except that instead of addresses we record _indices_ (page nr)
    into the backing inode.
    
    Changelog[v18]:
      - Mark the backing file as visited at chekcpoint
    
    Signed-off-by: Oren Laadan <orenl at cs.columbia.edu>

commit 74149aabdc0bd8b8d774b4cb6feb9a5bc5a476c5
Author: Oren Laadan <orenl at cs.columbia.edu>
Date:   Wed Sep 16 12:09:09 2009 -0400

    c/r: export shmem_getpage() to support shared memory
    
    Export functionality to retrieve specific pages from shared memory
    given an inode in shmem-fs; this will be used in the next two patches
    to provide support for c/r of shared memory.
    
    mm/shmem.c:
    - shmem_getpage() and 'enum sgp_type' moved to linux/mm.h
    
    Signed-off-by: Oren Laadan <orenl at cs.columbia.edu>

commit 497a784800cc2cce67d4749e7dcd758bfcb605ad
Author: Matt Helsley <matthltc at us.ibm.com>
Date:   Wed Sep 16 12:09:09 2009 -0400

    Add the checkpoint operation for opened files of generic filesystems
    
    These patches extend the use of the generic file checkpoint operation to
    non-extX filesystems which have lseek operations that ensure we can save
    and restore the files for later use. Note that this does not include
    things like FUSE, network filesystems, or pseudo-filesystem kernel
    interfaces.
    
    Only compile and boot tested (on x86-32).
    
    [Oren Laadan] Folded patch series into a single patch; original post
    included 36 separate patches for individual filesystems:
    
      [PATCH 01/36] Add the checkpoint operation for affs files and directories.
      [PATCH 02/36] Add the checkpoint operation for befs directories.
      [PATCH 03/36] Add the checkpoint operation for bfs files and directories.
      [PATCH 04/36] Add the checkpoint operation for btrfs files and directories.
      [PATCH 05/36] Add the checkpoint operation for cramfs directories.
      [PATCH 06/36] Add the checkpoint operation for ecryptfs files and directories.
      [PATCH 07/36] Add the checkpoint operation for fat files and directories.
      [PATCH 08/36] Add the checkpoint operation for freevxfs directories.
      [PATCH 09/36] Add the checkpoint operation for hfs files and directories.
      [PATCH 10/36] Add the checkpoint operation for hfsplus files and directories.
      [PATCH 11/36] Add the checkpoint operation for hpfs files and directories.
      [PATCH 12/36] Add the checkpoint operation for hppfs files and directories.
      [PATCH 13/36] Add the checkpoint operation for iso directories.
      [PATCH 14/36] Add the checkpoint operation for jffs2 files and directories.
      [PATCH 15/36] Add the checkpoint operation for jfs files and directories.
      [PATCH 16/36] Add the checkpoint operation for regular nfs files and directories. Skip the various /proc files for now.
      [PATCH 17/36] Add the checkpoint operation for ntfs directories.
      [PATCH 18/36] Add the checkpoint operation for openromfs directories. Explicitly skip the properties for now.
      [PATCH 19/36] Add the checkpoint operation for qnx4 files and directories.
      [PATCH 20/36] Add the checkpoint operation for reiserfs files and directories.
      [PATCH 21/36] Add the checkpoint operation for romfs directories.
      [PATCH 22/36] Add the checkpoint operation for squashfs directories.
      [PATCH 23/36] Add the checkpoint operation for sysv filesystem files and directories.
      [PATCH 24/36] Add the checkpoint operation for ubifs files and directories.
      [PATCH 25/36] Add the checkpoint operation for udf filesystem files and directories.
      [PATCH 26/36] Add the checkpoint operation for xfs files and directories.
      [PATCH 27/36] Add checkpoint operation for efs directories.
      [PATCH 28/36] Add the checkpoint operation for generic, read-only files. At present, some/all files of the following filesystems use this generic definition:
      [PATCH 29/36] Add checkpoint operation for minix filesystem files and directories.
      [PATCH 30/36] Add checkpoint operations for omfs files and directories.
      [PATCH 31/36] Add checkpoint operations for ufs files and directories.
      [PATCH 32/36] Add checkpoint operations for ramfs files. NOTE: since simple_dir_operations are shared between multiple filesystems including ramfs, it's not currently possible to checkpoint open ramfs directories.
      [PATCH 33/36] Add the checkpoint operation for adfs files and directories.
      [PATCH 34/36] Add the checkpoint operation to exofs files and directories.
      [PATCH 35/36] Add the checkpoint operation to nilfs2 files and directories.
      [PATCH 36/36] Add checkpoint operations for UML host filesystem files and directories.
    
    Signed-off-by: Matt Helsley <matthltc at us.ibm.com>
    Acked-by: Oren Laadan <orenl at cs.columbia.edu>
    Cc: linux-fsdevel at vger.kernel.org

commit 10594a13eaa5ac6bf10d0e8a8da5657d15767d81
Author: Oren Laadan <orenl at cs.columbia.edu>
Date:   Wed Sep 16 12:09:08 2009 -0400

    c/r: add generic '->checkpoint()' f_op to simple devices
    
    * /dev/null
    * /dev/zero
    * /dev/random
    * /dev/urandom
    
    Signed-off-by: Oren Laadan <orenl at cs.columbia.edu>

commit bc0085a4828718336665a52ed7333622d5f7a269
Author: Dave Hansen <dave at linux.vnet.ibm.com>
Date:   Wed Sep 16 12:09:08 2009 -0400

    c/r: add generic '->checkpoint' f_op to ext fses
    
    This marks ext[234] as being checkpointable.  There will be many
    more to do this to, but this is a start.
    
    Changelog[v1]:
      - [Serge Hallyn] Use filemap_checkpoint() in ext4_file_vm_ops
    
    Signed-off-by: Dave Hansen <dave at linux.vnet.ibm.com>
    Signed-off-by: Oren Laadan <orenl at cs.columbia.edu>

commit 28edbf8bb9211750cf5a8575d89fec6b721431ed
Author: Oren Laadan <orenl at cs.columbia.edu>
Date:   Wed Sep 16 12:09:08 2009 -0400

    c/r: restore memory address space (private memory)
    
    Restoring the memory address space begins with nuking the existing one
    of the current process, and then reading the vma state and contents.
    Call do_mmap_pgoffset() for each vma and then read in the data.
    
    Changelog[v17]:
      - Restore mm->{flags,def_flags,saved_auxv}
      - Fix bogus warning in do_restore_mm()
    Changelog[v16]:
      - Restore mm->exe_file
    Changelog[v14]:
      - Introduce per vma-type restore() function
      - Merge restart code into same file as checkpoint (memory.c)
      - Compare saved 'vdso' field of mm_context with current value
      - Check whether calls to ckpt_hbuf_get() fail
      - Discard field 'h->parent'
      - Revert change to pr_debug(), back to ckpt_debug()
    Changelog[v13]:
      - Avoid access to hh->vma_type after the header is freed
      - Test for no vma's in exit_mmap() before calling unmap_vma() (or it
        may crash if restart fails after having removed all vma's)
    Changelog[v12]:
      - Replace obsolete ckpt_debug() with pr_debug()
    Changelog[v9]:
      - Introduce ckpt_ctx_checkpoint() for checkpoint-specific ctx setup
    Changelog[v7]:
      - Fix argument given to kunmap_atomic() in memory dump/restore
    Changelog[v6]:
      - Balance all calls to ckpt_hbuf_get() with matching ckpt_hbuf_put()
        (even though it's not really needed)
    Changelog[v5]:
      - Improve memory restore code (following Dave Hansen's comments)
      - Change dump format (and code) to allow chunks of <vaddrs, pages>
        instead of one long list of each
      - Memory restore now maps user pages explicitly to copy data into them,
        instead of reading directly to user space; got rid of mprotect_fixup()
    Changelog[v4]:
      - Use standard list_... for ckpt_pgarr
    
    
    Signed-off-by: Oren Laadan <orenl at cs.columbia.edu>

commit 3f6813fb0d5ccdc1998e45e824194c0ceef99680
Author: Oren Laadan <orenl at cs.columbia.edu>
Date:   Wed Sep 16 12:09:07 2009 -0400

    c/r: dump memory address space (private memory)
    
    For each vma, there is a 'struct ckpt_vma'; Then comes the actual
    contents, in one or more chunk: each chunk begins with a header that
    specifies how many pages it holds, then the virtual addresses of all
    the dumped pages in that chunk, followed by the actual contents of all
    dumped pages. A header with zero number of pages marks the end of the
    contents.  Then comes the next vma and so on.
    
    To checkpoint a vma, call the ops->checkpoint() method of that vma.
    Normally the per-vma function will invoke generic_vma_checkpoint()
    which first writes the vma description, followed by the specific
    logic to dump the contents of the pages.
    
    Currently for private mapped memory we save the pathname of the file
    that is mapped (restart will use it to re-open it and then map it).
    Later we change that to reference a file object.
    
    Changelog[v18]:
      - Add a few more ckpt_write_err()s
      - [Serge Hallyn] Export filemap_checkpoint() (used later for ext4)
      - Use ckpt_collect_file() instead of ckpt_obj_collect() for files
      - In collect_mm() use retval from ckpt_obj_collect() to test for
        first-time-object
    Changelog[v17]:
      - Only collect sub-objects of mm_struct once
      - Save mm->{flags,def_flags,saved_auxv}
    Changelog[v16]:
      - Precede vaddrs/pages with a buffer header
      - Checkpoint mm->exe_file
      - Handle shared task->mm
    Changelog[v14]:
      - Modify the ops->checkpoint method to be much more powerful
      - Improve support for VDSO (with special_mapping checkpoint callback)
      - Save new field 'vdso' in mm_context
      - Revert change to pr_debug(), back to ckpt_debug()
      - Check whether calls to ckpt_hbuf_get() fail
      - Discard field 'h->parent'
    Changelog[v13]:
      - pgprot_t is an abstract type; use the proper accessor (fix for
        64-bit powerpc (Nathan Lynch <ntl at pobox.com>)
    Changelog[v12]:
      - Hide pgarr management inside ckpt_private_vma_fill_pgarr()
      - Fix management of pgarr chain reset and alloc/expand: keep empty
        pgarr in a pool chain
      - Replace obsolete ckpt_debug() with pr_debug()
    Changelog[v11]:
      - Copy contents of 'init->fs->root' instead of pointing to them.
      - Add missing test for VM_MAYSHARE when dumping memory
    Changelog[v10]:
      - Acquire dcache_lock around call to __d_path() in ckpt_fill_name()
    Changelog[v9]:
      - Introduce ckpt_ctx_checkpoint() for checkpoint-specific ctx setup
      - Test if __d_path() changes mnt/dentry (when crossing filesystem
        namespace boundary). for now ckpt_fill_fname() fails the checkpoint.
    Changelog[v7]:
      - Fix argument given to kunmap_atomic() in memory dump/restore
    Changelog[v6]:
      - Balance all calls to ckpt_hbuf_get() with matching ckpt_hbuf_put()
        (even though it's not really needed)
    Changelog[v5]:
      - Improve memory dump code (following Dave Hansen's comments)
      - Change dump format (and code) to allow chunks of <vaddrs, pages>
        instead of one long list of each
      - Fix use of follow_page() to avoid faulting in non-present pages
    Changelog[v4]:
      - Use standard list_... for ckpt_pgarr
    
    Signed-off-by: Oren Laadan <orenl at cs.columbia.edu>

commit 7bc7e50aca9cd3d3460634f94b3e1d3be56c8883
Author: Oren Laadan <orenl at cs.columbia.edu>
Date:   Wed Sep 16 12:09:07 2009 -0400

    c/r: introduce method '->checkpoint()' in struct vm_operations_struct
    
    Changelog[v17]
      - Forward-declare 'ckpt_ctx et-al, don't use checkpoint_types.h
    
    Signed-off-by: Oren Laadan <orenl at cs.columbia.edu>

commit a1b772aa9629dc91dfd350f2cf22a05df7554627
Author: Oren Laadan <orenl at cs.columbia.edu>
Date:   Wed Sep 16 12:09:06 2009 -0400

    c/r: restore open file descriptors
    
    For each fd read 'struct ckpt_hdr_file_desc' and lookup objref in the
    hash table; If not found in the hash table, (first occurence), read in
    'struct ckpt_hdr_file', create a new file and register in the hash.
    Otherwise attach the file pointer from the hash as an FD.
    
    Changelog[v18]:
      - Invoke set_close_on_exec() unconditionally on restart
    Changelog[v17]:
      - Validate f_mode after restore against saved f_mode
      - Fail if f_flags have O_CREAT|O_EXCL|O_NOCTTY|O_TRUN
      - Reorder patch (move earlier in series)
      - Handle shared files_struct objects
    Changelog[v14]:
      - Introduce a per file-type restore() callback
      - Revert change to pr_debug(), back to ckpt_debug()
      - Rename:  restore_files() => restore_fd_table()
      - Rename:  ckpt_read_fd_data() => restore_file()
      - Check whether calls to ckpt_hbuf_get() fail
      - Discard field 'hh->parent'
    Changelog[v12]:
      - Replace obsolete ckpt_debug() with pr_debug()
    Changelog[v6]:
      - Balance all calls to ckpt_hbuf_get() with matching ckpt_hbuf_put()
        (even though it's not really needed)
    
    Signed-off-by: Oren Laadan <orenl at cs.columbia.edu>

commit a553a51c0291d1be52abd1af3ca4427d2b09922e
Author: Oren Laadan <orenl at cs.columbia.edu>
Date:   Wed Sep 16 12:09:06 2009 -0400

    c/r: dump open file descriptors
    
    Dump the file table with 'struct ckpt_hdr_file_table, followed by all
    open file descriptors. Because the 'struct file' corresponding to an
    fd can be shared, they are assigned an objref and registered in the
    object hash. A reference to the 'file *' is kept for as long as it
    lives in the hash (the hash is only cleaned up at the end of the
    checkpoint).
    
    Also provide generic_checkpoint_file() and generic_restore_file()
    which is good for normal files and directories. It does not support
    yet unlinked files or directories.
    
    Changelog[v18]:
      - Add a few more ckpt_write_err()s
      - [Dan Smith] Export fill_fname() as ckpt_fill_fname()
      - Introduce ckpt_collect_file() that also uses file->collect method
      - In collect_file_stabl() use retval from ckpt_obj_collect() to
        test for first-time-object
    Changelog[v17]:
      - Only collect sub-objects of files_struct once
      - Better file error debugging
      - Use (new) d_unlinked()
    Changelog[v16]:
      - Fix compile warning in checkpoint_bad()
    Changelog[v16]:
      - Reorder patch (move earlier in series)
      - Handle shared files_struct objects
    Changelog[v14]:
      - File objects are dumped/restored prior to the first reference
      - Introduce a per file-type restore() callback
      - Use struct file_operations->checkpoint()
      - Put code for generic file descriptors in a separate function
      - Use one CKPT_FILE_GENERIC for both regular files and dirs
      - Revert change to pr_debug(), back to ckpt_debug()
      - Use only unsigned fields in checkpoint headers
      - Rename:  ckpt_write_files() => checkpoint_fd_table()
      - Rename:  ckpt_write_fd_data() => checkpoint_file()
      - Discard field 'h->parent'
    Changelog[v12]:
      - Replace obsolete ckpt_debug() with pr_debug()
    Changelog[v11]:
      - Discard handling of opened symlinks (there is no such thing)
      - ckpt_scan_fds() retries from scratch if hits size limits
    Changelog[v9]:
      - Fix a couple of leaks in ckpt_write_files()
      - Drop useless kfree from ckpt_scan_fds()
    Changelog[v8]:
      - initialize 'coe' to workaround gcc false warning
    Changelog[v6]:
      - Balance all calls to ckpt_hbuf_get() with matching ckpt_hbuf_put()
        (even though it's not really needed)
    
    Signed-off-by: Oren Laadan <orenl at cs.columbia.edu>

commit 5c07b60c1fada8323cf8acfbf8374f0f41d251dc
Author: Oren Laadan <orenl at cs.columbia.edu>
Date:   Wed Sep 16 12:09:05 2009 -0400

    c/r: introduce new 'file_operations': ->checkpoint, ->collect()
    
    While we assume all normal files and directories can be checkpointed,
    there are, as usual in the VFS, specialized places that will always
    need an ability to override these defaults. Although we could do this
    completely in the checkpoint code, that would bitrot quickly.
    
    This adds a new 'file_operations' function for checkpointing a file.
    It is assumed that there should be a dirt-simple way to make something
    (un)checkpointable that fits in with current code.
    
    As you can see in the ext[234] patches down the road, all that we have
    to do to make something simple be supported is add a single "generic"
    f_op entry.
    
    Also adds a new 'file_operations' function for 'collecting' a file for
    leak-detection during full-container checkpoint. This is useful for
    those files that hold references to other "collectable" objects. Two
    examples are pty files that point to corresponding tty objects, and
    eventpoll files that refer to the files they are monitoring.
    
    Finally, this patch introduces vfs_fcntl() so that it can be called
    from restart (see patch adding restart of files).
    
    Changelog[v17]
      - Introduce 'collect' method
    Changelog[v17]
      - Forward-declare 'ckpt_ctx' et-al, don't use checkpoint_types.h
    
    Signed-off-by: Oren Laadan <orenl at cs.columbia.edu>

commit 364a123242728d59b2de29de6d3dfb0404293676
Author: Oren Laadan <orenl at cs.columbia.edu>
Date:   Wed Sep 16 12:09:05 2009 -0400

    deferqueue: generic queue to defer work
    
    Add a interface to postpone an action until the end of the entire
    checkpoint or restart operation. This is useful when during the
    scan of tasks an operation cannot be performed in place, to avoid
    the need for a second scan.
    
    One use case is when restoring an ipc shared memory region that has
    been deleted (but is still attached), during restart it needs to be
    create, attached and then deleted. However, creation and attachment
    are performed in distinct locations, so deletion can not be performed
    on the spot. Instead, this work (delete) is deferred until later.
    (This example is in one of the following patches).
    
    This interface allows chronic procrastination in the kernel:
    
    deferqueue_create(void):
        Allocates and returns a new deferqueue.
    
    deferqueue_run(deferqueue):
        Executes all the pending works in the queue. Returns the number
        of works executed, or an error upon the first error reported by
        a deferred work.
    
    deferqueue_add(deferqueue, data, size, func, dtor):
        Enqueue a deferred work. @function is the callback function to
        do the work, which will be called with @data as an argument.
        @size tells the size of data. @dtor is a destructor callback
        that is invoked for deferred works remaining in the queue when
        the queue is destroyed. NOTE: for a given deferred work, @dtor
        is _not_ called if @func was already called (regardless of the
        return value of the latter).
    
    deferqueue_destroy(deferqueue):
        Free the deferqueue and any queued items while invoking the
        @dtor callback for each queued item.
    
    Why aren't we using the existing kernel workqueue mechanism?  We need
    to defer to work until the end of the operation: not earlier, since we
    need other things to be in place; not later, to not block waiting for
    it. However, the workqueue schedules the work for 'some time later'.
    Also, the kernel workqueue may run in any task context, but we require
    many times that an operation be run in the context of some specific
    restarting task (e.g., restoring IPC state of a certain ipc_ns).
    
    Instead, this mechanism is a simple way for the c/r operation as a
    whole, and later a task in particular, to defer some action until
    later (but not arbitrarily later) _in the restore_ operation.
    
    Changelog[v18]
      - Interface to pass simple pointers as data with deferqueue
    Changelog[v17]
      - Fix deferqueue_add() function
    
    Signed-off-by: Oren Laadan <orenl at cs.columbia.edu>

commit 206d0107cbd5b59978b59edf7aed7cb372d4024d
Author: Oren Laadan <orenl at cs.columbia.edu>
Date:   Wed Sep 16 12:09:05 2009 -0400

    c/r: detect resource leaks for whole-container checkpoint
    
    Add a 'users' count to objhash items, and, for a !CHECKPOINT_SUBTREE
    checkpoint, return an error code if the actual objects' counts are
    higher, indicating leaks (references to the objects from a task not
    being checkpointed).
    
    The comparison of the objhash user counts to object refcounts as a
    basis for checking for leaks comes from Alexey's OpenVZ-based c/r
    patchset.
    
    "Leak detection" occurs _before_ any real state is saved, as a
    pre-step. This prevents races due to sharing with outside world where
    the sharing ceases before the leak test takes place, thus protecting
    the checkpoint image from inconsistencies.
    
    Once leak testing concludes, checkpoint will proceed. Because objects
    are already in the objhash, checkpoint_obj() cannot distinguish
    between the first and subsequent encounters. This is solved with a
    flag (CKPT_OBJ_CHECKPOINTED) per object.
    
    Two additional checks take place during checkpoint: for objects that
    were created during, and objects destroyed, while the leak-detection
    pre-step took place. (By the time this occurs part of the checkpoint
    image has been written out to disk, so this is purely advisory).
    
    Changelog[v18]:
      - Replace some EAGAIN with EBUSY
      - Add a few more ckpt_write_err()s
      - Introduce CKPT_OBJ_VISITED
      - ckpt_obj_collect() returns objref for new objects, 0 otherwise
      - Rename ckpt_obj_checkpointed() to ckpt_obj_visited()
      - Introduce ckpt_obj_visit() to mark objects as visited
      - Set the CHECKPOINTED flag on objects before calling checkpoint
    Changelog[v17]:
      - Leak detection is performed in two-steps
      - Detect reverse-leaks (objects disappearing unexpectedly)
      - Skip reverse-leak detection if ops->ref_users isn't defined
    
    Signed-off-by: Oren Laadan <orenl at cs.columbia.edu>

commit 0097fa081d3325b50dc65bb6c524b7cb86990dea
Author: Oren Laadan <orenl at cs.columbia.edu>
Date:   Wed Sep 16 12:09:04 2009 -0400

    c/r: infrastructure for shared objects
    
    The state of shared objects is saved once. On the first encounter, the
    state is dumped and the object is assigned a unique identifier (objref)
    and also stored in a hash table (indexed by its physical kernel address).
    From then on the object will be found in the hash and only its identifier
    is saved.
    
    On restart the identifier is looked up in the hash table; if not found
    then the state is read, the object is created, and added to the hash
    table (this time indexed by its identifier). Otherwise, the object in
    the hash table is used.
    
    The hash is "one-way": objects added to it are never deleted until the
    hash it discarded. The hash is discarded at the end of checkpoint or
    restart, whether successful or not.
    
    The hash keeps a reference to every object that is added to it, matching
    the object's type, and maintains this reference during its lifetime.
    Therefore, it is always safe to use an object that is stored in the hash.
    
    Changelog[v18]:
      - Add ckpt_obj_reserve()
      - Change ref_drop() to accept a @lastref argument (useful for cleanup)
      - Disallow multiple objects with same objref in restart
      - Allow _ckpt_read_obj_type() to read object header only (w/o payload)
    Changelog[v17]:
      - Add ckpt_obj->flags with CKPT_OBJ_CHECKPOINTED flag
      - Add prototype of ckpt_obj_lookup
      - Complain on attempt to add NULL ptr to objhash
      - Prepare for 'leaks detection'
    Changelog[v16]:
      - Introduce ckpt_obj_lookup() to find an object by its ptr
    Changelog[v14]:
      - Introduce 'struct ckpt_obj_ops' to better modularize shared objs.
      - Replace long 'switch' statements with table lookups and callbacks.
      - Introduce checkpoint_obj() and restart_obj() helpers
      - Shared objects now dumped/saved right before they are referenced
      - Cleanup interface of shared objects
    Changelog[v13]:
      - Use hash_long() with 'unsigned long' cast to support 64bit archs
        (Nathan Lynch <ntl at pobox.com>)
    Changelog[v11]:
      - Doc: be explicit about grabbing a reference and object lifetime
    Changelog[v4]:
      - Fix calculation of hash table size
    Changelog[v3]:
      - Use standard hlist_... for hash table
    
    Signed-off-by: Oren Laadan <orenl at cs.columbia.edu>

commit 9894f6524904b22395e8d252bd525c1b27780a46
Author: Matt Helsley <matthltc at us.ibm.com>
Date:   Wed Sep 16 11:37:00 2009 -0400

    c/r: Save and restore the [compat_]robust_list member of the task struct
    
    These lists record which futexes the task holds. To keep the overhead of
    robust futexes low the list is kept in userspace. When the task exits the
    kernel carefully walks these lists to recover held futexes that
    other tasks may be attempting to acquire with FUTEX_WAIT.
    
    Because they point to userspace memory that is saved/restored by
    checkpoint/restart saving the list pointers themselves is safe.
    
    While saving the pointers is safe during checkpoint, restart is tricky
    because the robust futex ABI contains provisions for changes based on
    checking the size of the list head. So we need to save the length of
    the list head too in order to make sure that the kernel used during
    restart is capable of handling that ABI. Since there is only one ABI
    supported at the moment taking the list head's size is simple. Should
    the ABI change we will need to use the same size as specified during
    sys_set_robust_list() and hence some new means of determining the length
    of this userspace structure in sys_checkpoint would be required.
    
    Rather than rewrite the logic that checks and handles the ABI we reuse
    sys_set_robust_list() by factoring out the body of the function and
    calling it during restart.
    
    Signed-off-by: Matt Helsley <matthltc at us.ibm.com>
    [orenl at cs.columbia.edu: move save/restore code to checkpoint/process.c]

commit c0da31a92919fd6fda52eb9132ab9ee7734e259f
Author: Oren Laadan <orenl at cs.columbia.edu>
Date:   Wed Sep 16 11:30:11 2009 -0400

    c/r: support for zombie processes
    
    During checkpoint, a zombie processes need only save p->comm,
    p->state, p->exit_state, and p->exit_code.
    
    During restart, zombie processes are created like all other
    processes. They validate the saved exit_code restore p->comm
    and p->exit_code. Then they call do_exit() instead of waking
    up the next task in line.
    
    But before, they place the @ctx in p->checkpoint_ctx, so that
    only at exit time they will wake up the next task in line,
    and drop the reference to the @ctx.
    
    This provides the guarantee that when the coordinator's wait
    completes, all normal tasks completed their restart, and all
    zombie tasks are already zombified (as opposed to perhap only
    becoming a zombie).
    
    Changelog[v18]:
      - Add a few more ckpt_write_err()s
    Changelog[v17]:
      - Validate t->exit_signal for both threads and leader
      - Skip zombies in most of may_checkpoint_task()
      - Save/restore t->pdeath_signal
      - Validate ->exit_signal and ->pdeath_signal
    
    Signed-off-by: Oren Laadan <orenl at cs.columbia.edu>

commit 28f101689d2e3aa56aab860988e75b05608cb889
Author: Oren Laadan <orenl at cs.columbia.edu>
Date:   Wed Sep 16 11:30:11 2009 -0400

    c/r: introduce PF_RESTARTING, and skip notification on exit
    
    To restore zombie's we will create the a task, that, on its turn to
    run, calls do_exit(). Unlike normal tasks that exit, we need to
    prevent notification side effects that send signals to other
    processes, e.g. parent (SIGCHLD) or child tasks (per child's request).
    
    There are three main cases for such notifications:
    
    1) do_notify_parent(): parent of a process is notified about a change
     in status (e.g. become zombie, reparent, etc). If parent ignores,
     then mark child for immediate release (skip zombie).
    
    2) kill_orphan_pgrp(): a process group that becomes orphaned will
     signal stopped jobs (HUP then CONT).
    
    3) reparent_thread(): children of a process are signaled (per request)
     with p->pdeath_signal
    
    Remember that restoring signal state (for any restarting task) must
    complete _before_ it is allowed to resume execution, and not during
    the resume. Otherwise, a running task may send a signal to another
    task that hasn't restored yet, so the new signal will be lost
    soon-after.
    
    I considered two possible way to address this:
    
    1. Add another sync point to restart: all tasks will first restore
    their state without signals (all signals blocked), and zombies call
    do_exit(). A sync point then will ensure that all zombies are gone and
    their effects done. Then all tasks restore their signal state (and
    mask), and sync (new point) again. Only then they may resume
    execution.
    The main disadvantage is the added complexity and inefficiency,
    for no good reason.
    
    2. Introduce PF_RESTARTING: mark all restarting tasks with a new flag,
    and teach the above three notifications to skip sending the signal if
    theis flag is set.
    The main advantage is simplicity and completeness. Also, such a flag
    may to be useful later on. This the method implemented.
    
    Signed-off-by: Oren Laadan <orenl at cs.columbia.edu>

commit e1a78d71b9ee217b897cd3fafe4f6471ff0d65f9
Author: Oren Laadan <orenl at cs.columbia.edu>
Date:   Wed Sep 16 11:30:10 2009 -0400

    c/r: restart multiple processes
    
    Restarting of multiple processes expects all restarting tasks to call
    sys_restart(). Once inside the system call, each task will restart
    itself at the same order that they were saved. The internals of the
    syscall will take care of in-kernel synchronization bewteen tasks.
    
    This patch does _not_ create the task tree in the kernel. Instead it
    assumes that all tasks are created in some way and then invoke the
    restart syscall. You can use the userspace mktree.c program to do
    that.
    
    There is one special task - the coordinator - that is not part of the
    restarted hierarchy. The coordinator task allocates the restart
    context (ctx) and orchestrates the restart. Thus even if a restart
    fails after, or during the restore of the root task, the user
    perceives a clean exit and an error message.
    
    The coordinator task will:
     1) read header and tree, create @ctx (wake up restarting tasks)
     2) set the ->checkpoint_ctx field of itself and all descendants
     3) wait for all restarting tasks to reach sync point #1
     4) activate first restarting task (root task)
     5) wait for all other tasks to complete and reach sync point #3
     6) wake up everybody
    
    (Note that in step #2 the coordinator assumes that the entire task
    hierarchy exists by the time it enters sys_restart; this is arranged
    in user space by 'mktree')
    
    Task that are restarting has three sync points:
     1) wait for its ->checkpoint_ctx to be set (by the coordinator)
     2) wait for the task's turn to restore (be active)
     [...now the task restores its state...]
     3) wait for all other tasks to complete
    
    The third sync point ensures that a task may only resume execution
    after all tasks have successfully restored their state (or fail if an
    error has occured). This prevents tasks from returning to user space
    prematurely, before the entire restart completes.
    
    If a single task wishes to restart, it can set the "RESTART_TASKSELF"
    flag to restart(2) to skip the logic of the coordinator.
    
    The root-task is a child of the coordinator, identified by the @pid
    given to sys_restart() in the pid-ns of the coordinator. Restarting
    tasks that aren't the coordinator, should set the @pid argument of
    restart(2) syscall to zero.
    
    All tasks explicitly test for an error flag on the checkpoint context
    when they wakeup from sync points.  If an error occurs during the
    restart of some task, it will mark the @ctx with an error flag, and
    wakeup the other tasks.
    
    An array of pids (the one saved during the checkpoint) is used to
    synchronize the operation. The first task in the array is the init
    task (*). The restart context (@ctx) maintains a "current position" in
    the array, which indicates which task is currently active. Once the
    currently active task completes its own restart, it increments that
    position and wakes up the next task.
    
    Restart assumes that userspace provides meaningful data, otherwise
    it's garbage-in-garbage-out. In this case, the syscall may block
    indefinitely, but in TASK_INTERRUPTIBLE, so the user can ctrl-c or
    otherwise kill the stray restarting tasks.
    
    In terms of security, restart runs as the user the invokes it, so it
    will not allow a user to do more than is otherwise permitted by the
    usual system semantics and policy.
    
    Currently we ignore threads and zombies, as well as session ids.
    Add support for multiple processes
    
    (*) For containers, restart should be called inside a fresh container
    by the init task of that container. However, it is also possible to
    restart applications not necessarily inside a container, and without
    restoring the original pids of the processes (that is, provided that
    the application can tolerate such behavior). This is useful to allow
    multi-process restart of tasks not isolated inside a container, and
    also for debugging.
    
    Changelog[v18]:
      - Track and report the first error if restart fails
      - Tighten logic to protect against bogus pids in input
      - [Matt Helsley] Improve debug output from ckpt_notify_error()
    Changelog[v17]:
      - Add uflag RESTART_FROZEN to freeze tasks after restart
      - Fix restore_retval() and use only for restarting tasks
      - Coordinator converts -ERSTART... to -EINTR
      - Coordinator marks and sets descendants' ->checkpoint_ctx
      - Coordinator properly detects errors when woken up from wait
      - Fix race where root_task could kick start too early
      - Add a sync point for restarting tasks
      - Multiple fixes to restart logic
    Changelog[v14]:
      - Revert change to pr_debug(), back to ckpt_debug()
      - Discard field 'h.parent'
      - Check whether calls to ckpt_hbuf_get() fail
    Changelog[v13]:
      - Clear root_task->checkpoint_ctx regardless of error condition
      - Remove unused argument 'ctx' from do_restore_task() prototype
      - Remove unused member 'pids_err' from 'struct ckpt_ctx'
    Changelog[v12]:
      - Replace obsolete ckpt_debug() with pr_debug()
    
    Signed-off-by: Oren Laadan <orenl at cs.columbia.edu>

commit dbcded5f6cc002aba2c55b8f9934e9a7835f42aa
Author: Oren Laadan <orenl at cs.columbia.edu>
Date:   Wed Sep 16 11:30:10 2009 -0400

    c/r: checkpoint multiple processes
    
    Checkpointing of multiple processes works by recording the tasks tree
    structure below a given "root" task. The root task is expected to be a
    container init, and then an entire container is checkpointed. However,
    passing CHECKPOINT_SUBTREE to checkpoint(2) relaxes this requirement
    and allows to checkpoint a subtree of processes from the root task.
    
    For a given root task, do a DFS scan of the tasks tree and collect them
    into an array (keeping a reference to each task). Using DFS simplifies
    the recreation of tasks either in user space or kernel space. For each
    task collected, test if it can be checkpointed, and save its pid, tgid,
    and ppid.
    
    The actual work is divided into two passes: a first scan counts the
    tasks, then memory is allocated and a second scan fills the array.
    
    Whether checkpoints and restarts require CAP_SYS_ADMIN is determined
    by sysctl 'ckpt_unpriv_allowed': if 1, then regular permission checks
    are intended to prevent privilege escalation, however if 0 it prevents
    unprivileged users from exploiting any privilege escalation bugs.
    
    The logic is suitable for creation of processes during restart either
    in userspace or by the kernel.
    
    Currently we ignore threads and zombies.
    
    Changelog[v18]:
      - Replace some EAGAIN with EBUSY
      - Add a few more ckpt_write_err()s
      - Rename headerless struct ckpt_hdr_* to struct ckpt_*
    Changelog[v16]:
      - CHECKPOINT_SUBTREE flags allows subtree (not whole container)
      - sysctl variable 'ckpt_unpriv_allowed' controls needed privileges
    Changelog[v14]:
      - Refuse non-self checkpoint if target task isn't frozen
      - Refuse checkpoint (for now) if task is ptraced
      - Revert change to pr_debug(), back to ckpt_debug()
      - Use only unsigned fields in checkpoint headers
      - Check retval of ckpt_tree_count_tasks() in ckpt_build_tree()
      - Discard 'h.parent' field
      - Check whether calls to ckpt_hbuf_get() fail
      - Disallow threads or siblings to container init
    Changelog[v13]:
      - Release tasklist_lock in error path in ckpt_tree_count_tasks()
      - Use separate index for 'tasks_arr' and 'hh' in ckpt_write_pids()
    Changelog[v12]:
      - Replace obsolete ckpt_debug() with pr_debug()
    
    Signed-off-by: Oren Laadan <orenl at cs.columbia.edu>

commit bf26affa6d06f107bb23a2f7ce91628f7e05ee8f
Author: Oren Laadan <orenl at cs.columbia.edu>
Date:   Wed Sep 16 11:29:46 2009 -0400

    c/r: restart-blocks
    
    (Paraphrasing what's said this message:
    http://lists.openwall.net/linux-kernel/2007/12/05/64)
    
    Restart blocks are callbacks used cause a system call to be restarted
    with the arguments specified in the system call restart block. It is
    useful for system call that are not idempotent, i.e. the argument(s)
    might be a relative timeout, where some adjustments are required when
    restarting the system call. It relies on the system call itself to set
    up its restart point and the argument save area.  They are rare: an
    actual signal would turn that it an EINTR. The only case that should
    ever trigger this is some kernel action that interrupts the system
    call, but does not actually result in any user-visible state changes -
    like freeze and thaw.
    
    So restart blocks are about time remaining for the system call to
    sleep/wait. Generally in c/r, there are two possible time models that
    we can follow: absolute, relative. Here, I chose to save the relative
    timeout, measured from the beginning of the checkpoint. The time when
    the checkpoint (and restart) begin is also saved. This information is
    sufficient to restart in either model (absolute or negative).
    
    Which model to use should eventually be a per application choice (and
    possible configurable via cradvise() or some sort). For now, we adopt
    the relative model, namely, at restart the timeout is set relative to
    the beginning of the restart.
    
    To checkpoint, we check if a task has a valid restart block, and if so
    we save the *remaining* time that is has to wait/sleep, and the type
    of the restart block.
    
    To restart, we fill in the data required at the proper place in the
    thread information. If the system call return an error (which is
    possibly an -ERESTARTSYS eg), we not only use that error as our own
    return value, but also arrange for the task to execute the signal
    handler (by faking a signal). The handler, in turn, already has the
    code to handle these restart request gracefully.
    
    Changelog[v1]:
      - [Nathan Lynch] fix compilation errors with CONFIG_COMPAT=y
    
    Signed-off-by: Oren Laadan <orenl at cs.columbia.edu>

commit cfeaf174627dfa1a13dc1bb49a85bebe1db689d5
Author: Oren Laadan <orenl at cs.columbia.edu>
Date:   Tue Sep 15 19:56:03 2009 -0400

    c/r: export functionality used in next patch for restart-blocks
    
    To support c/r of restart-blocks (system call that need to be
    restarted because they were interrupted but there was no userspace
    visible side-effect), export restart-block callbacks for poll()
    and futex() syscalls.
    
    More details on c/r of restart-blocks and how it works in the
    following patch.
    
    Signed-off-by: Oren Laadan <orenl at cs.columbia.edu>
    Acked-by: Serge Hallyn <serue at us.ibm.com>

commit 6275ea063c1870894e9830d4305f3fa484f232f9
Author: Oren Laadan <orenl at cs.columbia.edu>
Date:   Tue Sep 15 19:56:03 2009 -0400

    c/r: external checkpoint of a task other than ourself
    
    Now we can do "external" checkpoint, i.e. act on another task.
    
    sys_checkpoint() now looks up the target pid (in our namespace) and
    checkpoints that corresponding task. That task should be the root of
    a container, unless CHECKPOINT_SUBTREE flag is given.
    
    Set state of freezer cgroup of checkpointed task hierarchy to
    "CHECKPOINTING" during a checkpoint, to ensure that task(s) cannot be
    thawed while at it.
    
    Ensure that all tasks belong to root task's freezer cgroup (the root
    task is also tested, to detect it if changes its freezer cgroups
    before it moves to "CHECKPOINTING").
    
    sys_restart() remains nearly the same, as the restart is always done
    in the context of the restarting task. However, the original task may
    have been frozen from user space, or interrupted from a syscall for
    the checkpoint. This is accounted for by restoring a suitable retval
    for the restarting task, according to how it was checkpointed.
    
    Changelog[v17]:
      - Move restore_retval() to this patch
      - Tighten ptrace ceckpoint for checkpoint to PTRACE_MODE_ATTACH
      - Use CHECKPOINTING state for hierarchy's freezer for checkpoint
    Changelog[v16]:
      - Use CHECKPOINT_SUBTREE to allow subtree (partial container)
    Changelog[v14]:
      - Refuse non-self checkpoint if target task isn't frozen
    Changelog[v12]:
      - Replace obsolete ckpt_debug() with pr_debug()
    Changelog[v11]:
      - Copy contents of 'init->fs->root' instead of pointing to them
    Changelog[v10]:
      - Grab vfs root of container init, rather than current process
    
    Signed-off-by: Oren Laadan <orenl at cs.columbia.edu>

commit 27beb348bae4044c75dc196a59037fbae37f5860
Author: Oren Laadan <orenl at cs.columbia.edu>
Date:   Tue Sep 15 19:56:03 2009 -0400

    c/r: x86_32 support for checkpoint/restart
    
    Add logic to save and restore architecture specific state, including
    thread-specific state, CPU registers and FPU state.
    
    In addition, architecture capabilities are saved in an architecure
    specific extension of the header (ckpt_hdr_head_arch); Currently this
    includes only FPU capabilities.
    
    Currently only x86-32 is supported.
    
    Changelog[v17]:
      - Fix compilation for architectures that don't support checkpoint
      - Validate cpu registers and TLS descriptors on restart
      - Validate debug registers on restart
      - Export asm/checkpoint_hdr.h to userspace
    Changelog[v16]:
      - All objects are preceded by ckpt_hdr (TLS and xstate_buf)
      - Add architecture identifier to main header
    Changelog[v14]:
      - Use new interface ckpt_hdr_get/put()
      - Embed struct ckpt_hdr in struct ckpt_hdr...
      - Remove preempt_disable/enable() around init_fpu() and fix leak
      - Revert change to pr_debug(), back to ckpt_debug()
      - Move code related to task_struct to checkpoint/process.c
    Changelog[v12]:
      - A couple of missed calls to ckpt_hbuf_put()
      - Replace obsolete ckpt_debug() with pr_debug()
    Changelog[v9]:
      - Add arch-specific header that details architecture capabilities;
        split FPU restore to send capabilities only once.
      - Test for zero TLS entries in ckpt_write_thread()
      - Fix asm/checkpoint_hdr.h so it can be included from user-space
    Changelog[v7]:
      - Fix save/restore state of FPU
    Changelog[v5]:
      - Remove preempt_disable() when restoring debug registers
    Changelog[v4]:
      - Fix header structure alignment
    Changelog[v2]:
      - Pad header structures to 64 bits to ensure compatibility
      - Follow Dave Hansen's refactoring of the original post
    
    Signed-off-by: Oren Laadan <orenl at cs.columbia.edu>

commit e0c37d443dedd80bf33b036c9f84a78d9a599f76
Author: Oren Laadan <orenl at cs.columbia.edu>
Date:   Tue Sep 15 19:55:58 2009 -0400

    c/r: basic infrastructure for checkpoint/restart
    
    Add those interfaces, as well as helpers needed to easily manage the
    file format. The code is roughly broken out as follows:
    
    checkpoint/sys.c - user/kernel data transfer, as well as setup of the
      c/r context (a per-checkpoint data structure for housekeeping)
    
    checkpoint/checkpoint.c - output wrappers and basic checkpoint handling
    
    checkpoint/restart.c - input wrappers and basic restart handling
    
    checkpoint/process.c - c/r of task data
    
    For now, we can only checkpoint the 'current' task ("self" checkpoint),
    and the 'pid' argument to the syscall is ignored.
    
    Patches to add the per-architecture support as well as the actual
    work to do the memory checkpoint follow in subsequent patches.
    
    
    Changelog[v18]:
      - Detect error-headers in input data on restart, and abort.
      - Standard format for checkpoint error strings
      - [Matt Helsley] Rename headerless struct ckpt_hdr_* to struct ckpt_*
      - [Dan Smith] Add an errno validation function
      - Add ckpt_read_payload(): read a variable-length object (no header)
      - Add ckpt_read_string(): same for strings (ensures null-terminated)
      - Add ckpt_read_consume(): consumes next object without processing
    Changelog[v17]:
      - Fix compilation for architectures that don't support checkpoint
      - Save/restore t->{set,clear}_child_tid
      - Restart(2) isn't idempotent: must return -EINTR if interrupted
      - ckpt_debug does not depend on DYNAMIC_DEBUG, on by default
      - Export generic checkpoint headers to userespace
      - Fix comment for prototype of sys_restart
      - Have ckpt_debug() print global-pid and __LINE__
      - Only save and test kernel constants once (in header)
    Changelog[v16]:
      - Split ctx->flags to ->uflags (user flags) and ->kflags (kernel flags)
      - Introduce __ckpt_write_err() and ckpt_write_err() to report errors
      - Allow @ptr == NULL to write (or read) header only without payload
      - Introduce _ckpt_read_obj_type()
    Changelog[v15]:
      - Replace header buffer in ckpt_ctx (hbuf,hpos) with kmalloc/kfree()
    Changelog[v14]:
      - Cleanup interface to get/put hdr buffers
      - Merge checkpoint and restart code into a single file (per subsystem)
      - Take uts_sem around access to uts->{release,version,machine}
      - Embed ckpt_hdr in all ckpt_hdr_...., cleanup read/write helpers
      - Define sys_checkpoint(0,...) as asking for a self-checkpoint (Serge)
      - Revert use of 'pr_fmt' to avoid tainting whom includes us (Nathan Lynch)
      - Explicitly indicate length of UTS fields in header
      - Discard field 'h->parent' from ckpt_hdr
    Changelog[v12]:
      - ckpt_kwrite/ckpt_kread() again use vfs_read(), vfs_write() (safer)
      - Split ckpt_write/ckpt_read() to two parts: _ckpt_write/read() helper
      - Befriend with sparse : explicit conversion to 'void __user *'
      - Redfine 'pr_fmt' instead of using special ckpt_debug()
    Changelog[v10]:
      - add ckpt_write_buffer(), ckpt_read_buffer() and ckpt_read_buf_type()
      - force end-of-string in ckpt_read_string() (fix possible DoS)
    Changelog[v9]:
      - ckpt_kwrite/ckpt_kread() use file->f_op->write() directly
      - Drop ckpt_uwrite/ckpt_uread() since they aren't used anywhere
    Changelog[v6]:
      - Balance all calls to ckpt_hbuf_get() with matching ckpt_hbuf_put()
        (although it's not really needed)
    Changelog[v5]:
      - Rename headers files s/ckpt/checkpoint/
    Changelog[v2]:
      - Added utsname->{release,version,machine} to checkpoint header
      - Pad header structures to 64 bits to ensure compatibility
    
    Signed-off-by: Oren Laadan <orenl at cs.columbia.edu>

commit c1cb146ee36f5a40cefccca31b25479366f00951
Author: Oren Laadan <orenl at cs.columbia.edu>
Date:   Mon Sep 14 19:14:51 2009 -0400

    c/r: documentation
    
    Covers application checkpoint/restart, overall design, interfaces,
    usage, shared objects, and and checkpoint image format.
    
    Changelog[v16]:
      - Update documentation
      - Unify into readme.txt and usage.txt
    Changelog[v14]:
      - Discard the 'h.parent' field
      - New image format (shared objects appear before they are referenced
        unless they are compound)
    Changelog[v8]:
      - Split into multiple files in Documentation/checkpoint/...
      - Extend documentation, fix typos and comments from feedback
    
    Signed-off-by: Oren Laadan <orenl at cs.columbia.edu>
    Acked-by: Serge Hallyn <serue at us.ibm.com>
    Signed-off-by: Dave Hansen <dave at linux.vnet.ibm.com>

commit c645f92635786538b3b825cf7481bb514048d2e6
Author: Oren Laadan <orenl at cs.columbia.edu>
Date:   Mon Sep 14 17:29:03 2009 -0400

    c/r: create syscalls: sys_checkpoint, sys_restart
    
    Create trivial sys_checkpoint and sys_restore system calls. They will
    enable to checkpoint and restart an entire container, to and from a
    checkpoint image file descriptor.
    
    The syscalls take a pid, a file descriptor (for the image file) and
    flags as arguments. The pid identifies the top-most (root) task in the
    process tree, e.g. the container init: for sys_checkpoint the first
    argument identifies the pid of the target container/subtree; for
    sys_restart it will identify the pid of restarting root task.
    
    A checkpoint, much like a process coredump, dumps the state of multiple
    processes at once, including the state of the container. The checkpoint
    image is written to (and read from) the file descriptor directly from
    the kernel. This way the data is generated and then pushed out naturally
    as resources and tasks are scanned to save their state. This is the
    approach taken by, e.g., Zap and OpenVZ.
    
    By using a return value and not a file descriptor, we can distinguish
    between a return from checkpoint, a return from restart (in case of a
    checkpoint that includes self, i.e. a task checkpointing its own
    container, or itself), and an error condition, in a manner analogous
    to a fork() call.
    
    We don't use copy_from_user()/copy_to_user() because it requires
    holding the entire image in user space, and does not make sense for
    restart.  Also, we don't use a pipe, pseudo-fs file and the like,
    because they work by generating data on demand as the user pulls it
    (unless the entire image is buffered in the kernel) and would require
    more complex logic.  They also would significantly complicate
    checkpoint that includes self.
    
    Changelog[v18]:
      - [John Dykstra] Fix no-dot-config-targets pattern in linux/Makefile
    Changelog[v17]:
      - Move checkpoint closer to namespaces (kconfig)
      - Kill "Enable" in c/r config option
    Changelog[v16]:
      - Change sys_restart() first argument to be 'pid_t pid'
    Changelog[v14]:
      - Change CONFIG_CHEKCPOINT_RESTART to CONFIG_CHECKPOINT (Ingo)
      - Remove line 'def_bool n' (default is already 'n')
      - Add CHECKPOINT_SUPPORT in Kconfig (Nathan Lynch)
    Changelog[v5]:
      - Config is 'def_bool n' by default
    
    Signed-off-by: Oren Laadan <orenl at cs.columbia.edu>
    Acked-by: Serge Hallyn <serue at us.ibm.com>
    Signed-off-by: Dave Hansen <dave at linux.vnet.ibm.com>

commit b8dc9d1334b7b21b80e69472d81670673cd72ee9
Author: Sukadev Bhattiprolu <sukadev at linux.vnet.ibm.com>
Date:   Mon Sep 14 17:29:02 2009 -0400

    pids 7/7: Define clone_with_pids syscall
    
    Container restart requires that a task have the same pid it had when it was
    checkpointed. When containers are nested the tasks within the containers
    exist in multiple pid namespaces and hence have multiple pids to specify
    during restart.
    
    clone_with_pids(), intended for use during restart, is the same as clone(),
    except that it takes a 'target_pid_set' paramter. This parameter lets caller
    choose specific pid numbers for the child process, in the process's active
    and ancestor pid namespaces. (Descendant pid namespaces in general don't
    matter since processes don't have pids in them anyway, but see comments
    in copy_target_pids() regarding CLONE_NEWPID).
    
    Unlike clone(), clone_with_pids() needs CAP_SYS_ADMIN, at least for now, to
    prevent unprivileged processes from misusing this interface.
    
    Call clone_with_pids as follows:
    
    	pid_t pids[] = { 0, 77, 99 };
    	struct target_pid_set pid_set;
    
    	pid_set.num_pids = sizeof(pids) / sizeof(int);
    	pid_set.target_pids = &pids;
    
    	syscall(__NR_clone_with_pids, flags, stack, NULL, NULL, NULL, &pid_set);
    
    If a target-pid is 0, the kernel continues to assign a pid for the process in
    that namespace. In the above example, pids[0] is 0, meaning the kernel will
    assign next available pid to the process in init_pid_ns. But kernel will assign
    pid 77 in the child pid namespace 1 and pid 99 in pid namespace 2. If either
    77 or 99 are taken, the system call fails with -EBUSY.
    
    If 'pid_set.num_pids' exceeds the current nesting level of pid namespaces,
    the system call fails with -EINVAL.
    
    Its mostly an exploratory patch seeking feedback on the interface.
    
    NOTE:
    	Compared to clone(), clone_with_pids() needs to pass in two more
    	pieces of information:
    
    		- number of pids in the set
    		- user buffer containing the list of pids.
    
    	But since clone() already takes 5 parameters, use a 'struct
    	target_pid_set'.
    
    TODO:
    	- Gently tested.
    	- May need additional sanity checks in do_fork_with_pids().
    
    Changelog[v3]:
    	- (Oren Laadan) Allow CLONE_NEWPID flag (by allocating an extra pid
    	  in the target_pids[] list and setting it 0. See copy_target_pids()).
    	- (Oren Laadan) Specified target pids should apply only to youngest
    	  pid-namespaces (see copy_target_pids())
    	- (Matt Helsley) Update patch description.
    
    Changelog[v2]:
    	- Remove unnecessary printk and add a note to callers of
    	  copy_target_pids() to free target_pids.
    	- (Serge Hallyn) Mention CAP_SYS_ADMIN restriction in patch description.
    	- (Oren Laadan) Add checks for 'num_pids < 0' (return -EINVAL) and
    	  'num_pids == 0' (fall back to normal clone()).
    	- Move arch-independent code (sanity checks and copy-in of target-pids)
    	  into kernel/fork.c and simplify sys_clone_with_pids()
    
    Changelog[v1]:
    	- Fixed some compile errors (had fixed these errors earlier in my
    	  git tree but had not refreshed patches before emailing them)
    
    Signed-off-by: Sukadev Bhattiprolu <sukadev at linux.vnet.ibm.com>

commit 4be244a31beba36e53713cfbd82cd7725ec8de9a
Author: Sukadev Bhattiprolu <sukadev at linux.vnet.ibm.com>
Date:   Mon Sep 14 17:29:00 2009 -0400

    pids 6/7: Define do_fork_with_pids()
    
    do_fork_with_pids() is same as do_fork(), except that it takes an
    additional, 'pid_set', parameter. This parameter, currently unused,
    specifies the set of target pids of the process in each of its pid
    namespaces.
    
    Changelog[v3]:
    	- Fix "long-line" warning from checkpatch.pl
    
    Changelog[v2]:
    	- To facilitate moving architecture-inpdendent code to kernel/fork.c
    	  pass in 'struct target_pid_set __user *' to do_fork_with_pids()
    	  rather than 'pid_t *' (next patch moves the arch-independent
    	  code to kernel/fork.c)
    
    Signed-off-by: Sukadev Bhattiprolu <sukadev at linux.vnet.ibm.com>
    Acked-by: Serge Hallyn <serue at us.ibm.com>
    Reviewed-by: Oren Laadan <orenl at cs.columbia.edu>

commit 725b4cf984d06207389d927679603a71f881fd3b
Author: Sukadev Bhattiprolu <sukadev at linux.vnet.ibm.com>
Date:   Mon Sep 14 17:29:00 2009 -0400

    pids 5/7: Add target_pids parameter to copy_process()
    
    The new parameter will be used in a follow-on patch when clone_with_pids()
    is implemented.
    
    Signed-off-by: Sukadev Bhattiprolu <sukadev at linux.vnet.ibm.com>
    Acked-by: Serge Hallyn <serue at us.ibm.com>
    Reviewed-by: Oren Laadan <orenl at cs.columbia.edu>

commit 317e328bf8fa216bba4b3bee72886a1caec2299e
Author: Sukadev Bhattiprolu <sukadev at linux.vnet.ibm.com>
Date:   Mon Sep 14 17:28:59 2009 -0400

    pids 4/7: Add target_pids parameter to alloc_pid()
    
    This parameter is currently NULL, but will be used in a follow-on patch.
    
    Signed-off-by: Sukadev Bhattiprolu <sukadev at linux.vnet.ibm.com>
    Acked-by: Serge Hallyn <serue at us.ibm.com>
    Reviewed-by: Oren Laadan <orenl at cs.columbia.edu>

commit c63b46bada2a14ff19844733e66c9278c6376273
Author: Sukadev Bhattiprolu <sukadev at linux.vnet.ibm.com>
Date:   Mon Sep 14 17:28:58 2009 -0400

    pids 3/7: Add target_pid parameter to alloc_pidmap()
    
    With support for setting a specific pid number for a process,
    alloc_pidmap() will need a paramter a 'target_pid' parameter.
    
    Changelog[v2]:
    	- (Serge Hallyn) Check for 'pid < 0' in set_pidmap().(Code
    	  actually checks for 'pid <= 0' for completeness).
    
    Signed-off-by: Sukadev Bhattiprolu <sukadev at linux.vnet.ibm.com>
    Acked-by: Serge Hallyn <serue at us.ibm.com>
    Reviewed-by: Oren Laadan <orenl at cs.columbia.edu>

commit 9c63fcc9ecfe200c4fb096ceecff6784186f2326
Author: Sukadev Bhattiprolu <sukadev at linux.vnet.ibm.com>
Date:   Mon Sep 14 17:28:58 2009 -0400

    pids 2/7: Have alloc_pidmap() return actual error code
    
    alloc_pidmap() can fail either because all pid numbers are in use or
    because memory allocation failed.  With support for setting a specific
    pid number, alloc_pidmap() would also fail if either the given pid
    number is invalid or in use.
    
    Rather than have callers assume -ENOMEM, have alloc_pidmap() return
    the actual error.
    
    Signed-off-by: Sukadev Bhattiprolu <sukadev at linux.vnet.ibm.com>
    Acked-by: Serge Hallyn <serue at us.ibm.com>
    Reviewed-by: Oren Laadan <orenl at cs.columbia.edu>

commit 16b725ec4607221078a7658e54b6c3a85722c0ff
Author: Sukadev Bhattiprolu <sukadev at linux.vnet.ibm.com>
Date:   Mon Sep 14 17:28:57 2009 -0400

    pids 1/7: Factor out code to allocate pidmap page
    
    To implement support for clone_with_pids() system call we would
    need to allocate pidmap page in more than one place. Move this
    code to a new function alloc_pidmap_page().
    
    Changelog[v2]:
    	- (Matt Helsley, Dave Hansen) Have alloc_pidmap_page() return
    	  -ENOMEM on error instead of -1.
    
    Signed-off-by: Sukadev Bhattiprolu <sukadev at linux.vnet.ibm.com>
    Acked-by: Serge Hallyn <serue at us.ibm.com>
    Reviewed-by: Oren Laadan <orenl at cs.columbia.edu>

commit 7a6645eaee7ee31c02d3aee2b97099662b606b64
Author: Oren Laadan <orenl at cs.columbia.edu>
Date:   Mon Sep 14 17:28:57 2009 -0400

    c/r: make file_pos_read/write() public
    
    These two are used in the next patch when calling vfs_read/write()
    
    Signed-off-by: Oren Laadan <orenl at cs.columbia.edu>

commit 94123827184443ef8013577b3a3d024ec4adc698
Author: Dave Hansen <dave at linux.vnet.ibm.com>
Date:   Mon Sep 14 17:28:56 2009 -0400

    Namespaces submenu
    
    Let's not steal too much space in the 'General Setup' menu.
    Take a cue from the cgroups code and create a submenu.
    
    This can go upstream now.
    
    Signed-off-by: Dave Hansen <dave at linux.vnet.ibm.com>
    Acked-by: Oren Laadan <orenl at cs.columbia.edu>

commit cedaac037bb182dd4007637a0edbeaa253be1ba0
Author: Oren Laadan <orenl at cs.columbia.edu>
Date:   Mon Sep 14 17:28:55 2009 -0400

    cgroup freezer: interface to freeze a cgroup from within the kernel
    
    Add public interface to freeze a cgroup freezer given a task that
    belongs to that cgroup:  cgroup_freezer_make_frozen(task)
    
    Freezing the root cgroup is not permitted. Freezing the cgroup to
    which current process belong is also not permitted.
    
    This will be used for restart(2) to be able to leave the restarted
    processes in a frozen state, instead of resuming execution.
    
    This is useful for debugging, if the user would like to attach a
    debugger to the restarted task(s).
    
    It is also useful if the restart procedure would like to perform
    additional setup once the tasks are restored but before they are
    allowed to proceed execution.
    
    Signed-off-by: Oren Laadan <orenl at cs.columbia.edu>
    CC: Matt Helsley <matthltc at us.ibm.com>
    Cc: Paul Menage <menage at google.com>
    Cc: Li Zefan <lizf at cn.fujitsu.com>
    Cc: Cedric Le Goater <legoater at free.fr>

commit 8813defd5080f71cfe29ec5cb99288fbbe350dac
Author: Matt Helsley <matthltc at us.ibm.com>
Date:   Mon Sep 14 17:28:54 2009 -0400

    cgroup freezer: Add CHECKPOINTING state to safeguard container checkpoint
    
    The CHECKPOINTING state prevents userspace from unfreezing tasks until
    sys_checkpoint() is finished. When doing container checkpoint userspace
    will do:
    
    	echo FROZEN > /cgroups/my_container/freezer.state
    	...
    	rc = sys_checkpoint( <pid of container root> );
    
    To ensure a consistent checkpoint image userspace should not be allowed
    to thaw the cgroup (echo THAWED > /cgroups/my_container/freezer.state)
    during checkpoint.
    
    "CHECKPOINTING" can only be set on a "FROZEN" cgroup using the checkpoint
    system call. Once in the "CHECKPOINTING" state, the cgroup may not leave until
    the checkpoint system call is finished and ready to return. Then the
    freezer state returns to "FROZEN". Writing any new state to freezer.state while
    checkpointing will return EBUSY. These semantics ensure that userspace cannot
    unfreeze the cgroup midway through the checkpoint system call.
    
    The cgroup_freezer_begin_checkpoint() and cgroup_freezer_end_checkpoint()
    make relatively few assumptions about the task that is passed in. However the
    way they are called in do_checkpoint() assumes that the root of the container
    is in the same freezer cgroup as all the other tasks that will be
    checkpointed.
    
    Notes:
            As a side-effect this prevents the multiple tasks from entering the
            CHECKPOINTING state simultaneously. All but one will get -EBUSY.
    
    Signed-off-by: Oren Laadan <orenl at cs.columbia.edu>
    Signed-off-by: Matt Helsley <matthltc at us.ibm.com>
    Cc: Paul Menage <menage at google.com>
    Cc: Li Zefan <lizf at cn.fujitsu.com>
    Cc: Cedric Le Goater <legoater at free.fr>

commit b23b7e151314f0b144b97bdeac47e0b3cfa2ffce
Author: Matt Helsley <matthltc at us.ibm.com>
Date:   Mon Sep 14 17:28:54 2009 -0400

    cgroup freezer: Update stale locking comments
    
    Update stale comments regarding locking order and add a little more detail
    so it's easier to follow the locking between the cgroup freezer and the
    power management freezer code.
    
    Signed-off-by: Matt Helsley <matthltc at us.ibm.com>
    Cc: Oren Laadan <orenl at cs.columbia.edu>
    Cc: Cedric Le Goater <legoater at free.fr>
    Cc: Paul Menage <menage at google.com>
    Cc: Li Zefan <lizf at cn.fujitsu.com>

commit 3d14abebf11d1743aa646a8955e94829b90ee7ba
Author: Matt Helsley <matthltc at us.ibm.com>
Date:   Mon Sep 14 17:28:53 2009 -0400

    cgroup freezer: Fix buggy resume test for tasks frozen with cgroup freezer
    
    When the cgroup freezer is used to freeze tasks we do not want to thaw
    those tasks during resume. Currently we test the cgroup freezer
    state of the resuming tasks to see if the cgroup is FROZEN.  If so
    then we don't thaw the task. However, the FREEZING state also indicates
    that the task should remain frozen.
    
    This also avoids a problem pointed out by Oren Ladaan: the freezer state
    transition from FREEZING to FROZEN is updated lazily when userspace reads
    or writes the freezer.state file in the cgroup filesystem. This means that
    resume will thaw tasks in cgroups which should be in the FROZEN state if
    there is no read/write of the freezer.state file to trigger this
    transition before suspend.
    
    NOTE: Another "simple" solution would be to always update the cgroup
    freezer state during resume. However it's a bad choice for several reasons:
    Updating the cgroup freezer state is somewhat expensive because it requires
    walking all the tasks in the cgroup and checking if they are each frozen.
    Worse, this could easily make resume run in N^2 time where N is the number
    of tasks in the cgroup. Finally, updating the freezer state from this code
    path requires trickier locking because of the way locks must be ordered.
    
    Instead of updating the freezer state we rely on the fact that lazy
    updates only manage the transition from FREEZING to FROZEN. We know that
    a cgroup with the FREEZING state may actually be FROZEN so test for that
    state too. This makes sense in the resume path even for partially-frozen
    cgroups -- those that really are FREEZING but not FROZEN.
    
    Reported-by: Oren Ladaan <orenl at cs.columbia.edu>
    Signed-off-by: Matt Helsley <matthltc at us.ibm.com>
    Cc: Cedric Le Goater <legoater at free.fr>
    Cc: Paul Menage <menage at google.com>
    Cc: Li Zefan <lizf at cn.fujitsu.com>
    Cc: Rafael J. Wysocki <rjw at sisk.pl>
    Cc: Pavel Machek <pavel at suse.cz>
    Cc: linux-pm at lists.linux-foundation.org
    
    Seems like a candidate for -stable.

commit ba1cbaf6e7bf36a04a9b9863e8a3c93c176293ca
Author: Serge E. Hallyn <serue at us.ibm.com>
Date:   Mon Sep 14 17:28:53 2009 -0400

    c/r: split core function out of some set*{u,g}id functions
    
    When restarting tasks, we want to be able to change xuid and
    xgid in a struct cred, and do so with security checks.  Break
    the core functionality of set{fs,res}{u,g}id into cred_setX
    which performs the access checks based on current_cred(),
    but performs the requested change on a passed-in cred.
    
    This will allow us to securely construct struct creds based
    on a checkpoint image, constrained by the caller's permissions,
    and apply them to the caller at the end of sys_restart().
    
    Signed-off-by: Serge E. Hallyn <serue at us.ibm.com>

commit a2d220c27be745067f2666bc56d0544aa07626e6
Author: Serge E. Hallyn <serue at us.ibm.com>
Date:   Mon Sep 14 17:28:52 2009 -0400

    c/r: break out new_user_ns()
    
    Break out the core function which checks privilege and (if
    allowed) creates a new user namespace, with the passed-in
    creating user_struct.  Note that a user_namespace, unlike
    other namespace pointers, is not stored in the nsproxy.
    Rather it is purely a property of user_structs.
    
    This will let us keep the task restore code simpler.
    
    Signed-off-by: Serge E. Hallyn <serue at us.ibm.com>

commit c075dcac8530aa040030a3c53a3fd5edf4fb7f12
Author: Alexey Dobriyan <adobriyan at gmail.com>
Date:   Mon Sep 14 17:28:50 2009 -0400

    x86: ptrace debugreg checks rewrite
    
    This is a mess.
    
    Pre unified-x86 code did check for breakpoint addr
    to be "< TASK_SIZE - 3 (or 7)". This was fine from security POV,
    but banned valid breakpoint usage when address is close to TASK_SIZE.
    E. g. 1-byte breakpoint at TASK_SIZE - 1 should be allowed, but it wasn't.
    
    Then came commit 84929801e14d968caeb84795bfbb88f04283fbd9
    ("[PATCH] x86_64: TASK_SIZE fixes for compatibility mode processes")
    which for some reason touched ptrace as well and made effective
    TASK_SIZE of 32-bit process depending on IA32_PAGE_OFFSET
    which is not a constant!:
    
    	#define IA32_PAGE_OFFSET ((current->personality & ADDR_LIMIT_3GB) ? 0xc0000000 : 0xFFFFe000)
    				   ^^^^^^^
    Maximum addr for breakpoint became dependent on personality of ptracer.
    
    Commit also relaxed danger zone for 32-bit processes from 8 bytes to 4
    not taking into account that 8-byte wide breakpoints are possible even
    for 32-bit processes. This was fine, however, because 64-bit kernel
    addresses are too far from 32-bit ones.
    
    Then came utrace with commit 2047b08be67b70875d8765fc81d34ce28041bec3
    ("x86: x86 ptrace getreg/putreg merge") which copy-pasted and ifdeffed 32-bit
    part of TASK_SIZE_OF() leaving 8-byte issue as-is.
    
    So, what patch fixes?
    1) Too strict logic near TASK_SIZE boundary -- as long as we don't cross
       TASK_SIZE_MAX, we're fine.
    2) Too smart logic of using breakpoints over non-existent kernel
       boundary -- we should only protect against setting up after
       TASK_SIZE_MAX, the rest is none of kernel business. This fixes
       IA32_PAGE_OFFSET beartrap as well.
    
    As a bonus, remove uberhack and big comment determining DR7 validness,
    rewrite with clear algorithm when it's obvious what's going on.
    
    Make DR validness checker suitable for C/R. On restart DR registers
    must be checked the same way they are checked on PTRACE_POKEUSR.
    
    Question 1: TIF_DEBUG can set even if none of breakpoints is turned on,
    should this be optimized?
    
    Question 2: Breakpoints are allowed to be globally enabled, is this a
    security risk?
    
    Signed-off-by: Alexey Dobriyan <adobriyan at gmail.com>

commit 7cbf5c83bdc6dce018ad5f2de74ab05e9d24af3b
Author: Alexey Dobriyan <adobriyan at gmail.com>
Date:   Mon Sep 14 17:28:49 2009 -0400

    c/r: extend arch_setup_additional_pages()
    
    Add "start" argument, to request to map vDSO to a specific place,
    and fail the operation if not.
    
    This is useful for restart(2) to ensure that memory layout is restore
    exactly as needed.
    
    Changelog[v2]:
      - [ntl] powerpc: vdso build fix (ckpt-v17)
    
    Signed-off-by: Alexey Dobriyan <adobriyan at gmail.com>
    Signed-off-by: Oren Laadan <orenl at cs.columbia.edu>

commit 74fca6a42863ffacaf7ba6f1936a9f228950f657
Author: Linus Torvalds <torvalds at linux-foundation.org>
Date:   Wed Sep 9 15:13:59 2009 -0700

    Linux 2.6.31

commit 7135a71b19be1faf48b7148d77844d03bc0717d6
Author: Ed Cashin <ecashin at coraid.com>
Date:   Wed Sep 9 14:10:18 2009 +0200

    aoe: allocate unused request_queue for sysfs
    
    Andy Whitcroft reported an oops in aoe triggered by use of an
    incorrectly initialised request_queue object:
    
      [ 2645.959090] kobject '<NULL>' (ffff880059ca22c0): tried to add
    		an uninitialized object, something is seriously wrong.
      [ 2645.959104] Pid: 6, comm: events/0 Not tainted 2.6.31-5-generic #24-Ubuntu
      [ 2645.959107] Call Trace:
      [ 2645.959139] [<ffffffff8126ca2f>] kobject_add+0x5f/0x70
      [ 2645.959151] [<ffffffff8125b4ab>] blk_register_queue+0x8b/0xf0
      [ 2645.959155] [<ffffffff8126043f>] add_disk+0x8f/0x160
      [ 2645.959161] [<ffffffffa01673c4>] aoeblk_gdalloc+0x164/0x1c0 [aoe]
    
    The request queue of an aoe device is not used but can be allocated in
    code that does not sleep.
    
    Bruno bisected this regression down to
    
      cd43e26f071524647e660706b784ebcbefbd2e44
    
      block: Expose stacked device queues in sysfs
    
    "This seems to generate /sys/block/$device/queue and its contents for
     everyone who is using queues, not just for those queues that have a
     non-NULL queue->request_fn."
    
    Addresses http://bugs.launchpad.net/bugs/410198
    Addresses http://bugzilla.kernel.org/show_bug.cgi?id=13942
    
    Note that embedding a queue inside another object has always been
    an illegal construct, since the queues are reference counted and
    must persist until the last reference is dropped. So aoe was
    always buggy in this respect (Jens).
    
    Signed-off-by: Ed Cashin <ecashin at coraid.com>
    Cc: Andy Whitcroft <apw at canonical.com>
    Cc: "Rafael J. Wysocki" <rjw at sisk.pl>
    Cc: Bruno Premont <bonbons at linux-vserver.org>
    Cc: Martin K. Petersen <martin.petersen at oracle.com>
    Cc: Andrew Morton <akpm at linux-foundation.org>
    Signed-off-by: Jens Axboe <jens.axboe at oracle.com>

commit e6890f6f3dc2d9024a08b1a149d9bd5208eea350
Author: Linus Torvalds <torvalds at linux-foundation.org>
Date:   Tue Sep 8 17:09:24 2009 -0700

    i915: disable interrupts before tearing down GEM state
    
    Reinette Chatre reports a frozen system (with blinking keyboard LEDs)
    when switching from graphics mode to the text console, or when
    suspending (which does the same thing). With netconsole, the oops
    turned out to be
    
    	BUG: unable to handle kernel NULL pointer dereference at 0000000000000084
    	IP: [<ffffffffa03ecaab>] i915_driver_irq_handler+0x26b/0xd20 [i915]
    
    and it's due to the i915_gem.c code doing drm_irq_uninstall() after
    having done i915_gem_idle(). And the i915_gem_idle() path will do
    
      i915_gem_idle() ->
        i915_gem_cleanup_ringbuffer() ->
          i915_gem_cleanup_hws() ->
            dev_priv->hw_status_page = NULL;
    
    but if an i915 interrupt comes in after this stage, it may want to
    access that hw_status_page, and gets the above NULL pointer dereference.
    
    And since the NULL pointer dereference happens from within an interrupt,
    and with the screen still in graphics mode, the common end result is
    simply a silently hung machine.
    
    Fix it by simply uninstalling the irq handler before idling rather than
    after. Fixes
    
        http://bugzilla.kernel.org/show_bug.cgi?id=13819
    
    Reported-and-tested-by: Reinette Chatre <reinette.chatre at intel.com>
    Acked-by: Jesse Barnes <jbarnes at virtuousgeek.org>
    Signed-off-by: Linus Torvalds <torvalds at linux-foundation.org>

commit 7c8460db30dfd085ef3837c8fb02ecf2e718b983
Author: Zhenyu Wang <zhenyuw at linux.intel.com>
Date:   Tue Sep 8 14:52:25 2009 +0800

    drm/i915: fix mask bits setting
    
    eDP is exclusive connector too, and add missing crtc_mask
    setting for TV.
    
    This fixes
    
    	http://bugzilla.kernel.org/show_bug.cgi?id=14139
    
    Signed-off-by: Zhenyu Wang <zhenyuw at linux.intel.com>
    Reported-and-tested-by: Carlos R. Mafra <crmafra2 at gmail.com>
    Signed-off-by: Linus Torvalds <torvalds at linux-foundation.org>

commit 3ff323f89075624b6891e7c428edb8e8a35be13c
Merge: 755ae761c5519929a97567d61a379b87352c337c a54775c8758a754186bc6adbfc518b1e9f8f1e4e
Author: Linus Torvalds <torvalds at linux-foundation.org>
Date:   Mon Sep 7 11:42:25 2009 -0700

    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:
      drm/radeon/kms: add LTE/GTE discard + rv515 two sided stencil register.

commit 755ae761c5519929a97567d61a379b87352c337c
Merge: 4886b5b485ec78fe4a16fedaccfab39bdf55410f acd0c935178649f72c44ec49ca83bee35ce1f79e
Author: Linus Torvalds <torvalds at linux-foundation.org>
Date:   Mon Sep 7 11:41:15 2009 -0700

    Merge branch 'for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/jmorris/security-testing-2.6
    
    * 'for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/jmorris/security-testing-2.6:
      IMA: update ima_counts_put

commit 4886b5b485ec78fe4a16fedaccfab39bdf55410f
Merge: cbeb2864b162f4298111196c8ce8ce492577cdee d9d8e0418ffd3d189345c435861e254c17ae06e5
Author: Linus Torvalds <torvalds at linux-foundation.org>
Date:   Mon Sep 7 11:40:24 2009 -0700

    Merge git://git.kernel.org/pub/scm/linux/kernel/git/davem/net-2.6
    
    * git://git.kernel.org/pub/scm/linux/kernel/git/davem/net-2.6:
      gianfar: Fix build.

commit cbeb2864b162f4298111196c8ce8ce492577cdee
Merge: f69fb9c39868463f6b0b8306824341bd5610250b c9a2bfd1f08973115c2fc3da9372e0e81ac42a19
Author: Linus Torvalds <torvalds at linux-foundation.org>
Date:   Mon Sep 7 11:40:15 2009 -0700

    Merge git://git.kernel.org/pub/scm/linux/kernel/git/davem/ide-2.6
    
    * git://git.kernel.org/pub/scm/linux/kernel/git/davem/ide-2.6:
      pcmcia: add CNF-CDROM-ID for ide

commit f69fb9c39868463f6b0b8306824341bd5610250b
Merge: e07cccf4046978df10f2e13fe2b99b2f9b3a65db 07fb6111e7af5fac6b6076e2658d0e32b67f713b
Author: Linus Torvalds <torvalds at linux-foundation.org>
Date:   Mon Sep 7 11:38:30 2009 -0700

    Merge branch 'for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/anholt/drm-intel
    
    * 'for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/anholt/drm-intel:
      agp/intel: support for new chip variant of IGDNG mobile
      drm/i915: Unref old_obj on get_fence_reg() error path
      drm/i915: increase default latency constant (v2 w/comment)

commit a54775c8758a754186bc6adbfc518b1e9f8f1e4e
Author: Dave Airlie <airlied at redhat.com>
Date:   Mon Sep 7 15:26:19 2009 +1000

    drm/radeon/kms: add LTE/GTE discard + rv515 two sided stencil register.
    
    This adds some rv350+ register for LTE/GTE discard,
    and enables the rv515 two sided stencil register.
    It also disables the DEPTHXY_OFFSET register which
    can be used to workaround the CS checker.
    Moves rs690 to proper place in rs600 and uses correct
    table on rs600.
    
    Signed-off-by: Dave Airlie <airlied at redhat.com>

commit acd0c935178649f72c44ec49ca83bee35ce1f79e
Author: Mimi Zohar <zohar at linux.vnet.ibm.com>
Date:   Fri Sep 4 13:08:46 2009 -0400

    IMA: update ima_counts_put
    
    - As ima_counts_put() may be called after the inode has been freed,
    verify that the inode is not NULL, before dereferencing it.
    
    - Maintain the IMA file counters in may_open() properly, decrementing
    any counter increments on subsequent errors.
    
    Reported-by: Ciprian Docan <docan at eden.rutgers.edu>
    Reported-by: J.R. Okajima <hooanon05 at yahoo.co.jp>
    Signed-off-by: Mimi Zohar <zohar at us.ibm.com>
    Acked-by: Eric Paris <eparis at redhat.com
    Signed-off-by: James Morris <jmorris at namei.org>

commit d9d8e0418ffd3d189345c435861e254c17ae06e5
Author: David S. Miller <davem at davemloft.net>
Date:   Sun Sep 6 01:41:02 2009 -0700

    gianfar: Fix build.
    
    Reported by Michael Guntsche <mike at it-loops.com>
    
    --------------------
    Commit
    38bddf04bcfe661fbdab94888c3b72c32f6873b3 gianfar: gfar_remove needs to call unregister_netdev()
    
    breaks the build of the gianfar driver because "dev" is undefined in
    this function. To quickly test rc9 I changed this to priv->ndev but I do
    not know if this is the correct one.
    --------------------
    
    Signed-off-by: David S. Miller <davem at davemloft.net>

commit e07cccf4046978df10f2e13fe2b99b2f9b3a65db
Author: Linus Torvalds <torvalds at linux-foundation.org>
Date:   Sat Sep 5 16:38:12 2009 -0700

    Linux 2.6.31-rc9

commit f815c335d21f9965f8dbe142fd168aaba1baf98e
Merge: 74a01180db4bbfd61304ae0ba1f60af55ffc803d baed6b82d9f160184c1c14cdb4accb08f3eb6b87
Author: Linus Torvalds <torvalds at linux-foundation.org>
Date:   Sat Sep 5 14:59:00 2009 -0700

    Merge branch 'for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/ieee1394/linux1394-2.6
    
    * 'for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/ieee1394/linux1394-2.6:
      firewire: sbp2: fix freeing of unallocated memory
      firewire: ohci: fix Ricoh R5C832, video reception
      firewire: ohci: fix Agere FW643 and multiple cameras
      firewire: core: fix crash in iso resource management

commit 74a01180db4bbfd61304ae0ba1f60af55ffc803d
Author: Roderick Colenbrander <thunderbird2k at gmail.com>
Date:   Thu Sep 3 09:57:23 2009 -0600

    powerpc: Fix i8259 interrupt driver kernel crash on ML510
    
    This patch fixes a null pointer exception caused by removal of
    'ack()' for level interrupts in the Xilinx interrupt driver.  A recent
    change to the xilinx interrupt controller removed the ack hook for
    level irqs.
    
    Signed-off-by: Roderick Colenbrander <thunderbird2k at gmail.com>
    Signed-off-by: Grant Likely <grant.likely at secretlab.ca>
    Acked-by: Benjamin Herrenschmidt <benh at kernel.crashing.org>
    Signed-off-by: Linus Torvalds <torvalds at linux-foundation.org>

commit 5136a6c0fd5b26bbf39ad761cf7a4fc563ad83a3
Merge: e505a8d5f96a84f3043ce0c4eaee8f045996896c bc8cec0dff072f1a45ce7f6b2c5234bb3411ac51
Author: Linus Torvalds <torvalds at linux-foundation.org>
Date:   Sat Sep 5 14:57:04 2009 -0700

    Merge git://git.infradead.org/~dwmw2/mtd-2.6.31
    
    * git://git.infradead.org/~dwmw2/mtd-2.6.31:
      JFFS2: add missing verify buffer allocation/deallocation
      mtd: nftl: fix offset alignments
      mtd: nftl: write support is broken
      mtd: m25p80: fix null pointer dereference bug

commit e505a8d5f96a84f3043ce0c4eaee8f045996896c
Merge: b71b7dc09abaeb4417c37b96a898096286b65e3c c295fc05789653ef24f296299df7c5f92fe74dce
Author: Linus Torvalds <torvalds at linux-foundation.org>
Date:   Sat Sep 5 14:56:13 2009 -0700

    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: Allow changing max_sectors_kb above the default 512

commit b71b7dc09abaeb4417c37b96a898096286b65e3c
Merge: 59430c2f437767094298f30dd02ca038da0df755 92653453c3015c083b9fe0ad48261c6b2267d482
Author: Linus Torvalds <torvalds at linux-foundation.org>
Date:   Sat Sep 5 14:55:30 2009 -0700

    Merge branch 'fix/oxygen' of git://git.kernel.org/pub/scm/linux/kernel/git/tiwai/sound-2.6
    
    * 'fix/oxygen' of git://git.kernel.org/pub/scm/linux/kernel/git/tiwai/sound-2.6:
      sound: oxygen: handle cards with missing EEPROM
      sound: oxygen: fix MCLK rate for 192 kHz playback

commit 59430c2f437767094298f30dd02ca038da0df755
Merge: e9ee3a54a164c249a0a576c403eba367a6d97be5 16ebb5e0b36ceadc8186f71d68b0c4fa4b6e781b
Author: Linus Torvalds <torvalds at linux-foundation.org>
Date:   Sat Sep 5 14:52:41 2009 -0700

    Merge git://git.kernel.org/pub/scm/linux/kernel/git/davem/net-2.6
    
    * git://git.kernel.org/pub/scm/linux/kernel/git/davem/net-2.6:
      tc: Fix unitialized kernel memory leak
      pkt_sched: Revert tasklet_hrtimer changes.
      net: sk_free() should be allowed right after sk_alloc()
      gianfar: gfar_remove needs to call unregister_netdev()
      ipw2200: firmware DMA loading rework

commit e9ee3a54a164c249a0a576c403eba367a6d97be5
Merge: 3bb314f01c189f0c48c0946424955c6d8ddce3d8 0c7d400fafaeab6014504a6a6249f01bac7f7db4
Author: Linus Torvalds <torvalds at linux-foundation.org>
Date:   Sat Sep 5 14:51:45 2009 -0700

    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: skcipher - Fix skcipher_dequeue_givcrypt NULL test

commit 3bb314f01c189f0c48c0946424955c6d8ddce3d8
Merge: 535e0c1726bec699a8f0f5b86fe7d399546b2555 ce6c3997c2fce74d12e6d8887a1d8cdf024fa850
Author: Linus Torvalds <torvalds at linux-foundation.org>
Date:   Sat Sep 5 14:51:24 2009 -0700

    Merge branch 'fixes' of git://git.kernel.org/pub/scm/linux/kernel/git/davej/cpufreq
    
    * 'fixes' of git://git.kernel.org/pub/scm/linux/kernel/git/davej/cpufreq:
      [CPUFREQ] Re-enable cpufreq suspend and resume code

commit 535e0c1726bec699a8f0f5b86fe7d399546b2555
Merge: 0edfa2b1b5a5e1475e76dd3c792447687d966de4 5afe18d2f58812f3924edbd215464e5e3e8545e7
Author: Linus Torvalds <torvalds at linux-foundation.org>
Date:   Sat Sep 5 14:50:53 2009 -0700

    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] fix csum_ipv6_magic()
      [IA64] Fix warning in dma-mapping.c

commit 0edfa2b1b5a5e1475e76dd3c792447687d966de4
Merge: 5a09adf13067609d8ab9fcae11dc99fd0084e35c 3725867dccfb83e4b0cff64e916a04258f300591
Author: Linus Torvalds <torvalds at linux-foundation.org>
Date:   Sat Sep 5 14:25:14 2009 -0700

    Merge branch 'for-linus' of git://oss.sgi.com/xfs/xfs
    
    * 'for-linus' of git://oss.sgi.com/xfs/xfs:
      xfs: actually enable the swapext compat handler

commit 5a09adf13067609d8ab9fcae11dc99fd0084e35c
Merge: 931f70350e9c298887c78e852d179ef7efcce304 b1f1b8ce0a1d71cbc72f7540134d52b79bd8f5ac
Author: Linus Torvalds <torvalds at linux-foundation.org>
Date:   Sat Sep 5 14:24:33 2009 -0700

    Merge branch 'for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/ryusuke/nilfs2
    
    * 'for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/ryusuke/nilfs2:
      nilfs2: fix preempt count underflow in nilfs_btnode_prepare_change_key

commit 931f70350e9c298887c78e852d179ef7efcce304
Merge: e305fc5ecd6420fadec5a8108852081fa2b89a17 04a13c7c632e1fe04a5f6e6c83565d2559e37598
Author: Linus Torvalds <torvalds at linux-foundation.org>
Date:   Sat Sep 5 14:22:00 2009 -0700

    Merge branch 'for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/tj/percpu
    
    * 'for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/tj/percpu:
      percpu: don't assume existence of cpu0

commit e305fc5ecd6420fadec5a8108852081fa2b89a17
Merge: 154f807e55977de75b1c12197c13ae14c28397b3 d76b1590e06a63a3d8697168cd0aabf1c4b3cb3a
Author: Linus Torvalds <torvalds at linux-foundation.org>
Date:   Sat Sep 5 13:57:53 2009 -0700

    Merge branch 'slab/urgent' of git://git.kernel.org/pub/scm/linux/kernel/git/penberg/slab-2.6
    
    * 'slab/urgent' of git://git.kernel.org/pub/scm/linux/kernel/git/penberg/slab-2.6:
      slub: Fix kmem_cache_destroy() with SLAB_DESTROY_BY_RCU

commit 154f807e55977de75b1c12197c13ae14c28397b3
Merge: 9b6a3df372f0318bb0ffe37ac5f4610fb9bdb44d ae0b7448e91353ea5f821601a055aca6b58042cd
Author: Linus Torvalds <torvalds at linux-foundation.org>
Date:   Sat Sep 5 13:51:07 2009 -0700

    Merge git://git.kernel.org/pub/scm/linux/kernel/git/agk/linux-2.6-dm
    
    * git://git.kernel.org/pub/scm/linux/kernel/git/agk/linux-2.6-dm:
      dm snapshot: fix on disk chunk size validation
      dm exception store: split set_chunk_size
      dm snapshot: fix header corruption race on invalidation
      dm snapshot: refactor zero_disk_area to use chunk_io
      dm log: userspace add luid to distinguish between concurrent log instances
      dm raid1: do not allow log_failure variable to unset after being set
      dm log: remove incorrect field from userspace table output
      dm log: fix userspace status output
      dm stripe: expose correct io hints
      dm table: add more context to terse warning messages
      dm table: fix queue_limit checking device iterator
      dm snapshot: implement iterate devices
      dm multipath: fix oops when request based io fails when no paths

commit 9b6a3df372f0318bb0ffe37ac5f4610fb9bdb44d
Merge: d3acd16cda3a1cbaff7c579c0e054f0ece613d14 6faf17f6f1ffc586d16efc2f9fa2083a7785ee74
Author: Linus Torvalds <torvalds at linux-foundation.org>
Date:   Sat Sep 5 13:50:46 2009 -0700

    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 SR-IOV: correct broken resource alignment calculations

commit d3acd16cda3a1cbaff7c579c0e054f0ece613d14
Merge: 93697a3cabd3605c434a9b915c0272ad800b3f97 bd4352cadfacb9084c97c853b025fac010266c26
Author: Linus Torvalds <torvalds at linux-foundation.org>
Date:   Sat Sep 5 13:49:06 2009 -0700

    Merge git://git.kernel.org/pub/scm/linux/kernel/git/davem/sparc-2.6
    
    * git://git.kernel.org/pub/scm/linux/kernel/git/davem/sparc-2.6:
      sparc64: Fix bootup with mcount in some configs.
      sparc64: Kill spurious NMI watchdog triggers by increasing limit to 30 seconds.

commit 93697a3cabd3605c434a9b915c0272ad800b3f97
Merge: 63995344721be45b3fb3b76488b1b0a8c95def26 a3df6f7d3090e611bcc774cd2cba45ae016d37e1
Author: Linus Torvalds <torvalds at linux-foundation.org>
Date:   Sat Sep 5 13:48:37 2009 -0700

    Merge branch 'perfcounters-fixes-for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/tip/linux-2.6-tip
    
    * 'perfcounters-fixes-for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/tip/linux-2.6-tip:
      perf_counter/powerpc: Fix cache event codes for POWER7
      perf_counter: Fix /0 bug in swcounters
      perf_counters: Increase paranoia level

commit 63995344721be45b3fb3b76488b1b0a8c95def26
Merge: 9de6886ec6e37f45807266a702bb7621498395ad 2bcaa6a4238094c5695d5b1943078388d82d3004
Author: Linus Torvalds <torvalds at linux-foundation.org>
Date:   Sat Sep 5 13:41:29 2009 -0700

    Merge branch 'for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/dtor/input
    
    * 'for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/dtor/input:
      Input: atkbd - add Compaq Presario R4000-series repeat quirk
      Input: i8042 - add Acer Aspire 5536 to the nomux list

commit 9de6886ec6e37f45807266a702bb7621498395ad
Author: Nicolas Pitre <nico at cam.org>
Date:   Sat Sep 5 00:25:37 2009 -0400

    ext2: fix unbalanced kmap()/kunmap()
    
    In ext2_rename(), dir_page is acquired through ext2_dotdot().  It is
    then released through ext2_set_link() but only if old_dir != new_dir.
    Failing that, the pkmap reference count is never decremented and the
    page remains pinned forever.  Repeat that a couple times with highmem
    pages and all pkmap slots get exhausted, and every further kmap() calls
    end up stalling on the pkmap_map_wait queue at which point the whole
    system comes to a halt.
    
    Signed-off-by: Nicolas Pitre <nico at marvell.com>
    Acked-by: Theodore Ts'o <tytso at mit.edu>
    Cc: stable at kernel.org
    Signed-off-by: Linus Torvalds <torvalds at linux-foundation.org>

commit ac7ac9f2b9bfd9b68a1571d27e4c8bebb4788914
Merge: ac89a9174decf343de049a06fad75681f71890eb 8379e7c46cc48f51197dd663fc6676f47f2a1e71
Author: Linus Torvalds <torvalds at linux-foundation.org>
Date:   Sat Sep 5 13:38:37 2009 -0700

    Merge branch 'upstream-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/jlbec/ocfs2
    
    * 'upstream-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/jlbec/ocfs2:
      ocfs2: ocfs2_write_begin_nolock() should handle len=0
      ocfs2: invalidate dentry if its dentry_lock isn't initialized.

commit ac89a9174decf343de049a06fad75681f71890eb
Author: Linus Torvalds <torvalds at linux-foundation.org>
Date:   Sat Sep 5 13:27:10 2009 -0700

    pty: don't limit the writes to 'pty_space()' inside 'pty_write()'
    
    The whole write-room thing is something that is up to the _caller_ to
    worry about, not the pty layer itself.  The total buffer space will
    still be limited by the buffering routines themselves, so there is no
    advantage or need in having pty_write() artificially limit the size
    somehow.
    
    And what happened was that the caller (the n_tty line discipline, in
    this case) may have verified that there is room for 2 bytes to be
    written (for NL -> CRNL expansion), and it used to then do those writes
    as two single-byte writes.  And if the first byte written (CR) then
    caused a new tty buffer to be allocated, pty_space() may have returned
    zero when trying to write the second byte (LF), and then incorrectly
    failed the write - leading to a lost newline character.
    
    This should finally fix
    
    	http://bugzilla.kernel.org/show_bug.cgi?id=14015
    
    Reported-by: Mikael Pettersson <mikpe at it.uu.se>
    Acked-by: Alan Cox <alan at lxorguk.ukuu.org.uk>
    Signed-off-by: Linus Torvalds <torvalds at linux-foundation.org>

commit 37f81fa1f63ad38e16125526bb2769ae0ea8d332
Author: Linus Torvalds <torvalds at linux-foundation.org>
Date:   Sat Sep 5 12:46:07 2009 -0700

    n_tty: do O_ONLCR translation as a single write
    
    When translating CR to CRNL in the n_tty line discipline, we did it as
    two tty_put_char() calls.  Which works, but is stupid, and has caused
    problems before too with bad interactions with the write_room() logic.
    The generic USB serial driver had that problem, for example.
    
    Now the pty layer had similar issues after being moved to the generic
    tty buffering code (in commit d945cb9cce20ac7143c2de8d88b187f62db99bdc:
    "pty: Rework the pty layer to use the normal buffering logic").
    
    So stop doing the silly separate two writes, and do it as a single write
    instead.  That's what the n_tty layer already does for the space
    expansion of tabs (XTABS), and it means that we'll now always have just
    a single write for the CRNL to match the single 'tty_write_room()' test,
    which hopefully means that the next time somebody screws up buffering,
    it won't cause weeks of debugging.
    
    Signed-off-by: Linus Torvalds <torvalds at linux-foundation.org>

commit a2a8474c3fff88d8dd52d05cb450563fb26fd26c
Author: Oleg Nesterov <oleg at redhat.com>
Date:   Sat Sep 5 11:17:13 2009 -0700

    exec: do not sleep in TASK_TRACED under ->cred_guard_mutex
    
    Tom Horsley reports that his debugger hangs when it tries to read
    /proc/pid_of_tracee/maps, this happens since
    
    	"mm_for_maps: take ->cred_guard_mutex to fix the race with exec"
    	04b836cbf19e885f8366bccb2e4b0474346c02d
    
    commit in 2.6.31.
    
    But the root of the problem lies in the fact that do_execve() path calls
    tracehook_report_exec() which can stop if the tracer sets PT_TRACE_EXEC.
    
    The tracee must not sleep in TASK_TRACED holding this mutex.  Even if we
    remove ->cred_guard_mutex from mm_for_maps() and proc_pid_attr_write(),
    another task doing PTRACE_ATTACH should not hang until it is killed or the
    tracee resumes.
    
    With this patch do_execve() does not use ->cred_guard_mutex directly and
    we do not hold it throughout, instead:
    
    	- introduce prepare_bprm_creds() helper, it locks the mutex
    	  and calls prepare_exec_creds() to initialize bprm->cred.
    
    	- install_exec_creds() drops the mutex after commit_creds(),
    	  and thus before tracehook_report_exec()->ptrace_stop().
    
    	  or, if exec fails,
    
    	  free_bprm() drops this mutex when bprm->cred != NULL which
    	  indicates install_exec_creds() was not called.
    
    Reported-by: Tom Horsley <tom.horsley at att.net>
    Signed-off-by: Oleg Nesterov <oleg at redhat.com>
    Acked-by: David Howells <dhowells at redhat.com>
    Cc: Roland McGrath <roland at redhat.com>
    Cc: James Morris <jmorris at namei.org>
    Signed-off-by: Andrew Morton <akpm at linux-foundation.org>
    Signed-off-by: Linus Torvalds <torvalds at linux-foundation.org>

commit dd5d241ea955006122d76af88af87de73fec25b4
Author: Mel Gorman <mel at csn.ul.ie>
Date:   Sat Sep 5 11:17:11 2009 -0700

    page-allocator: always change pageblock ownership when anti-fragmentation is disabled
    
    On low-memory systems, anti-fragmentation gets disabled as fragmentation
    cannot be avoided on a sufficiently large boundary to be worthwhile.  Once
    disabled, there is a period of time when all the pageblocks are marked
    MOVABLE and the expectation is that they get marked UNMOVABLE at each call
    to __rmqueue_fallback().
    
    However, when MAX_ORDER is large the pageblocks do not change ownership
    because the normal criteria are not met.  This has the effect of
    prematurely breaking up too many large contiguous blocks.  This is most
    serious on NOMMU systems which depend on high-order allocations to boot.
    This patch causes pageblocks to change ownership on every fallback when
    anti-fragmentation is disabled.  This prevents the large blocks being
    prematurely broken up.
    
    This is a fix to commit 49255c619fbd482d704289b5eb2795f8e3b7ff2e [page
    allocator: move check for disabled anti-fragmentation out of fastpath] and
    the problem affects 2.6.31-rc8.
    
    Signed-off-by: Mel Gorman <mel at csn.ul.ie>
    Tested-by: Paul Mundt <lethal at linux-sh.org>
    Cc: David Howells <dhowells at redhat.com>
    Cc: Pekka Enberg <penberg at cs.helsinki.fi>
    Acked-by: Greg Ungerer <gerg at snapgear.com>
    Signed-off-by: Andrew Morton <akpm at linux-foundation.org>
    Signed-off-by: Linus Torvalds <torvalds at linux-foundation.org>

commit a190887b58c32d19c2eee007c5eb8faa970a69ba
Author: David Howells <dhowells at redhat.com>
Date:   Sat Sep 5 11:17:07 2009 -0700

    nommu: fix error handling in do_mmap_pgoff()
    
    Fix the error handling in do_mmap_pgoff().  If do_mmap_shared_file() or
    do_mmap_private() fail, we jump to the error_put_region label at which
    point we cann __put_nommu_region() on the region - but we haven't yet
    added the region to the tree, and so __put_nommu_region() may BUG
    because the region tree is empty or it may corrupt the region tree.
    
    To get around this, we can afford to add the region to the region tree
    before calling do_mmap_shared_file() or do_mmap_private() as we keep
    nommu_region_sem write-locked, so no-one can race with us by seeing a
    transient region.
    
    Signed-off-by: David Howells <dhowells at redhat.com>
    Acked-by: Pekka Enberg <penberg at cs.helsinki.fi>
    Acked-by: Paul Mundt <lethal at linux-sh.org>
    Cc: Mel Gorman <mel at csn.ul.ie>
    Acked-by: Greg Ungerer <gerg at snapgear.com>
    Signed-off-by: Andrew Morton <akpm at linux-foundation.org>
    Signed-off-by: Linus Torvalds <torvalds at linux-foundation.org>

commit 4e49627b9bc29a14b393c480e8c979e3bc922ef7
Author: Oleg Nesterov <oleg at redhat.com>
Date:   Sat Sep 5 11:17:06 2009 -0700

    workqueues: introduce __cancel_delayed_work()
    
    cancel_delayed_work() has to use del_timer_sync() to guarantee the timer
    function is not running after return.  But most users doesn't actually
    need this, and del_timer_sync() has problems: it is not useable from
    interrupt, and it depends on every lock which could be taken from irq.
    
    Introduce __cancel_delayed_work() which calls del_timer() instead.
    
    The immediate reason for this patch is
    http://bugzilla.kernel.org/show_bug.cgi?id=13757
    but hopefully this helper makes sense anyway.
    
    As for 13757 bug, actually we need requeue_delayed_work(), but its
    semantics are not yet clear.
    
    Merge this patch early to resolves cross-tree interdependencies between
    input and infiniband.
    
    Signed-off-by: Oleg Nesterov <oleg at redhat.com>
    Cc: Dmitry Torokhov <dmitry.torokhov at gmail.com>
    Cc: Roland Dreier <rdreier at cisco.com>
    Cc: Stefan Richter <stefanr at s5r6.in-berlin.de>
    Signed-off-by: Andrew Morton <akpm at linux-foundation.org>
    Signed-off-by: Linus Torvalds <torvalds at linux-foundation.org>

commit baed6b82d9f160184c1c14cdb4accb08f3eb6b87
Author: Stefan Richter <stefanr at s5r6.in-berlin.de>
Date:   Thu Sep 3 23:07:35 2009 +0200

    firewire: sbp2: fix freeing of unallocated memory
    
    If a target writes invalid status (typically status of a command that
    already timed out), firewire-sbp2 attempts to put away an ORB that
    doesn't exist.  https://bugzilla.redhat.com/show_bug.cgi?id=519772
    
    Signed-off-by: Stefan Richter <stefanr at s5r6.in-berlin.de>

commit 4fe0badd5882c64dc2dcd8893f9b85db63339736
Author: Stefan Richter <stefanr at s5r6.in-berlin.de>
Date:   Fri Aug 28 13:26:03 2009 +0200

    firewire: ohci: fix Ricoh R5C832, video reception
    
    In dual-buffer DMA mode, no video frames are ever received from R5C832
    by libdc1394.  Fallback to packet-per-buffer DMA works reliably.
    http://thread.gmane.org/gmane.linux.kernel.firewire.devel/13393/focus=13476
    
    Reported-by: Jonathan Cameron <jic23 at cam.ac.uk>
    Signed-off-by: Stefan Richter <stefanr at s5r6.in-berlin.de>

commit fc383796a8cc5df0a0c8633a16dd2e9528a16a63
Author: Stefan Richter <stefanr at s5r6.in-berlin.de>
Date:   Fri Aug 28 13:25:15 2009 +0200

    firewire: ohci: fix Agere FW643 and multiple cameras
    
    An Agere FW643 OHCI 1.1 card works fine for video reception from one
    camera but fails early if receiving from two cameras.  After a short
    while, no IR IRQ events occur and the context control register does not
    react anymore.  This happens regardless whether both IR DMA contexts are
    dual-buffer or one is dual-buffer and the other packet-per-buffer.
    
    This can be worked around by disabling dual buffer DMA mode entirely.
    http://sourceforge.net/mailarchive/message.php?msg_name=4A7C0594.2020208%40gmail.com
    (Reported by Samuel Audet.)
    
    In another report (by Jonathan Cameron), an FW643 works OK with two
    cameras in dual buffer mode.  Whether this is due to different chip
    revisions or different usage patterns (different video formats) is not
    yet clear.  However, as far as the current capabilities of
    firewire-core's isochronous I/O interface are concerned, simply
    switching off dual-buffer on non-working and working FW643s alike is not
    a problem in practice.  We only need to revisit this issue if we are
    going to enhance the interface, e.g. so that applications can explicitly
    choose modes.
    
    Reported-by: Samuel Audet <samuel.audet at gmail.com>
    Reported-by: Jonathan Cameron <jic23 at cam.ac.uk>
    Signed-off-by: Stefan Richter <stefanr at s5r6.in-berlin.de>

commit 1821bc19d54009b6f5e6462dd79074d728080839
Author: Stefan Richter <stefanr at s5r6.in-berlin.de>
Date:   Sat Sep 5 13:23:49 2009 +0200

    firewire: core: fix crash in iso resource management
    
    This fixes a regression due to post 2.6.30 commit "firewire: core: do
    not DMA-map stack addresses" 6fdc03709433ccc2005f0f593ae9d9dd04f7b485.
    
    As David Moore noted, a previously correct sizeof() expression became
    wrong since the commit changed its argument from an array to a pointer.
    This resulted in an oops in ohci_cancel_packet in the shared workqueue
    thread's context when an isochronous resource was to be freed.
    
    Reported-by: Jonathan Cameron <jic23 at cam.ac.uk>
    Signed-off-by: Stefan Richter <stefanr at s5r6.in-berlin.de>

commit 8379e7c46cc48f51197dd663fc6676f47f2a1e71
Author: Sunil Mushran <sunil.mushran at oracle.com>
Date:   Fri Sep 4 11:12:01 2009 -0700

    ocfs2: ocfs2_write_begin_nolock() should handle len=0
    
    Bug introduced by mainline commit e7432675f8ca868a4af365759a8d4c3779a3d922
    The bug causes ocfs2_write_begin_nolock() to oops when len=0.
    
    Signed-off-by: Sunil Mushran <sunil.mushran at oracle.com>
    Cc: stable at kernel.org
    Signed-off-by: Joel Becker <joel.becker at oracle.com>

commit ae0b7448e91353ea5f821601a055aca6b58042cd
Author: Mikulas Patocka <mpatocka at redhat.com>
Date:   Fri Sep 4 20:40:43 2009 +0100

    dm snapshot: fix on disk chunk size validation
    
    Fix some problems seen in the chunk size processing when activating a
    pre-existing snapshot.
    
    For a new snapshot, the chunk size can either be supplied by the creator
    or a default value can be used.  For an existing snapshot, the
    chunk size in the snapshot header on disk should always be used.
    
    If someone attempts to load an existing snapshot and has the 'default
    chunk size' option set, the kernel uses its default value even when it
    is incorrect for the snapshot being loaded.  This patch ensures the
    correct on-disk value is always used.
    
    Secondly, when the code does use the chunk size stored on the disk it is
    prudent to revalidate it, so the code can exit cleanly if it got
    corrupted as happened in
    https://bugzilla.redhat.com/show_bug.cgi?id=461506 .
    
    Cc: stable at kernel.org
    Signed-off-by: Mikulas Patocka <mpatocka at redhat.com>
    Signed-off-by: Alasdair G Kergon <agk at redhat.com>

commit 2defcc3fb4661e7351cb2ac48d843efc4c64db13
Author: Mikulas Patocka <mpatocka at redhat.com>
Date:   Fri Sep 4 20:40:41 2009 +0100

    dm exception store: split set_chunk_size
    
    Break the function set_chunk_size to two functions in preparation for
    the fix in the following patch.
    
    Cc: stable at kernel.org
    Signed-off-by: Mikulas Patocka <mpatocka at redhat.com>
    Signed-off-by: Alasdair G Kergon <agk at redhat.com>

commit 61578dcd3fafe6babd72e8db32110cc0b630a432
Author: Mikulas Patocka <mpatocka at redhat.com>
Date:   Fri Sep 4 20:40:39 2009 +0100

    dm snapshot: fix header corruption race on invalidation
    
    If a persistent snapshot fills up, a race can corrupt the on-disk header
    which causes a crash on any future attempt to activate the snapshot
    (typically while booting).  This patch fixes the race.
    
    When the snapshot overflows, __invalidate_snapshot is called, which calls
    snapshot store method drop_snapshot. It goes to persistent_drop_snapshot that
    calls write_header. write_header constructs the new header in the "area"
    location.
    
    Concurrently, an existing kcopyd job may finish, call copy_callback
    and commit_exception method, that goes to persistent_commit_exception.
    persistent_commit_exception doesn't do locking, relying on the fact that
    callbacks are single-threaded, but it can race with snapshot invalidation and
    overwrite the header that is just being written while the snapshot is being
    invalidated.
    
    The result of this race is a corrupted header being written that can
    lead to a crash on further reactivation (if chunk_size is zero in the
    corrupted header).
    
    The fix is to use separate memory areas for each.
    
    See the bug: https://bugzilla.redhat.com/show_bug.cgi?id=461506
    
    Cc: stable at kernel.org
    Signed-off-by: Mikulas Patocka <mpatocka at redhat.com>
    Signed-off-by: Alasdair G Kergon <agk at redhat.com>

commit 02d2fd31defce6ff77146ad0fef4f19006055d86
Author: Mikulas Patocka <mpatocka at redhat.com>
Date:   Fri Sep 4 20:40:37 2009 +0100

    dm snapshot: refactor zero_disk_area to use chunk_io
    
    Refactor chunk_io to prepare for the fix in the following patch.
    
    Pass an area pointer to chunk_io and simplify zero_disk_area to use
    chunk_io.  No functional change.
    
    Cc: stable at kernel.org
    Signed-off-by: Mikulas Patocka <mpatocka at redhat.com>
    Signed-off-by: Alasdair G Kergon <agk at redhat.com>

commit 7ec23d50949d5062b5b749638dd9380ed75e58e5
Author: Jonathan Brassow <jbrassow at redhat.com>
Date:   Fri Sep 4 20:40:34 2009 +0100

    dm log: userspace add luid to distinguish between concurrent log instances
    
    Device-mapper userspace logs (like the clustered log) are
    identified by a universally unique identifier (UUID).  This
    identifier is used to associate requests from the kernel to
    a specific log in userspace.  The UUID must be unique everywhere,
    since multiple machines may use this identifier when communicating
    about a particular log, as is the case for cluster logs.
    
    Sometimes, device-mapper/LVM may re-use a UUID.  This is the
    case during pvmoves, when moving from one segment of an LV
    to another, or when resizing a mirror, etc.  In these cases,
    a new log is created with the same UUID and loaded in the
    "inactive" slot.  When a device-mapper "resume" is issued,
    the "live" table is deactivated and the new "inactive" table
    becomes "live".  (The "inactive" table can also be removed
    via a device-mapper 'clear' command.)
    
    The above two issues were colliding.  More than one log was being
    created with the same UUID, and there was no way to distinguish
    between them.  So, sometimes the wrong log would be swapped
    out during the exchange.
    
    The solution is to create a locally unique identifier,
    'luid', to go along with the UUID.  This new identifier is used
    to determine exactly which log is being referenced by the kernel
    when the log exchange is made.  The identifier is not
    universally safe, but it does not need to be, since
    create/destroy/suspend/resume operations are bound to a specific
    machine; and these are the operations that make up the exchange.
    
    Signed-off-by: Jonathan Brassow <jbrassow at redhat.com>
    Signed-off-by: Alasdair G Kergon <agk at redhat.com>

commit d2b698644c97cb033261536a4f2010924a00eac9
Author: Jonathan Brassow <jbrassow at redhat.com>
Date:   Fri Sep 4 20:40:32 2009 +0100

    dm raid1: do not allow log_failure variable to unset after being set
    
    This patch fixes a bug which was triggering a case where the primary leg
    could not be changed on failure even when the mirror was in-sync.
    
    The case involves the failure of the primary device along with
    the transient failure of the log device.  The problem is that
    bios can be put on the 'failures' list (due to log failure)
    before 'fail_mirror' is called due to the primary device failure.
    Normally, this is fine, but if the log device failure is transient,
    a subsequent iteration of the work thread, 'do_mirror', will
    reset 'log_failure'.  The 'do_failures' function then resets
    the 'in_sync' variable when processing bios on the failures list.
    The 'in_sync' variable is what is used to determine if the
    primary device can be switched in the event of a failure.  Since
    this has been reset, the primary device is incorrectly assumed
    to be not switchable.
    
    The case has been seen in the cluster mirror context, where one
    machine realizes the log device is dead before the other machines.
    As the responsibilities of the server migrate from one node to
    another (because the mirror is being reconfigured due to the failure),
    the new server may think for a moment that the log device is fine -
    thus resetting the 'log_failure' variable.
    
    In any case, it is inappropiate for us to reset the 'log_failure'
    variable.  The above bug simply illustrates that it can actually
    hurt us.
    
    Cc: stable at kernel.org
    Signed-off-by: Jonathan Brassow <jbrassow at redhat.com>
    Signed-off-by: Alasdair G Kergon <agk at redhat.com>

commit b8313b6da7e2e7c7f47d93d8561969a3ff9ba0ea
Author: Jonathan Brassow <jbrassow at redhat.com>
Date:   Fri Sep 4 20:40:30 2009 +0100

    dm log: remove incorrect field from userspace table output
    
    The output of 'dmsetup table' includes an internal field that should not
    be there.  This patch removes it.  To make the fix simpler, we first
    reorder a constructor argument
    
    The 'device size' argument is generated internally.  Currently it is
    placed as the last space-separated word of the constructor string.
    However, we need to use a version of the string without this word, so we
    move it to the beginning instead so it is trivial to skip past it.
    
    We keep a copy of the arguments passed to userspace for creating a log,
    just in case we need to resend them.  These are the same arguments that
    are desired in the STATUSTYPE_TABLE request, except for one.  When
    creating the userspace log, the userspace daemon must know the size of
    the mirror, so that is added to the arguments given in the constructor
    table.  We were printing this extra argument out as well, which is a
    mistake.
    
    Signed-off-by: Jonathan Brassow <jbrassow at redhat.com>
    Signed-off-by: Alasdair G Kergon <agk at redhat.com>

commit 4142a969175302bc843d1505133488bfdbfa4732
Author: Jonathan Brassow <jbrassow at redhat.com>
Date:   Fri Sep 4 20:40:28 2009 +0100

    dm log: fix userspace status output
    
    Fix 'dmsetup table' output.
    
    There is a missing ' ' at the end of the string causing two
    words to run together.
    
    Signed-off-by: Jonathan Brassow <jbrassow at redhat.com>
    Signed-off-by: Alasdair G Kergon <agk at redhat.com>

commit 40bea431274c247425e7f5970d796ff7b37a2b22
Author: Mike Snitzer <snitzer at redhat.com>
Date:   Fri Sep 4 20:40:25 2009 +0100

    dm stripe: expose correct io hints
    
    Set sensible I/O hints for striped DM devices in the topology
    infrastructure added for 2.6.31 for userspace tools to
    obtain via sysfs.
    
    Add .io_hints to 'struct target_type' to allow the I/O hints portion
    (io_min and io_opt) of the 'struct queue_limits' to be set by each
    target and implement this for dm-stripe.
    
    Signed-off-by: Mike Snitzer <snitzer at redhat.com>
    Signed-off-by: Alasdair G Kergon <agk at redhat.com>

commit a963a956225eb0f8c4d3537f428153c30adf54b8
Author: Mike Snitzer <snitzer at redhat.com>
Date:   Fri Sep 4 20:40:24 2009 +0100

    dm table: add more context to terse warning messages
    
    A couple of recent warning messages make it difficult for the reader to
    determine exactly what is wrong.  This patch adds more information to
    those messages.
    
    The messages were added by these commits:
      5dea271b6d87bd1d79a59c1d5baac2596a841c37 ("dm table: pass correct dev area size
    to device_area_is_valid")
      ea9df47cc92573b159ef3b4fda516c32cba9c4fd ("dm table: fix blk_stack_limits arg
    to use bytes not sectors")
    
    The patch also corrects references to logical_block_size in printk format
    strings from %hu to %u.
    
    Signed-off-by: Mike Snitzer <snitzer at redhat.com>
    Signed-off-by: Alasdair G Kergon <agk at redhat.com>

commit f6a1ed10864b7540fa758bbccf3433fe17070329
Author: Mikulas Patocka <mpatocka at redhat.com>
Date:   Fri Sep 4 20:40:22 2009 +0100

    dm table: fix queue_limit checking device iterator
    
    The logic to check for valid device areas is inverted relative to proper
    use with iterate_devices.
    
    The iterate_devices method calls its callback for every underlying
    device in the target.  If any callback returns non-zero, iterate_devices
    exits immediately.  But the callback device_area_is_valid() returns 0 on
    error and 1 on success.  The overall effect without is that an error is
    issued only if every device is invalid.
    
    This patch renames device_area_is_valid to device_area_is_invalid and
    inverts the logic so that one invalid device is sufficient to raise
    an error.
    
    Signed-off-by: Mikulas Patocka <mpatocka at redhat.com>
    Signed-off-by: Mike Snitzer <snitzer at redhat.com>
    Signed-off-by: Alasdair G Kergon <agk at redhat.com>

commit 8811f46c1f9386fc7017150de9d52359e5b1826e
Author: Mike Snitzer <snitzer at redhat.com>
Date:   Fri Sep 4 20:40:19 2009 +0100

    dm snapshot: implement iterate devices
    
    Implement the .iterate_devices for the origin and snapshot targets.
    dm-snapshot's lack of .iterate_devices resulted in the inability to
    properly establish queue_limits for both targets.
    
    With 4K sector drives: an unfortunate side-effect of not establishing
    proper limits in either targets' DM device was that IO to the devices
    would fail even though both had been created without error.
    
    Commit af4874e03ed82f050d5872d8c39ce64bf16b5c38 ("dm target:s introduce
    iterate devices fn") in 2.6.31-rc1 should have implemented .iterate_devices
    for dm-snap.c's origin and snapshot targets.
    
    Signed-off-by: Mike Snitzer <snitzer at redhat.com>
    Signed-off-by: Andrew Morton <akpm at linux-foundation.org>
    Signed-off-by: Alasdair G Kergon <agk at redhat.com>

commit a77e28c7e1dc1a6a035c7627d4a88ecf3ea09aea
Author: Kiyoshi Ueda <k-ueda at ct.jp.nec.com>
Date:   Fri Sep 4 20:40:16 2009 +0100

    dm multipath: fix oops when request based io fails when no paths
    
    The patch posted at http://marc.info/?l=dm-devel&m=124539787228784&w=2
    which was merged into cec47e3d4a861e1d942b3a580d0bbef2700d2bb2 ("dm:
    prepare for request based option") introduced a regression in
    request-based dm.
    
    If map_request() calls dm_kill_unmapped_request() to complete a cloned
    bio without dispatching it, clone->bio is still set when
    dm_end_request() is called and the BUG_ON(clone->bio) is incorrect.
    
    The patch fixes this bug by freeing bio in dm_end_request() if the clone
    has bio.  I've redone my tests to cover all I/O paths and confirmed
    there's no other regression.
    
    Here is the oops I hit in request-based dm when I do I/O to a multipath
    device which doesn't have any active path nor queue_if_no_path setting:
    
    ------------[ cut here ]------------
    kernel BUG at /root/2.6.31-rc4.rqdm/drivers/md/dm.c:828!
    invalid opcode: 0000 [#1] SMP
    last sysfs file: /sys/devices/system/cpu/cpu3/cache/index2/shared_cpu_map
    CPU 1
    Modules linked in: autofs4 sunrpc cpufreq_ondemand acpi_cpufreq dm_mirror dm_region_hash dm_log dm_service_time dm_multipath scsi_dh dm_mod video output sbs sbshc battery ac sg sr_mod e1000e button cdrom serio_raw rtc_cmos rtc_core rtc_lib piix lpfc scsi_transport_fc ata_piix libata megaraid_sas sd_mod scsi_mod crc_t10dif ext3 jbd uhci_hcd ohci_hcd ehci_hcd [last unloaded: microcode]
    Pid: 7, comm: ksoftirqd/1 Not tainted 2.6.31-rc4.rqdm #1 Express5800/120Lj [N8100-1417]
    RIP: 0010:[<ffffffffa023629d>]  [<ffffffffa023629d>] dm_softirq_done+0xbd/0x100 [dm_mod]
    RSP: 0018:ffff8800280a1f08  EFLAGS: 00010282
    RAX: ffffffffa02544e0 RBX: ffff8802aa1111d0 RCX: ffff8802aa1111e0
    RDX: ffff8802ab913e70 RSI: 0000000000000000 RDI: ffff8802ab913e70
    RBP: ffff8800280a1f28 R08: ffffc90005457040 R09: 0000000000000000
    R10: 0000000000000001 R11: 0000000000000000 R12: 00000000fffffffb
    R13: ffff8802ab913e88 R14: ffff8802ab9c1438 R15: 0000000000000100
    FS:  0000000000000000(0000) GS:ffff88002809e000(0000) knlGS:0000000000000000
    CS:  0010 DS: 0018 ES: 0018 CR0: 000000008005003b
    CR2: 0000003d54a98640 CR3: 000000029f0a1000 CR4: 00000000000006e0
    DR0: 0000000000000000 DR1: 0000000000000000 DR2: 0000000000000000
    DR3: 0000000000000000 DR6: 00000000ffff0ff0 DR7: 0000000000000400
    Process ksoftirqd/1 (pid: 7, threadinfo ffff8802ae50e000, task ffff8802ae4f8040)
    Stack:
     ffff8800280a1f38 0000000000000020 ffffffff814f30a0 0000000000000004
    <0> ffff8800280a1f58 ffffffff8116b245 ffff8800280a1f38 ffff8800280a1f38
    <0> ffff8800280a1f58 0000000000000001 ffff8800280a1fa8 ffffffff810477bc
    Call Trace:
     <IRQ>
     [<ffffffff8116b245>] blk_done_softirq+0x75/0x90
     [<ffffffff810477bc>] __do_softirq+0xcc/0x210
     [<ffffffff81047170>] ? ksoftirqd+0x0/0x110
     [<ffffffff8100ce7c>] call_softirq+0x1c/0x50
     <EOI>
     [<ffffffff8100e785>] do_softirq+0x65/0xa0
     [<ffffffff81047170>] ? ksoftirqd+0x0/0x110
     [<ffffffff810471e0>] ksoftirqd+0x70/0x110
     [<ffffffff81059559>] kthread+0x99/0xb0
     [<ffffffff8100cd7a>] child_rip+0xa/0x20
     [<ffffffff8100c73c>] ? restore_args+0x0/0x30
     [<ffffffff810594c0>] ? kthread+0x0/0xb0
     [<ffffffff8100cd70>] ? child_rip+0x0/0x20
    Code: 44 89 e6 48 89 df e8 23 fb f2 e0 be 01 00 00 00 4c 89 f7 e8 f6 fd ff ff 5b 41 5c 41 5d 41 5e c9 c3 4c 89 ef e8 85 fe ff ff eb ed <0f> 0b eb fe 41 8b 85 dc 00 00 00 48 83 bb 10 01 00 00 00 89 83
    RIP  [<ffffffffa023629d>] dm_softirq_done+0xbd/0x100 [dm_mod]
     RSP <ffff8800280a1f08>
    ---[ end trace 16af0a1d8542da55 ]---
    
    Signed-off-by: Kiyoshi Ueda <k-ueda at ct.jp.nec.com>
    Signed-off-by: Jun'ichi Nomura <j-nomura at ce.jp.nec.com>
    Signed-off-by: Alasdair G Kergon <agk at redhat.com>

commit bd4352cadfacb9084c97c853b025fac010266c26
Author: David S. Miller <davem at davemloft.net>
Date:   Fri Sep 4 03:38:54 2009 -0700

    sparc64: Fix bootup with mcount in some configs.
    
    Functions invoked early when booting up a cpu can't use
    tracing because mcount requires a valid 'current_thread_info()'
    and TLB mappings to be setup.
    
    The code path of sun4v_register_mondo_queues --> register_one_mondo
    is one such case.  sun4v_register_mondo_queues already has the
    necessary 'notrace' annotation, but register_one_mondo does not.
    
    Normally register_one_mondo is inlined so the bug doesn't trigger,
    but with some config/compiler combinations, it won't be so we
    must properly mark it notrace.
    
    While we're here, add 'notrace' annoations to prom_printf and
    prom_halt so that early error handling won't have the same problem.
    
    Reported-by: Alexander Beregalov <a.beregalov at gmail.com>
    Reported-by: Leif Sawyer <lsawyer at gci.com>
    Signed-off-by: David S. Miller <davem at davemloft.net>

commit 2bcaa6a4238094c5695d5b1943078388d82d3004
Author: Dave Andrews <jetdog330 at hotmail.com>
Date:   Thu Sep 3 17:21:27 2009 -0700

    Input: atkbd - add Compaq Presario R4000-series repeat quirk
    
    Compaq Presario R4000-series laptops are not sending a "volume up button
    release" and "volume down button release" signal in the PS/2 protocol for
    atkbd. The URL below has some of confirmed reports:
    
    https://bugs.launchpad.net/ubuntu/+source/linux/+bug/385477
    
    Signed-off-by: Dave Andrews <jetdog330 at hotmail.com>
    Signed-off-by: Dmitry Torokhov <dtor at mail.ru>

commit d76b1590e06a63a3d8697168cd0aabf1c4b3cb3a
Author: Eric Dumazet <eric.dumazet at gmail.com>
Date:   Thu Sep 3 22:38:59 2009 +0300

    slub: Fix kmem_cache_destroy() with SLAB_DESTROY_BY_RCU
    
    kmem_cache_destroy() should call rcu_barrier() *after* kmem_cache_close() and
    *before* sysfs_slab_remove() or risk rcu_free_slab() being called after
    kmem_cache is deleted (kfreed).
    
    rmmod nf_conntrack can crash the machine because it has to kmem_cache_destroy()
    a SLAB_DESTROY_BY_RCU enabled cache.
    
    Cc: <stable at kernel.org>
    Reported-by: Zdenek Kabelac <zdenek.kabelac at gmail.com>
    Signed-off-by: Eric Dumazet <eric.dumazet at gmail.com>
    Acked-by: Paul E. McKenney <paulmck at linux.vnet.ibm.com>
    Signed-off-by: Pekka Enberg <penberg at cs.helsinki.fi>

commit bc8cec0dff072f1a45ce7f6b2c5234bb3411ac51
Author: Massimo Cirillo <maxcir at gmail.com>
Date:   Thu Aug 27 10:44:09 2009 +0200

    JFFS2: add missing verify buffer allocation/deallocation
    
    The function jffs2_nor_wbuf_flash_setup() doesn't allocate the verify buffer
    if CONFIG_JFFS2_FS_WBUF_VERIFY is defined, so causing a kernel panic when
    that macro is enabled and the verify function is called. Similarly the
    jffs2_nor_wbuf_flash_cleanup() must free the buffer if
    CONFIG_JFFS2_FS_WBUF_VERIFY is enabled.
    The following patch fixes the problem.
    The following patch applies to 2.6.30 kernel.
    
    Signed-off-by: Massimo Cirillo <maxcir at gmail.com>
    Signed-off-by: Artem Bityutskiy <Artem.Bityutskiy at nokia.com>
    Signed-off-by: David Woodhouse <David.Woodhouse at intel.com>
    Cc: stable at kernel.org

commit 16f05c2b68520f94e365f9d347a7076f4ff00ad5
Author: Dimitri Gorokhovik <dimitri.gorokhovik at free.fr>
Date:   Thu Sep 3 14:04:22 2009 +0100

    mtd: nftl: fix offset alignments
    
    Arithmetic conversion in the mask computation makes the upper word
    of the second argument passed down to mtd->read_oob(), be always 0
    (assuming 'offs' being a 64-bit signed long long type, and
    'mtd->writesize' being a 32-bit unsigned int type).
    
    This patch applies over the other one adding masking in nftl_write,
    "nftl: write support is broken".
    
    Signed-off-by: Dimitri Gorokhovik <dimitri.gorokhovik at free.fr>
    Cc: Tim Gardner <tim.gardner at canonical.com>
    Cc: Scott James Remnant <scott at canonical.com>
    Signed-off-by: David Woodhouse <David.Woodhouse at intel.com>

commit 4149ed1aa944ab864024982a2e568d17eccff504
Author: Dimitri Gorokhovik <dimitri.gorokhovik at free.fr>
Date:   Thu Sep 3 14:59:13 2009 +0100

    mtd: nftl: write support is broken
    
    Write support is broken in NFTL. Fix it.
    
    Signed-off-by: <dimitri.gorokhovik at free.fr>
    Cc: Tim Gardner <tim.gardner at canonical.com>
    Cc: Scott James Remnant <scott at canonical.com>
    Signed-off-by: Andrew Morton <akpm at linux-foundation.org>
    Signed-off-by: David Woodhouse <David.Woodhouse at intel.com>

commit edcb3b14863e1a6aa1923eeaa81125a00cf51a80
Author: Anton Vorontsov <avorontsov at ru.mvista.com>
Date:   Thu Aug 6 15:18:37 2009 -0700

    mtd: m25p80: fix null pointer dereference bug
    
    This patch fixes the following oops, observed with MTD_PARTITIONS=n:
    
    m25p80 spi32766.0: m25p80 (1024 Kbytes)
    Unable to handle kernel paging request for data at address 0x00000008
    Faulting instruction address: 0xc03a54b0
    Oops: Kernel access of bad area, sig: 11 [#1]
    Modules linked in:
    NIP: c03a54b0 LR: c03a5494 CTR: c01e98b8
    REGS: ef82bb60 TRAP: 0300   Not tainted  (2.6.31-rc4-00167-g4733fd3)
    MSR: 00029000 <EE,ME,CE>  CR: 24022022  XER: 20000000
    DEAR: 00000008, ESR: 00000000
    TASK = ef82c000[1] 'swapper' THREAD: ef82a000
    GPR00: 00000000 ef82bc10 ef82c000 0000002e 00001eb8 ffffffff c01e9824 00000036
    GPR08: c054ed40 c0542a08 00001eb8 00004000 22022022 1001a1a0 3ff8fd00 00000000
    GPR16: 00000000 00000001 00000000 00000000 ef82bddc c0530000 efbef500 ef8356d0
    GPR24: 00000000 ef8356d0 00000000 efbf7a00 c0530ec4 ffffffed efbf5300 c0541f98
    NIP [c03a54b0] m25p_probe+0x22c/0x354
    LR [c03a5494] m25p_probe+0x210/0x354
    Call Trace:
    [ef82bc10] [c03a5494] m25p_probe+0x210/0x354 (unreliable)
    [ef82bca0] [c024e37c] spi_drv_probe+0x2c/0x3c
    [ef82bcb0] [c01f1afc] driver_probe_device+0xa4/0x178
    [ef82bcd0] [c01f06e8] bus_for_each_drv+0x6c/0xa8
    [ef82bd00] [c01f1a34] device_attach+0x84/0xa8
    ...
    
    Signed-off-by: Anton Vorontsov <avorontsov at ru.mvista.com>
    Cc: David Brownell <david-b at pacbell.net>
    Signed-off-by: Andrew Morton <akpm at linux-foundation.org>
    Signed-off-by: Artem Bityutskiy <Artem.Bityutskiy at nokia.com>
    Signed-off-by: David Woodhouse <David.Woodhouse at intel.com>

commit e6617c6ec28a17cf2f90262b835ec05b9b861400
Author: David S. Miller <davem at davemloft.net>
Date:   Thu Sep 3 02:35:20 2009 -0700

    sparc64: Kill spurious NMI watchdog triggers by increasing limit to 30 seconds.
    
    This is a compromise and a temporary workaround for bootup NMI
    watchdog triggers some people see with qla2xxx devices present.
    
    This happens when, for example:
    
    CPU 0 is in the driver init and looping submitting mailbox commands to
    load the firmware, then waiting for completion.
    
    CPU 1 is receiving the device interrupts.  CPU 1 is where the NMI
    watchdog triggers.
    
    CPU 0 is submitting mailbox commands fast enough that by the time CPU
    1 returns from the device interrupt handler, a new one is pending.
    This sequence runs for more than 5 seconds.
    
    The problematic case is CPU 1's timer interrupt running when the
    barrage of device interrupts begin.  Then we have:
    
    	timer interrupt
    	return for softirq checking
    	pending, thus enable interrupts
    
    		 qla2xxx interrupt
    		 return
    		 qla2xxx interrupt
    		 return
    		 ... 5+ seconds pass
    		 final qla2xxx interrupt for fw load
    		 return
    
    	run timer softirq
    	return
    
    At some point in the multi-second qla2xxx interrupt storm we trigger
    the NMI watchdog on CPU 1 from the NMI interrupt handler.
    
    The timer softirq, once we get back to running it, is smart enough to
    run the timer work enough times to make up for the missed timer
    interrupts.
    
    However, the NMI watchdogs (both x86 and sparc) use the timer
    interrupt count to notice the cpu is wedged.  But in the above
    scenerio we'll receive only one such timer interrupt even if we last
    all the way back to running the timer softirq.
    
    The default watchdog trigger point is only 5 seconds, which is pretty
    low (the softwatchdog triggers at 60 seconds).  So increase it to 30
    seconds for now.
    
    Signed-off-by: David S. Miller <davem at davemloft.net>

commit a3df6f7d3090e611bcc774cd2cba45ae016d37e1
Author: Paul Mackerras <paulus at samba.org>
Date:   Thu Sep 3 11:52:02 2009 +1000

    perf_counter/powerpc: Fix cache event codes for POWER7
    
    I had the codes for L1 D-cache load accesses and misses swapped
    around, and the wrong codes for LL-cache accesses and misses.
    This corrects them.
    
    Reported-by: Corey Ashford <cjashfor at linux.vnet.ibm.com>
    Signed-off-by: Paul Mackerras <paulus at samba.org>
    Cc: Peter Zijlstra <a.p.zijlstra at chello.nl>
    Cc: <stable at kernel.org>
    LKML-Reference: <19103.8514.709300.585484 at cargo.ozlabs.ibm.com>
    Signed-off-by: Ingo Molnar <mingo at elte.hu>

commit 16ebb5e0b36ceadc8186f71d68b0c4fa4b6e781b
Author: Eric Dumazet <eric.dumazet at gmail.com>
Date:   Wed Sep 2 02:40:09 2009 +0000

    tc: Fix unitialized kernel memory leak
    
    Three bytes of uninitialized kernel memory are currently leaked to user
    
    Signed-off-by: Eric Dumazet <eric.dumazet at gmail.com>
    Reviewed-by: Jiri Pirko <jpirko at redhat.com>
    Signed-off-by: David S. Miller <davem at davemloft.net>

commit 92653453c3015c083b9fe0ad48261c6b2267d482
Author: Clemens Ladisch <clemens at ladisch.de>
Date:   Wed Sep 2 18:25:39 2009 +0200

    sound: oxygen: handle cards with missing EEPROM
    
    The card model detection code introduced in 2.6.30 that tries to work
    around partially broken EEPROM contents by reading the EEPROM directly
    does not handle cards where the EEPROM has been omitted.  In this case,
    we have to use the default ID to allow the driver to load.
    
    Signed-off-by: Clemens Ladisch <clemens at ladisch.de>
    Reported-and-tested-by: Ozan Çağlayan <ozan at pardus.org.tr>
    Cc: <stable at kernel.org>
    Signed-off-by: Takashi Iwai <tiwai at suse.de>

commit 07fb6111e7af5fac6b6076e2658d0e32b67f713b
Author: Zhenyu Wang <zhenyuw at linux.intel.com>
Date:   Thu Aug 13 18:57:29 2009 +0800

    agp/intel: support for new chip variant of IGDNG mobile
    
    New variant of IGDNG mobile chip has new host bridge id.
    
    [anholt: Note that this new PCI ID doesn't impact the DRM, which doesn't
    care about the PCI ID of the bridge]
    
    Signed-off-by: Zhenyu Wang <zhenyuw at linux.intel.com>
    Signed-off-by: Eric Anholt <eric at anholt.net>

commit 58c2fb647a3cf70a90d7b33a3f2a8396a20a0bc4
Author: Chris Wilson <chris at chris-wilson.co.uk>
Date:   Tue Sep 1 12:02:39 2009 +0100

    drm/i915: Unref old_obj on get_fence_reg() error path
    
    Remember to release the local reference if we fail to wait on
    the rendering.
    
    (Also whilst in the vicinity add some whitespace so that the phasing of
    the operations is clearer.)
    
    Signed-off-by: Chris Wilson <chris at chris-wilson.co.uk>
    Signed-off-by: Eric Anholt <eric at anholt.net>

commit bcc24fb42585dc9f490cf7789a917358414bdab5
Author: Jesse Barnes <jbarnes at virtuousgeek.org>
Date:   Mon Aug 31 10:24:31 2009 -0700

    drm/i915: increase default latency constant (v2 w/comment)
    
    Some i915/i945 platforms have a fairly high memory latency in certain
    situations, so increase our constant a bit to avoid FIFO underruns.
    The effect should be positive on other platforms as well; we'll have a
    bit more insurance against a busy memory subsystem due to the extra
    FIFO entries.
    
    Fixes fdo bug #23368.  Needed for 2.6.31.
    
    Tested-by: Sven Arvidsson <sa at whiz.se>
    Tested-by: Chris Wilson <chris at chris-wilson.co.uk>
    Signed-off-by: Jesse Barnes <jbarnes at virtuousgeek.org>
    Signed-off-by: Eric Anholt <eric at anholt.net>

commit 5afe18d2f58812f3924edbd215464e5e3e8545e7
Author: Jiri Bohac <jbohac at suse.cz>
Date:   Wed Sep 2 11:00:46 2009 +0200

    [IA64] fix csum_ipv6_magic()
    
    The 32-bit parameters (len and csum) of csum_ipv6_magic() are passed in 64-bit
    registers in2 and in4. The high order 32 bits of the registers were never
    cleared, and garbage was sometimes calculated into the checksum.
    
    Fix this by clearing the high order 32 bits of these registers.
    
    Signed-off-by: Jiri Bohac <jbohac at suse.cz>
    Signed-off-by: Tony Luck <tony.luck at intel.com>

commit f2486f26692433ba27cc10991a085b503b0422a3
Author: Luck, Tony <tony.luck at intel.com>
Date:   Mon Aug 31 16:54:03 2009 -0700

    [IA64] Fix warning in dma-mapping.c
    
    arch/ia64/kernel/dma-mapping.c:14: warning: control reaches end of non-void function
    arch/ia64/kernel/dma-mapping.c:14: warning: no return statement in function returning non-void
    
    This warning was introduced by commit: 390bd132b2831a2ad0268e84bffbfc0680debfe5
    	Add dma_debug_init() for ia64
    
    Signed-off-by: Tony Luck <tony.luck at intel.com>

commit 2fbd3da3877ad8d923b055e5996f80b4d4a6daf4
Author: David S. Miller <davem at davemloft.net>
Date:   Tue Sep 1 17:59:25 2009 -0700

    pkt_sched: Revert tasklet_hrtimer changes.
    
    These are full of unresolved problems, mainly that conversions don't
    work 1-1 from hrtimers to tasklet_hrtimers because unlike hrtimers
    tasklets can't be killed from softirq context.
    
    And when a qdisc gets reset, that's exactly what we need to do here.
    
    We'll work this out in the net-next-2.6 tree and if warranted we'll
    backport that work to -stable.
    
    This reverts the following 3 changesets:
    
    a2cb6a4dd470d7a64255a10b843b0d188416b78f
    ("pkt_sched: Fix bogon in tasklet_hrtimer changes.")
    
    38acce2d7983632100a9ff3fd20295f6e34074a8
    ("pkt_sched: Convert CBQ to tasklet_hrtimer.")
    
    ee5f9757ea17759e1ce5503bdae2b07e48e32af9
    ("pkt_sched: Convert qdisc_watchdog to tasklet_hrtimer")
    
    Signed-off-by: David S. Miller <davem at davemloft.net>

commit d66ee0587c3927aea5178a822976c7c853d815fe
Author: Jarek Poplawski <jarkao2 at gmail.com>
Date:   Sun Aug 30 23:15:36 2009 +0000

    net: sk_free() should be allowed right after sk_alloc()
    
    After commit 2b85a34e911bf483c27cfdd124aeb1605145dc80
    (net: No more expensive sock_hold()/sock_put() on each tx)
    sk_free() frees socks conditionally and depends
    on sk_wmem_alloc being set e.g. in sock_init_data(). But in some
    cases sk_free() is called earlier, usually after other alloc errors.
    
    Fix is to move sk_wmem_alloc initialization from sock_init_data()
    to sk_alloc() itself.
    
    Signed-off-by: Jarek Poplawski <jarkao2 at gmail.com>
    Signed-off-by: Eric Dumazet <eric.dumazet at gmail.com>
    Signed-off-by: David S. Miller <davem at davemloft.net>

commit 3725867dccfb83e4b0cff64e916a04258f300591
Author: Christoph Hellwig <hch at infradead.org>
Date:   Tue Sep 1 14:03:08 2009 -0400

    xfs: actually enable the swapext compat handler
    
    Fix a small typo in the compat ioctl handler that cause the swapext
    compat handler to never be called.
    
    Signed-off-by: Christoph Hellwig <hch at lst.de>
    Reviewed-by: Torsten Kaiser <just.for.lkml at googlemail.com>
    Tested-by: Torsten Kaiser <just.for.lkml at googlemail.com>
    Reviewed-by: Eric Sandeen <sandeen at sandeen.net>
    Reviewed-by: Felix Blyakher <felixb at sgi.com>
    Signed-off-by: Felix Blyakher <felixb at sgi.com>

commit c295fc05789653ef24f296299df7c5f92fe74dce
Author: Nikanth Karthikesan <knikanth at suse.de>
Date:   Tue Sep 1 22:40:15 2009 +0200

    block: Allow changing max_sectors_kb above the default 512
    
    The patch "block: Use accessor functions for queue limits"
    (ae03bf639a5027d27270123f5f6e3ee6a412781d) changed queue_max_sectors_store()
    to use blk_queue_max_sectors() instead of directly assigning the value.
    
    But blk_queue_max_sectors() differs a bit
    1. It sets both max_sectors_kb, and max_hw_sectors_kb
    2. Never allows one to change max_sectors_kb above BLK_DEF_MAX_SECTORS. If one
    specifies a value greater then max_hw_sectors is set to that value but
    max_sectors is set to BLK_DEF_MAX_SECTORS
    
    I am not sure whether blk_queue_max_sectors() should be changed, as it seems
    to be that way for a long time. And there may be callers dependent on that
    behaviour.
    
    This patch simply reverts to the older way of directly assigning the value to
    max_sectors as it was before.
    
    Signed-off-by: Nikanth Karthikesan <knikanth at suse.de>
    Signed-off-by: Jens Axboe <jens.axboe at oracle.com>

commit ce6c3997c2fce74d12e6d8887a1d8cdf024fa850
Author: Dominik Brodowski <linux at dominikbrodowski.net>
Date:   Fri Aug 7 22:58:51 2009 +0200

    [CPUFREQ] Re-enable cpufreq suspend and resume code
    
    Commit 4bc5d3413503 is broken and causes regressions:
    
    (1) cpufreq_driver->resume() and ->suspend() were only called on
    __powerpc__, but you could set them on all architectures. In fact,
    ->resume() was defined and used before the PPC-related commit
    42d4dc3f4e1e complained about in 4bc5d3413503.
    
    (2) Therfore, the resume functions in acpi_cpufreq and speedstep-smi
    would never be called.
    
    (3) This means speedstep-smi would be unusuable after suspend or resume.
    
    The _real_ problem was calling cpufreq_driver->get() with interrupts
    off, but it re-enabling interrupts on some platforms. Why is ->get()
    necessary?
    
    Some systems like to change the CPU frequency behind our
    back, especially during BIOS-intensive operations like suspend or
    resume. If such systems also use a CPU frequency-dependant timing loop,
    delays might be off by large factors. Therefore, we need to ascertain
    as soon as possible that the CPU frequency is indeed at the speed we
    think it is. You can do this two ways: either setting it anew, or trying
    to get it. The latter is what was done, the former also has the same IRQ
    issue.
    
    So, let's try something different: defer the checking to after interrupts
    are re-enabled, by calling cpufreq_update_policy() (via schedule_work()).
    Timings may be off until this later stage, so let's watch out for
    resume regressions caused by the deferred handling of frequency changes
    behind the kernel's back.
    
    Signed-off-by: Dominik Brodowski <linux at dominikbrodowski.net>
    Signed-off-by: Dave Jones <davej at redhat.com>

commit 04a13c7c632e1fe04a5f6e6c83565d2559e37598
Author: Tejun Heo <tj at kernel.org>
Date:   Tue Sep 1 21:12:28 2009 +0900

    percpu: don't assume existence of cpu0
    
    percpu incorrectly assumed that cpu0 was always there which led to the
    following warning and eventual oops on sparc machines w/o cpu0.
    
      WARNING: at mm/percpu.c:651 pcpu_map+0xdc/0x100()
      Modules linked in:
      Call Trace:
        [000000000045eb70] warn_slowpath_common+0x50/0xa0
        [000000000045ebdc] warn_slowpath_null+0x1c/0x40
        [00000000004d493c] pcpu_map+0xdc/0x100
        [00000000004d59a4] pcpu_alloc+0x3e4/0x4e0
        [00000000004d5af8] __alloc_percpu+0x18/0x40
        [00000000005b112c] __percpu_counter_init+0x4c/0xc0
      ...
      Unable to handle kernel NULL pointer dereference
      ...
       I7: <sysfs_new_dirent+0x30/0x120>
       Disabling lock debugging due to kernel taint
       Caller[000000000053c1b0]: sysfs_new_dirent+0x30/0x120
       Caller[000000000053c7a4]: create_dir+0x24/0xc0
       Caller[000000000053c870]: sysfs_create_dir+0x30/0x80
       Caller[00000000005990e8]: kobject_add_internal+0xc8/0x200
      ...
       Kernel panic - not syncing: Attempted to kill the idle task!
    
    This patch fixes the problem by backporting parts from devel branch to
    make percpu core not depend on the existence of cpu0.
    
    Signed-off-by: Tejun Heo <tj at kernel.org>
    Reported-by: Meelis Roos <mroos at linux.ee>
    Cc: David Miller <davem at davemloft.net>

commit b91ab72b830e1494c2c7f8de05ccb2ab2c9cfb26
Author: Clemens Ladisch <clemens at ladisch.de>
Date:   Tue Sep 1 08:23:58 2009 +0200

    sound: oxygen: fix MCLK rate for 192 kHz playback
    
    Do not forget to program the MCLK ratio for the I2S output.
    Otherwise, the master clock frequency can be too high for
    the DACs at sample frequencies above 96 kHz.
    
    Signed-off-by: Clemens Ladisch <clemens at ladisch.de>
    Cc: <stable at kernel.org>
    Signed-off-by: Takashi Iwai <tiwai at suse.de>

commit 37d0892c5a94e208cf863e3b7bac014edee4346d
Author: Ian Kent <raven at themaw.net>
Date:   Tue Sep 1 11:26:22 2009 +0800

    autofs4 - fix missed case when changing to use struct path
    
    In the recent change by Al Viro that changes verious subsystems
    to use "struct path" one case was missed in the autofs4 module
    which causes mounts to no longer expire.
    
    Signed-off-by: Ian Kent <raven at themaw.net>
    Signed-off-by: Linus Torvalds <torvalds at linux-foundation.org>

commit cda9856f1ca62484433b9f734cd0fd553a5e4850
Merge: af3998909772f766f27ba432f281d60098354269 a3f730af7e33cea10ea66f05b2565fde1f9512df
Author: Linus Torvalds <torvalds at linux-foundation.org>
Date:   Mon Aug 31 17:36:10 2009 -1000

    Merge branch 'fix/hda' of git://git.kernel.org/pub/scm/linux/kernel/git/tiwai/sound-2.6
    
    * 'fix/hda' of git://git.kernel.org/pub/scm/linux/kernel/git/tiwai/sound-2.6:
      ALSA: hda - Fix MacBookPro 3,1/4,1 quirk with ALC889A
      ALSA: hda - Add missing mux check for VT1708

commit af3998909772f766f27ba432f281d60098354269
Merge: 1a37f184fa7824982a5f434c06981ec46a66cef7 d95c5b0b905aa9b70521eeb83ad4aea85f5e5fd0
Author: Linus Torvalds <torvalds at linux-foundation.org>
Date:   Mon Aug 31 17:31:02 2009 -1000

    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 (12564a): MAINTAINERS: Update gspca sn9c20x name style
      V4L/DVB (12502): gspca - sn9c20x: Fix gscpa sn9c20x build errors.
      V4L/DVB (12495): em28xx: Don't call em28xx_ir_init when disable_ir is true
      V4L/DVB (12457): zr364: wrong indexes
      V4L/DVB (12451): Update KConfig File to enable SDIO and USB interfaces
      V4L/DVB (12450): Siano: Fixed SDIO compilation bugs
      V4L/DVB (12449): adds webcam for Micron device MT9M111 0x143A to em28xx
      V4L/DVB (12446): sms1xxx: restore GPIO functionality for all Hauppauge devices

commit 1a37f184fa7824982a5f434c06981ec46a66cef7
Author: Benjamin Herrenschmidt <benh at kernel.crashing.org>
Date:   Mon Aug 31 13:48:16 2009 +1000

    lmb: Also remove __init from lmb_end_of_RAM() declaration in lmb.h
    
    My previous patch (commit 4f8ee2c9cc: "lmb: Remove __init from
    lmb_end_of_DRAM()") removed __init in lmb.c but missed the fact that it
    was also marked as such in the .h
    
    Signed-off-by: Benjamin Herrenschmidt <benh at kernel.crashing.org>
    Signed-off-by: Linus Torvalds <torvalds at linux-foundation.org>

commit 60c3be387bb6cd39707d3ec0ebc324a0c96181f8
Author: Bartlomiej Zolnierkiewicz <bzolnier at gmail.com>
Date:   Sun Aug 30 14:56:30 2009 +0200

    ata_piix: parallel scanning on PATA needs an extra locking
    
    Commit log for commit 517d3cc15b36392e518abab6bacbb72089658313
    ("[libata] ata_piix: Enable parallel scan") says:
    
        This patch turns on parallel scanning for the ata_piix driver.
        This driver is used on most netbooks (no AHCI for cheap storage it seems).
        The scan is the dominating time factor in the kernel boot for these
        devices; with this flag it gets cut in half for the device I used
        for testing (eeepc).
        Alan took a look at the driver source and concluded that it ought to be safe
        to do for this driver.  Alan has also checked with the hardware team.
    
    and it is all true but once we put all things together additional
    constraints for PATA controllers show up (some hardware registers
    have per-host not per-port atomicity) and we risk misprogramming
    the controller.
    
    I used the following test to check whether the issue is real:
    
      @@ -736,8 +736,20 @@ static void piix_set_piomode(struct ata_
       			(timings[pio][1] << 8);
       	}
       	pci_write_config_word(dev, master_port, master_data);
      -	if (is_slave)
      +	if (is_slave) {
      +		if (ap->port_no == 0) {
      +			u8 tmp = slave_data;
      +
      +			while (slave_data == tmp) {
      +				pci_read_config_byte(dev, slave_port, &tmp);
      +				msleep(50);
      +			}
      +
      +			dev_printk(KERN_ERR, &dev->dev, "PATA parallel scan "
      +				   "race detected\n");
      +		}
       		pci_write_config_byte(dev, slave_port, slave_data);
      +	}
    
       	/* Ensure the UDMA bit is off - it will be turned back on if
       	   UDMA is selected */
    
    and it indeed triggered the error message.
    
    Lets fix all such races by adding an extra locking to ->set_piomode
    and ->set_dmamode methods for PATA controllers.
    
    [ Alan: would be better to take the host lock in libata-core for these
      cases so that we fix all the adapters in one swoop.  "Looks fine as a
      temproary quickfix tho" ]
    
    Cc: Arjan van de Ven <arjan at linux.intel.com>
    Acked-by: Alan Cox <alan at linux.intel.com>
    Cc: Jeff Garzik <jgarzik at redhat.com>
    Signed-off-by: Bartlomiej Zolnierkiewicz <bzolnier at gmail.com>
    Signed-off-by: Linus Torvalds <torvalds at linux-foundation.org>

commit b5af754405e8cb8b14b3f5958581ebf63c3601e9
Merge: adda766193ea1cf3137484a9521972d080d0b7af db54501900ad3665dd669f5708ecd04fc5aed495
Author: Linus Torvalds <torvalds at linux-foundation.org>
Date:   Mon Aug 31 17:22:10 2009 -1000

    Merge branch 'for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/anholt/drm-intel
    
    * 'for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/anholt/drm-intel:
      drm/i915: Improve CRTDDC mapping by using VBT info
      drm/i915: Fix CPU-spinning hangs related to fence usage by using an LRU.
      drm/i915: Set crtc/clone mask in different output devices
      drm/i915: Always use SDVO_B detect bit for SDVO output detection.
      drm/i915: Fix typo that broke SVID1 in intel_sdvo_multifunc_encoder()
      drm/i915: Check if BIOS enabled dual-channel LVDS on 8xx, not only on 9xx
      drm/i915: Set the multiplier for SDVO on G33 platform

commit a3f730af7e33cea10ea66f05b2565fde1f9512df
Author: Takashi Iwai <tiwai at suse.de>
Date:   Mon Aug 31 08:15:26 2009 +0200

    ALSA: hda - Fix MacBookPro 3,1/4,1 quirk with ALC889A
    
    This patch fixes the wrong headphone output routing for MacBookPro 3,1/4,1
    quirk with ALC889A codec, which caused the silent headphone output.
    Also, this gives the individual Headphone and Speaker volume controls.
    
    Reference: kernel bug#14078
    	http://bugzilla.kernel.org/show_bug.cgi?id=14078
    
    Signed-off-by: Takashi Iwai <tiwai at suse.de>
    Cc: <stable at kernel.org>

commit 0f67a611629f84dd0afacd23d422b4b9c2558285
Author: Takashi Iwai <tiwai at suse.de>
Date:   Mon Aug 31 08:12:29 2009 +0200

    ALSA: hda - Add missing mux check for VT1708
    
    In patch_vt1708(), the check of MUX nids is missing and this results in
    the -EINVAL error in accessing Input Source mixer element.  Simpliy
    adding the call of get_mux_nids() fixes the problem.
    
    Reference: Novell bnc#534904
    	https://bugzilla.novell.com/show_bug.cgi?id=534904
    
    Signed-off-by: Takashi Iwai <tiwai at suse.de>

commit d95c5b0b905aa9b70521eeb83ad4aea85f5e5fd0
Author: Joe Perches <joe at perches.com>
Date:   Sun Aug 16 20:03:51 2009 -0300

    V4L/DVB (12564a): MAINTAINERS: Update gspca sn9c20x name style
    
    To unsubscribe from this list: send the line "unsubscribe linux-media" in
    the body of a message to majordomo at vger.kernel.org
    More majordomo info at  http://vger.kernel.org/majordomo-info.html
    
    Signed-off-by: Joe Perches <joe at perches.com>
    Signed-off-by: Mauro Carvalho Chehab <mchehab at redhat.com>

commit b6b85048c059e3f085095e48e12ed3f7a92c88d4
Author: Randy Dunlap <randy.dunlap at oracle.com>
Date:   Wed Aug 26 03:34:16 2009 -0300

    V4L/DVB (12502): gspca - sn9c20x: Fix gscpa sn9c20x build errors.
    
    Reported-by: Toralf Forster <toralf.foerster at gmx.de>
    Signed-off-by: Randy Dunlap <randy.dunlap at oracle.com>
    Signed-off-by: Jean-Francois Moine <moinejf at free.fr>
    Signed-off-by: Andrew Morton <akpm at linux-foundation.org>
    Signed-off-by: Mauro Carvalho Chehab <mchehab at redhat.com>

commit f4c5e80faba8ae420d7dc5d9237cc1e0262d7386
Author: Shine Liu <shinel at foxmail.com>
Date:   Thu Aug 20 23:49:26 2009 -0300

    V4L/DVB (12495): em28xx: Don't call em28xx_ir_init when disable_ir is true
    
    We should call em28xx_ir_init(dev) only when disable_ir is true.
    
    Signed-off-by: Shine Liu <shinel at foxmail.com>
    Reviewed-by: Devin Heitmueller <dheitmueller at kernellabs.com>
    Signed-off-by: Mauro Carvalho Chehab <mchehab at redhat.com>

commit 7b808924d65a4d1a0332d0043e02e9eb5dafe32b
Author: Roel Kluin <roel.kluin at gmail.com>
Date:   Tue Aug 11 08:10:25 2009 -0300

    V4L/DVB (12457): zr364: wrong indexes
    
    The order of indexes is reversed
    
    Signed-off-by: Roel Kluin <roel.kluin at gmail.com>
    Signed-off-by: Antoine Jacquet <royale at zerezo.com>
    Signed-off-by: Mauro Carvalho Chehab <mchehab at redhat.com>

commit 31e0ad693fb4e1d1be19dbe1c4f5a1ab9978e810
Author: Udi Atar <udia at siano-ms.com>
Date:   Thu Aug 13 16:30:25 2009 -0300

    V4L/DVB (12451): Update KConfig File to enable SDIO and USB interfaces
    
    Update KConfig file to enbale selection of SDIO and USB
    interfaces, and add dependancy on relevant modules.
    
    [mchehab at redhat.com: fix merge conflicts, remove default: m, add missing endmenu]
    
    Signed-off-by: Udi Atar <udia at siano-ms.com>
    Signed-off-by: Mauro Carvalho Chehab <mchehab at redhat.com>

commit ef2d12ce12117bb97fa35bbcf677c28e14667efa
Author: Udi Atar <udia at siano-ms.com>
Date:   Sun Jun 28 04:22:55 2009 -0300

    V4L/DVB (12450): Siano: Fixed SDIO compilation bugs
    
    Fixed SDIO compilation bugs
    Also fixed a memory overrun issue in buffer management.
    
    Signed-off-by: Udi Atar <udia at siano-ms.com>
    Signed-off-by: Mauro Carvalho Chehab <mchehab at redhat.com>

commit f2e26ae7c8c077d001c77b330130f98e42ccad70
Author: Mauro Carvalho Chehab <mchehab at redhat.com>
Date:   Wed Aug 12 20:21:44 2009 -0300

    V4L/DVB (12449): adds webcam for Micron device MT9M111 0x143A to em28xx
    
    [mchehab at redhat.com: fix merge conflict and a few CodingStyle issues]
    Signed-off-by: Steve Gotthardt <gotthardt at gmail.com>
    Signed-off-by: Mauro Carvalho Chehab <mchehab at redhat.com>

commit 3746b6178070958279010d112703bca9cdc15e0a
Author: Michael Krufky <mkrufky at kernellabs.com>
Date:   Sun Jul 12 23:30:14 2009 -0300

    V4L/DVB (12446): sms1xxx: restore GPIO functionality for all Hauppauge devices
    
    Previous changesets broke Hauppauge devices and their GPIO configurations.
    
    This changeset restores the LED & LNA functionality.
    
    Signed-off-by: Michael Krufky <mkrufky at kernellabs.com>
    Signed-off-by: Mauro Carvalho Chehab <mchehab at redhat.com>

commit 38bddf04bcfe661fbdab94888c3b72c32f6873b3
Author: Toru UCHIYAMA <uchiyama.toru at jp.fujitsu.com>
Date:   Sun Aug 30 22:04:07 2009 -0700

    gianfar: gfar_remove needs to call unregister_netdev()
    
    This patch solves the problem that the Oops(BUG_ON) occurs by rmmod.
    
    	# rmmod gianfar_driver
    	------------[ cut here ]------------
    	Kernel BUG at c01fec48 [verbose debug info unavailable]
    	Oops: Exception in kernel mode, sig: 5 [#1]
    	MPC837x MDS
    	Modules linked in: gianfar_driver(-) usb_storage scsi_wait_scan
    	NIP: c01fec48 LR: c01febf4 CTR: c01feba8
    	REGS: dec5bd60 TRAP: 0700   Tainted: G        W   (2.6.31-rc2)
    	MSR: 00029032 <EE,ME,CE,IR,DR>  CR: 22000424  XER: 20000000
    	TASK = dec4cac0[1135] 'rmmod' THREAD: dec5a000
    	GPR00: 00000002 dec5be10 dec4cac0 dfba1820 c035d444 c035d478 ffffffff 00000000
    	GPR08: 0000002b 00000001 dfba193c 00000001 22000424 10019b34 1ffcb000 00000000
    	GPR16: 10012008 00000000 bf82ebe0 100017ec bf82ebec bf82ebe8 bf82ebd0 00000880
    	GPR24: 00000000 bf82ebf0 c03532f0 c03532e4 c036b594 dfba183c dfba1800 dfba1820
    	NIP [c01fec48] free_netdev+0xa0/0xb8
    	LR [c01febf4] free_netdev+0x4c/0xb8
    	Call Trace:
    	[dec5be10] [c01febf4] free_netdev+0x4c/0xb8 (unreliable)
    	[dec5be30] [e105f290] gfar_remove+0x50/0x68 [gianfar_driver]
    	[dec5be40] [c01ec534] of_platform_device_remove+0x30/0x44
    	[dec5be50] [c0181760] __device_release_driver+0x68/0xc8
    	[dec5be60] [c0181868] driver_detach+0xa8/0xac
    	[dec5be80] [c0180814] bus_remove_driver+0x9c/0xd8
    	[dec5bea0] [c0181efc] driver_unregister+0x60/0x98
    	[dec5beb0] [c01ec650] of_unregister_driver+0x14/0x24
    	[dec5bec0] [e10631bc] gfar_exit+0x18/0x4bc [gianfar_driver]
    	[dec5bed0] [c0047584] sys_delete_module+0x16c/0x228
    	[dec5bf40] [c00116bc] ret_from_syscall+0x0/0x38
    	--- Exception: c01 at 0xff3669c
    	    LR = 0x10000f34
    	Instruction dump:
    	409e0024 a07e00c0 7c63f050 4be74429 80010024 bba10014 38210020 7c0803a6
    	4e800020 68000003 3160ffff 7d2b0110 <0f090000> 38000004 387e01f0 901e01d4
    	---[ end trace 8c595bcd37230a0f ]---
    	 localhost kernel: ------------[ cut here ]------------
    
    Signed-off-by: Toru UCHIYAMA uchiyama.toru at jp.fujitsu.com
    Signed-off-by: David S. Miller <davem at davemloft.net>

commit b1f1b8ce0a1d71cbc72f7540134d52b79bd8f5ac
Author: Ryusuke Konishi <konishi.ryusuke at lab.ntt.co.jp>
Date:   Sun Aug 30 04:21:41 2009 +0900

    nilfs2: fix preempt count underflow in nilfs_btnode_prepare_change_key
    
    This will fix the following preempt count underflow reported from
    users with the title "[NILFS users] segctord problem" (Message-ID:
    <949415.6494.qm at web58808.mail.re1.yahoo.com> and Message-ID:
    <debc30fc0908270825v747c1734xa59126623cfd5b05 at mail.gmail.com>):
    
     WARNING: at kernel/sched.c:4890 sub_preempt_count+0x95/0xa0()
     Hardware name: HP Compaq 6530b (KR980UT#ABC)
     Modules linked in: bridge stp llc bnep rfcomm l2cap xfs exportfs nilfs2 cowloop loop vboxnetadp vboxnetflt vboxdrv btusb bluetooth uvcvideo videodev v4l1_compat v4l2_compat_ioctl32 arc4 snd_hda_codec_analog ecb iwlagn iwlcore rfkill lib80211 mac80211 snd_hda_intel snd_hda_codec ehci_hcd uhci_hcd usbcore snd_hwdep snd_pcm tg3 cfg80211 psmouse snd_timer joydev libphy ohci1394 snd_page_alloc hp_accel lis3lv02d ieee1394 led_class i915 drm i2c_algo_bit video backlight output i2c_core dm_crypt dm_mod
     Pid: 4197, comm: segctord Not tainted 2.6.30-gentoo-r4-64 #7
     Call Trace:
      [<ffffffff8023fa05>] ? sub_preempt_count+0x95/0xa0
      [<ffffffff802470f8>] warn_slowpath_common+0x78/0xd0
      [<ffffffff8024715f>] warn_slowpath_null+0xf/0x20
      [<ffffffff8023fa05>] sub_preempt_count+0x95/0xa0
      [<ffffffffa04ce4db>] nilfs_btnode_prepare_change_key+0x11b/0x190 [nilfs2]
      [<ffffffffa04d01ad>] nilfs_btree_assign_p+0x19d/0x1e0 [nilfs2]
      [<ffffffffa04d10ad>] nilfs_btree_assign+0xbd/0x130 [nilfs2]
      [<ffffffffa04cead7>] nilfs_bmap_assign+0x47/0x70 [nilfs2]
      [<ffffffffa04d9bc6>] nilfs_segctor_do_construct+0x956/0x20f0 [nilfs2]
      [<ffffffff805ac8e2>] ? _spin_unlock_irqrestore+0x12/0x40
      [<ffffffff803c06e0>] ? __up_write+0xe0/0x150
      [<ffffffff80262959>] ? up_write+0x9/0x10
      [<ffffffffa04ce9f3>] ? nilfs_bmap_test_and_clear_dirty+0x43/0x60 [nilfs2]
      [<ffffffffa04cd627>] ? nilfs_mdt_fetch_dirty+0x27/0x60 [nilfs2]
      [<ffffffffa04db5fc>] nilfs_segctor_construct+0x8c/0xd0 [nilfs2]
      [<ffffffffa04dc3dc>] nilfs_segctor_thread+0x15c/0x3a0 [nilfs2]
      [<ffffffffa04dbe20>] ? nilfs_construction_timeout+0x0/0x10 [nilfs2]
      [<ffffffff80252633>] ? add_timer+0x13/0x20
      [<ffffffff802370da>] ? __wake_up_common+0x5a/0x90
      [<ffffffff8025e960>] ? autoremove_wake_function+0x0/0x40
      [<ffffffffa04dc280>] ? nilfs_segctor_thread+0x0/0x3a0 [nilfs2]
      [<ffffffffa04dc280>] ? nilfs_segctor_thread+0x0/0x3a0 [nilfs2]
      [<ffffffff8025e556>] kthread+0x56/0x90
      [<ffffffff8020cdea>] child_rip+0xa/0x20
      [<ffffffff8025e500>] ? kthread+0x0/0x90
      [<ffffffff8020cde0>] ? child_rip+0x0/0x20
    
    This problem was caused due to a missing radix_tree_preload() call in
    the retry path of nilfs_btnode_prepare_change_key() function.
    
    Reported-by: Eric A <eric225125 at yahoo.com>
    Reported-by: Jerome Poulin <jeromepoulin at gmail.com>
    Signed-off-by: Ryusuke Konishi <konishi.ryusuke at lab.ntt.co.jp>
    Tested-by: Jerome Poulin <jeromepoulin at gmail.com>
    Cc: stable at kernel.org

commit 6faf17f6f1ffc586d16efc2f9fa2083a7785ee74
Author: Chris Wright <chrisw at sous-sol.org>
Date:   Fri Aug 28 13:00:06 2009 -0700

    PCI SR-IOV: correct broken resource alignment calculations
    
    An SR-IOV capable device includes an SR-IOV PCIe capability which
    describes the Virtual Function (VF) BAR requirements.  A typical SR-IOV
    device can support multiple VFs whose BARs must be in a contiguous region,
    effectively an array of VF BARs.  The BAR reports the size requirement
    for a single VF.  We calculate the full range needed by simply multiplying
    the VF BAR size with the number of possible VFs and create a resource
    spanning the full range.
    
    This all seems sane enough except it artificially inflates the alignment
    requirement for the VF BAR.  The VF BAR need only be aligned to the size
    of a single BAR not the contiguous range of VF BARs.  This can cause us
    to fail to allocate resources for the BAR despite the fact that we
    actually have enough space.
    
    This patch adds a thin PCI specific layer over the generic
    resource_alignment() function which is aware of the special nature of
    VF BARs and does sorting and allocation based on the smaller alignment
    requirement.
    
    I recognize that while resource_alignment is generic, it's basically a
    PCI helper.  An alternative to this patch is to add PCI VF BAR specific
    information to struct resource.  I opted for the extra layer rather than
    adding such PCI specific information to struct resource.  This does
    have the slight downside that we don't cache the BAR size and re-read
    for each alignment query (happens a small handful of times during boot
    for each VF BAR).
    
    Signed-off-by: Chris Wright <chrisw at sous-sol.org>
    Cc: Ivan Kokshaysky <ink at jurassic.park.msu.ru>
    Cc: Linus Torvalds <torvalds at linux-foundation.org>
    Cc: Matthew Wilcox <matthew at wil.cx>
    Cc: Yu Zhao <yu.zhao at intel.com>
    Cc: stable at kernel.org
    Signed-off-by: Jesse Barnes <jbarnes at virtuousgeek.org>

commit db54501900ad3665dd669f5708ecd04fc5aed495
Author: David Müller (ELSOFT AG) <d.mueller at elsoft.ch>
Date:   Sat Aug 29 08:54:45 2009 +0200

    drm/i915: Improve CRTDDC mapping by using VBT info
    
    Use VBT information to determine which DDC bus to use for CRTDCC.
    Fall back to GPIOA if VBT info is not available.
    
    Signed-off-by: David Müller <d.mueller at elsoft.ch>
    Reviewed-by: Jesse Barnes <jbarnes at virtuousgeek.org>
    Signed-off-by: Eric Anholt <eric at anholt.net>
    Tested on: 855 (David), and 945GM, 965GM, GM45, and G45 (anholt)

commit a09ba7faf75fa4b21980d81de8e5f3d5c0785ccf
Author: Eric Anholt <eric at anholt.net>
Date:   Sat Aug 29 12:49:51 2009 -0700

    drm/i915: Fix CPU-spinning hangs related to fence usage by using an LRU.
    
    The lack of a proper LRU was partially worked around by taking the fence
    from the object containing the oldest seqno.  But if there are multiple
    objects inactive, then they don't have seqnos and the first fence reg
    among them would be chosen.  If you were trying to copy data between two
    mappings, this could result in each page fault stealing the fence from
    the other argument, and your application hanging.
    
    https://bugs.freedesktop.org/show_bug.cgi?id=23566
    https://bugs.freedesktop.org/show_bug.cgi?id=23220
    https://bugs.freedesktop.org/show_bug.cgi?id=23253
    https://bugs.freedesktop.org/show_bug.cgi?id=23366
    
    Cc: Stable Team <stable at kernel.org>
    Signed-off-by: Eric Anholt <eric at anholt.net>
    Reviewed-by: Jesse Barnes <jbarnes at virtuousgeek.org>
    Reviewed-by: Chris Wilson <chris at chris-wilson.co.uk>

commit eced1dfcfcf6b0a35e925d73916a9d8e36ab5457
Author: Peter Zijlstra <peterz at infradead.org>
Date:   Fri Aug 28 17:10:47 2009 +0200

    perf_counter: Fix /0 bug in swcounters
    
    We have a race in the swcounter stuff where we can start
    counting a counter that has never been enabled, this leads to a
    /0 situation.
    
    The below avoids the /0 but doesn't close the race, this would
    need a new counter state.
    
    The race is due to perf_swcounter_is_counting() which cannot
    discern between disabled due to scheduled out, and disabled for
    any other reason.
    
    Such a crash has been seen by Ingo:
    
    [  967.092372] divide error: 0000 [#1] SMP
    [  967.096499] last sysfs file: /sys/devices/system/cpu/cpu15/cache/index2/shared_cpu_map
    [  967.104846] CPU 5
    [  967.106965] Modules linked in:
    [  967.110169] Pid: 3351, comm: hackbench Not tainted 2.6.31-rc8-tip-01158-gd940a54-dirty #1568 X8DTN
    [  967.119456] RIP: 0010:[<ffffffff810c0aba>]  [<ffffffff810c0aba>] perf_swcounter_ctx_event+0x127/0x1af
    [  967.129137] RSP: 0018:ffff8801a95abd70  EFLAGS: 00010046
    [  967.134699] RAX: 0000000000000002 RBX: ffff8801bd645c00 RCX: 0000000000000002
    [  967.142162] RDX: 0000000000000000 RSI: 0000000000000000 RDI: ffff8801bd645d40
    [  967.149584] RBP: ffff8801a95abdb0 R08: 0000000000000001 R09: ffff8801a95abe00
    [  967.157042] R10: 0000000000000037 R11: ffff8801aa1245f8 R12: ffff8801a95abe00
    [  967.164481] R13: ffff8801a95abe00 R14: ffff8801aa1c0e78 R15: 0000000000000001
    [  967.171953] FS:  0000000000000000(0000) GS:ffffc90000a00000(0063) knlGS:00000000f7f486c0
    [  967.180406] CS:  0010 DS: 002b ES: 002b CR0: 000000008005003b
    [  967.186374] CR2: 000000004822c0ac CR3: 00000001b19a2000 CR4: 00000000000006e0
    [  967.193770] DR0: 0000000000000000 DR1: 0000000000000000 DR2: 0000000000000000
    [  967.201224] DR3: 0000000000000000 DR6: 00000000ffff0ff0 DR7: 0000000000000400
    [  967.208692] Process hackbench (pid: 3351, threadinfo ffff8801a95aa000, task ffff8801a96b0000)
    [  967.217607] Stack:
    [  967.219711]  0000000000000000 0000000000000037 0000000200000001 ffffc90000a1107c
    [  967.227296] <0> ffff8801a95abe00 0000000000000001 0000000000000001 0000000000000037
    [  967.235333] <0> ffff8801a95abdf0 ffffffff810c0c20 0000000200a14f30 ffff8801a95abe40
    [  967.243532] Call Trace:
    [  967.246103]  [<ffffffff810c0c20>] do_perf_swcounter_event+0xde/0xec
    [  967.252635]  [<ffffffff810c0ca7>] perf_tpcounter_event+0x79/0x7b
    [  967.258957]  [<ffffffff81037f73>] ftrace_profile_sched_switch+0xc0/0xcb
    [  967.265791]  [<ffffffff8155f22d>] schedule+0x429/0x4c4
    [  967.271156]  [<ffffffff8100c01e>] int_careful+0xd/0x14
    
    Reported-by: Ingo Molnar <mingo at elte.hu>
    Signed-off-by: Peter Zijlstra <a.p.zijlstra at chello.nl>
    Cc: Paul Mackerras <paulus at samba.org>
    LKML-Reference: <1251472247.17617.74.camel at laptop>
    Signed-off-by: Ingo Molnar <mingo at elte.hu>

commit 0c7d400fafaeab6014504a6a6249f01bac7f7db4
Author: Herbert Xu <herbert at gondor.apana.org.au>
Date:   Sat Aug 29 20:44:04 2009 +1000

    crypto: skcipher - Fix skcipher_dequeue_givcrypt NULL test
    
    As struct skcipher_givcrypt_request includes struct crypto_request
    at a non-zero offset, testing for NULL after converting the pointer
    returned by crypto_dequeue_request does not work.  This can result
    in IPsec crashes when the queue is depleted.
    
    This patch fixes it by doing the pointer conversion only when the
    return value is non-NULL.  In particular, we create a new function
    __crypto_dequeue_request that does the pointer conversion.
    
    Reported-by: Brad Bosch <bradbosch at comcast.net>
    Signed-off-by: Herbert Xu <herbert at gondor.apana.org.au>

commit ab1f5e49f84e7072a0aade47cfeecef70be46c0f
Merge: 3161e453e496eb5643faad30fff5a5ab183da0fe 11ebd1bf07fafde8d16562966c96b05b0d4ced9e
Author: David S. Miller <davem at davemloft.net>
Date:   Fri Aug 28 23:04:57 2009 -0700

    Merge branch 'master' of git://git.kernel.org/pub/scm/linux/kernel/git/linville/wireless-2.6

commit adda766193ea1cf3137484a9521972d080d0b7af
Merge: 8442edc18843491978f7820f87dbdf293461290e e29b3ee3b005897fbdcfdd4b3190776e38739d70
Author: Linus Torvalds <torvalds at linux-foundation.org>
Date:   Fri Aug 28 19:41:05 2009 -1000

    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: don't free non-existent backlight in acpi video module
      toshiba_acpi: return on a fail path
      ACPICA: Windows compatibility fix: same buffer/string store

commit 8442edc18843491978f7820f87dbdf293461290e
Merge: 825e1e23914b9c3dbc49ee8c5a1d1cb421c1270a 750a8870fe4016ef3091fc97e084d58c613c2cc7
Author: Linus Torvalds <torvalds at linux-foundation.org>
Date:   Fri Aug 28 19:39:44 2009 -1000

    Merge branch 'for-linus' of git://git.infradead.org/users/eparis/notify
    
    * 'for-linus' of git://git.infradead.org/users/eparis/notify:
      inotify: update the group mask on mark addition
      inotify: fix length reporting and size checking
      inotify: do not send a block of zeros when no pathname is available

commit 825e1e23914b9c3dbc49ee8c5a1d1cb421c1270a
Author: Grant Grundler <grundler at parisc-linux.org>
Date:   Fri Aug 28 15:00:36 2009 -0400

    parisc: fix warning in traps.c
    
    On Tue, Aug 18, 2009 at 01:45:17PM -0400, John David Anglin wrote:
    >  CC      arch/parisc/kernel/traps.o
    > arch/parisc/kernel/traps.c: In function 'handle_interruption':
    > arch/parisc/kernel/traps.c:535:18: warning: operation on 'regs->iasq[0]'
    > may be undefined
    
    Yes - Line 535 should use both [0] and [1].
    
    Reported-by: John David Anglin <dave at hiauly1.hia.nrc.ca>
    Signed-off-by: Grant Grundler <grundler at parisc-linux.org>
    Signed-off-by: Kyle McMartin <kyle at mcmartin.ca>
    Signed-off-by: Linus Torvalds <torvalds at linux-foundation.org>

commit 2574cc9f4ffc6c681c9177111357efe5b76f0e36
Author: Trond Myklebust <Trond.Myklebust at netapp.com>
Date:   Fri Aug 28 11:12:12 2009 -0400

    SUNRPC: Fix rpc_task_force_reencode
    
    This patch fixes the bug that was reported in
      http://bugzilla.kernel.org/show_bug.cgi?id=14053
    
    If we're in the case where we need to force a reencode and then resend of
    the RPC request, due to xprt_transmit failing with a networking error, then
    we _must_ retransmit the entire request.
    
    Signed-off-by: Trond Myklebust <Trond.Myklebust at netapp.com>
    Cc: stable at kernel.org
    Signed-off-by: Linus Torvalds <torvalds at linux-foundation.org>

commit ea6bff368548d79529421a9dc0710fc5330eb504
Author: Ingo Molnar <mingo at elte.hu>
Date:   Fri Aug 28 10:44:56 2009 +0200

    modules: Fix build error in the !CONFIG_KALLSYMS case
    
    > James Bottomley (1):
    >       module: workaround duplicate section names
    
    -tip testing found that this patch breaks the build on x86 if
    CONFIG_KALLSYMS is disabled:
    
     kernel/module.c: In function ‘load_module’:
     kernel/module.c:2367: error: ‘struct module’ has no member named ‘sect_attrs’
     distcc[8269] ERROR: compile kernel/module.c on ph/32 failed
     make[1]: *** [kernel/module.o] Error 1
     make: *** [kernel] Error 2
     make: *** Waiting for unfinished jobs....
    
    Commit 1b364bf misses the fact that section attributes are only
    built and dealt with if kallsyms is enabled. The patch below fixes
    this.
    
    ( note, technically speaking this should depend on CONFIG_SYSFS as
      well but this patch is correct too and keeps the #ifdef less
      intrusive - in the KALLSYMS && !SYSFS case the code is a NOP. )
    
    Signed-off-by: Ingo Molnar <mingo at elte.hu>
    [ Replaced patch with a slightly cleaner variation by James Bottomley ]
    Signed-off-by: Linus Torvalds <torvalds at linux-foundation.org>

commit 4ed86af67e04cb5eb93faba589d102726207865a
Merge: 326ba5010a5429a5a528b268b36a5900d4ab0eba 295594e9cf6ae2efd73371777aa8feba0f87f42f
Author: Linus Torvalds <torvalds at linux-foundation.org>
Date:   Fri Aug 28 19:32:32 2009 -1000

    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: Fix vSMP boot crash
      x86, xen: Initialize cx to suppress warning
      x86, xen: Suppress WP test on Xen

commit e29b3ee3b005897fbdcfdd4b3190776e38739d70
Author: Keith Packard <keithp at keithp.com>
Date:   Thu Aug 6 15:57:54 2009 -0700

    ACPI: don't free non-existent backlight in acpi video module
    
    acpi_video_put_one_device was attempting to remove sysfs entries and
    unregister a backlight device without first checking that said backlight
    device structure had been created.
    
    Signed-off-by: Keith Packard <keithp at keithp.com>
    Acked-by: Zhang Rui <rui.zhang at intel.com>
    Signed-off-by: Andrew Morton <akpm at linux-foundation.org>
    Signed-off-by: Len Brown <len.brown at intel.com>

commit 82e7784f57a81faf673b09bc468e736d582fe754
Author: Jiri Slaby <jirislaby at gmail.com>
Date:   Thu Aug 6 15:57:51 2009 -0700

    toshiba_acpi: return on a fail path
    
    Return from bt_rfkill_poll() when hci_get_radio_state() fails.
    
    value is invalid in that case and should not be assigned to the rfkill
    state.
    
    This also fixes a double unlock bug.
    
    Signed-off-by: Jiri Slaby <jirislaby at gmail.com>
    Cc: John W. Linville <linville at tuxdriver.com>
    Cc: Johannes Berg <johannes at sipsolutions.net>
    Cc: Henrique de Moraes Holschuh <hmh at hmh.eng.br>
    Signed-off-by: Andrew Morton <akpm at linux-foundation.org>
    Signed-off-by: Len Brown <len.brown at intel.com>

commit b0de22bdffa2e9a8e280d769c59f866605268484
Author: Lin Ming <ming.m.lin at intel.com>
Date:   Wed Aug 26 09:01:34 2009 +0800

    ACPICA: Windows compatibility fix: same buffer/string store
    
    Fix a compatibility issue when the same buffer or string is
    stored to itself. This has been seen in the field. Previously,
    ACPICA would zero out the buffer/string. Now, the operation is
    treated as a NOP.
    
    http://bugzilla.acpica.org/show_bug.cgi?id=803
    
    Reported-by: Rezwanul Kabir <Rezwanul_Kabir at Dell.com>
    Signed-off-by: Lin Ming <ming.m.lin at intel.com>
    Signed-off-by: Bob Moore <robert.moore at intel.com>
    Signed-off-by: Len Brown <len.brown at intel.com>

commit 11ebd1bf07fafde8d16562966c96b05b0d4ced9e
Author: Zhu Yi <yi.zhu at intel.com>
Date:   Fri Aug 28 11:42:31 2009 +0800

    ipw2200: firmware DMA loading rework
    
    Bartlomiej Zolnierkiewicz reported an atomic order-6 allocation failure
    for ipw2200 firmware loading in kernel 2.6.30. High order allocation is
    likely to fail and should always be avoided.
    
    The patch fixes this problem by replacing the original order-6
    pci_alloc_consistent() with an array of order-1 pages from a pci pool.
    This utilized the ipw2200 DMA command blocks (up to 64 slots). The
    maximum firmware size support remains the same (64*8K).
    
    This patch fixes bug http://bugzilla.kernel.org/show_bug.cgi?id=14016
    
    Cc: Andrew Morton <akpm at linux-foundation.org>
    Cc: Mel Gorman <mel at csn.ul.ie>
    Signed-off-by: Zhu Yi <yi.zhu at intel.com>
    Signed-off-by: John W. Linville <linville at tuxdriver.com>

commit 750a8870fe4016ef3091fc97e084d58c613c2cc7
Author: Eric Paris <eparis at redhat.com>
Date:   Fri Aug 28 12:50:47 2009 -0400

    inotify: update the group mask on mark addition
    
    Seperating the addition and update of marks in inotify resulted in a
    regression in that inotify never gets events.  The inotify group mask is
    always 0.  This mask should be updated any time a new mark is added.
    
    Signed-off-by: Eric Paris <eparis at redhat.com>

commit 83cb10f0ef3c96162be92339ccf8c0c9c9f2d13e
Author: Eric Paris <eparis at redhat.com>
Date:   Fri Aug 28 11:57:55 2009 -0400

    inotify: fix length reporting and size checking
    
    0db501bd0610ee0c0 introduced a regresion in that it now sends a nul
    terminator but the length accounting when checking for space or
    reporting to userspace did not take this into account.  This corrects
    all of the rounding logic.
    
    Signed-off-by: Eric Paris <eparis at redhat.com>

commit b962e7312ae87006aed6f68ceee94bdf8db08338
Author: Brian Rogers <brian at xyzw.org>
Date:   Fri Aug 28 10:00:05 2009 -0400

    inotify: do not send a block of zeros when no pathname is available
    
    When an event has no pathname, there's no need to pad it with a null byte and
    therefore generate an inotify_event sized block of zeros. This fixes a
    regression introduced by commit 0db501bd0610ee0c0aca84d927f90bcccd09e2bd where
    my system wouldn't finish booting because some process was being confused by
    this.
    
    Signed-off-by: Brian Rogers <brian at xyzw.org>
    Signed-off-by: Eric Paris <eparis at redhat.com>

commit 6bb56347f5162d1a7cb1dc461023360781ecd4c0
Author: Ingo Molnar <mingo at elte.hu>
Date:   Fri Aug 28 13:44:53 2009 +0200

    perf_counters: Increase paranoia level
    
    Per-cpu counters are an ASLR information leak as they show
    the execution other tasks do. Increase the paranoia level
    to 1, which disallows per-cpu counters. (they still allow
    counting/profiling of own tasks - and admin can profile
    everything.)
    
    Acked-by: Peter Zijlstra <a.p.zijlstra at chello.nl>
    Cc: Mike Galbraith <efault at gmx.de>
    Cc: Paul Mackerras <paulus at samba.org>
    Cc: Arnaldo Carvalho de Melo <acme at redhat.com>
    Cc: Frederic Weisbecker <fweisbec at gmail.com>
    LKML-Reference: <new-submission>
    Signed-off-by: Ingo Molnar <mingo at elte.hu>

commit a1b08e75dff3dc18a88444803753e667bb1d126e
Author: Tao Ma <tao.ma at oracle.com>
Date:   Thu Aug 27 14:46:56 2009 +0800

    ocfs2: invalidate dentry if its dentry_lock isn't initialized.
    
    In commit a5a0a630922a2f6a774b6dac19f70cb5abd86bb0, when
    ocfs2_attch_dentry_lock fails, we call an extra iput and reset
    dentry->d_fsdata to NULL. This resolve a bug, but it isn't
    completed and the dentry is still there. When we want to use
    it again, ocfs2_dentry_revalidate doesn't catch it and return
    true. That make future ocfs2_dentry_lock panic out.
    One bug is http://oss.oracle.com/bugzilla/show_bug.cgi?id=1162.
    
    The resolution is to add a check for dentry->d_fsdata in
    revalidate process and return false if dentry->d_fsdata is NULL,
    so that a new ocfs2_lookup will be called again.
    
    Signed-off-by: Tao Ma <tao.ma at oracle.com>
    Signed-off-by: Joel Becker <joel.becker at oracle.com>

commit 326ba5010a5429a5a528b268b36a5900d4ab0eba
Author: Linus Torvalds <torvalds at linux-foundation.org>
Date:   Thu Aug 27 17:59:04 2009 -0700

    Linux 2.6.31-rc8

commit 1b364bf438cf337a3818aee77d68c0713f3e1fc4
Author: James Bottomley <James.Bottomley at HansenPartnership.com>
Date:   Wed Aug 26 22:04:12 2009 +0930

    module: workaround duplicate section names
    
    The root cause is a duplicate section name (.text); is this legal?
    [ Amerigo Wang: "AFAIK, yes." ]
    
    However, there's a problem with commit
    6d76013381ed28979cd122eb4b249a88b5e384fa in that if you fail to allocate
    a mod->sect_attrs (in this case it's null because of the duplication),
    it still gets used without checking in add_notes_attrs()
    
    This should fix it
    
    [ This patch leaves other problems, particularly the sections directory,
      but recent parisc toolchains seem to produce these modules and this
      prevents a crash and is a minimal change -- RR ]
    
    Signed-off-by: James Bottomley <James.Bottomley at suse.de>
    Signed-off-by: Rusty Russell <rusty at rustcorp.com.au>
    Tested-by: Helge Deller <deller at gmx.de>
    Signed-off-by: Linus Torvalds <torvalds at linux-foundation.org>

commit 7d1d16e416e61aeef8655d542f8e4a4fc6e808e4
Author: Rusty Russell <rusty at rustcorp.com.au>
Date:   Wed Aug 26 22:02:54 2009 +0930

    module: fix BUG_ON() for powerpc (and other function descriptor archs)
    
    The rarely-used symbol_put_addr() needs to use dereference_function_descriptor
    on powerpc.
    
    Reported-by: Paul Mackerras <paulus at samba.org>
    Signed-off-by: Rusty Russell <rusty at rustcorp.com.au.
    Signed-off-by: Linus Torvalds <torvalds at linux-foundation.org>

commit 0a80fb10239b04c45e5e80aad8d4b2ca5ac407b2
Author: Jeremy Fitzhardinge <jeremy at goop.org>
Date:   Thu Aug 27 12:22:43 2009 -0700

    xenfb: connect to backend before registering fb
    
    As soon as the framebuffer is registered, our methods may be called by the
    kernel. This leads to a crash as xenfb_refresh() gets called before we have
    the irq.
    
    Connect to the backend before registering our framebuffer with the kernel.
    
    [ Fixes bug http://bugzilla.kernel.org/show_bug.cgi?id=14059 ]
    
    Signed-off-by: Michal Schmidt <mschmidt at redhat.com>
    Signed-off-by: Jeremy Fitzhardinge <jeremy.fitzhardinge at citrix.com>
    Signed-off-by: Linus Torvalds <torvalds at linux-foundation.org>

commit 9c504cadc443a3d002fa581ec5109c0ef02d7b14
Merge: 4f8ee2c9cc0e885d2bb50ef26db66150ab25213e 0db501bd0610ee0c0aca84d927f90bcccd09e2bd
Author: Linus Torvalds <torvalds at linux-foundation.org>
Date:   Thu Aug 27 12:26:02 2009 -0700

    Merge branch 'for-linus' of git://git.infradead.org/users/eparis/notify
    
    * 'for-linus' of git://git.infradead.org/users/eparis/notify:
      inotify: Ensure we alwasy write the terminating NULL.
      inotify: fix locking around inotify watching in the idr
      inotify: do not BUG on idr entries at inotify destruction
      inotify: seperate new watch creation updating existing watches

commit 4f8ee2c9cc0e885d2bb50ef26db66150ab25213e
Author: Benjamin Herrenschmidt <benh at kernel.crashing.org>
Date:   Thu Aug 27 17:20:30 2009 +1000

    lmb: Remove __init from lmb_end_of_DRAM()
    
    We call lmb_end_of_DRAM() to test whether a DMA mask is ok on a machine
    without IOMMU, but this function is marked as __init.
    
    I don't think there's a clean way to get the top of RAM max_pfn doesn't
    appear to include highmem or I missed (or we have a bug :-) so for now,
    let's just avoid having a broken 2.6.31 by making this function
    non-__init and we can revisit later.
    
    Signed-off-by: Benjamin Herrenschmidt <benh at kernel.crashing.org>
    Signed-off-by: Linus Torvalds <torvalds at linux-foundation.org>

commit cf481442f2e086316ed8a1b3046f00ad23632ac4
Merge: 788d908f2879a17e5f80924f3da2e23f1034482d 7815f4be4026b6c5027058102ae67a4b9feffa5f
Author: Linus Torvalds <torvalds at linux-foundation.org>
Date:   Thu Aug 27 12:24:08 2009 -0700

    Merge branch 'for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/ericvh/v9fs
    
    * 'for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/ericvh/v9fs:
      9p: update documentation pointers
      9p: remove unnecessary v9fses->options which duplicates the mount string
      net/9p: insulate the client against an invalid error code sent by a 9p server
      9p: Add missing cast for the error return value in v9fs_get_inode
      9p: Remove redundant inode uid/gid assignment
      9p: Fix possible regressions when ->get_sb fails.
      9p: Fix v9fs show_options
      9p: Fix possible memleak in v9fs_inode_from fid.
      9p: minor comment fixes
      9p: Fix possible inode leak in v9fs_get_inode.
      9p: Check for error in return value of v9fs_fid_add

commit 788d908f2879a17e5f80924f3da2e23f1034482d
Author: Julien TINNES <julien at cr0.org>
Date:   Thu Aug 27 15:26:58 2009 +0200

    ipv4: make ip_append_data() handle NULL routing table
    
    Add a check in ip_append_data() for NULL *rtp to prevent future bugs in
    callers from being exploitable.
    
    Signed-off-by: Julien Tinnes <julien at cr0.org>
    Signed-off-by: Tavis Ormandy <taviso at sdf.lonestar.org>
    Acked-by: David S. Miller <davem at davemloft.net>
    Signed-off-by: Linus Torvalds <torvalds at linux-foundation.org>

commit 9886e836a6a5dbd273dc55b17e713f0a188d137f
Author: David Howells <dhowells at redhat.com>
Date:   Thu Aug 27 13:09:06 2009 +0100

    AFS: Stop readlink() on AFS crashing due to NULL 'file' ptr
    
    kAFS crashes when asked to read a symbolic link because page_getlink()
    passes a NULL file pointer to read_mapping_page(), but afs_readpage()
    expects a file pointer from which to extract a key.
    
    Modify afs_readpage() to request the appropriate key from the calling
    process's keyrings if a file struct is not supplied with one attached.
    
    Signed-off-by: David Howells <dhowells at redhat.com>
    Acked-by: Anton Blanchard <anton at samba.org>
    Signed-off-by: Linus Torvalds <torvalds at linux-foundation.org>

commit 0db501bd0610ee0c0aca84d927f90bcccd09e2bd
Author: Eric W. Biederman <ebiederm at xmission.com>
Date:   Thu Aug 27 03:20:04 2009 -0700

    inotify: Ensure we alwasy write the terminating NULL.
    
    Before the rewrite copy_event_to_user always wrote a terqminating '\0'
    byte to user space after the filename.  Since the rewrite that
    terminating byte was skipped if your filename is exactly a multiple of
    event_size.  Ouch!
    
    So add one byte to name_size before we round up and use clear_user to
    set userspace to zero like /dev/zero does instead of copying the
    strange nul_inotify_event.  I can't quite convince myself len_to_zero
    will never exceed 16 and even if it doesn't clear_user should be more
    efficient and a more accurate reflection of what the code is trying to
    do.
    
    Signed-off-by: Eric W. Biederman <ebiederm at aristanetworks.com>
    Signed-off-by: Eric Paris <eparis at redhat.com>

commit dead537dd8a1c9495322c1d6f7c780697f474af0
Author: Eric Paris <eparis at redhat.com>
Date:   Mon Aug 24 16:03:35 2009 -0400

    inotify: fix locking around inotify watching in the idr
    
    The are races around the idr storage of inotify watches.  It's possible
    that a watch could be found from sys_inotify_rm_watch() in the idr, but it
    could be removed from the idr before that code does it's removal.  Move the
    locking and the refcnt'ing so that these have to happen atomically.
    
    Signed-off-by: Eric Paris <eparis at redhat.com>

commit cf4374267fbe966e8e4e7db68f5dc7b267439780
Author: Eric Paris <eparis at redhat.com>
Date:   Mon Aug 24 16:03:35 2009 -0400

    inotify: do not BUG on idr entries at inotify destruction
    
    If an inotify watch is left in the idr when an fsnotify group is destroyed
    this will lead to a BUG.  This is not a dangerous situation and really
    indicates a programming bug and leak of memory.  This patch changes it to
    use a WARN and a printk rather than killing people's boxes.
    
    Signed-off-by: Eric Paris <eparis at redhat.com>

commit 52cef7555adf5ca09b3b7283097466759120d901
Author: Eric Paris <eparis at redhat.com>
Date:   Mon Aug 24 16:03:35 2009 -0400

    inotify: seperate new watch creation updating existing watches
    
    There is nothing known wrong with the inotify watch addition/modification
    but this patch seperates the two code paths to make them each easy to
    verify as correct.
    
    Signed-off-by: Eric Paris <eparis at redhat.com>

commit 1e23502cc57cef33455ac7cb9111e3c6d991a894
Merge: e99b1f22f91cc5e2d06699b3d8958a0ff6cb24d9 3161e453e496eb5643faad30fff5a5ab183da0fe
Author: Linus Torvalds <torvalds at linux-foundation.org>
Date:   Wed Aug 26 20:54:48 2009 -0700

    Merge git://git.kernel.org/pub/scm/linux/kernel/git/davem/net-2.6
    
    * git://git.kernel.org/pub/scm/linux/kernel/git/davem/net-2.6:
      virtio: net refill on out-of-memory
      smc91x: fix compilation on SMP

commit e99b1f22f91cc5e2d06699b3d8958a0ff6cb24d9
Merge: 5311034ddda7aad48934520d3536b9d0e4502672 b080f187adb79bbcbe28814b07cbc1ead34c469a
Author: Linus Torvalds <torvalds at linux-foundation.org>
Date:   Wed Aug 26 20:39:31 2009 -0700

    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/ps3: Update ps3_defconfig
      powerpc/ps3: Add missing check for PS3 to rtc-ps3 platform device registration

commit b080f187adb79bbcbe28814b07cbc1ead34c469a
Author: Geoff Levand <geoffrey.levand at am.sony.com>
Date:   Tue Aug 25 07:53:35 2009 +0000

    powerpc/ps3: Update ps3_defconfig
    
    Update ps3_defconfig.
    
     o Refresh for 2.6.31.
     o Remove MTD support.
     o Add more HID drivers.
    
    Signed-off-by: Geoff Levand <geoffrey.levand at am.sony.com>
    Signed-off-by: Benjamin Herrenschmidt <benh at kernel.crashing.org>

commit 7b6a09f3d6aedeaac923824af2a5df30300b56e9
Author: Geert Uytterhoeven <Geert.Uytterhoeven at sonycom.com>
Date:   Sun Aug 23 22:54:32 2009 +0000

    powerpc/ps3: Add missing check for PS3 to rtc-ps3 platform device registration
    
    On non-PS3, we get:
    
    | kernel BUG at drivers/rtc/rtc-ps3.c:36!
    
    because the rtc-ps3 platform device is registered unconditionally in a kernel
    with builtin support for PS3.
    
    Reported-by: Sachin Sant <sachinp at in.ibm.com>
    Signed-off-by: Geert Uytterhoeven <Geert.Uytterhoeven at sonycom.com>
    Acked-by: Geoff Levand <geoffrey.levand at am.sony.com>
    Signed-off-by: Benjamin Herrenschmidt <benh at kernel.crashing.org>

commit 5311034ddda7aad48934520d3536b9d0e4502672
Merge: 533995ed85730a1f5f385b9ecb2d2b4b731d27b4 53a7197aff20e341487fca8575275056fe1c63e5
Author: Linus Torvalds <torvalds at linux-foundation.org>
Date:   Wed Aug 26 20:17:07 2009 -0700

    Merge branch 'for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/jmorris/security-testing-2.6
    
    * 'for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/jmorris/security-testing-2.6:
      IMA: iint put in ima_counts_get and put

commit 533995ed85730a1f5f385b9ecb2d2b4b731d27b4
Merge: cc674c81f01a6151ca00c617e5efa0812ee5fdbe 9848484fad9ddeb18f18f02f9ecdcd330ac9a216
Author: Linus Torvalds <torvalds at linux-foundation.org>
Date:   Wed Aug 26 20:16:38 2009 -0700

    Merge branch 'for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/geert/linux-m68k
    
    * 'for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/geert/linux-m68k:
      m68k,m68knommu: Wire up rt_tgsigqueueinfo and perf_counter_open
      m68k: Fix redefinition of pgprot_noncached
      arch/m68k/include/asm/motorola_pgalloc.h: fix kunmap arg
      m68k: cnt reaches -1, not 0
      m68k: count can reach 51, not 50

commit cc674c81f01a6151ca00c617e5efa0812ee5fdbe
Author: Thadeu Lima de Souza Cascardo <cascardo at holoscopio.com>
Date:   Wed Aug 26 14:29:32 2009 -0700

    leds: after setting inverted attribute, we must update the LED
    
    If we change the inverted attribute to another value, the LED will not be
    inverted until we change the GPIO state.
    
    Signed-off-by: Thadeu Lima de Souza Cascardo <cascardo at holoscopio.com>
    Cc: Samuel R. C. Vale <srcvale at holoscopio.com>
    Cc: Richard Purdie <rpurdie at rpsys.net>
    Signed-off-by: Andrew Morton <akpm at linux-foundation.org>
    Signed-off-by: Linus Torvalds <torvalds at linux-foundation.org>

commit 48cccd26f36511ddb6aeca07485ecf2829683907
Author: Thadeu Lima de Souza Cascardo <cascardo at holoscopio.com>
Date:   Wed Aug 26 14:29:31 2009 -0700

    leds: fix multiple requests and releases of IRQ for GPIO LED Trigger
    
    When setting the same GPIO number, multiple IRQ shared requests will be
    done without freing the previous request.  It will also try to free a
    failed request or an already freed IRQ if 0 was written to the gpio file.
    
    All these oops and leaks were fixed with the following solution: keep the
    previous allocated GPIO (if any) still allocated in case the new request
    fails.  The alternative solution would desallocate the previous allocated
    GPIO and set gpio as 0.
    
    Signed-off-by: Thadeu Lima de Souza Cascardo <cascardo at holoscopio.com>
    Signed-off-by: Samuel R. C. Vale <srcvale at holoscopio.com>
    Cc: Richard Purdie <rpurdie at rpsys.net>
    Signed-off-by: Andrew Morton <akpm at linux-foundation.org>
    Signed-off-by: Linus Torvalds <torvalds at linux-foundation.org>

commit bdf57de4e6abc389cc3f3bd94ec15cce74cf6f4b
Author: Frans Pop <elendil at planet.nl>
Date:   Wed Aug 26 14:29:30 2009 -0700

    acpi processor: remove superfluous warning message
    
    This failure is very common on many platforms.  Handling it in the ACPI
    processor driver is enough, and we don't need a warning message unless
    CONFIG_ACPI_DEBUG is set.
    
    Based on a patch from Zhang Rui.
    
    Addresses http://bugzilla.kernel.org/show_bug.cgi?id=13389
    
    Signed-off-by: Frans Pop <elendil at planet.nl>
    Acked-by: Zhang Rui <rui.zhang at intel.com>
    Cc: Len Brown <lenb at kernel.org>
    Cc: "Rafael J. Wysocki" <rjw at sisk.pl>
    Signed-off-by: Andrew Morton <akpm at linux-foundation.org>
    Signed-off-by: Linus Torvalds <torvalds at linux-foundation.org>

commit 2a908002c7b1b666616103e9df2419b38d7c6f1f
Author: Frans Pop <elendil at planet.nl>
Date:   Wed Aug 26 14:29:29 2009 -0700

    ACPI processor: force throttling state when BIOS returns incorrect value
    
    If the BIOS reports an invalid throttling state (which seems to be
    fairly common after system boot), a reset is done to state T0.
    Because of a check in acpi_processor_get_throttling_ptc(), the reset
    never actually gets executed, which results in the error reoccurring
    on every access of for example /proc/acpi/processor/CPU0/throttling.
    
    Add a 'force' option to acpi_processor_set_throttling() to ensure
    the reset really takes effect.
    
    Addresses http://bugzilla.kernel.org/show_bug.cgi?id=13389
    
    This patch, together with the next one, fixes a regression introduced in
    2.6.30, listed on the regression list. They have been available for 2.5
    months now in bugzilla, but have not been picked up, despite various
    reminders and without any reason given.
    
    Google shows that numerous people are hitting this issue. The issue is in
    itself relatively minor, but the bug in the code is clear.
    
    The patches have been in all my kernels and today testing has shown that
    throttling works correctly with the patches applied when the system
    overheats (http://bugzilla.kernel.org/show_bug.cgi?id=13918#c14).
    
    Signed-off-by: Frans Pop <elendil at planet.nl>
    Acked-by: Zhang Rui <rui.zhang at intel.com>
    Cc: Len Brown <lenb at kernel.org>
    Cc: "Rafael J. Wysocki" <rjw at sisk.pl>
    Cc: Rusty Russell <rusty at rustcorp.com.au>
    Signed-off-by: Andrew Morton <akpm at linux-foundation.org>
    Signed-off-by: Linus Torvalds <torvalds at linux-foundation.org>

commit f3d83e2415445e5b157bef404d38674e9e8de169
Author: Costantino Leandro <lcostantino at gmail.com>
Date:   Wed Aug 26 14:29:28 2009 -0700

    wmi: fix kernel panic when stack protection enabled.
    
    Summary:
    Kernel panic arise when stack protection is enabled, since strncat will
    add a null terminating byte '\0'; So in functions
    like this one (wmi_query_block):
            char wc[4]="WC";
    	....
    	strncat(method, block->object_id, 2);
            ...
    the length of wc should be n+1 (wc[5]) or stack protection
    fault will arise. This is not noticeable when stack protection is
    disabled,but , isn't good either.
    Config used: [CONFIG_CC_STACKPROTECTOR_ALL=y,
    	      CONFIG_CC_STACKPROTECTOR=y]
    
    Panic Trace
    ------------
           .... stack-protector: kernel stack corrupted in : fa7b182c
           2.6.30-rc8-obelisco-generic
           call_trace:
               [<c04a6c40>] ? panic+0x45/0xd9
    	   [<c012925d>] ? __stack_chk_fail+0x1c/0x40
    	   [<fa7b182c>] ? wmi_query_block+0x15a/0x162 [wmi]
    	   [<fa7b182c>] ? wmi_query_block+0x15a/0x162 [wmi]
    	   [<fa7e7000>] ? acer_wmi_init+0x00/0x61a [acer_wmi]
    	   [<fa7e7135>] ? acer_wmi_init+0x135/0x61a [acer_wmi]
    	   [<c0101159>] ? do_one_initcall+0x50+0x126
    
    Addresses http://bugzilla.kernel.org/show_bug.cgi?id=13514
    
    Signed-off-by: Costantino Leandro <lcostantino at gmail.com>
    Signed-off-by: Carlos Corbacho <carlos at strangeworlds.co.uk>
    Cc: Len Brown <len.brown at intel.com>
    Cc: Bjorn Helgaas <bjorn.helgaas at hp.com>
    Cc: "Rafael J. Wysocki" <rjw at sisk.pl>
    Cc: <stable at kernel.org>
    Signed-off-by: Andrew Morton <akpm at linux-foundation.org>
    Signed-off-by: Linus Torvalds <torvalds at linux-foundation.org>

commit ce8442b55135c679809311997d1446f3bbc05de2
Author: Yinghai Lu <yinghai at kernel.org>
Date:   Wed Aug 26 14:29:26 2009 -0700

    acpi: don't call acpi_processor_init if acpi is disabled
    
    Jens reported early_ioremap messages with old ASUS board...
    
    > [    1.507461] pci 0000:00:09.0: Firmware left e100 interrupts enabled; disabling
    > [    1.532778] early_ioremap(3fffd080, 0000005c) [0] => Pid: 1, comm: swapper Not tainted 2.6.31-rc4 #36
    > [    1.561007] Call Trace:
    > [    1.568638]  [<c136e48b>] ? printk+0x18/0x1d
    > [    1.581734]  [<c15513ff>] __early_ioremap+0x74/0x1e9
    > [    1.596898]  [<c15515aa>] early_ioremap+0x1a/0x1c
    > [    1.611270]  [<c154a187>] __acpi_map_table+0x18/0x1a
    > [    1.626451]  [<c135a7f8>] acpi_os_map_memory+0x1d/0x25
    > [    1.642129]  [<c119459c>] acpi_tb_verify_table+0x20/0x49
    > [    1.658321]  [<c1193e50>] acpi_get_table_with_size+0x53/0xa1
    > [    1.675553]  [<c1193eae>] acpi_get_table+0x10/0x15
    > [    1.690192]  [<c155cc19>] acpi_processor_init+0x23/0xab
    > [    1.706126]  [<c1001043>] do_one_initcall+0x33/0x180
    > [    1.721279]  [<c155cbf6>] ? acpi_processor_init+0x0/0xab
    > [    1.737479]  [<c106893a>] ? register_irq_proc+0xaa/0xc0
    > [    1.753411]  [<c10689b7>] ? init_irq_proc+0x67/0x80
    > [    1.768316]  [<c15405e7>] kernel_init+0x120/0x176
    > [    1.782678]  [<c15404c7>] ? kernel_init+0x0/0x176
    > [    1.797062]  [<c10038b7>] kernel_thread_helper+0x7/0x10
    > [    1.812984] 00000080 + ffe00000
    
    that is rather later.
    acpi_gbl_permanent_mmap should be set in acpi_early_init()
    if acpi is not disabled
    
    and we have
    > [    0.000000] ASUS P2B-DS detected: force use of acpi=ht
    
    just don't load acpi_processor_init...
    
    Reported-and-tested-by: Jens Rosenboom <jens at leia.mcbone.net>
    Signed-off-by: Yinghai Lu <yinghai at kernel.org>
    Acked-by: Ingo Molnar <mingo at elte.hu>
    Cc: Len Brown <lenb at kernel.org>
    Signed-off-by: Andrew Morton <akpm at linux-foundation.org>
    Signed-off-by: Linus Torvalds <torvalds at linux-foundation.org>

commit 0d288162f2afc42b37aab656f4622c076babbca3
Author: Michael Brunner <mibru at gmx.de>
Date:   Wed Aug 26 14:29:25 2009 -0700

    thermal_sys: check get_temp return value
    
    The return value of the get_temp function is not checked when doing a
    thermal zone update.  This may lead to a critical shutdown if get_temp
    fails and the content of the temp variable is incorrectly set higher than
    the critical trip point.
    
    This has been observed on a system with incorrect ACPI implementation
    where the corresponding methods were not serialized and therefore
    sometimes triggered ACPI errors (AE_ALREADY_EXISTS).  The following
    critical shutdowns indicated a temperature of 2097 C, which was obviously
    wrong.
    
    The patch adds a return value check that jumps over all trip point
    evaluations printing a warning if get_temp fails.  The trip points are
    evaluated again on the next polling interval with successful get_temp
    execution.
    
    Signed-off-by: Michael Brunner <mibru at gmx.de>
    Acked-by: Zhang Rui <rui.zhang at intel.com>
    Cc: Len Brown <lenb at kernel.org>
    Signed-off-by: Andrew Morton <akpm at linux-foundation.org>
    Signed-off-by: Linus Torvalds <torvalds at linux-foundation.org>

commit 4ab6c08336535f8c8e42cf45d7adeda882eff06e
Author: Oleg Nesterov <oleg at redhat.com>
Date:   Wed Aug 26 14:29:24 2009 -0700

    clone(): fix race between copy_process() and de_thread()
    
    Spotted by Hiroshi Shimamoto who also provided the test-case below.
    
    copy_process() uses signal->count as a reference counter, but it is not.
    This test case
    
    	#include <sys/types.h>
    	#include <sys/wait.h>
    	#include <unistd.h>
    	#include <stdio.h>
    	#include <errno.h>
    	#include <pthread.h>
    
    	void *null_thread(void *p)
    	{
    		for (;;)
    			sleep(1);
    
    		return NULL;
    	}
    
    	void *exec_thread(void *p)
    	{
    		execl("/bin/true", "/bin/true", NULL);
    
    		return null_thread(p);
    	}
    
    	int main(int argc, char **argv)
    	{
    		for (;;) {
    			pid_t pid;
    			int ret, status;
    
    			pid = fork();
    			if (pid < 0)
    				break;
    
    			if (!pid) {
    				pthread_t tid;
    
    				pthread_create(&tid, NULL, exec_thread, NULL);
    				for (;;)
    					pthread_create(&tid, NULL, null_thread, NULL);
    			}
    
    			do {
    				ret = waitpid(pid, &status, 0);
    			} while (ret == -1 && errno == EINTR);
    		}
    
    		return 0;
    	}
    
    quickly creates an unkillable task.
    
    If copy_process(CLONE_THREAD) races with de_thread()
    copy_signal()->atomic(signal->count) breaks the signal->notify_count
    logic, and the execing thread can hang forever in kernel space.
    
    Change copy_process() to increment count/live only when we know for sure
    we can't fail.  In this case the forked thread will take care of its
    reference to signal correctly.
    
    If copy_process() fails, check CLONE_THREAD flag.  If it it set - do
    nothing, the counters were not changed and current belongs to the same
    thread group.  If it is not set, ->signal must be released in any case
    (and ->count must be == 1), the forked child is the only thread in the
    thread group.
    
    We need more cleanups here, in particular signal->count should not be used
    by de_thread/__exit_signal at all.  This patch only fixes the bug.
    
    Reported-by: Hiroshi Shimamoto <h-shimamoto at ct.jp.nec.com>
    Tested-by: Hiroshi Shimamoto <h-shimamoto at ct.jp.nec.com>
    Signed-off-by: Oleg Nesterov <oleg at redhat.com>
    Acked-by: Roland McGrath <roland at redhat.com>
    Cc: KAMEZAWA Hiroyuki <kamezawa.hiroyu at jp.fujitsu.com>
    Cc: <stable at kernel.org>
    Signed-off-by: Andrew Morton <akpm at linux-foundation.org>
    Signed-off-by: Linus Torvalds <torvalds at linux-foundation.org>

commit 03ef83af528899aa339e42d8024b37e2f434fba4
Author: Minchan Kim <minchan.kim at gmail.com>
Date:   Wed Aug 26 14:29:23 2009 -0700

    mm: fix for infinite churning of mlocked pages
    
    An mlocked page might lose the isolatation race.  This causes the page to
    clear PG_mlocked while it remains in a VM_LOCKED vma.  This means it can
    be put onto the [in]active list.  We can rescue it by using try_to_unmap()
    in shrink_page_list().
    
    But now, As Wu Fengguang pointed out, vmscan has a bug.  If the page has
    PG_referenced, it can't reach try_to_unmap() in shrink_page_list() but is
    put into the active list.  If the page is referenced repeatedly, it can
    remain on the [in]active list without being moving to the unevictable
    list.
    
    This patch fixes it.
    
    Reported-by: Wu Fengguang <fengguang.wu at intel.com>
    Signed-off-by: Minchan Kim <minchan.kim at gmail.com>
    Reviewed-by: KOSAKI Motohiro <<kosaki.motohiro at jp.fujitsu.com>
    Cc: Lee Schermerhorn <lee.schermerhorn at hp.com>
    Acked-by: Rik van Riel <riel at redhat.com>
    Signed-off-by: Andrew Morton <akpm at linux-foundation.org>
    Signed-off-by: Linus Torvalds <torvalds at linux-foundation.org>

commit b62e408c05228f40e69bb38a48db8961cac6cd23
Author: David Rientjes <rientjes at google.com>
Date:   Wed Aug 26 14:29:22 2009 -0700

    flex_array: convert element_nr formals to unsigned
    
    It's problematic to allow signed element_nr's or total's to be passed as
    part of the flex array API.
    
    flex_array_alloc() allows total_nr_elements to be set to a negative
    quantity, which is obviously erroneous.
    
    flex_array_get() and flex_array_put() allows negative array indices in
    dereferencing an array part, which could address memory mapped before
    struct flex_array.
    
    The fix is to convert all existing element_nr formals to be qualified as
    unsigned.  Existing checks to compare it to total_nr_elements or the max
    array size based on element_size need not be changed.
    
    Signed-off-by: David Rientjes <rientjes at google.com>
    Cc: Dave Hansen <dave at linux.vnet.ibm.com>
    Signed-off-by: Andrew Morton <akpm at linux-foundation.org>
    Signed-off-by: Linus Torvalds <torvalds at linux-foundation.org>

commit 8e7ee27095aee87b5db1b0061e2ceea5878a1bbd
Author: David Rientjes <rientjes at google.com>
Date:   Wed Aug 26 14:29:21 2009 -0700

    flex_array: declare parts member to have incomplete type
    
    The `parts' member of struct flex_array should evaluate to an incomplete
    type so that sizeof() cannot be used and C99 does not require the
    zero-length specification.
    
    Signed-off-by: David Rientjes <rientjes at google.com>
    Acked-by: Dave Hansen <dave at linux.vnet.ibm.com>
    Signed-off-by: Andrew Morton <akpm at linux-foundation.org>
    Signed-off-by: Linus Torvalds <torvalds at linux-foundation.org>

commit 105b6e8a74cac11cdf70903877593c7f202075cc
Author: David Rientjes <rientjes at google.com>
Date:   Wed Aug 26 14:29:20 2009 -0700

    flex_array: fix flex_array_free_parts comment
    
    flex_array_free_parts() does not take `src' or `element_nr' formals, so
    remove their respective comments.
    
    Signed-off-by: David Rientjes <rientjes at google.com>
    Acked-by: Dave Hansen <dave at linux.vnet.ibm.com>
    Signed-off-by: Andrew Morton <akpm at linux-foundation.org>
    Signed-off-by: Linus Torvalds <torvalds at linux-foundation.org>

commit a30b595d2ca6d39e784a1bed5f2b35f3d7a03af7
Author: David Rientjes <rientjes at google.com>
Date:   Wed Aug 26 14:29:20 2009 -0700

    flex_array: fix get function for elements in base starting at non-zero
    
    If all array elements fit into the base structure and data is copied using
    flex_array_put() starting at a non-zero index, flex_array_get() will fail
    to return the data.
    
    This fixes the bug by only checking for NULL parts when all elements do
    not fit in the base structure when flex_array_get() is used.  Otherwise,
    fa_element_to_part_nr() will always be 0 since there are no parts
    structures needed and such element may never have been put.  Thus, it will
    remain NULL due to the kzalloc() of the base.
    
    Additionally, flex_array_put() now only checks for a NULL part when all
    elements do not fit in the base structure.  This is otherwise unnecessary
    since the base structure is guaranteed to exist (or we would have already
    hit a NULL pointer).
    
    Signed-off-by: David Rientjes <rientjes at google.com>
    Acked-by: Dave Hansen <dave at linux.vnet.ibm.com>
    Signed-off-by: Andrew Morton <akpm at linux-foundation.org>
    Signed-off-by: Linus Torvalds <torvalds at linux-foundation.org>

commit 054b2b13ccba4876a1ce98a7ede7dab7d6893d01
Author: Joonwoo Park <joonwpark81 at gmail.com>
Date:   Wed Aug 26 14:29:18 2009 -0700

    pps: fix incorrect verdict check
    
    Fix incorrect verdict check and returns error if device_create failed,
    otherwise driver triggers kernel oops.
    
    Signed-off-by: Joonwoo Park<joonwpark81 at gmail.com>
    Cc: Rodolfo Giometti <giometti at enneenne.com>
    Signed-off-by: Andrew Morton <akpm at linux-foundation.org>
    Signed-off-by: Linus Torvalds <torvalds at linux-foundation.org>

commit 53a7197aff20e341487fca8575275056fe1c63e5
Author: Eric Paris <eparis at redhat.com>
Date:   Wed Aug 26 14:56:48 2009 -0400

    IMA: iint put in ima_counts_get and put
    
    ima_counts_get() calls ima_iint_find_insert_get() which takes a reference
    to the iint in question, but does not put that reference at the end of the
    function.  This can lead to a nasty memory leak.  Easy enough to reproduce:
    
    #include <sys/mman.h>
    #include <stdio.h>
    
    int main (void)
    {
    	int i;
    	void *ptr;
    
    	for (i=0; i < 100000; i++) {
    		ptr = mmap(NULL, 4096, PROT_READ|PROT_WRITE,
    			   MAP_SHARED|MAP_ANONYMOUS, -1, 0);
    		if (ptr == MAP_FAILED)
    			return 2;
    		munmap(ptr, 4096);
    	}
    
    	return 0;
    }
    
    Signed-off-by: Eric Paris <eparis at redhat.com>
    Signed-off-by: James Morris <jmorris at namei.org>

commit 9848484fad9ddeb18f18f02f9ecdcd330ac9a216
Author: Geert Uytterhoeven <geert at linux-m68k.org>
Date:   Fri Aug 21 22:03:54 2009 +0200

    m68k,m68knommu: Wire up rt_tgsigqueueinfo and perf_counter_open
    
    Signed-off-by: Geert Uytterhoeven <geert at linux-m68k.org>
    Acked-by: Greg Ungerer <gerg at uclinux.org>

commit 9fd926b4ab1e38ac5e3eb3ba0afb56726d90aa88
Author: Alexey Dobriyan <adobriyan at gmail.com>
Date:   Thu Jul 9 17:08:38 2009 +0400

    m68k: Fix redefinition of pgprot_noncached
    
    arch/m68k/include/asm/pgtable_mm.h:148:1: warning: "pgprot_noncached" redefined
    In file included from arch/m68k/include/asm/pgtable_mm.h:138,
                     from arch/m68k/include/asm/pgtable.h:4,
                     from include/linux/mm.h:40,
                     from include/linux/pagemap.h:7,
                     from include/linux/blkdev.h:12,
                     from arch/m68k/emu/nfblock.c:17:
    include/asm-generic/pgtable.h:133:1: warning: this is the location of the previous definition
    
    pgprot_noncached() should be defined _before_ including asm-generic/pgtable.h
    
    Signed-off-by: Alexey Dobriyan <adobriyan at gmail.com>
    Signed-off-by: Geert Uytterhoeven <geert at linux-m68k.org>

commit dc71c7d5dbd8cd8bb6e3b548ddc0454b64ded5f8
Author: Andrew Morton <akpm at linux-foundation.org>
Date:   Wed Jun 17 13:13:58 2009 -0700

    arch/m68k/include/asm/motorola_pgalloc.h: fix kunmap arg
    
    arch/m68k/include/asm/motorola_pgalloc.h: In function 'pte_alloc_one':
    arch/m68k/include/asm/motorola_pgalloc.h:44: warning: passing argument 1 of 'kunmap' from incompatible pointer type
    
    Also, remove unneeded test for kmap() failure.
    
    Signed-off-by: Andrew Morton <akpm at linux-foundation.org>
    Signed-off-by: Geert Uytterhoeven <geert at linux-m68k.org>

commit dd9b3e84f2095ed19582f4df5d20e1e40c01ca3c
Author: Roel Kluin <roel.kluin at gmail.com>
Date:   Wed Jun 17 13:13:57 2009 -0700

    m68k: cnt reaches -1, not 0
    
    With the postfix decrement cnt reaches -1 rather than 0.
    
    Signed-off-by: Roel Kluin <roel.kluin at gmail.com>
    Cc: Geert Uytterhoeven <geert at linux-m68k.org>
    Signed-off-by: Andrew Morton <akpm at linux-foundation.org>
    Signed-off-by: Geert Uytterhoeven <geert at linux-m68k.org>

commit dac9ff79a8122b30176e23359bb879b3144d7f1f
Author: Roel Kluin <roel.kluin at gmail.com>
Date:   Wed Jun 17 13:13:56 2009 -0700

    m68k: count can reach 51, not 50
    
    With while (count++ < 50) { ...  } count can reach 51, not 50, so we
    shouldn't give an error message on a count of 50.
    
    [akpm at linux-foundation.org: coding-style fixes]
    Signed-off-by: Roel Kluin <roel.kluin at gmail.com>
    Cc: Geert Uytterhoeven <geert at linux-m68k.org>
    Signed-off-by: Andrew Morton <akpm at linux-foundation.org>
    Signed-off-by: Geert Uytterhoeven <geert at linux-m68k.org>

commit 3161e453e496eb5643faad30fff5a5ab183da0fe
Author: Rusty Russell <rusty at rustcorp.com.au>
Date:   Wed Aug 26 12:22:32 2009 -0700

    virtio: net refill on out-of-memory
    
    If we run out of memory, use keventd to fill the buffer.  There's a
    report of this happening: "Page allocation failures in guest",
    Message-ID: <20090713115158.0a4892b0 at mjolnir.ossman.eu>
    
    Signed-off-by: Rusty Russell <rusty at rustcorp.com.au>
    Signed-off-by: David S. Miller <davem at davemloft.net>

commit 0b4f2928f14c4a9770b0866923fc81beb7f4aa57
Author: Alexey Dobriyan <adobriyan at gmail.com>
Date:   Wed Aug 26 12:03:35 2009 -0700

    smc91x: fix compilation on SMP
    
    Signed-off-by: Alexey Dobriyan <adobriyan at gmail.com>
    Signed-off-by: David S. Miller <davem at davemloft.net>

commit ced909ff048c9950e211783417f3c01361f3be28
Author: Dmitry Torokhov <dmitry.torokhov at gmail.com>
Date:   Tue Aug 25 19:24:10 2009 -0700

    Input: i8042 - add Acer Aspire 5536 to the nomux list
    
    When KBC is in active multiplexing mode, disabling and re-enabling the
    touchpad with the special key leaves the touchpad dead. Since the laptop
    does not have any external PS/2 ports disabling MUX mode should be safe.
    
    Reported-by: Eugeniy Meshcheryakov <eugen at debian.org>
    Signed-off-by: Dmitry Torokhov <dtor at mail.ru>

commit 295594e9cf6ae2efd73371777aa8feba0f87f42f
Author: Yinghai Lu <yinghai at kernel.org>
Date:   Tue Aug 25 13:44:44 2009 -0700

    x86: Fix vSMP boot crash
    
    2.6.31-rc7 does not boot on vSMP systems:
    
    [    8.501108] CPU31: Thermal monitoring enabled (TM1)
    [    8.501127] CPU 31 MCA banks SHD:2 SHD:3 SHD:5 SHD:6 SHD:8
    [    8.650254] CPU31: Intel(R) Xeon(R) CPU           E5540  @ 2.53GHz stepping 04
    [    8.710324] Brought up 32 CPUs
    [    8.713916] Total of 32 processors activated (162314.96 BogoMIPS).
    [    8.721489] ERROR: parent span is not a superset of domain->span
    [    8.727686] ERROR: domain->groups does not contain CPU0
    [    8.733091] ERROR: groups don't span domain->span
    [    8.737975] ERROR: domain->cpu_power not set
    [    8.742416]
    
    Ravikiran Thirumalai bisected it to:
    
    | commit 2759c3287de27266e06f1f4e82cbd2d65f6a044c
    | x86: don't call read_apic_id if !cpu_has_apic
    
    The problem is that on vSMP systems the CPUID derived
    initial-APICIDs are overlapping - so we need to fall
    back on hard_smp_processor_id() which reads the local
    APIC.
    
    Both come from the hardware (influenced by firmware
    though) so it's a tough call which one to trust.
    
    Doing the quirk expresses the vSMP property properly
    and also does not affect other systems, so we go for
    this solution instead of a revert.
    
    Reported-and-Tested-by: Ravikiran Thirumalai <kiran at scalex86.org>
    Signed-off-by: Yinghai Lu <yinghai at kernel.org>
    Cc: Linus Torvalds <torvalds at linux-foundation.org>
    Cc: Cyrill Gorcunov <gorcunov at gmail.com>
    Cc: Shai Fultheim <shai at scalex86.org>
    Cc: Suresh Siddha <suresh.b.siddha at intel.com>
    LKML-Reference: <4A944D3C.5030100 at kernel.org>
    Signed-off-by: Ingo Molnar <mingo at elte.hu>

commit f415c413f458837bd0c27086b79aca889f9435e4
Merge: 4dc627d55edad85e26ae81f17634bd4590993ba0 4484b9c8b4976acee181d377f8ba571109d1a2be
Author: Linus Torvalds <torvalds at linux-foundation.org>
Date:   Tue Aug 25 21:24:49 2009 -0700

    Merge git://git.kernel.org/pub/scm/linux/kernel/git/davem/net-2.6
    
    * git://git.kernel.org/pub/scm/linux/kernel/git/davem/net-2.6:
      irda/sa1100_ir: fix broken netdev_ops conversion
      irda/au1k_ir: fix broken netdev_ops conversion
      pkt_sched: Fix bogon in tasklet_hrtimer changes.

commit 4dc627d55edad85e26ae81f17634bd4590993ba0
Merge: 9c9376886622b45c32f64c4444f5628dde77dfe6 d8ed1d43e17898761c7221014a15a4c7501d2ff3
Author: Linus Torvalds <torvalds at linux-foundation.org>
Date:   Tue Aug 25 21:24:26 2009 -0700

    Merge git://git.kernel.org/pub/scm/linux/kernel/git/davem/sparc-2.6
    
    * git://git.kernel.org/pub/scm/linux/kernel/git/davem/sparc-2.6:
      sparc64: Validate linear D-TLB misses.
      sparc64: Update defconfig.
      sparc32: Update defconfig.
      sparc32: Kill trap table freeing code.
      sparc: sys32.S incorrect compat-layer splice() system call
      sparc: Use page_fault_out_of_memory() for VM_FAULT_OOM.
      sparc64: Sign extend length arg to truncate syscalls when compat.
      sparc: Fix cleanup crash in bbc_envctrl_cleanup()

commit 7adb4df410966dfe43e4815256e3215110648fb8
Author: H. Peter Anvin <hpa at zytor.com>
Date:   Tue Aug 25 21:06:03 2009 -0700

    x86, xen: Initialize cx to suppress warning
    
    Initialize cx before calling xen_cpuid(), in order to suppress the
    "may be used uninitialized in this function" warning.
    
    Signed-off-by: H. Peter Anvin <hpa at zytor.com>
    Cc: Jeremy Fitzhardinge <jeremy at goop.org>

commit d560bc61575efae43595cbcb56d0ba3b9450139c
Author: Jeremy Fitzhardinge <jeremy at goop.org>
Date:   Tue Aug 25 12:53:02 2009 -0700

    x86, xen: Suppress WP test on Xen
    
    Xen always runs on CPUs which properly support WP enforcement in
    privileged mode, so there's no need to test for it.
    
    This also works around a crash reported by Arnd Hannemann, though I
    think its just a band-aid for that case.
    
    Reported-by: Arnd Hannemann <hannemann at nets.rwth-aachen.de>
    Signed-off-by: Jeremy Fitzhardinge <jeremy.fitzhardinge at citrix.com>
    Acked-by: Pekka Enberg <penberg at cs.helsinki.fi>
    Signed-off-by: H. Peter Anvin <hpa at zytor.com>

commit 4484b9c8b4976acee181d377f8ba571109d1a2be
Author: Alexander Beregalov <a.beregalov at gmail.com>
Date:   Tue Aug 25 20:39:37 2009 -0700

    irda/sa1100_ir: fix broken netdev_ops conversion
    
    This patch is based on commit d2f3ad4 (pxaficp-ir: remove incorrect
    net_device_ops). Do the same for sa1100_ir.
    Untested.
    
    Signed-off-by: Alexander Beregalov <a.beregalov at gmail.com>
    Signed-off-by: David S. Miller <davem at davemloft.net>

commit 730a9cfc2dcead5538c0c96a046000d97140b0c0
Author: Alexander Beregalov <a.beregalov at gmail.com>
Date:   Tue Aug 25 20:39:18 2009 -0700

    irda/au1k_ir: fix broken netdev_ops conversion
    
    This patch is based on commit d2f3ad4 (pxaficp-ir: remove incorrect
    net_device_ops). Do the same for au1k_ir.
    Untested.
    
    Signed-off-by: Alexander Beregalov <a.beregalov at gmail.com>
    Signed-off-by: David S. Miller <davem at davemloft.net>

commit d8ed1d43e17898761c7221014a15a4c7501d2ff3
Author: David S. Miller <davem at davemloft.net>
Date:   Tue Aug 25 16:47:46 2009 -0700

    sparc64: Validate linear D-TLB misses.
    
    When page alloc debugging is not enabled, we essentially accept any
    virtual address for linear kernel TLB misses.  But with kgdb, kernel
    address probing, and other facilities we can try to access arbitrary
    crap.
    
    So, make sure the address we miss on will translate to physical memory
    that actually exists.
    
    In order to make this work we have to embed the valid address bitmap
    into the kernel image.  And in order to make that less expensive we
    make an adjustment, in that the max physical memory address is
    decreased to "1 << 41", even on the chips that support a 42-bit
    physical address space.  We can do this because bit 41 indicates
    "I/O space" and thus covers non-memory ranges.
    
    The result of this is that:
    
    1) kpte_linear_bitmap shrinks from 2K to 1K in size
    
    2) we need 64K more for the valid address bitmap
    
    We can't let the valid address bitmap be dynamically allocated
    once we start using it to validate TLB misses, otherwise we have
    crazy issues to deal with wrt. recursive TLB misses and such.
    
    If we're in a TLB miss it could be the deepest trap level that's legal
    inside of the cpu.  So if we TLB miss referencing the bitmap, the cpu
    will be out of trap levels and enter RED state.
    
    To guard against out-of-range accesses to the bitmap, we have to check
    to make sure no bits in the physical address above bit 40 are set.  We
    could export and use last_valid_pfn for this check, but that's just an
    unnecessary extra memory reference.
    
    On the plus side of all this, since we load all of these translations
    into the special 4MB mapping TSB, and we check the TSB first for TLB
    misses, there should be absolutely no real cost for these new checks
    in the TLB miss path.
    
    Reported-by: heyongli at gmail.com
    Signed-off-by: David S. Miller <davem at davemloft.net>

commit 9c9376886622b45c32f64c4444f5628dde77dfe6
Merge: 87bcfa33669449e517fda718ed3c2e1899e6541b 4464fcaa9cbfc9c551956b48af203e2f775ca892
Author: Linus Torvalds <torvalds at linux-foundation.org>
Date:   Tue Aug 25 11:24:37 2009 -0700

    Merge branch 'perfcounters-fixes-for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/tip/linux-2.6-tip
    
    * 'perfcounters-fixes-for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/tip/linux-2.6-tip:
      perf_counter: Fix typo in read() output generation
      perf tools: Check perf.data owner

commit 87bcfa33669449e517fda718ed3c2e1899e6541b
Merge: 44afa9a4b8c5773f47e6494da12ca086c9ffea34 ec9c96ef3cc0124cb94375b17faaa8cff5dfdf97
Author: Linus Torvalds <torvalds at linux-foundation.org>
Date:   Tue Aug 25 11:24:24 2009 -0700

    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:
      dma-debug: Fix check_unmap null pointer dereference

commit 44afa9a4b8c5773f47e6494da12ca086c9ffea34
Merge: 7d63e6359a2e86cd6335337de99354ab07680c55 f833bab87fca5c3ce13778421b1365845843b976
Author: Linus Torvalds <torvalds at linux-foundation.org>
Date:   Tue Aug 25 11:24:04 2009 -0700

    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:
      clockevent: Prevent dead lock on clockevents_lock
      timers: Drop write permission on /proc/timer_list

commit 7d63e6359a2e86cd6335337de99354ab07680c55
Merge: 9f459fadbb38abe68aa342f533ca17d8d90d6f2e 4a683bf94b8a10e2bb0da07aec3ac0a55e5de61f
Author: Linus Torvalds <torvalds at linux-foundation.org>
Date:   Tue Aug 25 11:23:43 2009 -0700

    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: Fix too large stack usage in do_one_initcall()
      tracing: handle broken names in ftrace filter
      ftrace: Unify effect of writing to trace_options and option/*

commit 9f459fadbb38abe68aa342f533ca17d8d90d6f2e
Merge: e9cab24cf3e5610898fb26bfd664615d0fd6a8d6 c62e43202e7cf50ca24bce58b255df7bf5de69d0
Author: Linus Torvalds <torvalds at linux-foundation.org>
Date:   Tue Aug 25 11:23:25 2009 -0700

    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: Fix build with older binutils and consolidate linker script
      x86: Fix an incorrect argument of reserve_bootmem()
      x86: add vmlinux.lds to targets in arch/x86/boot/compressed/Makefile
      xen: rearrange things to fix stackprotector
      x86: make sure load_percpu_segment has no stackprotector
      i386: Fix section mismatches for init code with !HOTPLUG_CPU
      x86, pat: Allow ISA memory range uncacheable mapping requests

commit e9cab24cf3e5610898fb26bfd664615d0fd6a8d6
Merge: a206e9417f19cf42156249953b72223a0076dc6b 3c4cec65274481ec6332b0a91f19b4c8c5394801
Author: Linus Torvalds <torvalds at linux-foundation.org>
Date:   Tue Aug 25 09:47:36 2009 -0700

    Merge branch 'for_linus' of git://git.kernel.org/pub/scm/linux/kernel/git/jack/linux-fs-2.6
    
    * 'for_linus' of git://git.kernel.org/pub/scm/linux/kernel/git/jack/linux-fs-2.6:
      ext3: Improve error message that changing journaling mode on remount is not possible
      ext3: Update Kconfig description of EXT3_DEFAULTS_TO_ORDERED

commit a206e9417f19cf42156249953b72223a0076dc6b
Merge: 7cafe60550469ad80e990d9223c4b5d501635015 b1ddaf681e362ed453182ddee1699d7487069a16
Author: Linus Torvalds <torvalds at linux-foundation.org>
Date:   Tue Aug 25 09:47:06 2009 -0700

    Merge branch 'fix/misc' of git://git.kernel.org/pub/scm/linux/kernel/git/tiwai/sound-2.6
    
    * 'fix/misc' of git://git.kernel.org/pub/scm/linux/kernel/git/tiwai/sound-2.6:
      sound: pcm_lib: fix unsorted list constraint handling
      sound: vx222: fix input level control range check
      ALSA: ali5451: fix timeout handling in snd_ali_{codecs,timer}_ready()

commit 7cafe60550469ad80e990d9223c4b5d501635015
Merge: 5c58ceff103d8a654f24769bb1baaf84a841b0cc c5e7f5a38a7ebf3697281bc7cb494e676f287ac0
Author: Linus Torvalds <torvalds at linux-foundation.org>
Date:   Tue Aug 25 09:30:58 2009 -0700

    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] ar7_wdt: fix path to ar7-specific headers

commit 5c58ceff103d8a654f24769bb1baaf84a841b0cc
Author: Linus Torvalds <torvalds at linux-foundation.org>
Date:   Tue Aug 25 09:12:43 2009 -0700

    tty: make sure to flush any pending work when halting the ldisc
    
    When I rewrote tty ldisc code to use proper reference counts (commits
    65b770468e98 and cbe9352fa08f) in order to avoid a race with hangup, the
    test-program that Eric Biederman used to trigger the original problem
    seems to have exposed another long-standing bug: the hangup code did the
    'tty_ldisc_halt()' to stop any buffer flushing activity, but unlike the
    other call sites it never actually flushed any pending work.
    
    As a result, if you get just the right timing, the pending work may be
    just about to execute (ie the timer has already triggered and thus
    cancel_delayed_work() was a no-op), when we then re-initialize the ldisc
    from under it.
    
    That, in turn, results in various random problems, usually seen as a
    NULL pointer dereference in run_timer_softirq() or a BUG() in
    worker_thread (but it can be almost anything).
    
    Fix it by adding the required 'flush_scheduled_work()' after doing the
    tty_ldisc_halt() (this also requires us to move the ldisc halt to before
    taking the ldisc mutex in order to avoid a deadlock with the workqueue
    executing do_tty_hangup, which requires the mutex).
    
    The locking should be cleaned up one day (the requirement to do this
    outside the ldisc_mutex is very annoying, and weakens the lock), but
    that's a larger and separate undertaking.
    
    Reported-by: Eric W. Biederman <ebiederm at xmission.com>
    Tested-by: Xiaotian Feng <xtfeng at gmail.com>
    Tested-by: Yanmin Zhang <yanmin_zhang at linux.intel.com>
    Tested-by: Dave Young <hidave.darkstar at gmail.com>
    Cc: Frederic Weisbecker <fweisbec at gmail.com>
    Cc: Greg Kroah-Hartman <gregkh at suse.de>
    Cc: Alan Cox <alan at lxorguk.ukuu.org.uk>
    Signed-off-by: Linus Torvalds <torvalds at linux-foundation.org>

commit c62e43202e7cf50ca24bce58b255df7bf5de69d0
Author: Jan Beulich <JBeulich at novell.com>
Date:   Tue Aug 25 14:50:53 2009 +0100

    x86: Fix build with older binutils and consolidate linker script
    
    binutils prior to 2.17 can't deal with the currently possible
    situation of a new segment following the per-CPU segment, but
    that new segment being empty - objcopy misplaces the .bss (and
    perhaps also the .brk) sections outside of any segment.
    
    However, the current ordering of sections really just appears
    to be the effect of cumulative unrelated changes; re-ordering
    things allows to easily guarantee that the segment following
    the per-CPU one is non-empty, and at once eliminates the need
    for the bogus data.init2 segment.
    
    Once touching this code, also use the various data section
    helper macros from include/asm-generic/vmlinux.lds.h.
    
    -v2: fix !SMP builds.
    
    Signed-off-by: Jan Beulich <jbeulich at novell.com>
    Cc: <sam at ravnborg.org>
    LKML-Reference: <4A94085D02000078000119A5 at vpn.id2.novell.com>
    Signed-off-by: Ingo Molnar <mingo at elte.hu>

commit b1ddaf681e362ed453182ddee1699d7487069a16
Author: Clemens Ladisch <clemens at ladisch.de>
Date:   Tue Aug 25 08:15:41 2009 +0200

    sound: pcm_lib: fix unsorted list constraint handling
    
    snd_interval_list() expected a sorted list but did not document this, so
    there are drivers that give it an unsorted list.  To fix this, change
    the algorithm to work with any list.
    
    This fixes the "Slave PCM not usable" error with USB devices that have
    multiple alternate settings with sample rates in decreasing order, such
    as the Philips Askey VC010 WebCam.
    
    http://bugzilla.kernel.org/show_bug.cgi?id=14028
    
    Reported-and-tested-by: Andrzej <adkadk at gmail.com>
    Signed-off-by: Clemens Ladisch <clemens at ladisch.de>
    Cc: <stable at kernel.org>
    Signed-off-by: Takashi Iwai <tiwai at suse.de>

commit a2cb6a4dd470d7a64255a10b843b0d188416b78f
Author: David S. Miller <davem at davemloft.net>
Date:   Mon Aug 24 19:37:05 2009 -0700

    pkt_sched: Fix bogon in tasklet_hrtimer changes.
    
    Reported by Stephen Rothwell, luckily it's harmless:
    
    net/sched/sch_api.c: In function 'qdisc_watchdog':
    net/sched/sch_api.c:460: warning: initialization from incompatible pointer type
    net/sched/sch_cbq.c: In function 'cbq_undelay':
    net/sched/sch_cbq.c:595: warning: initialization from incompatible pointer type
    
    Signed-off-by: David S. Miller <davem at davemloft.net>

commit f8aed700c6ec46ddade6570004ce25332283b306
Author: Ma Ling <ling.ma at intel.com>
Date:   Mon Aug 24 13:50:24 2009 +0800

    drm/i915: Set crtc/clone mask in different output devices
    
    Based on Bspec each encoder has different sharing pipe property,
    i.e. Integrated or SDVO TV both will occupy one pipe exclusively,
    and sdvo-non-tv and crt are allowed to share one. The patch moves
    sharing judgment into differnet output functions, and sets the right
    clone bit.
    
    This fixes both HDMI outputs choosing the same pipe.
    
    https://bugs.freedesktop.org/show_bug.cgi?id=22247
    
    Signed-off-by: Ma Ling <ling.ma at intel.com>
    Reviewed-by : Jesse Barnes <jbarnes at virtuousgeek.org>
    Signed-off-by: Zhao Yakui <yakui.zhao at intel.com>
    Signed-off-by: Eric Anholt <eric at anholt.net>

commit 27185ae1b795a4ba5e25b95fb5584e950545d774
Author: Ma Ling <ling.ma at intel.com>
Date:   Mon Aug 24 13:50:23 2009 +0800

    drm/i915: Always use SDVO_B detect bit for SDVO output detection.
    
    After the following commit is shipped, the SDVO C detection will depend on
    the SDVO_C/DP detion bit.
    commit 13520b051e8888dd3af9bda639d83e7df76613d1
    Author: Kristian Høgsberg <krh at redhat.com>
    Date:   Fri Mar 13 15:42:14 2009 -0400
    
        drm/i915: Read the right SDVO register when detecting SVDO/HDMI.
    
    According to the spec we should continue to detect the SDVO_B/C based on
    the SDVO_B detection bit.  The new detection bit on G4X platform is for
    the HDMI_C detection rather than SDVO_C detection.
    
    https://bugs.freedesktop.org/show_bug.cgi?id=20639
    
    Signed-off-by: Ma Ling <ling.ma at intel.com>
    Acked-by: Zhao Yakui <yakui.zhao at intel.com>
    Signed-off-by: Eric Anholt <eric at anholt.net>

commit 19e1f888c681d9f71ae0a814902d334eac1911dd
Author: Roel Kluin <roel.kluin at gmail.com>
Date:   Sun Aug 9 13:50:53 2009 +0200

    drm/i915: Fix typo that broke SVID1 in intel_sdvo_multifunc_encoder()
    
    Bit SDVO_OUTPUT_SVID0 was tested twice
    
    Signed-off-by: Roel Kluin <roel.kluin at gmail.com>
    Signed-off-by: Eric Anholt <eric at anholt.net>

commit bc5e5718acd7f7d000d913e619562767863610bf
Author: Bruno Prémont <bonbons at linux-vserver.org>
Date:   Sat Aug 8 13:01:17 2009 +0200

    drm/i915: Check if BIOS enabled dual-channel LVDS on 8xx, not only on 9xx
    
    Commit 0c2e39525b3b53a97a0202c5f35058147e53977e is not sufficient to
    get fd.o bug #20115 fixed.
    In addition intel_find_best_PLL() must not only rely on BIOS settings
    for i9xx chips but also for i8xx, so drop the IS_I9XX() check.
    
    Signed-off-by: Bruno Prémont <bonbons at linux-vserver.org>
    Signed-off-by: Eric Anholt <eric at anholt.net>

commit 942642a412454c3365f0abc8399c8ef2944f4eac
Author: Sean Young <sean at mess.org>
Date:   Thu Aug 6 17:35:50 2009 +0800

    drm/i915: Set the multiplier for SDVO on G33 platform
    
    http://bugs.freedesktop.org/show_bug.cgi?id=21417
    
    Signed-off-by: Sean Young <sean at mess.org>
    Reviewed-by: Zhao Yakui <yakui.zhao at intel.com>
    Acked-by: Zhenyu Wang <zhenyuw at linux.intel.com>
    Signed-off-by: Eric Anholt <eric at anholt.net>

commit 7111dc73923e9737b38a3ef5b5f236109000ff28
Author: Trond Myklebust <Trond.Myklebust at netapp.com>
Date:   Mon Aug 24 19:21:29 2009 -0400

    NFSv4: Fix an infinite looping problem with the nfs4_state_manager
    
    Commit 76db6d9500caeaa774a3e32a997eba30bbdc176b (nfs41: add session setup
    to the state manager) introduces an infinite loop possibility in the NFSv4
    state manager. By first checking nfs4_has_session() before clearing the
    NFS4CLNT_SESSION_SETUP flag, it allows for a situation where someone sets
    that flag, but it never gets cleared, and so the state manager loops.
    
    In fact commit c3fad1b1aaf850bf692642642ace7cd0d64af0a3 (nfs41: add session
    reset to state manager) causes this to happen every time we get a network
    partition error.
    
    Signed-off-by: Trond Myklebust <Trond.Myklebust at netapp.com>
    Tested-by: Daniel J Blueman <daniel.blueman at gmail.com>
    Signed-off-by: Linus Torvalds <torvalds at linux-foundation.org>

commit 2584e7986f235572d4b03bbe52fd1e85c1679b8e
Merge: 7c0a57d5c47bcfc492b3139e77400f888a935c44 c795b33ba171e41563ab7e25105c0cd4edd81cd7
Author: Linus Torvalds <torvalds at linux-foundation.org>
Date:   Mon Aug 24 14:41:28 2009 -0700

    Merge branch 'upstream-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/jlbec/ocfs2
    
    * 'upstream-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/jlbec/ocfs2:
      ocfs2/dlm: Wait on lockres instead of erroring cancel requests
      ocfs2: Add missing lock name
      ocfs2: Don't oops in ocfs2_kill_sb on a failed mount
      ocfs2: release the buffer head in ocfs2_do_truncate.
      ocfs2: Handle quota file corruption more gracefully

commit 7c0a57d5c47bcfc492b3139e77400f888a935c44
Merge: 353d5c30c666580347515da609dd74a2b8e9b828 94da210af4978b94cb70318bd1b282a73c50b175
Author: Linus Torvalds <torvalds at linux-foundation.org>
Date:   Mon Aug 24 12:53:45 2009 -0700

    Merge branch 'fixes' of git://git.marvell.com/orion
    
    * 'fixes' of git://git.marvell.com/orion:
      [ARM] Orion NAND: Make asm volatile avoid GCC pushing ldrd out of the loop
      [ARM] Kirkwood: enable eSATA on QNAP TS-219P
      [ARM] Kirkwood: __init requires linux/init.h

commit 353d5c30c666580347515da609dd74a2b8e9b828
Author: Hugh Dickins <hugh.dickins at tiscali.co.uk>
Date:   Mon Aug 24 16:30:28 2009 +0100

    mm: fix hugetlb bug due to user_shm_unlock call
    
    2.6.30's commit 8a0bdec194c21c8fdef840989d0d7b742bb5d4bc removed
    user_shm_lock() calls in hugetlb_file_setup() but left the
    user_shm_unlock call in shm_destroy().
    
    In detail:
    Assume that can_do_hugetlb_shm() returns true and hence user_shm_lock()
    is not called in hugetlb_file_setup(). However, user_shm_unlock() is
    called in any case in shm_destroy() and in the following
    atomic_dec_and_lock(&up->__count) in free_uid() is executed and if
    up->__count gets zero, also cleanup_user_struct() is scheduled.
    
    Note that sched_destroy_user() is empty if CONFIG_USER_SCHED is not set.
    However, the ref counter up->__count gets unexpectedly non-positive and
    the corresponding structs are freed even though there are live
    references to them, resulting in a kernel oops after a lots of
    shmget(SHM_HUGETLB)/shmctl(IPC_RMID) cycles and CONFIG_USER_SCHED set.
    
    Hugh changed Stefan's suggested patch: can_do_hugetlb_shm() at the
    time of shm_destroy() may give a different answer from at the time
    of hugetlb_file_setup().  And fixed newseg()'s no_id error path,
    which has missed user_shm_unlock() ever since it came in 2.6.9.
    
    Reported-by: Stefan Huber <shuber2 at gmail.com>
    Signed-off-by: Hugh Dickins <hugh.dickins at tiscali.co.uk>
    Tested-by: Stefan Huber <shuber2 at gmail.com>
    Cc: stable at kernel.org
    Signed-off-by: Linus Torvalds <torvalds at linux-foundation.org>

commit 0257a0c0c1997aac28420e784b3ef8f3ce17f093
Merge: e40c9056db75e093e6d99d2c14510cb131eb482a 9f844e5118d1627025c8ea7cfc0ea69038ea63fd
Author: Linus Torvalds <torvalds at linux-foundation.org>
Date:   Mon Aug 24 12:48:41 2009 -0700

    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:
      drm/radeon/kms: Fix radeon_gem_busy_ioctl harder.

commit e40c9056db75e093e6d99d2c14510cb131eb482a
Merge: 22e93eddd9c63c61e5a38b82eea08f6095189e7f 92c548cd35d50df398f442b07021150094578460
Author: Linus Torvalds <torvalds at linux-foundation.org>
Date:   Mon Aug 24 12:26:48 2009 -0700

    Merge git://git.kernel.org/pub/scm/linux/kernel/git/hskinnemoen/avr32-2.6
    
    * git://git.kernel.org/pub/scm/linux/kernel/git/hskinnemoen/avr32-2.6:
      favr32: improve touchscreen response
      avr32/lib: fix unaligned memcpy where len < 4
      avr32/lib: fix unaligned memcpy()

commit 22e93eddd9c63c61e5a38b82eea08f6095189e7f
Merge: 1cac6ec9b7f9c48a26309380656f399a0587b860 9b2fb2da4edfb163842800abbeb4c14bc1759469
Author: Linus Torvalds <torvalds at linux-foundation.org>
Date:   Mon Aug 24 12:25:27 2009 -0700

    Merge branch 'for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/dtor/input
    
    * 'for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/dtor/input:
      Input: ucb1400_ts - enable interrupt unconditionally
      Input: ucb1400_ts - enable ADC Filter
      Input: wacom - don't use on-stack memory for report buffers
      Input: iforce - support new revision of ACT LABS Force RS
      Input: joydev - decouple axis and button map ioctls from input constants

commit 1cac6ec9b7f9c48a26309380656f399a0587b860
Merge: ce0cfd4ca817dbfd5f8267e7a6a235ed2041bf4a 8ff499e43c537648399fca8ba39d24c0768b3fab
Author: Linus Torvalds <torvalds at linux-foundation.org>
Date:   Mon Aug 24 12:25:03 2009 -0700

    Merge git://git.kernel.org/pub/scm/linux/kernel/git/davem/net-2.6
    
    * git://git.kernel.org/pub/scm/linux/kernel/git/davem/net-2.6:
      smc91x: let smc91x work well under netpoll
      pxaficp-ir: remove incorrect net_device_ops
      NET: llc, zero sockaddr_llc struct
      drivers/net: fixed drivers that support netpoll use ndo_start_xmit()
      netpoll: warning for ndo_start_xmit returns with interrupts enabled
      net: Fix Micrel KSZ8842 Kconfig description
      netfilter: xt_quota: fix wrong return value (error case)
      ipv6: Fix commit 63d9950b08184e6531adceb65f64b429909cc101 (ipv6: Make v4-mapped bindings consistent with IPv4)
      E100: fix interaction with swiotlb on X86.
      pkt_sched: Convert CBQ to tasklet_hrtimer.
      pkt_sched: Convert qdisc_watchdog to tasklet_hrtimer
      rtl8187: always set MSR_LINK_ENEDCA flag with RTL8187B
      ibm_newemac: emac_close() needs to call netif_carrier_off()
      net: fix ks8851 build errors
      net: Rename MAC platform driver for w90p910 platform
      yellowfin: Fix buffer underrun after dev_alloc_skb() failure
      orinoco: correct key bounds check in orinoco_hw_get_tkip_iv
      mac80211: fix todo lock

commit ce0cfd4ca817dbfd5f8267e7a6a235ed2041bf4a
Merge: 637952ca689013339b977558061fa4ca8e07e1c1 16bfa38b1936212428cb38fbfbbb8f6c62b8d81f
Author: Linus Torvalds <torvalds at linux-foundation.org>
Date:   Mon Aug 24 12:24:01 2009 -0700

    Merge branch 'for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/jmorris/security-testing-2.6
    
    * 'for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/jmorris/security-testing-2.6:
      ima: hashing large files bug fix
      kernel_read: redefine offset type

commit a6a06f7b577f89d0b916c5ccaff67ca5ed444a78
Author: Amerigo Wang <amwang at redhat.com>
Date:   Fri Aug 21 04:34:45 2009 -0400

    x86: Fix an incorrect argument of reserve_bootmem()
    
    This line looks suspicious, because if this is true, then the
    'flags' parameter of function reserve_bootmem_generic() will be
    unused when !CONFIG_NUMA. I don't think this is what we want.
    
    Signed-off-by: WANG Cong <amwang at redhat.com>
    Cc: Yinghai Lu <yinghai at kernel.org>
    Cc: akpm at linux-foundation.org
    LKML-Reference: <20090821083709.5098.52505.sendpatchset at localhost.localdomain>
    Signed-off-by: Ingo Molnar <mingo at elte.hu>

commit 94da210af4978b94cb70318bd1b282a73c50b175
Author: Simon Kagstrom <simon.kagstrom at netinsight.net>
Date:   Thu Aug 20 09:19:53 2009 +0200

    [ARM] Orion NAND: Make asm volatile avoid GCC pushing ldrd out of the loop
    
    GCC 4.3.3 and 4.4.1 happily moves the dword load instruction out of the
    loop in orion_nand_read_buf. This patch makes the instruction volatile
    to avoid the issue. I've discussed this at gcc-help, refer to the thread
    at
    
      http://gcc.gnu.org/ml/gcc-help/2009-08/msg00187.html
    
    The early clobber is added to avoid the destination registers and the
    source register overlapping.
    
    Signed-off-by: Simon Kagstrom <simon.kagstrom at netinsight.net>
    Signed-off-by: Nicolas Pitre <nico at marvell.com>

commit c55bf102b675c94edef006ce487d909669221d90
Author: John Holland <john.holland at cellent-fs.de>
Date:   Wed Aug 19 13:24:03 2009 -1000

    [ARM] Kirkwood: enable eSATA on QNAP TS-219P
    
    Initialize PCI/PCIe on the QNAP TS-119, TS-219 and TS-219P hardware
    allowing the use of the discrete eSATA controller connected to the PCIe
    bus in the TS-219P.
    
    Signed-off-by: John Holland <john.holland at cellent-fs.de>
    Tested-by: Thomas Reitmayr <treitmayr at devbase.at>
    Signed-off-by: Martin Michlmayr <tbm at cyrius.com>
    Signed-off-by: Nicolas Pitre <nico at marvell.com>

commit 3e475f579e56caf57cadc0cc995c152f9da641a9
Author: Martin Michlmayr <tbm at cyrius.com>
Date:   Mon Aug 17 23:34:10 2009 -1000

    [ARM] Kirkwood: __init requires linux/init.h
    
    Include linux/init.h for __init to fix this error:
    
    CC [M]  drivers/net/wireless/wl12xx/boot.o
    In file included from arch/arm/mach-kirkwood/include/mach/gpio.h:13,
                     from arch/arm/include/asm/gpio.h:5,
                     from include/linux/gpio.h:7,
                     from drivers/net/wireless/wl12xx/boot.c:24:
    arch/arm/plat-orion/include/plat/gpio.h:32: error: expected ‘=’, ‘,’, ‘;’, ‘asm’ or ‘__attribute__’ before ‘orion_gpio_init’
    make[6]: *** [drivers/net/wireless/wl12xx/boot.o] Error 1
    make[5]: *** [drivers/net/wireless/wl12xx] Error 2
    
    Signed-off-by: Martin Michlmayr <tbm at cyrius.com>
    Signed-off-by: Nicolas Pitre <nico at marvell.com>

commit 3c4cec65274481ec6332b0a91f19b4c8c5394801
Author: Jan Kara <jack at suse.cz>
Date:   Mon Aug 24 16:38:43 2009 +0200

    ext3: Improve error message that changing journaling mode on remount is not possible
    
    This patch makes the error message about changing journaling mode on remount
    more descriptive. Some people are going to hit this error now due to commit
    bbae8bcc49bc4d002221dab52c79a50a82e7cd1f if they configure a kernel to default
    to data=writeback mode. The problem happens if they have data=ordered set for
    the root filesystem in /etc/fstab but not in the kernel command line (and they
    don't use initrd). Their filesystem then gets mounted as data=writeback by
    kernel but then their boot fails because init scripts won't be able to remount
    the filesystem rw. Better error message will hopefully make it easier for them
    to find the error in their setup and bother us less with error reports :).
    
    Signed-off-by: Jan Kara <jack at suse.cz>

commit 6d41807614151829ae17a3a58bff8572af5e407e
Author: Theodore Ts'o <tytso at mit.edu>
Date:   Mon Aug 10 16:03:43 2009 -0400

    ext3: Update Kconfig description of EXT3_DEFAULTS_TO_ORDERED
    
    The old description for this configuration option was perhaps not
    completely balanced in terms of describing the tradeoffs of using a
    default of data=writeback vs. data=ordered.  Despite the fact that old
    description very strongly recomended disabling this feature, all of
    the major distributions have elected to preserve the existing 'legacy'
    default, which is a strong hint that it perhaps wasn't telling the
    whole story.
    
    This revised description has been vetted by a number of ext3
    developers as being better at informing the user about the tradeoffs
    of enabling or disabling this configuration feature.
    
    Cc: linux-ext4 at vger.kernel.org
    Signed-off-by: "Theodore Ts'o" <tytso at mit.edu>
    Signed-off-by: Jan Kara <jack at suse.cz>

commit edd1365e90eb32625041d09de427d7b03461bc5c
Author: Clemens Ladisch <clemens at ladisch.de>
Date:   Mon Aug 24 09:11:58 2009 +0200

    sound: vx222: fix input level control range check
    
    Fix a logic error in the range check of the input level control that
    would prevent setting any volume less than the maximum.
    
    Signed-off-by: Clemens Ladisch <clemens at ladisch.de>
    Signed-off-by: Takashi Iwai <tiwai at suse.de>

commit 8ff499e43c537648399fca8ba39d24c0768b3fab
Author: Dongdong Deng <dongdong.deng at windriver.com>
Date:   Sun Aug 23 22:59:04 2009 -0700

    smc91x: let smc91x work well under netpoll
    
    The NETPOLL requires that interrupts remain disabled in its callbacks.
    
    Using *_irq_save()/irq_restore() to replace *_irq_disable()/irq_enable()
    functions in NETPOLL's callbacks of smc91x, so that it doesn't enable
    interrupts when already disabled, and kgdboe/netconsole would work
    properly over smc91x.
    
    Signed-off-by: Dongdong Deng <dongdong.deng at windriver.com>
    Acked-by: Nicolas Pitre <nico at cam.org>
    Signed-off-by: David S. Miller <davem at davemloft.net>

commit d2f3ad4cedc00c8ee848e7abe9b2bbc93b9a8c2d
Author: Marek Vasut <marek.vasut at gmail.com>
Date:   Sun Aug 23 22:57:30 2009 -0700

    pxaficp-ir: remove incorrect net_device_ops
    
    This patch fixes broken pxaficp-ir. The problem was in incorrect
    net_device_ops being specified which prevented the driver from
    operating. The symptoms were:
     - failing ifconfig for IrLAN, resulting in
    	SIOCSIFFLAGS: Cannot assign requested address
     - irattach working for IrCOMM, but the port stayed disabled
    
    Moreover this patch corrects missing sysfs device link.
    
    Signed-off-by: Marek Vasut <marek.vasut at gmail.com>
    Signed-off-by: David S. Miller <davem at davemloft.net>

commit 28e9fc592cb8c7a43e4d3147b38be6032a0e81bc
Author: Jiri Slaby <jirislaby at gmail.com>
Date:   Sun Aug 23 22:55:51 2009 -0700

    NET: llc, zero sockaddr_llc struct
    
    sllc_arphrd member of sockaddr_llc might not be changed. Zero sllc
    before copying to the above layer's structure.
    
    Signed-off-by: Jiri Slaby <jirislaby at gmail.com>
    Signed-off-by: David S. Miller <davem at davemloft.net>

commit 16bfa38b1936212428cb38fbfbbb8f6c62b8d81f
Author: Mimi Zohar <zohar at linux.vnet.ibm.com>
Date:   Fri Aug 21 14:32:49 2009 -0400

    ima: hashing large files bug fix
    
    Hashing files larger than INT_MAX causes process to loop.
    Dependent on redefining kernel_read() offset type to loff_t.
    
    (http://bugzilla.kernel.org/show_bug.cgi?id=13909)
    
    Cc: stable at kernel.org
    Signed-off-by: Mimi Zohar <zohar at us.ibm.com>
    Signed-off-by: James Morris <jmorris at namei.org>

commit 6777d773a463ac045d333b989d4e44660f8d92ad
Author: Mimi Zohar <zohar at linux.vnet.ibm.com>
Date:   Fri Aug 21 14:32:48 2009 -0400

    kernel_read: redefine offset type
    
    vfs_read() offset is defined as loff_t, but kernel_read()
    offset is only defined as unsigned long. Redefine
    kernel_read() offset as loff_t.
    
    Cc: stable at kernel.org
    Signed-off-by: Mimi Zohar <zohar at us.ibm.com>
    Signed-off-by: James Morris <jmorris at namei.org>

commit 4871953c0ef2cafeb37bbe186d9d13dcb24fc2c5
Author: Dongdong Deng <dongdong.deng at windriver.com>
Date:   Sun Aug 23 19:49:07 2009 -0700

    drivers/net: fixed drivers that support netpoll use ndo_start_xmit()
    
    The NETPOLL API requires that interrupts remain disabled in
    netpoll_send_skb(). The use of "A functions set" in the NETPOLL API
    callbacks causes the interrupts to get enabled and can lead to kernel
    instability.
    
    The solution is to use "B functions set" to prevent the irqs from
    getting enabled while in netpoll_send_skb().
    
    A functions set:
    local_irq_disable()/local_irq_enable()
    spin_lock_irq()/spin_unlock_irq()
    spin_trylock_irq()/spin_unlock_irq()
    
    B functions set:
    local_irq_save()/local_irq_restore()
    spin_lock_irqsave()/spin_unlock_irqrestore()
    spin_trylock_irqsave()/spin_unlock_irqrestore()
    
    Signed-off-by: Dongdong Deng <dongdong.deng at windriver.com>
    Acked-by: Matt Mackall <mpm at selenic.com>
    Signed-off-by: David S. Miller <davem at davemloft.net>

commit 79b1bee888d43b14cf0c08fb8e5aa6cb161e48f8
Author: Dongdong Deng <dongdong.deng at windriver.com>
Date:   Fri Aug 21 03:33:36 2009 +0000

    netpoll: warning for ndo_start_xmit returns with interrupts enabled
    
    WARN_ONCE for ndo_start_xmit() enable interrupts in netpoll_send_skb(),
    because the NETPOLL API requires that interrupts remain disabled in
    netpoll_send_skb().
    
    Signed-off-by: Dongdong Deng <dongdong.deng at windriver.com>
    Acked-by: Matt Mackall <mpm at selenic.com>
    Signed-off-by: David S. Miller <davem at davemloft.net>

commit c189308bd8b6a29b11c3ec29a42a3f0aabad6bc8
Author: Andreas Mohr <andi at lisas.de>
Date:   Fri Aug 21 00:46:06 2009 +0000

    net: Fix Micrel KSZ8842 Kconfig description
    
    Signed-off-by: Andreas Mohr <andi at lisas.de>
    Acked-by: Richard Röjfors <richard.rojfors.ext at mocean-labs.com>
    Signed-off-by: David S. Miller <davem at davemloft.net>

commit 2149f66f49ab07515666127bf5140c5c94677af8
Author: Patrick McHardy <kaber at trash.net>
Date:   Thu Aug 20 02:47:34 2009 +0000

    netfilter: xt_quota: fix wrong return value (error case)
    
    Success was indicated on a memory allocation failure, thereby causing
    a crash due to a later NULL deref.
    (Affects v2.6.30-rc1 up to here.)
    
    Signed-off-by: Jan Engelhardt <jengelh at medozas.de>
    Signed-off-by: Patrick McHardy <kaber at trash.net>
    Signed-off-by: David S. Miller <davem at davemloft.net>

commit ca6982b858e1d08010c1d29d8e8255b2ac2ad70a
Author: Bruno Prémont <bonbons at linux-vserver.org>
Date:   Sun Aug 23 19:06:28 2009 -0700

    ipv6: Fix commit 63d9950b08184e6531adceb65f64b429909cc101 (ipv6: Make v4-mapped bindings consistent with IPv4)
    
    Commit 63d9950b08184e6531adceb65f64b429909cc101
      (ipv6: Make v4-mapped bindings consistent with IPv4)
    changes behavior of inet6_bind() for v4-mapped addresses so it should
    behave the same way as inet_bind().
    
    During this change setting of err to -EADDRNOTAVAIL got lost:
    
    af_inet.c:469 inet_bind()
    	err = -EADDRNOTAVAIL;
    	if (!sysctl_ip_nonlocal_bind &&
    	    !(inet->freebind || inet->transparent) &&
    	    addr->sin_addr.s_addr != htonl(INADDR_ANY) &&
    	    chk_addr_ret != RTN_LOCAL &&
    	    chk_addr_ret != RTN_MULTICAST &&
    	    chk_addr_ret != RTN_BROADCAST)
    		goto out;
    
    
    af_inet6.c:463 inet6_bind()
    	if (addr_type == IPV6_ADDR_MAPPED) {
    		int chk_addr_ret;
    
    		/* Binding to v4-mapped address on a v6-only socket
    		 * makes no sense
    		 */
    		if (np->ipv6only) {
    			err = -EINVAL;
    			goto out;
    		}
    
    		/* Reproduce AF_INET checks to make the bindings consitant */
    		v4addr = addr->sin6_addr.s6_addr32[3];
    		chk_addr_ret = inet_addr_type(net, v4addr);
    		if (!sysctl_ip_nonlocal_bind &&
    		    !(inet->freebind || inet->transparent) &&
    		    v4addr != htonl(INADDR_ANY) &&
    		    chk_addr_ret != RTN_LOCAL &&
    		    chk_addr_ret != RTN_MULTICAST &&
    		    chk_addr_ret != RTN_BROADCAST)
    			goto out;
    	} else {
    
    
    Signed-off-by Bruno Prémont <bonbons at linux-vserver.org>
    Signed-off-by: David S. Miller <davem at davemloft.net>

commit 6ff9c2e7fa8ca63a575792534b63c5092099c286
Author: Krzysztof Hałasa <khc at pm.waw.pl>
Date:   Sun Aug 23 19:02:13 2009 -0700

    E100: fix interaction with swiotlb on X86.
    
    E100 places it's RX packet descriptors inside skb->data and uses them
    with bidirectional streaming DMA mapping. Data in descriptors is
    accessed simultaneously by the chip (writing status and size when
    a packet is received) and CPU (reading to check if the packet was
    received). This isn't a valid usage of PCI DMA API, which requires use
    of the coherent (consistent) memory for such purpose. Unfortunately e100
    chips working in "simplified" RX mode have to store received data
    directly after the descriptor. Fixing the driver to conform to the API
    would require using unsupported "flexible" RX mode or receiving data
    into a coherent memory and using CPU to copy it to network buffers.
    
    This patch, while not yet making the driver conform to the PCI DMA API,
    allows it to work correctly on X86 with swiotlb (while not breaking
    other architectures).
    
    Signed-off-by: Krzysztof Hałasa <khc at pm.waw.pl>
    Signed-off-by: David S. Miller <davem at davemloft.net>

commit 38acce2d7983632100a9ff3fd20295f6e34074a8
Author: David S. Miller <davem at davemloft.net>
Date:   Fri Aug 21 16:51:38 2009 -0700

    pkt_sched: Convert CBQ to tasklet_hrtimer.
    
    This code expects to run in softirq context, and bare hrtimers
    run in hw IRQ context.
    
    Signed-off-by: David S. Miller <davem at davemloft.net>
    Acked-by: Thomas Gleixner <tglx at linutronix.de>

commit 70bdbd3d1ae9c4ca3e84a43df34262face26575d
Author: Bartlomiej Zolnierkiewicz <bzolnier at gmail.com>
Date:   Sun Aug 23 15:27:25 2009 +0200

    ALSA: ali5451: fix timeout handling in snd_ali_{codecs,timer}_ready()
    
    Modify loops in such way that the register value is checked also after
    the timeout condition, just in case the heavy interrupt load etc. caused
    the thread to sleep for the time period exceeding the timeout value.
    
    While at it remove an extra ALI_STIMER read from snd_ali_stimer_ready().
    
    Reported-by: Jack Byer <ojbyer at usa.net>
    Signed-off-by: Bartlomiej Zolnierkiewicz <bzolnier at gmail.com>
    Signed-off-by: Takashi Iwai <tiwai at suse.de>

commit 637952ca689013339b977558061fa4ca8e07e1c1
Author: Hendrik Brueckner <brueckner at linux.vnet.ibm.com>
Date:   Sun Aug 23 18:09:06 2009 +0200

    [S390] set preferred console based on conmode
    
    setup_arch() unconditionally sets the preferred console to ttyS.
    This breaks the use of 3270 devices as the console. Provide a new
    function to set the default preferred console for s390. The preferred
    console depends on the conmode parameter that is used to switch
    between 3270 and 3215 terminal/console mode.
    
    Signed-off-by: Hendrik Brueckner <brueckner at linux.vnet.ibm.com>
    Signed-off-by: Martin Schwidefsky <schwidefsky at de.ibm.com>

commit cf05b824dbb871159e1b4c4f2733b9c9d2f756cf
Author: Julia Lawall <julia at diku.dk>
Date:   Sun Aug 23 18:09:05 2009 +0200

    [S390] drivers/s390: put NULL test before dereference
    
    If the NULL test on block is needed, it should be before the dereference of
    the base field.
    
    The semantic match that finds this problem is as follows:
    (http://coccinelle.lip6.fr/)
    
    // <smpl>
    @r@
    expression E1,E2;
    identifier fld;
    statement S1,S2;
    @@
    
    E1 = E2->fld;
    (
    if (E1 == NULL) S1 else S2
    |
    *if (E2 == NULL) S1 else S2
    )
    // </smpl>
    
    Signed-off-by: Julia Lawall <julia at diku.dk>
    Signed-off-by: Martin Schwidefsky <schwidefsky at de.ibm.com>

commit 06739a8ad321b1e5140b318c648b0cc4bf8c6daa
Author: Sebastian Ott <sebott at linux.vnet.ibm.com>
Date:   Sun Aug 23 18:09:04 2009 +0200

    [S390] cio: fix double free after failed device initialization
    
    If io_subchannel_initialize_dev fails it will release the only
    reference to the ccw device therefore the caller should not
    kfree this device since this is done in the release function.
    
    Signed-off-by: Sebastian Ott <sebott at linux.vnet.ibm.com>
    Signed-off-by: Martin Schwidefsky <schwidefsky at de.ibm.com>

commit 9f844e5118d1627025c8ea7cfc0ea69038ea63fd
Author: Michel Dänzer <daenzer at vmware.com>
Date:   Sat Aug 22 17:38:23 2009 +0200

    drm/radeon/kms: Fix radeon_gem_busy_ioctl harder.
    
    It was mixing up TTM placement values and flags.
    
    Signed-off-by: Michel Dänzer <daenzer at vmware.com>
    Signed-off-by: Dave Airlie <airlied at redhat.com>

commit ee5f9757ea17759e1ce5503bdae2b07e48e32af9
Author: David S. Miller <davem at davemloft.net>
Date:   Fri Aug 21 16:33:34 2009 -0700

    pkt_sched: Convert qdisc_watchdog to tasklet_hrtimer
    
    None of this stuff should execute in hw IRQ context, therefore
    use a tasklet_hrtimer so that it runs in softirq context.
    
    Signed-off-by: David S. Miller <davem at davemloft.net>
    Acked-by: Thomas Gleixner <tglx at linutronix.de>

commit 3edf2fb9d80a46d6c32ba12547a42419845b4b76
Merge: e3054ea7f79db2c694a4f74febead2d4f8de5a98 c82f63e411f1b58427c103bd95af2863b1c96dd1
Author: Linus Torvalds <torvalds at linux-foundation.org>
Date:   Sat Aug 22 12:14:01 2009 -0700

    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: check saved state before restore

commit e3054ea7f79db2c694a4f74febead2d4f8de5a98
Merge: 422bef879e84104fee6dc68ded0e371dbeb5f88e 388ce4beb7135722c584b0af18f215e3ec657adf
Author: Linus Torvalds <torvalds at linux-foundation.org>
Date:   Sat Aug 22 08:30:58 2009 -0700

    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] mpt2sas: fix config request and diag reset deadlock
      [SCSI] mpt2sas: Bump driver version 01.100.04.00
      [SCSI] mpt2sas: fix oops because drv data points to NULL on resume from hibernate
      [SCSI] mpt2sas: fix crash due to Watchdog is active while OS in standby mode
      [SCSI] mpt2sas: fix infinite loop inside config request
      [SCSI] mpt2sas: Excessive log info causes sas iounit page time out
      [SCSI] mpt2sas: Raid 10 Value is showing as Raid 1E in /va/log/messages
      [SCSI] mpt2sas: Expander fix oops saying "Already part of another port"
      [SCSI] mpt2sas: Introduced check for enclosure_handle to avoid crash

commit 422bef879e84104fee6dc68ded0e371dbeb5f88e
Author: Linus Torvalds <torvalds at linux-foundation.org>
Date:   Fri Aug 21 18:00:46 2009 -0700

    Linux 2.6.31-rc7

commit 8e9d78edea3ce5c0036f85b93091483f2f15443a
Author: Linus Torvalds <torvalds at linux-foundation.org>
Date:   Fri Aug 21 17:40:08 2009 -0700

    Re-introduce page mapping check in mark_buffer_dirty()
    
    In commit a8e7d49aa7be728c4ae241a75a2a124cdcabc0c5 ("Fix race in
    create_empty_buffers() vs __set_page_dirty_buffers()"), I removed a test
    for a NULL page mapping unintentionally when some of the code inside
    __set_page_dirty() was moved to the callers.
    
    That removal generally didn't matter, since a filesystem would serialize
    truncation (which clears the page mapping) against writing (which marks
    the buffer dirty), so locking at a higher level (either per-page or an
    inode at a time) should mean that the buffer page would be stable.  And
    indeed, nothing bad seemed to happen.
    
    Except it turns out that apparently reiserfs does something odd when
    under load and writing out the journal, and we have a number of bugzilla
    entries that look similar:
    
    	http://bugzilla.kernel.org/show_bug.cgi?id=13556
    	http://bugzilla.kernel.org/show_bug.cgi?id=13756
    	http://bugzilla.kernel.org/show_bug.cgi?id=13876
    
    and it looks like reiserfs depended on that check (the common theme
    seems to be "data=journal", and a journal writeback during a truncate).
    
    I suspect reiserfs should have some additional locking, but in the
    meantime this should get us back to the pre-2.6.29 behavior.
    
    Pattern-pointed-out-by: Roland Kletzing <devzero at web.de>
    Cc: stable at kernel.org (2.6.29 and 2.6.30)
    Cc: Jeff Mahoney <jeffm at suse.com>
    Cc: Nick Piggin <npiggin at suse.de>
    Cc: Al Viro <viro at zeniv.linux.org.uk>
    Signed-off-by: Linus Torvalds <torvalds at linux-foundation.org>

commit 649bf17829d087f83754e2a8161e094a167ce3d3
Merge: d3b325f9c25be6d504bc73afce7f92d0e25001d7 1a9937b7f07ab6e35515e32a7625f0ba50ab7670
Author: David S. Miller <davem at davemloft.net>
Date:   Fri Aug 21 13:13:04 2009 -0700

    Merge branch 'master' of git://git.kernel.org/pub/scm/linux/kernel/git/linville/wireless-2.6

commit 4dfd79e7b42bff334128907e28c3b41f1ef1cec8
Merge: b57f92157e6517f0b3bd22e3a8ce7227e230c4f5 f779b3e513478218cbaaaa0a506d7801cab6fd14
Author: Linus Torvalds <torvalds at linux-foundation.org>
Date:   Fri Aug 21 10:45:09 2009 -0700

    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:
      drm/radeon: add GET_PARAM/INFO support for Z pipes
      drm/radeon/kms: add r100/r200 OQ support.
      drm: Fix sysfs device confusion.
      drm/radeon/kms: implement the bo busy ioctl properly.

commit b57f92157e6517f0b3bd22e3a8ce7227e230c4f5
Merge: b04e6373d694e977c95ae0ae000e2c1e2cf92d73 03e860bd9f6a3cca747b0795bed26279a8b420a0
Author: Linus Torvalds <torvalds at linux-foundation.org>
Date:   Fri Aug 21 09:56:55 2009 -0700

    Merge branch 'btrfs' of git://git.kernel.dk/linux-2.6-block
    
    * 'btrfs' of git://git.kernel.dk/linux-2.6-block:
      btrfs: fix inode rbtree corruption

commit b04e6373d694e977c95ae0ae000e2c1e2cf92d73
Author: Linus Torvalds <torvalds at linux-foundation.org>
Date:   Fri Aug 21 09:48:10 2009 -0700

    x86: don't call '->send_IPI_mask()' with an empty mask
    
    As noted in 83d349f35e1ae72268c5104dbf9ab2ae635425d4 ("x86: don't send
    an IPI to the empty set of CPU's"), some APIC's will be very unhappy
    with an empty destination mask.  That commit added a WARN_ON() for that
    case, and avoided the resulting problem, but didn't fix the underlying
    reason for why those empty mask cases happened.
    
    This fixes that, by checking the result of 'cpumask_andnot()' of the
    current CPU actually has any other CPU's left in the set of CPU's to be
    sent a TLB flush, and not calling down to the IPI code if the mask is
    empty.
    
    The reason this started happening at all is that we started passing just
    the CPU mask pointers around in commit 4595f9620 ("x86: change
    flush_tlb_others to take a const struct cpumask"), and when we did that,
    the cpumask was no longer thread-local.
    
    Before that commit, flush_tlb_mm() used to create it's own copy of
    'mm->cpu_vm_mask' and pass that copy down to the low-level flush
    routines after having tested that it was not empty.  But after changing
    it to just pass down the CPU mask pointer, the lower level TLB flush
    routines would now get a pointer to that 'mm->cpu_vm_mask', and that
    could still change - and become empty - after the test due to other
    CPU's having flushed their own TLB's.
    
    See
    
    	http://bugzilla.kernel.org/show_bug.cgi?id=13933
    
    for details.
    
    Tested-by: Thomas Björnell <thomas.bjornell at gmail.com>
    Cc: stable at kernel.org
    Signed-off-by: Linus Torvalds <torvalds at linux-foundation.org>

commit 1a9937b7f07ab6e35515e32a7625f0ba50ab7670
Author: Herton Ronaldo Krzesinski <herton at mandriva.com.br>
Date:   Thu Aug 20 21:16:17 2009 -0300

    rtl8187: always set MSR_LINK_ENEDCA flag with RTL8187B
    
    RTL8187B always needs MSR_LINK_ENEDCA flag to be set even when it is in
    no link mode, otherwise it'll not be able to associate when this flag is
    not set after the change "mac80211: fix managed mode BSSID handling".
    
    By accident, setting BSSID of AP before association makes 8187B to
    successfuly associate even when ENEDCA flag isn't set, which was the
    case before the mac80211 change. But now the BSSID of AP we are trying
    to associate is only available after association is successful, and
    any attempt to associate without the needed flag doesn't work.
    
    Signed-off-by: Herton Ronaldo Krzesinski <herton at mandriva.com.br>
    Tested-by: Larry Finger <Larry.Finger at lwfinger.net>
    Acked-by: Hin-Tak Leung <htl10 at users.sourceforge.net>
    Signed-off-by: John W. Linville <linville at tuxdriver.com>

commit f4b0373b26567cafd421d91101852ed7a34e9e94
Author: Linus Torvalds <torvalds at linux-foundation.org>
Date:   Fri Aug 21 09:26:15 2009 -0700

    Make bitmask 'and' operators return a result code
    
    When 'and'ing two bitmasks (where 'andnot' is a variation on it), some
    cases want to know whether the result is the empty set or not.  In
    particular, the TLB IPI sending code wants to do cpumask operations and
    determine if there are any CPU's left in the final set.
    
    So this just makes the bitmask (and cpumask) functions return a boolean
    for whether the result has any bits set.
    
    Cc: stable at kernel.org (2.6.30, needed by TLB shootdown fix)
    Signed-off-by: Linus Torvalds <torvalds at linux-foundation.org>

commit 83d349f35e1ae72268c5104dbf9ab2ae635425d4
Author: Linus Torvalds <torvalds at linux-foundation.org>
Date:   Fri Aug 21 09:23:57 2009 -0700

    x86: don't send an IPI to the empty set of CPU's
    
    The default_send_IPI_mask_logical() function uses the "flat" APIC mode
    to send an IPI to a set of CPU's at once, but if that set happens to be
    empty, some older local APIC's will apparently be rather unhappy.  So
    just warn if a caller gives us an empty mask, and ignore it.
    
    This fixes a regression in 2.6.30.x, due to commit 4595f9620 ("x86:
    change flush_tlb_others to take a const struct cpumask"), documented
    here:
    
    	http://bugzilla.kernel.org/show_bug.cgi?id=13933
    
    which causes a silent lock-up.  It only seems to happen on PPro, P2, P3
    and Athlon XP cores.  Most developers sadly (or not so sadly, if you're
    a developer..) have more modern CPU's.  Also, on x86-64 we don't use the
    flat APIC mode, so it would never trigger there even if the APIC didn't
    like sending an empty IPI mask.
    
    Reported-by: Pavel Vilim <wylda at volny.cz>
    Reported-and-tested-by: Thomas Björnell <thomas.bjornell at gmail.com>
    Reported-and-tested-by: Martin Rogge <marogge at onlinehome.de>
    Cc: Mike Travis <travis at sgi.com>
    Cc: Ingo Molnar <mingo at elte.hu>
    Cc: stable at kernel.org
    Signed-off-by: Linus Torvalds <torvalds at linux-foundation.org>

commit 4464fcaa9cbfc9c551956b48af203e2f775ca892
Author: Peter Zijlstra <a.p.zijlstra at chello.nl>
Date:   Fri Aug 21 17:19:36 2009 +0200

    perf_counter: Fix typo in read() output generation
    
    When you iterate a list, using the iterator is useful.
    
    Before:
    
       ID: 5
       ID: 5
       ID: 5
       ID: 5
       EVNT: 0x40088b scale: nan ID: 5 CNT: 1006252 ID: 6 CNT: 1011090 ID: 7 CNT: 1011196 ID: 8 CNT: 1011095
       EVNT: 0x40088c scale: 1.000000 ID: 5 CNT: 2003065 ID: 6 CNT: 2011671 ID: 7 CNT: 2012620 ID: 8 CNT: 2013479
       EVNT: 0x40088c scale: 1.000000 ID: 5 CNT: 3002390 ID: 6 CNT: 3015996 ID: 7 CNT: 3018019 ID: 8 CNT: 3020006
       EVNT: 0x40088b scale: 1.000000 ID: 5 CNT: 4002406 ID: 6 CNT: 4021120 ID: 7 CNT: 4024241 ID: 8 CNT: 4027059
    
    After:
    
       ID: 1
       ID: 2
       ID: 3
       ID: 4
       EVNT: 0x400889 scale: nan ID: 1 CNT: 1005270 ID: 2 CNT: 1009833 ID: 3 CNT: 1010065 ID: 4 CNT: 1010088
       EVNT: 0x400898 scale: nan ID: 1 CNT: 2001531 ID: 2 CNT: 2022309 ID: 3 CNT: 2022470 ID: 4 CNT: 2022627
       EVNT: 0x400888 scale: 0.489467 ID: 1 CNT: 3001261 ID: 2 CNT: 3027088 ID: 3 CNT: 3027941 ID: 4 CNT: 3028762
    
    Reported-by: stephane eranian <eranian at googlemail.com>
    Signed-off-by: Peter Zijlstra <a.p.zijlstra at chello.nl>
    Cc: Paul Mackerras <paulus at samba.org>
    Cc: Corey J Ashford <cjashfor at us.ibm.com>
    Cc: perfmon2-devel <perfmon2-devel at lists.sourceforge.net>
    LKML-Reference: <1250867976.7538.73.camel at twins>
    Signed-off-by: Ingo Molnar <mingo at elte.hu>

commit 4a683bf94b8a10e2bb0da07aec3ac0a55e5de61f
Author: Ingo Molnar <mingo at elte.hu>
Date:   Fri Aug 21 12:53:36 2009 +0200

    tracing: Fix too large stack usage in do_one_initcall()
    
    One of my testboxes triggered this nasty stack overflow crash
    during SCSI probing:
    
    [    5.874004] sd 0:0:0:0: [sda] Write cache: enabled, read cache: enabled, doesn't support DPO or FUA
    [    5.875004] device: 'sda': device_add
    [    5.878004] BUG: unable to handle kernel NULL pointer dereference at 00000a0c
    [    5.878004] IP: [<b1008321>] print_context_stack+0x81/0x110
    [    5.878004] *pde = 00000000
    [    5.878004] Thread overran stack, or stack corrupted
    [    5.878004] Oops: 0000 [#1] PREEMPT SMP DEBUG_PAGEALLOC
    [    5.878004] last sysfs file:
    [    5.878004]
    [    5.878004] Pid: 1, comm: swapper Not tainted (2.6.31-rc6-tip-01272-g9919e28-dirty #5685)
    [    5.878004] EIP: 0060:[<b1008321>] EFLAGS: 00010083 CPU: 0
    [    5.878004] EIP is at print_context_stack+0x81/0x110
    [    5.878004] EAX: cf8a3000 EBX: cf8a3fe4 ECX: 00000049 EDX: 00000000
    [    5.878004] ESI: b1cfce84 EDI: 00000000 EBP: cf8a3018 ESP: cf8a2ff4
    [    5.878004]  DS: 007b ES: 007b FS: 00d8 GS: 0000 SS: 0068
    [    5.878004] Process swapper (pid: 1, ti=cf8a2000 task=cf8a8000 task.ti=cf8a3000)
    [    5.878004] Stack:
    [    5.878004]  b1004867 fffff000 cf8a3ffc
    [    5.878004] Call Trace:
    [    5.878004]  [<b1004867>] ? kernel_thread_helper+0x7/0x10
    [    5.878004] BUG: unable to handle kernel NULL pointer dereference at 00000a0c
    [    5.878004] IP: [<b1008321>] print_context_stack+0x81/0x110
    [    5.878004] *pde = 00000000
    [    5.878004] Thread overran stack, or stack corrupted
    [    5.878004] Oops: 0000 [#2] PREEMPT SMP DEBUG_PAGEALLOC
    
    The oops did not reveal any more details about the real stack
    that we have and the system got into an infinite loop of
    recursive pagefaults.
    
    So i booted with CONFIG_STACK_TRACER=y and the 'stacktrace' boot
    parameter. The box did not crash (timings/conditions probably
    changed a tiny bit to trigger the catastrophic crash), but the
    /debug/tracing/stack_trace file was rather revealing:
    
            Depth    Size   Location    (72 entries)
            -----    ----   --------
      0)     3704      52   __change_page_attr+0xb8/0x290
      1)     3652      24   __change_page_attr_set_clr+0x43/0x90
      2)     3628      60   kernel_map_pages+0x108/0x120
      3)     3568      40   prep_new_page+0x7d/0x130
      4)     3528      84   get_page_from_freelist+0x106/0x420
      5)     3444     116   __alloc_pages_nodemask+0xd7/0x550
      6)     3328      36   allocate_slab+0xb1/0x100
      7)     3292      36   new_slab+0x1c/0x160
      8)     3256      36   __slab_alloc+0x133/0x2b0
      9)     3220       4   kmem_cache_alloc+0x1bb/0x1d0
     10)     3216     108   create_object+0x28/0x250
     11)     3108      40   kmemleak_alloc+0x81/0xc0
     12)     3068      24   kmem_cache_alloc+0x162/0x1d0
     13)     3044      52   scsi_pool_alloc_command+0x29/0x70
     14)     2992      20   scsi_host_alloc_command+0x22/0x70
     15)     2972      24   __scsi_get_command+0x1b/0x90
     16)     2948      28   scsi_get_command+0x35/0x90
     17)     2920      24   scsi_setup_blk_pc_cmnd+0xd4/0x100
     18)     2896     128   sd_prep_fn+0x332/0xa70
     19)     2768      36   blk_peek_request+0xe7/0x1d0
     20)     2732      56   scsi_request_fn+0x54/0x520
     21)     2676      12   __generic_unplug_device+0x2b/0x40
     22)     2664      24   blk_execute_rq_nowait+0x59/0x80
     23)     2640     172   blk_execute_rq+0x6b/0xb0
     24)     2468      32   scsi_execute+0xe0/0x140
     25)     2436      64   scsi_execute_req+0x152/0x160
     26)     2372      60   scsi_vpd_inquiry+0x6c/0x90
     27)     2312      44   scsi_get_vpd_page+0x112/0x160
     28)     2268      52   sd_revalidate_disk+0x1df/0x320
     29)     2216      92   rescan_partitions+0x98/0x330
     30)     2124      52   __blkdev_get+0x309/0x350
     31)     2072       8   blkdev_get+0xf/0x20
     32)     2064      44   register_disk+0xff/0x120
     33)     2020      36   add_disk+0x6e/0xb0
     34)     1984      44   sd_probe_async+0xfb/0x1d0
     35)     1940      44   __async_schedule+0xf4/0x1b0
     36)     1896       8   async_schedule+0x12/0x20
     37)     1888      60   sd_probe+0x305/0x360
     38)     1828      44   really_probe+0x63/0x170
     39)     1784      36   driver_probe_device+0x5d/0x60
     40)     1748      16   __device_attach+0x49/0x50
     41)     1732      32   bus_for_each_drv+0x5b/0x80
     42)     1700      24   device_attach+0x6b/0x70
     43)     1676      16   bus_attach_device+0x47/0x60
     44)     1660      76   device_add+0x33d/0x400
     45)     1584      52   scsi_sysfs_add_sdev+0x6a/0x2c0
     46)     1532     108   scsi_add_lun+0x44b/0x460
     47)     1424     116   scsi_probe_and_add_lun+0x182/0x4e0
     48)     1308      36   __scsi_add_device+0xd9/0xe0
     49)     1272      44   ata_scsi_scan_host+0x10b/0x190
     50)     1228      24   async_port_probe+0x96/0xd0
     51)     1204      44   __async_schedule+0xf4/0x1b0
     52)     1160       8   async_schedule+0x12/0x20
     53)     1152      48   ata_host_register+0x171/0x1d0
     54)     1104      60   ata_pci_sff_activate_host+0xf3/0x230
     55)     1044      44   ata_pci_sff_init_one+0xea/0x100
     56)     1000      48   amd_init_one+0xb2/0x190
     57)      952       8   local_pci_probe+0x13/0x20
     58)      944      32   pci_device_probe+0x68/0x90
     59)      912      44   really_probe+0x63/0x170
     60)      868      36   driver_probe_device+0x5d/0x60
     61)      832      20   __driver_attach+0x89/0xa0
     62)      812      32   bus_for_each_dev+0x5b/0x80
     63)      780      12   driver_attach+0x1e/0x20
     64)      768      72   bus_add_driver+0x14b/0x2d0
     65)      696      36   driver_register+0x6e/0x150
     66)      660      20   __pci_register_driver+0x53/0xc0
     67)      640       8   amd_init+0x14/0x16
     68)      632     572   do_one_initcall+0x2b/0x1d0
     69)       60      12   do_basic_setup+0x56/0x6a
     70)       48      20   kernel_init+0x84/0xce
     71)       28      28   kernel_thread_helper+0x7/0x10
    
    There's a lot of fat functions on that stack trace, but
    the largest of all is do_one_initcall(). This is due to
    the boot trace entry variables being on the stack.
    
    Fixing this is relatively easy, initcalls are fundamentally
    serialized, so we can move the local variables to file scope.
    
    Note that this large stack footprint was present for a
    couple of months already - what pushed my system over
    the edge was the addition of kmemleak to the call-chain:
    
      6)     3328      36   allocate_slab+0xb1/0x100
      7)     3292      36   new_slab+0x1c/0x160
      8)     3256      36   __slab_alloc+0x133/0x2b0
      9)     3220       4   kmem_cache_alloc+0x1bb/0x1d0
     10)     3216     108   create_object+0x28/0x250
     11)     3108      40   kmemleak_alloc+0x81/0xc0
     12)     3068      24   kmem_cache_alloc+0x162/0x1d0
     13)     3044      52   scsi_pool_alloc_command+0x29/0x70
    
    This pushes the total to ~3800 bytes, only a tiny bit
    more was needed to corrupt the on-kernel-stack thread_info.
    
    The fix reduces the stack footprint from 572 bytes
    to 28 bytes.
    
    Cc: Peter Zijlstra <a.p.zijlstra at chello.nl>
    Cc: Thomas Gleixner <tglx at linutronix.de>
    Cc: Frederic Weisbecker <fweisbec at gmail.com>
    Cc: Steven Rostedt <srostedt at redhat.com>
    Cc: Catalin Marinas <catalin.marinas at arm.com>
    Cc: Jens Axboe <jens.axboe at oracle.com>
    Cc: Linus Torvalds <torvalds at linux-foundation.org>
    Cc: <stable at kernel.org>
    LKML-Reference: <new-submission>
    Signed-off-by: Ingo Molnar <mingo at elte.hu>

commit f779b3e513478218cbaaaa0a506d7801cab6fd14
Author: Alex Deucher <alexdeucher at gmail.com>
Date:   Wed Aug 19 19:11:39 2009 -0400

    drm/radeon: add GET_PARAM/INFO support for Z pipes
    
    Needed for occlusion queries on rv530 chips.
    
    Signed-off-by: Alex Deucher <alexdeucher at gmail.com>
    Signed-off-by: Dave Airlie <airlied at redhat.com>

commit 03e860bd9f6a3cca747b0795bed26279a8b420a0
Author: From: Nick Piggin <npiggin at suse.de>
Date:   Fri Aug 21 10:09:44 2009 +0200

    btrfs: fix inode rbtree corruption
    
    Node may not be inserted over existing node. This causes inode tree
    corruption and I was seeing crashes in inode_tree_del which I can not
    reproduce after this patch.
    
    The other way to fix this would be to tie inode lifetime in the rbtree
    with inode while not in freeing state. I had a look at this but it is
    not so trivial at this point. At least this patch gets things working again.
    
    Signed-off-by: Nick Piggin <npiggin at suse.de>
    Cc: Chris Mason <chris.mason at oracle.com>
    Acked-by: Yan Zheng <zheng.yan at oracle.com>
    Signed-off-by: Jens Axboe <jens.axboe at oracle.com>

commit ec9c96ef3cc0124cb94375b17faaa8cff5dfdf97
Author: Kyle McMartin <kyle at redhat.com>
Date:   Wed Aug 19 21:17:08 2009 -0400

    dma-debug: Fix check_unmap null pointer dereference
    
    While it's debatable whether or not a NULL device argument to
    the DMA API functions is valid... since it certainly isn't
    valid on devices with an IOMMU... dma-debug really shouldn't be
    dereferencing null pointers either.
    
    Guard against that in err_printk and the driver_filter
    functions. A Fedora rawhide user was seeing this in one of the
    dvb drivers resulting in an oops on boot.
    
    [ A patch has been sent for testing to the driver, but I feel
      the dma debugging support should be fixed as well. (There's
      still a pile of legacy garbage in the kernel passing null
      pointers to dma_{alloc,free}_*. :( ]
    
    Signed-off-by: Kyle McMartin <kyle at redhat.com>
    Cc: mchehab at infradead.org
    Cc: Joerg Roedel <joerg.roedel at amd.com>
    LKML-Reference: <20090820011708.GP25206 at bombadil.infradead.org>
    Signed-off-by: Ingo Molnar <mingo at elte.hu>

commit 9b2fb2da4edfb163842800abbeb4c14bc1759469
Author: Pavel Revak <palo at bielyvlk.sk>
Date:   Thu Aug 20 22:30:54 2009 -0700

    Input: ucb1400_ts - enable interrupt unconditionally
    
    Sometimes, when using the touchscreen, it stops working till next restart
    and the following message is printed:
    
    	ucb1400: unexpected IE_STATUS = 0x0
    
    The following patch retriggers the touchscreen interrupt unconditionally.
    This prevents hanging of the touchscreen in case of bogus interrupt
    occurence.
    
    Signed-off-by: Pavel Revak <palo at bielyvlk.sk>
    Acked-by: Marek Vasut <marek.vasut at gmail.com>
    Signed-off-by: Dmitry Torokhov <dtor at mail.ru>

commit 1700f5fde88f9a251037bc86bde538ee32c59905
Author: Marek Vasut <marek.vasut at gmail.com>
Date:   Thu Aug 20 22:05:53 2009 -0700

    Input: ucb1400_ts - enable ADC Filter
    
    This patch enables ADC filtering on UCB1400 codec by default. The
    benefit from this change is mostly on some Colibri boards where
    the ADCSYNC pin of the UCB1400 codec isn't connected causing the
    touchscreen to jitter very badly. This change has no visible
    effect on boards where the ADCSYNC pin is connected.
    
    Signed-off-by: Marek Vasut <marek.vasut at gmail.com>
    Tested-by: Palo Revak <palo at bielyvlk.sk>
    Signed-off-by: Dmitry Torokhov <dtor at mail.ru>

commit 3b7307c2d66dd575ef24b88898b4bc4bddb254f4
Author: Dmitry Torokhov <dmitry.torokhov at gmail.com>
Date:   Thu Aug 20 21:41:04 2009 -0700

    Input: wacom - don't use on-stack memory for report buffers
    
    Tested-by: Martin Capitanio <martin at capitanio.org>
    Signed-off-by: Dmitry Torokhov <dtor at mail.ru>

commit c795b33ba171e41563ab7e25105c0cd4edd81cd7
Author: Goldwyn Rodrigues <rgoldwyn at gmail.com>
Date:   Thu Aug 20 13:43:19 2009 -0500

    ocfs2/dlm: Wait on lockres instead of erroring cancel requests
    
    In case a downconvert is queued, and a flock receives a signal,
    BUG_ON(lockres->l_action != OCFS2_AST_INVALID) is triggered
    because a lock cancel triggers a dlmunlock while an AST is
    scheduled.
    
    To avoid this, allow a LKM_CANCEL to pass through, and let it
    wait on __dlm_wait_on_lockres().
    
    Signed-off-by: Goldwyn Rodrigues <rgoldwyn at suse.de>
    Acked-off-by: Mark Fasheh <mfasheh at suse.com>
    Signed-off-by: Joel Becker <joel.becker at oracle.com>

commit 17782d99502851dc7e48114ee9c5a6d6741cba18
Author: Dave Airlie <airlied at redhat.com>
Date:   Fri Aug 21 10:07:54 2009 +1000

    drm/radeon/kms: add r100/r200 OQ support.
    
    This adds the relocation necessary for OQ support on the r100/r200
    chipsets.
    
    Signed-off-by: Dave Airlie <airlied at redhat.com>

commit 08e4d534743f4e9af3602aebbc1cca9372762028
Author: Thomas Hellstrom <thellstrom at vmware.com>
Date:   Thu Aug 20 19:02:31 2009 +1000

    drm: Fix sysfs device confusion.
    
    The drm sysfs class suspend / resume methods could not distinguish
    between different device types wich could lead to illegal type casts.
    
    Use struct device_type and make sure the class suspend / resume callbacks
    are aware of those. There is no per device-type suspend / resume. Only
    new-style PM.
    
    Signed-off-by: Thomas Hellstrom <thellstrom at vmware.com>
    Reviewed-by: Jesse Barnes <jbarnes at virtuousgeek.org>
    Signed-off-by: Dave Airlie <airlied at redhat.com>

commit e3b2415e281a97ade36d88404094a90cfea838c0
Author: Dave Airlie <airlied at redhat.com>
Date:   Fri Aug 21 09:47:45 2009 +1000

    drm/radeon/kms: implement the bo busy ioctl properly.
    
    The previous patch assumes the ioctl already existed, when
    it actually didn't.
    
    It also didn't return the correct error code.
    
    Signed-off-by: Dave Airlie <airlied at redhat.com>

commit a8b88d3d49623ac701b5dc996cbd61219c793c7c
Author: Jan Kara <jack at suse.cz>
Date:   Thu Aug 20 18:26:52 2009 +0200

    ocfs2: Add missing lock name
    
    There is missing name for NFSSync cluster lock. This makes lockdep unhappy
    because we end up passing NULL to lockdep when initializing lock key. Fix it.
    
    Signed-off-by: Jan Kara <jack at suse.cz>
    Signed-off-by: Joel Becker <joel.becker at oracle.com>

commit fc0ce23506d943b9eaa731a051769d0e0605eb03
Author: Jan Beulich <JBeulich at novell.com>
Date:   Thu Aug 20 16:14:15 2009 +0100

    x86: add vmlinux.lds to targets in arch/x86/boot/compressed/Makefile
    
    The absence of vmlinux.lds here keeps .vmlinux.lds.cmd from being
    included, which in turn leads to it and all its dependents always
    getting rebuilt independent of whether they are already up-to-date.
    
    Signed-off-by: Jan Beulich <jbeulich at novell.com>
    LKML-Reference: <4A8D84670200007800010D31 at vpn.id2.novell.com>
    Signed-off-by: H. Peter Anvin <hpa at zytor.com>

commit 429966b8f644dda2afddb4f834a944e9b46a7645
Merge: a1d12511157c8d22a5a6779f8a9d73a1adcfc3b0 c37faafa7d46622b749437f7d294201a63af4beb
Author: Linus Torvalds <torvalds at linux-foundation.org>
Date:   Thu Aug 20 14:55:24 2009 -0700

    Merge branch 'i2c-fixes-rc6' of git://aeryn.fluff.org.uk/bjdooks/linux
    
    * 'i2c-fixes-rc6' of git://aeryn.fluff.org.uk/bjdooks/linux:
      i2c-stu300: I2C STU300 stability updates
      i2c-omap: Enable workaround for Errata 1.153 based on
      i2c-omap: ACK pending [R/X]DR and [R/X]RDY interrupts
      i2c-omap: Fix I2C status ACK

commit c37faafa7d46622b749437f7d294201a63af4beb
Author: Linus Walleij <linus.walleij at stericsson.com>
Date:   Thu Aug 13 22:14:23 2009 +0200

    i2c-stu300: I2C STU300 stability updates
    
    - blk clk is enabled when an irq arrives. The clk should be enabled,
      but just to make sure.
    - All error bits are handled no matter state machine state
    - All irq's will run complete() except for irq's that wasn't an event.
    - No more looking into status registers just in case an interrupt
      has happend and the irq handle wasn't executed.
    - irq_disable/enable are now separete functions.
    - clk settings calculation changed to round upwards instead of
      downwards.
    - Number of address send attempts before giving up is increased to 12
      from 10 since it most times take 8 tries before getting through.
    
    Signed-off-by: Linus Walleij <linus.walleij at stericsson.com>
    Signed-off-by: Ben Dooks <ben-linux at fluff.org>

commit 61149787d65b4a2f9c638d363dc65e13cb063e29
Author: Moiz Sonasath <m-sonasath at ti.com>
Date:   Thu Aug 20 11:21:16 2009 -0500

    i2c-omap: Enable workaround for Errata 1.153 based on
    
    Silicon Errata 1.153 has been fixed on OMAP 3630|4430 with the use of a later
    version of I2C IP block.
    
    The errata impacts OMAP 2420|2430|3430, enable the workaround for these based
    on I2C IP block revision number instead of OMAP CPU type
    
    Signed-off-by: Moiz Sonasath <m-sonasath at ti.com>
    Signed-off-by: Vikram Pandita <vikram.pandita at ti.com
    Reviewed-by: Paul Walmsley <paul at pwsan.com>
    Signed-off-by: Ben Dooks <ben-linux at fluff.org>

commit dd11976aea15bde53ce40b076dd5fa462c74f41a
Author: Moiz Sonasath <m-sonasath at ti.com>
Date:   Thu Aug 20 11:21:15 2009 -0500

    i2c-omap: ACK pending [R/X]DR and [R/X]RDY interrupts
    
    ACK any pending read/write interrupts before exiting the ISR either after
    completing the operation [ARDY interrupt] or in case of an error
    [NACK|AL interrupt]
    
    Signed-off-by: Moiz Sonasath <m-sonasath at ti.com>
    Signed-off-by: Vikram Pandita <vikram.pandita at ti.com>
    Signed-off-by: Ben Dooks <ben-linux at fluff.org>

commit dcc4ec26942d3bae2c5a82ab8346ab53b540a171
Author: Nishanth Menon <nm at ti.com>
Date:   Thu Aug 20 11:21:14 2009 -0500

    i2c-omap: Fix I2C status ACK
    
    I2C status ack for [RX]RDR and [RX]RDY could
    cause race conditions of clearing the event
    twice and a violation of the programing
    sequence as defined in TRM This patch fixes
    the same.
    
    Signed-off-by: Nishanth Menon <nm at ti.com>
    Signed-off-by: Moiz Sonasath <m-sonasath at ti.com>
    Signed-off-by: Ben Dooks <ben-linux at fluff.org>

commit a1d12511157c8d22a5a6779f8a9d73a1adcfc3b0
Merge: 6c30c53fd5ae6a99a23ad78e90c428d2c8ffb07f 3abf2f3639959e4f53f209f93cd4d93fe9356de1
Author: Linus Torvalds <torvalds at linux-foundation.org>
Date:   Thu Aug 20 10:19:39 2009 -0700

    Merge branch 'fix/hda' of git://git.kernel.org/pub/scm/linux/kernel/git/tiwai/sound-2.6
    
    * 'fix/hda' of git://git.kernel.org/pub/scm/linux/kernel/git/tiwai/sound-2.6:
      ALSA: hda - Fix probe of Toshiba laptops with ALC268 codec
      ALSA: hda: add model for Intel DG45ID/DG45FC boards
      ALSA: hda: enable speaker output for Compaq 6530s/6531s

commit c82f63e411f1b58427c103bd95af2863b1c96dd1
Author: Alek Du <alek.du at intel.com>
Date:   Sat Aug 8 08:46:19 2009 +0800

    PCI: check saved state before restore
    
    Without the check, the config space may be filled with zeros. Though
    the driver should try to avoid call restoring before saving, but the
    pci layer also should check this.
    
    Also removes the existing check in pci_restore_standard_config, since
    it's superfluous with the new check in restore_state.
    
    Acked-by: Rafael J. Wysocki <rjw at sisk.pl>
    Signed-off-by: Alek Du <alek.du at intel.com>
    Signed-off-by: Jesse Barnes <jbarnes at virtuousgeek.org>

commit cbcb340cb6a6f9f32724c90493f509dd41105e20
Merge: 78b89ecd731798f2fec8cc26ca90739253cec33c ce2eef33d35cd7b932492b5a81fb0febd2b323cd
Author: Ingo Molnar <mingo at elte.hu>
Date:   Thu Aug 20 12:05:24 2009 +0200

    Merge branch 'bugfix' of git://git.kernel.org/pub/scm/linux/kernel/git/jeremy/xen into x86/urgent

commit d3b325f9c25be6d504bc73afce7f92d0e25001d7
Author: Petri Gynther <pgynther at google.com>
Date:   Thu Aug 20 02:21:27 2009 -0700

    ibm_newemac: emac_close() needs to call netif_carrier_off()
    
    When ibm_newemac netdev instance is shutdown with "ifconfig down",
    the netdev interface does not go properly down. netif_carrier_ok()
    keeps returning TRUE even after "ifconfig down".
    
    The problem can be seen when ibm_newemac instances are slaves of
    a bonding interface. The bonding interface code uses netif_carrier_ok()
    to determine the link status of its slaves. When ibm_newemac slave is
    shutdown with "ifconfig down", the bonding interface won't detect any
    link status change because netif_carrier_ok() keeps returning TRUE.
    
    Signed-off-by: Petri Gynther <pgynther at google.com>
    Signed-off-by: David S. Miller <davem at davemloft.net>

commit 68947b8f9a36f7f7f54ca95e0c6e169bb603e803
Author: Jiri Kosina <jkosina at suse.cz>
Date:   Wed Aug 19 22:07:44 2009 -0700

    Input: iforce - support new revision of ACT LABS Force RS
    
    Reported-by: cemede at gmail.com
    Signed-off-by: Jiri Kosina <jkosina at suse.cz>
    Signed-off-by: Dmitry Torokhov <dtor at mail.ru>

commit ce2eef33d35cd7b932492b5a81fb0febd2b323cd
Author: Jeremy Fitzhardinge <jeremy.fitzhardinge at citrix.com>
Date:   Mon Aug 17 12:26:53 2009 -0700

    xen: rearrange things to fix stackprotector
    
    Make sure the stack-protector segment registers are properly set up
    before calling any functions which may have stack-protection compiled
    into them.
    
    [ Impact: prevent Xen early-boot crash when stack-protector is enabled ]
    Signed-off-by: Jeremy Fitzhardinge <jeremy.fitzhardinge at citrix.com>

commit 5416c2663517ebd0be0664c4d4ce3df0b116c059
Author: Jeremy Fitzhardinge <jeremy.fitzhardinge at citrix.com>
Date:   Mon Aug 17 12:25:41 2009 -0700

    x86: make sure load_percpu_segment has no stackprotector
    
    load_percpu_segment() is used to set up the per-cpu segment registers,
    which are also used for -fstack-protector.  Make sure that the
    load_percpu_segment() function doesn't have stackprotector enabled.
    
    [ Impact: allow percpu setup before calling stack-protected functions ]
    
    Signed-off-by: Jeremy Fitzhardinge <jeremy.fitzhardinge at citrix.com>

commit cbb35f8a2858f7e0fff5df598cb286c4bcae5976
Author: Randy Dunlap <randy.dunlap at oracle.com>
Date:   Wed Aug 19 12:13:31 2009 -0700

    net: fix ks8851 build errors
    
    Fix build errors due to missing Kconfig select of CRC32:
    
    ks8851.c:(.text+0x7d2ee): undefined reference to `crc32_le'
    ks8851.c:(.text+0x7d2f5): undefined reference to `bitrev32'
    
    Signed-off-by: Randy Dunlap <randy.dunlap at oracle.com>
    Signed-off-by: David S. Miller <davem at davemloft.net>

commit 3abf2f3639959e4f53f209f93cd4d93fe9356de1
Author: Takashi Iwai <tiwai at suse.de>
Date:   Wed Aug 19 20:05:02 2009 +0200

    ALSA: hda - Fix probe of Toshiba laptops with ALC268 codec
    
    There are many variants of Toshiba laptops with ALC268 codec, and
    it seems that a few of them don't work with model=toshiba preset
    since they have the secondary ALC268 codec just for HDMI output.
    This is a regression due to the previous clean-up work to merge all
    Toshiba quirk entries into a single check.
    
    This patch adds the identification of such laptops to apply the
    standard BIOS-probing method.  Unfortunately, Toshiba laptops have
    all the same PCI SSID, so we need to check the codec SSID to identify
    each device.
    
    Tested-by: Alexey Dobriyan <adobriyan at gmail.com>
    Signed-off-by: Takashi Iwai <tiwai at suse.de>

commit 6c30c53fd5ae6a99a23ad78e90c428d2c8ffb07f
Merge: 0dc9aa845c20ed1f46c85f229591b811dffc4b3b a924586036833086b262a371b09d1266c23bb4d1
Author: Linus Torvalds <torvalds at linux-foundation.org>
Date:   Wed Aug 19 10:40:24 2009 -0700

    Merge branch 'for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/ryusuke/nilfs2
    
    * 'for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/ryusuke/nilfs2:
      nilfs2: fix oopses with doubly mounted snapshots
      nilfs2: missing a read lock for segment writer in nilfs_attach_checkpoint()

commit 0dc9aa845c20ed1f46c85f229591b811dffc4b3b
Author: Anton Blanchard <anton at samba.org>
Date:   Wed Aug 19 16:10:16 2009 +0100

    AFS: Documentation updates
    
    Fix some issues with the AFS documentation, found when testing AFS on ppc64:
    
    - Update AFS features: reading/writing, local caching
    - Typo in kafs sysfs debug file
    - Use modprobe instead of insmod in example
    - Update IPs for grand.central.org
    
    Signed-off-by: Anton Blanchard <anton at samba.org>
    Signed-off-by: David Howells <dhowells at redhat.com>
    Signed-off-by: Linus Torvalds <torvalds at linux-foundation.org>

commit cad2c8fd9b3afceced08838c87c520e6da417a65
Merge: 4aa2d56b2149e70a0b944b4f21e4aed33d9ab94e 5ef5f72febfea420ce58f670bad83830a5e5e3de
Author: Linus Torvalds <torvalds at linux-foundation.org>
Date:   Wed Aug 19 10:38:36 2009 -0700

    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:
      drm/kms: teardown crtc correctly when fb is destroyed.
      drm/kms/radeon: cleanup combios TV table like DDX.
      drm/radeon/kms: memset the allocated framebuffer before using it.
      drm/radeon/kms: although LVDS might be possible on crtc 1 don't do it.
      drm/radeon/kms: implement bo busy check + current domain
      drm/radeon/kms: cut down indirects in register accesses.
      drm/radeon/kms: Fix up vertical blank interrupt support.
      drm/radeon/kms: add rv530 R300_SU_REG_DEST + reloc for ZPASS_ADDR
      drm/edid: fixup detailed timings like the X server.
      drm/radeon/kms: Add specific rs690 authorized register table

commit 4aa2d56b2149e70a0b944b4f21e4aed33d9ab94e
Merge: d46c7d9ab8289f23a5e161060b84fd7e63de7921 1fef7891755d99039592aa8d1ed02e981f38de15
Author: Linus Torvalds <torvalds at linux-foundation.org>
Date:   Wed Aug 19 09:44:51 2009 -0700

    Merge branch 'next' of git://git.monstr.eu/linux-2.6-microblaze
    
    * 'next' of git://git.monstr.eu/linux-2.6-microblaze:
      microblaze: Update Microblaze defconfigs
      microblaze: Use klimit instead of _end for memory init
      microblaze: Enable ppoll syscall
      microblaze: Sane handling of missing timer/intc in device tree
      microblaze: use the generic ack_bad_irq implementation

commit d46c7d9ab8289f23a5e161060b84fd7e63de7921
Merge: c124891f50f11e33acdfa276864ea089bab726b6 b395cd8a74b4a8d943dd4b5585e676f62f7350b3
Author: Linus Torvalds <torvalds at linux-foundation.org>
Date:   Wed Aug 19 09:43:19 2009 -0700

    Merge branch 'perfcounters-fixes-for-linus-2' of git://git.kernel.org/pub/scm/linux/kernel/git/tip/linux-2.6-tip
    
    * 'perfcounters-fixes-for-linus-2' of git://git.kernel.org/pub/scm/linux/kernel/git/tip/linux-2.6-tip:
      perf tools: Make 'make html' work
      perf annotate: Fix segmentation fault
      perf_counter: Fix the PARISC build
      perf_counter: Check task on counter read IPI
      perf: Rename perf-examples.txt to examples.txt
      perf record: Fix typo in pid_synthesize_comm_event

commit f833bab87fca5c3ce13778421b1365845843b976
Author: Suresh Siddha <suresh.b.siddha at intel.com>
Date:   Mon Aug 17 14:34:59 2009 -0700

    clockevent: Prevent dead lock on clockevents_lock
    
    Currently clockevents_notify() is called with interrupts enabled at
    some places and interrupts disabled at some other places.
    
    This results in a deadlock in this scenario.
    
    cpu A holds clockevents_lock in clockevents_notify() with irqs enabled
    cpu B waits for clockevents_lock in clockevents_notify() with irqs disabled
    cpu C doing set_mtrr() which will try to rendezvous of all the cpus.
    
    This will result in C and A come to the rendezvous point and waiting
    for B. B is stuck forever waiting for the spinlock and thus not
    reaching the rendezvous point.
    
    Fix the clockevents code so that clockevents_lock is taken with
    interrupts disabled and thus avoid the above deadlock.
    
    Also call lapic_timer_propagate_broadcast() on the destination cpu so
    that we avoid calling smp_call_function() in the clockevents notifier
    chain.
    
    This issue left us wondering if we need to change the MTRR rendezvous
    logic to use stop machine logic (instead of smp_call_function) or add
    a check in spinlock debug code to see if there are other spinlocks
    which gets taken under both interrupts enabled/disabled conditions.
    
    Signed-off-by: Suresh Siddha <suresh.b.siddha at intel.com>
    Signed-off-by: Venkatesh Pallipadi <venkatesh.pallipadi at intel.com>
    Cc: "Pallipadi Venkatesh" <venkatesh.pallipadi at intel.com>
    Cc: "Brown Len" <len.brown at intel.com>
    LKML-Reference: <1250544899.2709.210.camel at sbs-t61.sc.intel.com>
    Signed-off-by: Thomas Gleixner <tglx at linutronix.de>

commit fa6963b2481beff8b11f76006fbb63fdbbf2d2d7
Author: Peter Zijlstra <a.p.zijlstra at chello.nl>
Date:   Wed Aug 19 11:18:26 2009 +0200

    perf tools: Check perf.data owner
    
    Add an owner check to opening perf.data files and a switch to
    silence it.
    
    Because perf-report/perf-annotate are binary parsers reading
    another users' perf.data file could be a security risk if the
    file were explicitly engineered to trigger bugs in the parser
    (we hope of course there are non such bugs, but you never
    know).
    
    Signed-off-by: Peter Zijlstra <a.p.zijlstra at chello.nl>
    Cc: Arnaldo Carvalho de Melo <acme at redhat.com>
    Cc: Frederic Weisbecker <fweisbec at gmail.com>
    Cc: Mike Galbraith <efault at gmx.de>
    Cc: Peter Zijlstra <a.p.zijlstra at chello.nl>
    Cc: Paul Mackerras <paulus at samba.org>
    LKML-Reference: <20090819092023.896648538 at chello.nl>
    Signed-off-by: Ingo Molnar <mingo at elte.hu>

commit ae709440edb2d36f51f5ea51cfab931f45c03e02
Author: Wu Fengguang <fengguang.wu at intel.com>
Date:   Wed Aug 19 17:05:11 2009 +0800

    ALSA: hda: add model for Intel DG45ID/DG45FC boards
    
    The BIOS pin configs are in fact correct and shall not be overwritten.
    
    Signed-off-by: Wu Fengguang <fengguang.wu at intel.com>
    Signed-off-by: Takashi Iwai <tiwai at suse.de>

commit 150fe14c1a1f08cb430d8382bf5554c2a168b79b
Author: Wu Fengguang <fengguang.wu at intel.com>
Date:   Wed Aug 19 16:58:59 2009 +0800

    ALSA: hda: enable speaker output for Compaq 6530s/6531s
    
    HP Compaq 6530s and 6531s internal speaker is silence or becomes silence
    within 1 minute after fresh boot. It is found that pin 0x1c must be set to
    PIN_OUT mode to make the speaker work. This is weird - line-in pin 0x1c and
    speaker pin 0x16 seem to be unrelated.
    
    The codec differences before/after patch are:
    
    @@ Node 0x17 [Pin Complex] wcaps 0x40020b:
       Pin Default 0x41a6e130: [N/A] Mic at Ext Rear
         Conn = Digital, Color = White
         DefAssociation = 0x3, Sequence = 0x0
         Misc = NO_PRESENCE
    -  Pin-ctls: 0x24: IN
    +  Pin-ctls: 0x40: OUT
    @@ Node 0x1c [Pin Complex] wcaps 0x40018d:
       Pin Default 0x41813021: [N/A] Line In at Ext Rear
         Conn = 1/8, Color = Blue
         DefAssociation = 0x2, Sequence = 0x1
    -  Pin-ctls: 0x24: IN VREF_80
    +  Pin-ctls: 0x40: OUT VREF_HIZ
       Unsolicited: tag=00, enabled=0
       Connection: 1
          0x24
    
    Tests show that it won't impact (external) Mic recording.
    
    Reported-by: "Lin, Ming M" <ming.m.lin at intel.com>
    Signed-off-by: Wu Fengguang <fengguang.wu at intel.com>
    Signed-off-by: Takashi Iwai <tiwai at suse.de>

commit 1ca3976d8ca8b0b44145994b1433f759a642615b
Author: David S. Miller <davem at davemloft.net>
Date:   Tue Aug 18 23:56:21 2009 -0700

    sparc64: Update defconfig.
    
    Signed-off-by: David S. Miller <davem at davemloft.net>

commit 2193aa276e2579d9c781c5269521d43f47da9959
Author: David S. Miller <davem at davemloft.net>
Date:   Tue Aug 18 23:46:12 2009 -0700

    sparc32: Update defconfig.
    
    Signed-off-by: David S. Miller <davem at davemloft.net>

commit a9919646d12a13bea7eb74b996686f900dffb120
Author: David S. Miller <davem at davemloft.net>
Date:   Tue Aug 18 23:44:08 2009 -0700

    sparc32: Kill trap table freeing code.
    
    Normally, srmmu uses different trap table register values to allow
    determination of the cpu we're on.  All of the trap tables have
    identical content, they just sit at different offsets from the first
    trap table, and the offset shifted down and masked out determines
    the cpu we are on.
    
    The code tries to free them up when they aren't actually used
    (don't have all 4 cpus, we're on sun4d, etc.) but that causes
    problems.
    
    For one thing it triggers false positives in the DMA debugging
    code.  And fixing that up while preserving this relative offset
    thing isn't trivial.
    
    So just kill the freeing code, it costs us at most 3 pages, big
    deal...
    
    Signed-off-by: David S. Miller <davem at davemloft.net>

commit 456d8991a795ff5e44dbc1c2a7f8d5b4ed675866
Author: Wan ZongShun <mcuos.com at gmail.com>
Date:   Tue Aug 18 23:34:58 2009 -0700

    net: Rename MAC platform driver for w90p910 platform
    
    Due to I modified the corresponding platform device name,
    so I make the patch to rename MAC platform driver
    for w90p910 platform.
    
    Signed-off-by: Wan ZongShun <mcuos.com at gmail.com>
    Signed-off-by: David S. Miller <davem at davemloft.net>

commit 5ef5f72febfea420ce58f670bad83830a5e5e3de
Author: Dave Airlie <airlied at redhat.com>
Date:   Mon Aug 17 13:11:23 2009 +1000

    drm/kms: teardown crtc correctly when fb is destroyed.
    
    If userspace destroys a framebuffer that is in use on a crtc,
    don't just null it out, tear down the crtc properly so the
    hw gets turned off.
    
    Signed-off-by: Dave Airlie <airlied at redhat.com>

commit 6a719e05330ef19acd9392dbbfb95a774776dee5
Author: Dave Airlie <airlied at redhat.com>
Date:   Mon Aug 17 10:19:51 2009 +1000

    drm/kms/radeon: cleanup combios TV table like DDX.
    
    The fallback case wasn't getting executed properly if there
    was no TV table, which my T42 M7 hasn't got.
    
    Signed-off-by: Dave Airlie <airlied at redhat.com>

commit bf8e828b00a5b6a0fea16f452be578c060d57d64
Author: Dave Airlie <airlied at redhat.com>
Date:   Mon Aug 17 10:20:47 2009 +1000

    drm/radeon/kms: memset the allocated framebuffer before using it.
    
    This gets rid of some ugliness, we shuold probably find a way
    for the GPU to zero this.
    
    Signed-off-by: Dave Airlie <airlied at redhat.com>

commit 80e6914db18e702549a15dea36fa7ace17f25c50
Author: Dave Airlie <airlied at redhat.com>
Date:   Mon Aug 17 10:22:37 2009 +1000

    drm/radeon/kms: although LVDS might be possible on crtc 1 don't do it.
    
    LVDS always requests RMX_FULL, we need to fix it so that doesn't happen
    before we can enable LVDS on crtc 1.
    
    Signed-off-by: Dave Airlie <airlied at redhat.com>

commit e7a5965a81a29a13cd4994fa23a6a7a1488bcdb6
Author: Roel Kluin <roel.kluin at gmail.com>
Date:   Tue Aug 18 20:21:40 2009 -0700

    yellowfin: Fix buffer underrun after dev_alloc_skb() failure
    
    yellowfin_init_ring() needs to clean up if dev_alloc_skb() fails and
    should pass an error status up to the caller. This also prevents an
    buffer underrun if failure occurred in the first iteration.
    yellowfin_open() which calls yellowfin_init_ring() should free its
    requested irq upon failure.
    
    Signed-off-by: Roel Kluin <roel.kluin at gmail.com>
    Signed-off-by: David S. Miller <davem at davemloft.net>

commit e2c6cbd9ace61039d3de39e717195e38f1492aee
Author: Mathieu Desnoyers <mathieu.desnoyers at polymtl.ca>
Date:   Tue Aug 18 20:16:55 2009 -0700

    sparc: sys32.S incorrect compat-layer splice() system call
    
    I think arch/sparc/kernel/sys32.S has an incorrect splice definition:
    
    SIGN2(sys32_splice, sys_splice, %o0, %o1)
    
    The splice() prototype looks like :
    
           long splice(int fd_in, loff_t *off_in, int fd_out,
                       loff_t *off_out, size_t len, unsigned int flags);
    
    So I think we should have :
    
    SIGN2(sys32_splice, sys_splice, %o0, %o2)
    
    Signed-off-by: Mathieu Desnoyers <mathieu.desnoyers at polymtl.ca>
    Signed-off-by: David S. Miller <davem at davemloft.net>

commit c124891f50f11e33acdfa276864ea089bab726b6
Merge: 77f312a96dd1e01c49ccd872265e70a8346b53cc 024e6cb408307de41cbfcb1e5a170d9af60ab2a9
Author: Linus Torvalds <torvalds at linux-foundation.org>
Date:   Tue Aug 18 19:41:47 2009 -0700

    Merge branch 'for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/jmorris/security-testing-2.6
    
    * 'for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/jmorris/security-testing-2.6:
      security: Fix prompt for LSM_MMAP_MIN_ADDR
      security: Make LSM_MMAP_MIN_ADDR default match its help text.

commit 77f312a96dd1e01c49ccd872265e70a8346b53cc
Merge: dc8ed71eeb8adce08d3070f4130e12ee540baa59 142d44b0dd6741a64a7bdbe029110e7c1dcf1d23
Author: Linus Torvalds <torvalds at linux-foundation.org>
Date:   Tue Aug 18 19:41:05 2009 -0700

    Merge branch 'for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/tj/percpu
    
    * 'for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/tj/percpu:
      percpu: use the right flag for get_vm_area()
      percpu, sparc64: fix sparse possible cpu map handling
      init: set nr_cpu_ids before setup_per_cpu_areas()

commit eda1e328556565e211b7450250e40d6de751563a
Author: Jiri Olsa <jolsa at redhat.com>
Date:   Tue Aug 11 17:29:04 2009 +0200

    tracing: handle broken names in ftrace filter
    
    If one filter item (for set_ftrace_filter and set_ftrace_notrace) is being
    setup by more than 1 consecutive writes (FTRACE_ITER_CONT flag), it won't
    be handled corretly.
    
    I used following program to test/verify:
    
    [snip]
    #include <stdio.h>
    #include <sys/types.h>
    #include <sys/stat.h>
    #include <fcntl.h>
    #include <string.h>
    
    int main(int argc, char **argv)
    {
            int fd, i;
            char *file = argv[1];
    
            if (-1 == (fd = open(file, O_WRONLY))) {
                    perror("open failed");
                    return -1;
            }
    
            for(i = 0; i < (argc - 2); i++) {
                    int len = strlen(argv[2+i]);
                    int cnt, off = 0;
    
                    while(len) {
                            cnt = write(fd, argv[2+i] + off, len);
                            len -= cnt;
                            off += cnt;
                    }
            }
    
            close(fd);
            return 0;
    }
    [snip]
    
    before change:
    sh-4.0# echo > ./set_ftrace_filter
    sh-4.0# /test ./set_ftrace_filter "sys" "_open "
    sh-4.0# cat ./set_ftrace_filter
    #### all functions enabled ####
    sh-4.0#
    
    after change:
    sh-4.0# echo > ./set_ftrace_notrace
    sh-4.0# test ./set_ftrace_notrace "sys" "_open "
    sh-4.0# cat ./set_ftrace_notrace
    sys_open
    sh-4.0#
    
    Signed-off-by: Jiri Olsa <jolsa at redhat.com>
    LKML-Reference: <20090811152904.GA26065 at jolsa.lab.eng.brq.redhat.com>
    Signed-off-by: Steven Rostedt <rostedt at goodmis.org>

commit dc8ed71eeb8adce08d3070f4130e12ee540baa59
Merge: 7f9cfb31030737a7fc9a1cbca3fd01bec184c849 e412cd257e0d51e0ecbb89f50953835b5a0681b2
Author: Linus Torvalds <torvalds at linux-foundation.org>
Date:   Tue Aug 18 16:55:43 2009 -0700

    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: Don't initialize MCEs on unknown CPUs
      x86, mce: don't log boot MCEs on Pentium M (model == 13) CPUs
      x86: Annotate section mismatch warnings in kernel/apic/x2apic_uv_x.c
      x86, mce: therm_throt: Don't log redundant normality
      x86: Fix UV BAU destination subnode id

commit 7f9cfb31030737a7fc9a1cbca3fd01bec184c849
Author: Bo Liu <bo-liu at hotmail.com>
Date:   Tue Aug 18 14:11:19 2009 -0700

    mm: build_zonelists(): move clear node_load[] to __build_all_zonelists()
    
    If node_load[] is cleared everytime build_zonelists() is
    called,node_load[] will have no help to find the next node that should
    appear in the given node's fallback list.
    
    Because of the bug, zonelist's node_order is not calculated as expected.
    This bug affects on big machine, which has asynmetric node distance.
    
    [synmetric NUMA's node distance]
         0    1    2
    0   10   12   12
    1   12   10   12
    2   12   12   10
    
    [asynmetric NUMA's node distance]
         0    1    2
    0   10   12   20
    1   12   10   14
    2   20   14   10
    
    This (my bug) is very old but no one has reported this for a long time.
    Maybe because the number of asynmetric NUMA is very small and they use
    cpuset for customizing node memory allocation fallback.
    
    [akpm at linux-foundation.org: fix CONFIG_NUMA=n build]
    Signed-off-by: Bo Liu <bo-liu at hotmail.com>
    Reviewed-by: KAMEZAWA Hiroyuki <kamezawa.hiroyu at jp.fujitsu.com>
    Cc: Mel Gorman <mel at csn.ul.ie>
    Cc: Christoph Lameter <cl at linux-foundation.org>
    Cc: <stable at kernel.org>
    Signed-off-by: Andrew Morton <akpm at linux-foundation.org>
    Signed-off-by: Linus Torvalds <torvalds at linux-foundation.org>

commit 503f7944fac68f4fdf71f8ebd06907f51eb64515
Author: Joe Perches <joe at perches.com>
Date:   Tue Aug 18 14:11:18 2009 -0700

    REPORTING-BUGS: add get_maintainer.pl blurb
    
    Signed-off-by: Joe Perches <joe at perches.com>
    Signed-off-by: Andrew Morton <akpm at linux-foundation.org>
    Signed-off-by: Linus Torvalds <torvalds at linux-foundation.org>

commit 28d7a6ae92c099d81cbea08c20be0d2cf7ccd7ca
Author: Graff Yang <graff.yang at gmail.com>
Date:   Tue Aug 18 14:11:17 2009 -0700

    nommu: check fd read permission in validate_mmap_request()
    
    According to the POSIX (1003.1-2008), the file descriptor shall have been
    opened with read permission, regardless of the protection options specified to
    mmap().  The ltp test cases mmap06/07 need this.
    
    Signed-off-by: Graff Yang <graff.yang at gmail.com>
    Acked-by: Paul Mundt <lethal at linux-sh.org>
    Signed-off-by: David Howells <dhowells at redhat.com>
    Acked-by: Greg Ungerer <gerg at snapgear.com>
    Signed-off-by: Andrew Morton <akpm at linux-foundation.org>
    Signed-off-by: Linus Torvalds <torvalds at linux-foundation.org>

commit 191529756633052680dd9d23ad63744ca5aa02a1
Author: Ben Dooks <ben at simtec.co.uk>
Date:   Tue Aug 18 14:11:17 2009 -0700

    spi_s3c24xx: fix transfer setup code
    
    Since the changes to the bitbang driver, there is the possibility we will
    be called with either the speed_hz or bpw values zero.  We take these to
    mean that the default values (8 bits per word, or maximum bus speed).
    
    Signed-off-by: Ben Dooks <ben at simtec.co.uk>
    Cc: David Brownell <david-b at pacbell.net>
    Signed-off-by: Andrew Morton <akpm at linux-foundation.org>
    Signed-off-by: Linus Torvalds <torvalds at linux-foundation.org>

commit b8978784544e8b4e8fbacb558df8580957d4f8a5
Author: Ben Dooks <ben at simtec.co.uk>
Date:   Tue Aug 18 14:11:16 2009 -0700

    spi_s3c24xx: fix clock rate calculation
    
    Currently the clock rate calculation may round as pleased, which means
    that it is possible that we will round down and end up with a faster clock
    rate than intended.
    
    Change the calculation to use DIV_ROUND_UP() to ensure that we end up with
    a clock rate either the same as or lower than the user requested one.
    
    Signed-off-by: Ben Dooks <ben at simtec.co.uk>
    Cc: David Brownell <david-b at pacbell.net>
    Signed-off-by: Andrew Morton <akpm at linux-foundation.org>
    Signed-off-by: Linus Torvalds <torvalds at linux-foundation.org>

commit b2503a9408e44eb0531adc3436c513ea70f91c42
Author: Andrew Morton <akpm at linux-foundation.org>
Date:   Tue Aug 18 14:11:12 2009 -0700

    mmc: add the new linux-mmc mailing list to MAINTAINERS
    
    There are a number of individual MMC drivers listed in MAINTAINERS.  I
    didn't modify those records.  Perhaps I should have.
    
    Cc: <linux-mmc at vger.kernel.org>
    Cc: Manuel Lauss <manuel.lauss at gmail.com>
    Cc: Nicolas Pitre <nico at cam.org>
    Cc: Pierre Ossman <drzeus at drzeus.cx>
    Cc: Pavel Pisa <ppisa at pikron.com>
    Cc: Jarkko Lavinen <jarkko.lavinen at nokia.com>
    Cc: Ben Dooks <ben-linux at fluff.org>
    Cc: Sascha Sommer <saschasommer at freenet.de>
    Cc: Ian Molton <ian at mnementh.co.uk>
    Cc: Joseph Chan <JosephChan at via.com.tw>
    Cc: Harald Welte <HaraldWelte at viatech.com>
    Signed-off-by: Andrew Morton <akpm at linux-foundation.org>
    Signed-off-by: Linus Torvalds <torvalds at linux-foundation.org>

commit 0753ba01e126020bf0f8150934903b48935b697d
Author: KOSAKI Motohiro <kosaki.motohiro at jp.fujitsu.com>
Date:   Tue Aug 18 14:11:10 2009 -0700

    mm: revert "oom: move oom_adj value"
    
    The commit 2ff05b2b (oom: move oom_adj value) moveed the oom_adj value to
    the mm_struct.  It was a very good first step for sanitize OOM.
    
    However Paul Menage reported the commit makes regression to his job
    scheduler.  Current OOM logic can kill OOM_DISABLED process.
    
    Why? His program has the code of similar to the following.
    
    	...
    	set_oom_adj(OOM_DISABLE); /* The job scheduler never killed by oom */
    	...
    	if (vfork() == 0) {
    		set_oom_adj(0); /* Invoked child can be killed */
    		execve("foo-bar-cmd");
    	}
    	....
    
    vfork() parent and child are shared the same mm_struct.  then above
    set_oom_adj(0) doesn't only change oom_adj for vfork() child, it's also
    change oom_adj for vfork() parent.  Then, vfork() parent (job scheduler)
    lost OOM immune and it was killed.
    
    Actually, fork-setting-exec idiom is very frequently used in userland program.
    We must not break this assumption.
    
    Then, this patch revert commit 2ff05b2b and related commit.
    
    Reverted commit list
    ---------------------
    - commit 2ff05b2b4e (oom: move oom_adj value from task_struct to mm_struct)
    - commit 4d8b9135c3 (oom: avoid unnecessary mm locking and scanning for OOM_DISABLE)
    - commit 8123681022 (oom: only oom kill exiting tasks with attached memory)
    - commit 933b787b57 (mm: copy over oom_adj value at fork time)
    
    Signed-off-by: KOSAKI Motohiro <kosaki.motohiro at jp.fujitsu.com>
    Cc: Paul Menage <menage at google.com>
    Cc: David Rientjes <rientjes at google.com>
    Cc: KAMEZAWA Hiroyuki <kamezawa.hiroyu at jp.fujitsu.com>
    Cc: Rik van Riel <riel at redhat.com>
    Cc: Linus Torvalds <torvalds at linux-foundation.org>
    Cc: Oleg Nesterov <oleg at redhat.com>
    Cc: Nick Piggin <npiggin at suse.de>
    Cc: Mel Gorman <mel at csn.ul.ie>
    Signed-off-by: Andrew Morton <akpm at linux-foundation.org>
    Signed-off-by: Linus Torvalds <torvalds at linux-foundation.org>

commit 89a4eb4b66e8f4d395e14a14d262dac4d6ca52f0
Author: Jeff Layton <jlayton at redhat.com>
Date:   Tue Aug 18 14:11:08 2009 -0700

    vfs: make get_sb_pseudo set s_maxbytes to value that can be cast to signed
    
    get_sb_pseudo sets s_maxbytes to ~0ULL which becomes negative when cast
    to a signed value.  Fix it to use MAX_LFS_FILESIZE which casts properly
    to a positive signed value.
    
    Signed-off-by: Jeff Layton <jlayton at redhat.com>
    Reviewed-by: Johannes Weiner <hannes at cmpxchg.org>
    Acked-by: Steve French <smfrench at gmail.com>
    Reviewed-by: Christoph Hellwig <hch at lst.de>
    Cc: Al Viro <viro at zeniv.linux.org.uk>
    Cc: Robert Love <rlove at google.com>
    Signed-off-by: Andrew Morton <akpm at linux-foundation.org>
    Signed-off-by: Linus Torvalds <torvalds at linux-foundation.org>

commit 6b6f0b6c131321e1bc34c47b7f671b0360315402
Author: Joe Perches <joe at perches.com>
Date:   Tue Aug 18 14:11:06 2009 -0700

    MAINTAINERS: OSD LIBRARY and FILESYSTEM pattern fix
    
    Signed-off-by: Joe Perches <joe at perches.com>
    Acked-by: Benny Halevy <bhalevy at panasas.com>
    Cc: Boaz Harrosh <bharrosh at panasas.com>
    Signed-off-by: Andrew Morton <akpm at linux-foundation.org>
    Signed-off-by: Linus Torvalds <torvalds at linux-foundation.org>

commit 08fdef99342955a62884fb5c49ab43431a1cafbf
Merge: c1a8f1f1c8e01eab5862c8db39b49ace814e6c66 518ff04fd84290a7ad9042e8a46d78d29cb443d3
Author: David S. Miller <davem at davemloft.net>
Date:   Tue Aug 18 16:29:16 2009 -0700

    Merge branch 'master' of git://git.kernel.org/pub/scm/linux/kernel/git/linville/wireless-2.6

commit 024e6cb408307de41cbfcb1e5a170d9af60ab2a9
Author: Andreas Schwab <schwab at linux-m68k.org>
Date:   Tue Aug 18 22:14:29 2009 +0200

    security: Fix prompt for LSM_MMAP_MIN_ADDR
    
    Fix prompt for LSM_MMAP_MIN_ADDR.
    
    (Verbs are cool!)
    
    Signed-off-by: Andreas Schwab <schwab at linux-m68k.org>
    Acked-by: Eric Paris <eparis at redhat.com>
    Signed-off-by: James Morris <jmorris at namei.org>

commit a58578e47f004017cf47803ad372490806630e58
Author: Dave Jones <davej at redhat.com>
Date:   Tue Aug 18 13:47:37 2009 -0400

    security: Make LSM_MMAP_MIN_ADDR default match its help text.
    
    Commit 788084aba2ab7348257597496befcbccabdc98a3 added the LSM_MMAP_MIN_ADDR
    option, whose help text states "For most ia64, ppc64 and x86 users with lots
    of address space a value of 65536 is reasonable and should cause no problems."
    Which implies that it's default setting was typoed.
    
    Signed-off-by: Dave Jones <davej at redhat.com>
    Acked-by: Eric Paris <eparis at redhat.com>
    Signed-off-by: James Morris <jmorris at namei.org>

commit dcd94dbdaff452b95d4ba11fdbf853b5bda8e6e7
Merge: 8486a0f95c844b27ecc855cfec89b7e34f831cad 69ab849439b506cd8dd2879527fdb64d95dd5211
Author: Linus Torvalds <torvalds at linux-foundation.org>
Date:   Tue Aug 18 13:57:38 2009 -0700

    Merge branch 'irq-fixes-for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/tip/linux-2.6-tip
    
    * 'irq-fixes-for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/tip/linux-2.6-tip:
      genirq: Wake up irq thread after action has been installed

commit 8486a0f95c844b27ecc855cfec89b7e34f831cad
Merge: b9d030a123b6b7fbf262c995455197ea5184b497 c1a8f1f1c8e01eab5862c8db39b49ace814e6c66
Author: Linus Torvalds <torvalds at linux-foundation.org>
Date:   Tue Aug 18 13:55:01 2009 -0700

    Merge git://git.kernel.org/pub/scm/linux/kernel/git/davem/net-2.6
    
    * git://git.kernel.org/pub/scm/linux/kernel/git/davem/net-2.6: (60 commits)
      net: restore gnet_stats_basic to previous definition
      NETROM: Fix use of static buffer
      e1000e: fix use of pci_enable_pcie_error_reporting
      e1000e: WoL does not work on 82577/82578 with manageability enabled
      cnic: Fix locking in init/exit calls.
      cnic: Fix locking in start/stop calls.
      bnx2: Use mutex on slow path cnic calls.
      cnic: Refine registration with bnx2.
      cnic: Fix symbol_put_addr() panic on ia64.
      gre: Fix MTU calculation for bound GRE tunnels
      pegasus: Add new device ID.
      drivers/net: fixed drivers that support netpoll use ndo_start_xmit()
      via-velocity: Fix test of mii_status bit VELOCITY_DUPLEX_FULL
      rt2x00: fix memory corruption in rf cache, add a sanity check
      ixgbe: Fix receive on real device when VLANs are configured
      ixgbe: Do not return 0 in ixgbe_fcoe_ddp() upon FCP_RSP in DDP completion
      netxen: free napi resources during detach
      netxen: remove netxen workqueue
      ixgbe: fix issues setting rx-usecs with legacy interrupts
      can: fix oops caused by wrong rtnl newlink usage
      ...

commit b9d030a123b6b7fbf262c995455197ea5184b497
Merge: 435a71d9ef68b03343949c814986e01dae849763 237674e050ae8ea40a432412df6c15d60b7ae8a6
Author: Linus Torvalds <torvalds at linux-foundation.org>
Date:   Tue Aug 18 13:54:26 2009 -0700

    Merge branch 'sh/for-2.6.31' of git://git.kernel.org/pub/scm/linux/kernel/git/lethal/sh-2.6
    
    * 'sh/for-2.6.31' of git://git.kernel.org/pub/scm/linux/kernel/git/lethal/sh-2.6:
      sh: sh7724 ddr self-refresh changes
      sh: use in-soc KEYSC on se7724
      sh: CMT suspend/resume
      sh: skip disabled LCDC channels

commit 435a71d9ef68b03343949c814986e01dae849763
Merge: df4ecf1524c7793de3121b2d4e5fc6bcc0da3bfb 80ffb3cceaefa405f2ecd46d66500ed8d53efe74
Author: Linus Torvalds <torvalds at linux-foundation.org>
Date:   Tue Aug 18 13:54:08 2009 -0700

    Merge branch 'for-linus' of git://neil.brown.name/md
    
    * 'for-linus' of git://neil.brown.name/md:
      Fix new incorrect error return from do_md_stop.

commit a924586036833086b262a371b09d1266c23bb4d1
Author: Ryusuke Konishi <konishi.ryusuke at lab.ntt.co.jp>
Date:   Wed Aug 19 00:29:43 2009 +0900

    nilfs2: fix oopses with doubly mounted snapshots
    
    will fix kernel oopses like the following:
    
     # mount -t nilfs2 -r -o cp=20 /dev/sdb1 /test1
     # mount -t nilfs2 -r -o cp=20 /dev/sdb1 /test2
     # umount /test1
     # umount /test2
    
    BUG: sleeping function called from invalid context at arch/x86/mm/fault.c:1069
    in_atomic(): 0, irqs_disabled(): 1, pid: 3886, name: umount.nilfs2
    1 lock held by umount.nilfs2/3886:
     #0:  (&type->s_umount_key#31){+.+...}, at: [<c10b398a>] deactivate_super+0x52/0x6c
    irq event stamp: 1219
    hardirqs last  enabled at (1219): [<c135c774>] __mutex_unlock_slowpath+0xf8/0x119
    hardirqs last disabled at (1218): [<c135c6d5>] __mutex_unlock_slowpath+0x59/0x119
    softirqs last  enabled at (1214): [<c1033316>] __do_softirq+0x1a5/0x1ad
    softirqs last disabled at (1205): [<c1033354>] do_softirq+0x36/0x5a
    Pid: 3886, comm: umount.nilfs2 Not tainted 2.6.31-rc6 #55
    Call Trace:
     [<c1023549>] __might_sleep+0x107/0x10e
     [<c13603c0>] do_page_fault+0x246/0x397
     [<c136017a>] ? do_page_fault+0x0/0x397
     [<c135e753>] error_code+0x6b/0x70
     [<c136017a>] ? do_page_fault+0x0/0x397
     [<c104f805>] ? __lock_acquire+0x91/0x12fd
     [<c1050a62>] ? __lock_acquire+0x12ee/0x12fd
     [<c1050a62>] ? __lock_acquire+0x12ee/0x12fd
     [<c1050b2b>] lock_acquire+0xba/0xdd
     [<d0d17d3f>] ? nilfs_detach_segment_constructor+0x2f/0x2fa [nilfs2]
     [<c135d4fe>] down_write+0x2a/0x46
     [<d0d17d3f>] ? nilfs_detach_segment_constructor+0x2f/0x2fa [nilfs2]
     [<d0d17d3f>] nilfs_detach_segment_constructor+0x2f/0x2fa [nilfs2]
     [<c104ea2c>] ? mark_held_locks+0x43/0x5b
     [<c104ecb1>] ? trace_hardirqs_on_caller+0x10b/0x133
     [<c104ece4>] ? trace_hardirqs_on+0xb/0xd
     [<d0d09ac1>] nilfs_put_super+0x2f/0xca [nilfs2]
     [<c10b3352>] generic_shutdown_super+0x49/0xb8
     [<c10b33de>] kill_block_super+0x1d/0x31
     [<c10e6599>] ? vfs_quota_off+0x0/0x12
     [<c10b398f>] deactivate_super+0x57/0x6c
     [<c10c4bc3>] mntput_no_expire+0x8c/0xb4
     [<c10c5094>] sys_umount+0x27f/0x2a4
     [<c10c50c6>] sys_oldumount+0xd/0xf
     [<c10031a4>] sysenter_do_call+0x12/0x38
     ...
    
    This turns out to be a bug brought by an -rc1 patch ("nilfs2: simplify
    remaining sget() use").
    
    In the patch, a new "put resource" function, nilfs_put_sbinfo()
    was introduced to delay freeing nilfs_sb_info struct.
    
    But the nilfs_put_sbinfo() mistakenly used atomic_dec_and_test()
    function to check the reference count, and it caused the nilfs_sb_info
    was freed when user mounted a snapshot twice.
    
    This bug also suggests there was unseen memory leak in usual mount
    /umount operations for nilfs.
    
    Signed-off-by: Ryusuke Konishi <konishi.ryusuke at lab.ntt.co.jp>

commit b395cd8a74b4a8d943dd4b5585e676f62f7350b3
Author: Kyle McMartin <kyle at redhat.com>
Date:   Tue Aug 18 12:41:25 2009 -0400

    perf tools: Make 'make html' work
    
    pushd tools/perf/Documentation
    make html
    popd
    
    is failing for me...
    
        ASCIIDOC perf-annotate.html
    ERROR: unsafe: include file: /etc/asciidoc/./stylesheets/xhtml11.css
    ERROR: unsafe: include file:
    /etc/asciidoc/./stylesheets/xhtml11-manpage.css
    ERROR: unsafe: include file:
    /etc/asciidoc/./stylesheets/xhtml11-quirks.css
    make: *** [perf-annotate.html] Error 1
    
    Apparently asciidoc "unsafe" is the default mode of operation
    in practice.
    
    https://bugzilla.redhat.com/show_bug.cgi?id=506953
    
    Works tidily now.
    
    Signed-off-by: Kyle McMartin <kyle at redhat.com>
    Cc: Peter Zijlstra <a.p.zijlstra at chello.nl>
    Cc: Mike Galbraith <efault at gmx.de>
    Cc: Paul Mackerras <paulus at samba.org>
    Cc: Arnaldo Carvalho de Melo <acme at redhat.com>
    Cc: Frederic Weisbecker <fweisbec at gmail.com>
    LKML-Reference: <20090818164125.GM25206 at bombadil.infradead.org>
    Signed-off-by: Ingo Molnar <mingo at elte.hu>

commit 78b89ecd731798f2fec8cc26ca90739253cec33c
Author: Jan Beulich <JBeulich at novell.com>
Date:   Tue Aug 18 16:41:33 2009 +0100

    i386: Fix section mismatches for init code with !HOTPLUG_CPU
    
    Commit 0e83815be719d3391bf5ea24b7fe696c07dbd417 changed the
    section the initial_code variable gets allocated in, in an
    attempt to address a section conflict warning. This, however
    created a new section conflict when building without
    HOTPLUG_CPU. The apparently only (reasonable) way to address
    this is to always use __REFDATA.
    
    Once at it, also fix a second section mismatch when not using
    HOTPLUG_CPU.
    
    Signed-off-by: Jan Beulich <jbeulich at novell.com>
    Cc: Robert Richter <robert.richter at amd.com>
    LKML-Reference: <4A8AE7CD020000780001054B at vpn.id2.novell.com>
    Signed-off-by: Ingo Molnar <mingo at elte.hu>

commit 69ab849439b506cd8dd2879527fdb64d95dd5211
Author: Thomas Gleixner <tglx at linutronix.de>
Date:   Mon Aug 17 14:07:16 2009 +0200

    genirq: Wake up irq thread after action has been installed
    
    The wake_up_process() of the new irq thread in __setup_irq() is too
    early as the irqaction is not yet fully initialized especially
    action->irq is not yet set. The interrupt thread might dereference the
    wrong irq descriptor.
    
    Move the wakeup after the action is installed and action->irq has been
    set.
    
    Reported-by: Michael Buesch <mb at bu3sch.de>
    Signed-off-by: Thomas Gleixner <tglx at linutronix.de>
    Tested-by: Michael Buesch <mb at bu3sch.de>

commit 15f3fa4e7f608c5ce19187b3b4a953222fdfa751
Author: Ingo Molnar <mingo at elte.hu>
Date:   Tue Aug 18 13:52:28 2009 +0200

    perf annotate: Fix segmentation fault
    
    Linus reported this perf annotate segfault:
    
            [torvalds at nehalem git]$ perf annotate unmap_vmas
            Segmentation fault
    
           	#0  map__clone (self=<value optimized out>) at builtin-annotate.c:236
           	#1  thread__fork (self=<value optimized out>) at builtin-annotate.c:372
    
    The bug here was that builtin-annotate.c was a copy of
    builtin-report.c and a threading related fix to builtin-report.c
    didnt get propagated to builtin-annotate.c ...
    
    Reported-by: Linus Torvalds <torvalds at linux-foundation.org>
    Cc: Peter Zijlstra <a.p.zijlstra at chello.nl>
    Cc: Mike Galbraith <efault at gmx.de>
    Cc: Paul Mackerras <paulus at samba.org>
    Cc: Arnaldo Carvalho de Melo <acme at redhat.com>
    Cc: Frederic Weisbecker <fweisbec at gmail.com>
    LKML-Reference: <new-submission>
    Signed-off-by: Ingo Molnar <mingo at elte.hu>

commit f738eb1b63edf664da1b4ac76895d988749b2f07
Author: Ingo Molnar <mingo at elte.hu>
Date:   Tue Aug 18 11:32:24 2009 +0200

    perf_counter: Fix the PARISC build
    
    PARISC does not build:
    
    /home/mingo/tip/kernel/perf_counter.c: In function 'perf_counter_index':
    /home/mingo/tip/kernel/perf_counter.c:2016: error: 'PERF_COUNTER_INDEX_OFFSET' undeclared (first use in this function)
    /home/mingo/tip/kernel/perf_counter.c:2016: error: (Each undeclared identifier is reported only once
    /home/mingo/tip/kernel/perf_counter.c:2016: error: for each function it appears in.)
    
    As PERF_COUNTER_INDEX_OFFSET is not defined.
    
    Now, we could define it in the architecture - but lets also provide
    a core default of 0 (which happens to be what all but one
    architecture uses at the moment).
    
    Architectures that need a different index offset should set this
    value in their asm/perf_counter.h files.
    
    Cc: Kyle McMartin <kyle at mcmartin.ca>
    Cc: Helge Deller <deller at gmx.de>
    Cc: linux-parisc at vger.kernel.org
    Cc: Peter Zijlstra <a.p.zijlstra at chello.nl>
    Cc: Mike Galbraith <efault at gmx.de>
    Cc: Paul Mackerras <paulus at samba.org>
    Cc: Arnaldo Carvalho de Melo <acme at redhat.com>
    Cc: Frederic Weisbecker <fweisbec at gmail.com>
    LKML-Reference: <new-submission>
    Signed-off-by: Ingo Molnar <mingo at elte.hu>

commit 1fef7891755d99039592aa8d1ed02e981f38de15
Author: Michal Simek <monstr at monstr.eu>
Date:   Tue Aug 18 11:05:11 2009 +0200

    microblaze: Update Microblaze defconfigs
    
    Signed-off-by: Michal Simek <monstr at monstr.eu>

commit 8f37b6c9852ff79cc8472c44ea6f6485dfd58bd2
Author: Michal Simek <monstr at monstr.eu>
Date:   Tue Aug 11 12:36:12 2009 +0200

    microblaze: Use klimit instead of _end for memory init
    
    For noMMU system when you use larger rootfs image
    there is problem with using _end label because
    we increase klimit but in memory initialization
    we use still _end which is wrong. Larger mtd rootfs
    was rewritten by init_bootmem_node.
    
    MMU kernel use static initialization where klimit
    is setup to _end. There is no any other hanling
    with klimit.
    
    Signed-off-by: Michal Simek <monstr at monstr.eu>

commit 2856ed35ead295a7cc8788d9ba860e746dfc92bb
Author: Michal Simek <monstr at monstr.eu>
Date:   Thu Aug 6 16:00:52 2009 +0200

    microblaze: Enable ppoll syscall
    
    Signed-off-by: Michal Simek <monstr at monstr.eu>

commit 892ee92b81b6e7fa5f6147c96e11c6c1b9802fc6
Author: John Williams <john.williams at petalogix.com>
Date:   Wed Jul 29 22:08:40 2009 +1000

    microblaze: Sane handling of missing timer/intc in device tree
    
    This code path doesn't test any returned pointers for NULL, leading to a bad
    kernel page fault if there's no timer/intc found.
    
    Slightly better is to BUG(), but even better still would be a printk beforehand.
    
    Signed-off-by: John Williams <john.williams at petalogix.com>
    Signed-off-by: Michal Simek <monstr at monstr.eu>

commit 6b99ecec25c8fd501e74306f5d23dd0365065e2a
Author: Christoph Hellwig <hch at lst.de>
Date:   Thu Aug 6 23:00:38 2009 +0200

    microblaze: use the generic ack_bad_irq implementation
    
    Signed-off-by: Christoph Hellwig <hch at lst.de>
    Signed-off-by: Michal Simek <monstr at monstr.eu>

commit 1154ecbd2f8298ef75609f5f8ed5aca96be599fb
Author: Zhang Qiang <zhangqiang.buaa at gmail.com>
Date:   Tue Aug 18 14:58:24 2009 +0800

    nilfs2: missing a read lock for segment writer in nilfs_attach_checkpoint()
    
    'ns_cno' of structure 'the_nilfs' must be protected from segment
    writer, in other words, the caller of nilfs_get_checkpoint should hold
    read lock for nilfs->ns_segctor_sem.  This patch adds the lock/unlock
    operations in nilfs_attach_checkpoint() when calling
    nilfs_cpfile_get_checkpoint().
    
    Signed-off-by: Zhang Qiang <zhangqiang.buaa at gmail.com>
    Signed-off-by: Ryusuke Konishi <konishi.ryusuke at lab.ntt.co.jp>

commit c1a8f1f1c8e01eab5862c8db39b49ace814e6c66
Author: Eric Dumazet <eric.dumazet at gmail.com>
Date:   Sun Aug 16 09:36:49 2009 +0000

    net: restore gnet_stats_basic to previous definition
    
    In 5e140dfc1fe87eae27846f193086724806b33c7d "net: reorder struct Qdisc
    for better SMP performance" the definition of struct gnet_stats_basic
    changed incompatibly, as copies of this struct are shipped to
    userland via netlink.
    
    Restoring old behavior is not welcome, for performance reason.
    
    Fix is to use a private structure for kernel, and
    teach gnet_stats_copy_basic() to convert from kernel to user land,
    using legacy structure (struct gnet_stats_basic)
    
    Based on a report and initial patch from Michael Spang.
    
    Reported-by: Michael Spang <mspang at csclub.uwaterloo.ca>
    Signed-off-by: Eric Dumazet <eric.dumazet at gmail.com>
    Signed-off-by: David S. Miller <davem at davemloft.net>

commit c6ba973b8fa97422aab4204f7d79f1d413cde925
Author: Ralf Baechle <ralf at linux-mips.org>
Date:   Mon Aug 17 18:05:32 2009 -0700

    NETROM: Fix use of static buffer
    
    The static variable used by nr_call_to_digi might result in corruption if
    multiple threads are trying to usee a node or neighbour via ioctl.  Fixed
    by having the caller pass a structure in.  This is safe because nr_add_node
    rsp. nr_add_neigh will allocate a permanent structure, if needed.
    
    Signed-off-by: Ralf Baechle <ralf at linux-mips.org>
    Signed-off-by: David S. Miller <davem at davemloft.net>

commit 80ffb3cceaefa405f2ecd46d66500ed8d53efe74
Author: NeilBrown <neilb at suse.de>
Date:   Tue Aug 18 10:35:26 2009 +1000

    Fix new incorrect error return from do_md_stop.
    
    Recent commit c8c00a6915a2e3d10416e8bdd3138429beb96210
    changed the exit paths in do_md_stop and was not quite
    careful enough.  There is one path were 'err' now needs
    to be cleared but it isn't.
    So setting an array to readonly (with mdadm --readonly) will
    work, but will incorrectly report and error: ENXIO.
    
    Signed-off-by: NeilBrown <neilb at suse.de>

commit f2d84b65b9778e8a35dd904f7d3993f0a60c9756
Author: Zhaolei <zhaolei at cn.fujitsu.com>
Date:   Fri Aug 7 18:55:48 2009 +0800

    ftrace: Unify effect of writing to trace_options and option/*
    
    "echo noglobal-clock > trace_options" can be used to change trace
    clock but "echo 0 > options/global-clock" can't. The flag toggling
    will be silently accepted without actually changing the clock callback.
    
    We can fix it by using set_tracer_flags() in
    trace_options_core_write().
    
    Changelog:
    v1->v2: Simplified switch() after Li Zefan <lizf at cn.fujitsu.com>'s
            suggestion
    
    Signed-off-by: Zhao Lei <zhaolei at cn.fujitsu.com>
    Cc: Steven Rostedt <srostedt at redhat.com>
    Cc: Li Zefan <lizf at cn.fujitsu.com>
    Signed-off-by: Frederic Weisbecker <fweisbec at gmail.com>

commit 7815f4be4026b6c5027058102ae67a4b9feffa5f
Author: Eric Van Hensbergen <ericvh at gmail.com>
Date:   Mon Aug 17 16:49:44 2009 -0500

    9p: update documentation pointers
    
    Signed-off-by: Eric Van Hensbergen <ericvh at gmail.com>

commit 4b53e4b500779230aedd5355940aeaaed0b5353b
Author: Abhishek Kulkarni <adkulkar at umail.iu.edu>
Date:   Mon Aug 17 16:42:28 2009 -0500

    9p: remove unnecessary v9fses->options which duplicates the mount string
    
    The mount options string is saved in sb->s_options. This patch removes
    the redundant duplicating of the mount options. Also, since we are not
    displaying anything special in show options, we replace v9fs_show_options
    with generic_show_options for now.
    
    Signed-off-by: Abhishek Kulkarni <adkulkar at umail.iu.edu>
    Signed-off-by: Eric Van Hensbergen <ericvh at gmail.com>

commit 0aad37ef3deed118d3816e1d1a600eb2ec9dcb87
Author: Abhishek Kulkarni <adkulkar at umail.iu.edu>
Date:   Mon Aug 17 16:38:45 2009 -0500

    net/9p: insulate the client against an invalid error code sent by a 9p server
    
    A looney tunes server sending an invalid error code (which is !IS_ERR_VALUE)
    can result in a client oops. So fix it by adding a check and converting unknown
    or invalid error codes to -ESERVERFAULT.
    
    Signed-off-by: Abhishek Kulkarni <adkulkar at umail.iu.edu>
    Signed-off-by: Eric Van Hensbergen <ericvh at gmail.com>

commit 48559b4c30708ebdc849483da9fb83ee08c6c908
Author: Abhishek Kulkarni <adkulkar at umail.iu.edu>
Date:   Mon Aug 17 16:32:18 2009 -0500

    9p: Add missing cast for the error return value in v9fs_get_inode
    
    Cast the error return value (ENOMEM) in v9fs_get_inode() to its
    correct type using ERR_PTR.
    
    Signed-off-by: Abhishek Kulkarni <adkulkar at umail.iu.edu>
    Signed-off-by: Eric Van Hensbergen <ericvh at gmail.com>

commit 5fd131893793567c361ae64cbeb28a2a753bbe35
Author: Jan Kara <jack at suse.cz>
Date:   Thu Jul 30 17:01:53 2009 +0200

    ocfs2: Don't oops in ocfs2_kill_sb on a failed mount
    
    If we fail to mount the filesystem, we have to be careful not to dereference
    uninitialized structures in ocfs2_kill_sb.
    
    Signed-off-by: Jan Kara <jack at suse.cz>
    Signed-off-by: Joel Becker <joel.becker at oracle.com>

commit 4d3297ca5bf37ff5956f76fb352e009880aad62d
Author: Abhishek Kulkarni <adkulkar at umail.iu.edu>
Date:   Sun Jul 19 13:41:51 2009 -0600

    9p: Remove redundant inode uid/gid assignment
    
    Remove a redundant update of inode's i_uid and i_gid
    after v9fs_get_inode() since the latter already sets up
    a new inode and sets the proper uid and gid values.
    
    Signed-off-by: Abhishek Kulkarni <adkulkar at umail.iu.edu>
    Signed-off-by: Eric Van Hensbergen <ericvh at gmail.com>

commit 1b5ab3e86712b6be38ebbe0d821387c1d8f91d7c
Author: Abhishek Kulkarni <adkulkar at umail.iu.edu>
Date:   Sun Jul 19 13:41:52 2009 -0600

    9p: Fix possible regressions when ->get_sb fails.
    
    ->get_sb can fail causing some badness. this patch fixes
       * clear sb->fs_s_info in kill_sb.
       * deactivate_locked_super() calls kill_sb (v9fs_kill_super) which closes the
         destroys the client, clunks all its fids and closes the v9fs session.
         Attempting to do it twice will cause an oops.
    
    Signed-off-by: Abhishek Kulkarni <adkulkar at umail.iu.edu>
    Signed-off-by: Eric Van Hensbergen <ericvh at gmail.com>

commit 4f4038328da5eb9cc237b51d3fe68138fd3fea14
Author: Abhishek Kulkarni <adkulkar at umail.iu.edu>
Date:   Sun Jul 19 13:41:53 2009 -0600

    9p: Fix v9fs show_options
    
    Add the delimiter ',' before the options when they are passed
    and check if no option parameters are passed to prevent displaying
    NULL in /proc/mounts.
    
    Signed-off-by: Abhishek Kulkarni <adkulkar at umail.iu.edu>
    Signed-off-by: Eric Van Hensbergen <ericvh at gmail.com>

commit 02bc35672b2fdf251e264adca5407792f63191e4
Author: Abhishek Kulkarni <adkulkar at umail.iu.edu>
Date:   Sun Jul 19 13:41:54 2009 -0600

    9p: Fix possible memleak in v9fs_inode_from fid.
    
    Add missing p9stat_free in v9fs_inode_from_fid to avoid
    any possible leaks.
    
    Signed-off-by: Abhishek Kulkarni <adkulkar at umail.iu.edu>
    Signed-off-by: Eric Van Hensbergen <ericvh at gmail.com>

commit 0e15597ebfe00e28857185f46aba00f400480ffe
Author: Abhishek Kulkarni <adkulkar at umail.iu.edu>
Date:   Sun Jul 19 13:41:55 2009 -0600

    9p: minor comment fixes
    
    Fix the comments -- mostly the improper and/or missing descriptions
    of function parameters.
    
    Signed-off-by: Abhishek Kulkarni <adkulkar at umail.iu.edu>
    Signed-off-by: Eric Van Hensbergen <ericvh at gmail.com>

commit 2bb541157fe2602af7b9952096d0524f6f9c1e73
Author: Abhishek Kulkarni <adkulkar at umail.iu.edu>
Date:   Sun Jul 19 13:41:56 2009 -0600

    9p: Fix possible inode leak in v9fs_get_inode.
    
    Add a missing iput when cleaning up if v9fs_get_inode
    fails after returning a valid inode.
    
    Signed-off-by: Abhishek Kulkarni <adkulkar at umail.iu.edu>
    Signed-off-by: Eric Van Hensbergen <ericvh at gmail.com>

commit 50fb6d2bd7062708892ae7147f30c3ee905b7a3d
Author: Abhishek Kulkarni <adkulkar at umail.iu.edu>
Date:   Sun Jul 19 13:41:57 2009 -0600

    9p: Check for error in return value of v9fs_fid_add
    
    Check if v9fs_fid_add was successful or not based on its
    return value.
    
    Signed-off-by: Abhishek Kulkarni <adkulkar at umail.iu.edu>
    Signed-off-by: Eric Van Hensbergen <ericvh at gmail.com>

commit 1adcaafe7414c5731f758b158aa0525057225deb
Author: Suresh Siddha <suresh.b.siddha at intel.com>
Date:   Mon Aug 17 13:23:50 2009 -0700

    x86, pat: Allow ISA memory range uncacheable mapping requests
    
    Max Vozeler reported:
    >  Bug 13877 -  bogl-term broken with CONFIG_X86_PAT=y, works with =n
    >
    >  strace of bogl-term:
    >  814   mmap2(NULL, 65536, PROT_READ|PROT_WRITE, MAP_SHARED, 4, 0)
    >				 = -1 EAGAIN (Resource temporarily unavailable)
    >  814   write(2, "bogl: mmaping /dev/fb0: Resource temporarily unavailable\n",
    >	       57) = 57
    
    PAT code maps the ISA memory range as WB in the PAT attribute, so that
    fixed range MTRR registers define the actual memory type (UC/WC/WT etc).
    
    But the upper level is_new_memtype_allowed() API checks are failing,
    as the request here is for UC and the return tracked type is WB (Tracked type is
    WB as MTRR type for this legacy range potentially will be different for each
    4k page).
    
    Fix is_new_memtype_allowed() by always succeeding the ISA address range
    checks, as the null PAT (WB) and def MTRR fixed range register settings
    satisfy the memory type needs of the applications that map the ISA address
    range.
    
    Reported-and-Tested-by: Max Vozeler <xam at debian.org>
    Signed-off-by: Suresh Siddha <suresh.b.siddha at intel.com>
    Signed-off-by: Venkatesh Pallipadi <venkatesh.pallipadi at intel.com>
    Signed-off-by: H. Peter Anvin <hpa at zytor.com>

commit df4ecf1524c7793de3121b2d4e5fc6bcc0da3bfb
Merge: c58afec8b2576b121eced7b94eb94eaf4626bacc 87c62a66edd645a9b1ff1f9b00ab20c5a93d8845
Author: Linus Torvalds <torvalds at linux-foundation.org>
Date:   Mon Aug 17 13:39:52 2009 -0700

    Merge branch 'upstream' of git://ftp.linux-mips.org/pub/scm/upstream-linus
    
    * 'upstream' of git://ftp.linux-mips.org/pub/scm/upstream-linus:
      MIPS: Fix HPAGE_SIZE redefinition

commit c58afec8b2576b121eced7b94eb94eaf4626bacc
Merge: 52dec22e739eec8f3a0154f768a599f5489048bd bc990f5cb424cdca9dda866785d088e2c2110ecc
Author: Linus Torvalds <torvalds at linux-foundation.org>
Date:   Mon Aug 17 13:39:30 2009 -0700

    Merge branch 'for-linus' of git://oss.sgi.com/xfs/xfs
    
    * 'for-linus' of git://oss.sgi.com/xfs/xfs:
      xfs: fix locking in xfs_iget_cache_hit

commit 52dec22e739eec8f3a0154f768a599f5489048bd
Merge: 08e53fcb0db34baca3db84a457b6d67faabee4c6 1d9959734a1949ea4f2427bd2d8b21ede6b2441c
Author: Linus Torvalds <torvalds at linux-foundation.org>
Date:   Mon Aug 17 13:38:58 2009 -0700

    Merge branch 'for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/jmorris/security-testing-2.6
    
    * 'for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/jmorris/security-testing-2.6:
      security: define round_hint_to_min in !CONFIG_SECURITY
      Security/SELinux: seperate lsm specific mmap_min_addr
      SELinux: call cap_file_mmap in selinux_file_mmap
      Capabilities: move cap_file_mmap to commoncap.c

commit 08e53fcb0db34baca3db84a457b6d67faabee4c6
Author: Eric Paris <eparis at redhat.com>
Date:   Sun Aug 16 21:51:55 2009 -0400

    inotify: start watch descriptor count at 1
    
    The inotify_add_watch man page specifies that inotify_add_watch() will
    return a non-negative integer.  However, historically the inotify
    watches started at 1, not at 0.
    
    Turns out that the inotifywait program provided by the inotify-tools
    package doesn't properly handle a 0 watch descriptor.  In 7e790dd5 we
    changed from starting at 1 to starting at 0.  This patch starts at 1,
    just like in previous kernels, but also just like in previous kernels
    it's possible for it to wrap back to 0.  This preserves the kernel
    functionality exactly like it was before the patch (neither method broke
    the spec)
    
    Signed-off-by: Eric Paris <eparis at redhat.com>
    Signed-off-by: Linus Torvalds <torvalds at linux-foundation.org>

commit cd94c8bbef8d4b796a7ed4c551355a334604fd36
Author: Eric Paris <eparis at redhat.com>
Date:   Sun Aug 16 21:51:49 2009 -0400

    inotify: tail drop inotify q_overflow events
    
    In f44aebcc the tail drop logic of events with no file backing
    (q_overflow and in_ignored) was reversed so IN_IGNORED events would
    never be tail dropped.  This now means that Q_OVERFLOW events are NOT
    tail dropped.  The fix is to not tail drop IN_IGNORED, but to tail drop
    Q_OVERFLOW.
    
    Signed-off-by: Eric Paris <eparis at redhat.com>
    Signed-off-by: Linus Torvalds <torvalds at linux-foundation.org>

commit eef3a116be11d35396efb2a8cc7345fd3221e294
Author: Eric Paris <eparis at redhat.com>
Date:   Sun Aug 16 21:51:44 2009 -0400

    notify: unused event private race
    
    inotify decides if private data it passed to get added to an event was
    used by checking list_empty().  But it's possible that the event may
    have been dequeued and the private event removed so it would look empty.
    
    The fix is to use the return code from fsnotify_add_notify_event rather
    than looking at the list.
    
    Signed-off-by: Eric Paris <eparis at redhat.com>
    Signed-off-by: Linus Torvalds <torvalds at linux-foundation.org>

commit 0f66f96d21b4bbff49baaa337546e687d7c58e87
Merge: 894ef820b10d77e2d6d717342fc408bdd9825139 a2bb9f4d6a5a589b481595207ac3588cc08d1b60
Author: Linus Torvalds <torvalds at linux-foundation.org>
Date:   Mon Aug 17 13:36:39 2009 -0700

    Merge master.kernel.org:/home/rmk/linux-2.6-arm
    
    * master.kernel.org:/home/rmk/linux-2.6-arm: (37 commits)
      ARM: 5673/1: U300 fix initsection compile warning
      ARM: Fix broken highmem support
      mx31moboard: invert sdhc ro signal sense
      ARM: S3C24XX: Fix clkout mpx error
      ARM: S3C64XX: serial: Fix a typo in Kconfig
      IXP4xx: Fix IO_SPACE_LIMIT for 2.6.31-rc core PCI changes
      OMAP3: RX51: Updated rx51_defconfig
      OMAP2/3: mmc-twl4030: Free up MMC regulators while cleaning up
      OMAP3: RX51: Define TWL4030 USB transceiver in board file
      OMAP3: Overo: Fix smsc911x platform device resource value
      OMAP3: Fix omap3 sram virtual addres overlap vmalloc space after increasing vmalloc size
      OMAP2/3: DMA errata correction
      OMAP: Fix testing of cpu defines for mach-omap1
      OMAP3: Overo: add missing pen-down GPIO definition
      OMAP: GPIO: clear/restore level/edge detect settings on mask/unmask
      OMAP3: PM: Fix wrong sequence in suspend.
      OMAP: PM: CPUfreq: obey min/max settings of policy
      OMAP2/3/4: UART: allow in-order port traversal
      OMAP2/3/4: UART: Allow per-UART disabling wakeup for serial ports
      OMAP3: Fixed crash bug with serial + suspend
      ...

commit 60e2ec48665b8495360ca4a6004c5cd52beb2bc1
Author: Tao Ma <tao.ma at oracle.com>
Date:   Wed Aug 12 14:42:47 2009 +0800

    ocfs2: release the buffer head in ocfs2_do_truncate.
    
    In ocfs2_do_truncate, we forget to release last_eb_bh which
    will cause memleak. So call brelse in the end.
    
    Signed-off-by: Tao Ma <tao.ma at oracle.com>
    Signed-off-by: Joel Becker <joel.becker at oracle.com>

commit ada508274b8698a33cb0e5bd037db0f9dc781795
Author: Jan Kara <jack at suse.cz>
Date:   Mon Aug 3 18:24:21 2009 +0200

    ocfs2: Handle quota file corruption more gracefully
    
    ocfs2_read_virt_blocks() does BUG when we try to read a block from a file
    beyond its end. Since this can happen due to filesystem corruption, it
    is not really an appropriate answer. Make ocfs2_read_quota_block() check
    the condition and handle it by calling ocfs2_error() and returning EIO.
    
    [ Modified to print ip_blkno in the error - Joel ]
    
    Reported-by: Tristan Ye <tristan.ye at oracle.com>
    Signed-off-by: Jan Kara <jack at suse.cz>
    Signed-off-by: Joel Becker <joel.becker at oracle.com>

commit 518ff04fd84290a7ad9042e8a46d78d29cb443d3
Author: John W. Linville <linville at tuxdriver.com>
Date:   Mon Aug 17 12:09:26 2009 -0400

    orinoco: correct key bounds check in orinoco_hw_get_tkip_iv
    
    If key is 4 that is an array out of bounds.
    
    Reported-by: Dan Carpenter <error27 at gmail.com>
    Signed-off-by: John W. Linville <linville at tuxdriver.com>

commit 523d2f6982136d332c9b7dd00e9e16da1091f060
Author: Johannes Berg <johannes at sipsolutions.net>
Date:   Wed Jul 1 21:26:43 2009 +0200

    mac80211: fix todo lock
    
    The key todo lock can be taken from different locks
    that require it to be _bh to avoid lock inversion
    due to (soft)irqs.
    
    This should fix the two problems reported by Bob and
    Gabor:
    http://mid.gmane.org/20090619113049.GB18956@hash.localnet
    http://mid.gmane.org/4A3FA376.8020307@openwrt.org
    
    Signed-off-by: Johannes Berg <johannes at sipsolutions.net>
    Cc: Bob Copeland <me at bobcopeland.com>
    Cc: Gabor Juhos <juhosg at openwrt.org>
    Signed-off-by: John W. Linville <linville at tuxdriver.com>

commit 87c62a66edd645a9b1ff1f9b00ab20c5a93d8845
Author: Atsushi Nemoto <anemo at mba.ocn.ne.jp>
Date:   Tue Jul 14 22:37:09 2009 +0900

    MIPS: Fix HPAGE_SIZE redefinition
    
    This patch fixes warnings like this:
      CC      fs/proc/meminfo.o
    In file included from /work/linux/include/linux/mmzone.h:20,
                     from /work/linux/include/linux/gfp.h:4,
                     from /work/linux/include/linux/mm.h:8,
                     from /work/linux/fs/proc/meminfo.c:5:
    /work/linux/arch/mips/include/asm/page.h:36:1: warning: "HPAGE_SIZE" redefined
    In file included from /work/linux/fs/proc/meminfo.c:2:
    /work/linux/include/linux/hugetlb.h:107:1: warning: this is the location of the previous definition
    
    Signed-off-by: Atsushi Nemoto <anemo at mba.ocn.ne.jp>
    Acked-by: David Daney <ddaney at caviumnetworks.com>
    Signed-off-by: Ralf Baechle <ralf at linux-mips.org>

commit e412cd257e0d51e0ecbb89f50953835b5a0681b2
Author: Ingo Molnar <mingo at elte.hu>
Date:   Mon Aug 17 10:19:00 2009 +0200

    x86, mce: Don't initialize MCEs on unknown CPUs
    
    An older test-box started hanging at the following point during
    bootup:
    
     [    0.022996] Mount-cache hash table entries: 512
     [    0.024996] Initializing cgroup subsys debug
     [    0.025996] Initializing cgroup subsys cpuacct
     [    0.026995] Initializing cgroup subsys devices
     [    0.027995] Initializing cgroup subsys freezer
     [    0.028995] mce: CPU supports 5 MCE banks
    
    I've bisected it down to commit 4efc0670 ("x86, mce: use 64bit
    machine check code on 32bit"), which utilizes the MCE code on
    32-bit systems too.
    
    The problem is caused by this detail in my config:
    
      # CONFIG_CPU_SUP_INTEL is not set
    
    This disables the quirks in mce_cpu_quirks() but still enables
    MCE support - which then hangs due to the missing quirk
    workaround needed on this CPU:
    
    	if (c->x86 == 6 && c->x86_model < 0x1A && banks > 0)
    		mce_banks[0].init = 0;
    
    The safe solution is to not initialize MCEs if we dont know on
    what CPU we are running (or if that CPU's support code got
    disabled in the config).
    
    Also be a bit more defensive on 32-bit systems: dont do a
    boot-time dump of pending MCEs not just on the specific system
    that we found a problem with (Pentium-M), but earlier ones as
    well.
    
    Now this problem is probably not common and disabling CPU
    support is rare - but still being more defensive in something
    we turned on for a wide range of CPUs is prudent.
    
    Cc: Hidetoshi Seto <seto.hidetoshi at jp.fujitsu.com>
    LKML-Reference: Message-ID: <4A88E3E4.40506 at jp.fujitsu.com>
    Signed-off-by: Ingo Molnar <mingo at elte.hu>

commit de809347aeef0a68c04576c464414d0e4dce59fc
Author: Amerigo Wang <amwang at redhat.com>
Date:   Mon Aug 17 05:43:01 2009 -0400

    timers: Drop write permission on /proc/timer_list
    
    /proc/timer_list and /proc/slabinfo are not supposed to be
    written, so there should be no write permissions on it.
    
    Signed-off-by: WANG Cong <amwang at redhat.com>
    Cc: Pekka Enberg <penberg at cs.helsinki.fi>
    Cc: Vegard Nossum <vegard.nossum at gmail.com>
    Cc: Eduard - Gabriel Munteanu <eduard.munteanu at linux360.ro>
    Cc: linux-mm at kvack.org
    Cc: Christoph Lameter <cl at linux-foundation.org>
    Cc: David Rientjes <rientjes at google.com>
    Cc: Amerigo Wang <amwang at redhat.com>
    Cc: Matt Mackall <mpm at selenic.com>
    Cc: Arjan van de Ven <arjan at linux.intel.com>
    LKML-Reference: <20090817094525.6355.88682.sendpatchset at localhost.localdomain>
    Signed-off-by: Ingo Molnar <mingo at elte.hu>

commit e1ac3614ff606ae03677f47459113f98a19af63c
Author: Paul Mackerras <paulus at samba.org>
Date:   Fri Aug 14 15:39:10 2009 +1000

    perf_counter: Check task on counter read IPI
    
    In general, code in perf_counter.c that is called through an
    IPI checks, for per-task counters, that the counter's task is
    still the current task.  This is to handle the race condition
    where the cpu switches from the task we want to another task in
    the interval between sending the IPI and the IPI arriving and
    being handled on the target CPU.
    
    For some reason, __perf_counter_read is missing this check, yet
    there is no reason why the race condition can't occur.  This
    adds a check that the current task is the one we want.  If it
    isn't, we just return.  In that case the counter->count value
    should be up to date, since it will have been updated when the
    counter was scheduled out, which must have happened since the
    IPI was sent.
    
    I don't have an example of an actual failure due to this race,
    but it seems obvious that it could occur and we need to guard
    against it.
    
    Signed-off-by: Paul Mackerras <paulus at samba.org>
    Acked-by: Peter Zijlstra <a.p.zijlstra at chello.nl>
    LKML-Reference: <19076.63614.277861.368125 at drongo.ozlabs.ibm.com>
    Signed-off-by: Ingo Molnar <mingo at elte.hu>

commit 2932cffc89e9a1476b28a59896fa4f81e0d4f131
Author: Carlos R. Mafra <crmafra at gmail.com>
Date:   Mon Aug 17 00:36:21 2009 +0200

    perf: Rename perf-examples.txt to examples.txt
    
    Rename it to examples.txt to avoid the perf-*.txt pattern in
    the Makefile, otherwise 'make doc' fails because
    perf-examples.txt is not formatted to be a man page:
    
     ERROR: perf-examples.txt: line 1: manpage document title is mandatory
    
    Signed-off-by: Carlos R. Mafra <crmafra at gmail.com>
    Cc: Peter Zijlstra <a.p.zijlstra at chello.nl>
    Cc: Paul Mackerras <paulus at samba.org>
    LKML-Reference: <new-submission>
    Signed-off-by: Ingo Molnar <mingo at elte.hu>

commit c7f6fa44115d401e89db730f357629d39f8e4ba6
Author: Bartlomiej Zolnierkiewicz <bzolnier at gmail.com>
Date:   Tue Jul 28 23:52:54 2009 +0200

    x86, mce: don't log boot MCEs on Pentium M (model == 13) CPUs
    
    On my legacy Pentium M laptop (Acer Extensa 2900) I get bogus MCE on a cold
    boot with CONFIG_X86_NEW_MCE enabled, i.e. (after decoding it with mcelog):
    
    MCE 0
    HARDWARE ERROR. This is *NOT* a software problem!
    Please contact your hardware vendor
    CPU 0 BANK 1 MCG status:
    MCi status:
    Error overflow
    Uncorrected error
    Error enabled
    Processor context corrupt
    MCA: Data CACHE Level-1 UNKNOWN Error
    STATUS f200000000000195 MCGSTATUS 0
    
    [ The other STATUS values observed: f2000000000001b5 (... UNKNOWN error)
      and f200000000000115 (... READ Error).
    
      To verify that this is not a CONFIG_X86_NEW_MCE bug I also modified
      the CONFIG_X86_OLD_MCE code (which doesn't log any MCEs) to dump
      content of STATUS MSR before it is cleared during initialization. ]
    
    Since the bogus MCE results in a kernel taint (which in turn disables
    lockdep support) don't log boot MCEs on Pentium M (model == 13) CPUs
    by default ("mce=bootlog" boot parameter can be be used to get the old
    behavior).
    
    Signed-off-by: Bartlomiej Zolnierkiewicz <bzolnier at gmail.com>
    Reviewed-by: Andi Kleen <andi at firstfloor.org>
    Signed-off-by: H. Peter Anvin <hpa at zytor.com>
    Signed-off-by: Ingo Molnar <mingo at elte.hu>

commit bc990f5cb424cdca9dda866785d088e2c2110ecc
Author: Christoph Hellwig <hch at infradead.org>
Date:   Sun Aug 16 20:36:34 2009 -0400

    xfs: fix locking in xfs_iget_cache_hit
    
    The locking in xfs_iget_cache_hit currently has numerous problems:
    
     - we clear the reclaim tag without i_flags_lock which protects
       modifications to it
     - we call inode_init_always which can sleep with pag_ici_lock
       held (this is oss.sgi.com BZ #819)
     - we acquire and drop i_flags_lock a lot and thus provide no
       consistency between the various flags we set/clear under it
    
    This patch fixes all that with a major revamp of the locking in
    the function.  The new version acquires i_flags_lock early and
    only drops it once we need to call into inode_init_always or before
    calling xfs_ilock.
    
    This patch fixes a bug seen in the wild where we race modifying the
    reclaim tag.
    
    Signed-off-by: Christoph Hellwig <hch at lst.de>
    Reviewed-by: Felix Blyakher <felixb at sgi.com>
    Reviewed-by: Eric Sandeen <sandeen at sandeen.net>
    Signed-off-by: Felix Blyakher <felixb at sgi.com>

commit 1d9959734a1949ea4f2427bd2d8b21ede6b2441c
Author: Eric Paris <eparis at redhat.com>
Date:   Fri Aug 7 14:53:57 2009 -0400

    security: define round_hint_to_min in !CONFIG_SECURITY
    
    Fix the header files to define round_hint_to_min() and to define
    mmap_min_addr_handler() in the !CONFIG_SECURITY case.
    
    Built and tested with !CONFIG_SECURITY
    
    Signed-off-by: Eric Paris <eparis at redhat.com>
    Signed-off-by: James Morris <jmorris at namei.org>

commit 788084aba2ab7348257597496befcbccabdc98a3
Author: Eric Paris <eparis at redhat.com>
Date:   Fri Jul 31 12:54:11 2009 -0400

    Security/SELinux: seperate lsm specific mmap_min_addr
    
    Currently SELinux enforcement of controls on the ability to map low memory
    is determined by the mmap_min_addr tunable.  This patch causes SELinux to
    ignore the tunable and instead use a seperate Kconfig option specific to how
    much space the LSM should protect.
    
    The tunable will now only control the need for CAP_SYS_RAWIO and SELinux
    permissions will always protect the amount of low memory designated by
    CONFIG_LSM_MMAP_MIN_ADDR.
    
    This allows users who need to disable the mmap_min_addr controls (usual reason
    being they run WINE as a non-root user) to do so and still have SELinux
    controls preventing confined domains (like a web server) from being able to
    map some area of low memory.
    
    Signed-off-by: Eric Paris <eparis at redhat.com>
    Signed-off-by: James Morris <jmorris at namei.org>

commit 8cf948e744e0218af604c32edecde10006dc8e9e
Author: Eric Paris <eparis at redhat.com>
Date:   Fri Jul 31 12:54:05 2009 -0400

    SELinux: call cap_file_mmap in selinux_file_mmap
    
    Currently SELinux does not check CAP_SYS_RAWIO in the file_mmap hook.  This
    means there is no DAC check on the ability to mmap low addresses in the
    memory space.  This function adds the DAC check for CAP_SYS_RAWIO while
    maintaining the selinux check on mmap_zero.  This means that processes
    which need to mmap low memory will need CAP_SYS_RAWIO and mmap_zero but will
    NOT need the SELinux sys_rawio capability.
    
    Signed-off-by: Eric Paris <eparis at redhat.com>
    Signed-off-by: James Morris <jmorris at namei.org>

commit 9c0d90103c7e0eb6e638e5b649e9f6d8d9c1b4b3
Author: Eric Paris <eparis at redhat.com>
Date:   Fri Jul 31 12:53:58 2009 -0400

    Capabilities: move cap_file_mmap to commoncap.c
    
    Currently we duplicate the mmap_min_addr test in cap_file_mmap and in
    security_file_mmap if !CONFIG_SECURITY.  This patch moves cap_file_mmap
    into commoncap.c and then calls that function directly from
    security_file_mmap ifndef CONFIG_SECURITY like all of the other capability
    checks are done.
    
    Signed-off-by: Eric Paris <eparis at redhat.com>
    Acked-by: Serge Hallyn <serue at us.ibm.com>
    Signed-off-by: James Morris <jmorris at namei.org>

commit cefb87efc9aa0288849149484870d5ab989fbd59
Author: Dave Airlie <airlied at redhat.com>
Date:   Sun Aug 16 21:05:45 2009 +1000

    drm/radeon/kms: implement bo busy check + current domain
    
    This implements the busy ioctl along with a current domain check.
    returns 0 or -EBUSY
    puts the current domain no matter what the answer.
    
    Signed-off-by: Dave Airlie <airlied at redhat.com>

commit 52459ab91363343af8ae252766e9da762344a2e7
Author: Leonardo Potenza <lpotenza at inwind.it>
Date:   Sun Aug 16 18:55:48 2009 +0200

    x86: Annotate section mismatch warnings in kernel/apic/x2apic_uv_x.c
    
    The function uv_acpi_madt_oem_check() has been marked __init,
    the struct apic_x2apic_uv_x has been marked __refdata.
    
    The aim is to address the following section mismatch messages:
    
    WARNING: arch/x86/kernel/apic/built-in.o(.data+0x1368): Section mismatch in reference from the variable apic_x2apic_uv_x to the function .cpuinit.text:uv_wakeup_secondary()
    The variable apic_x2apic_uv_x references
    the function __cpuinit uv_wakeup_secondary()
    If the reference is valid then annotate the
    variable with __init* or __refdata (see linux/init.h) or name the variable:
    *driver, *_template, *_timer, *_sht, *_ops, *_probe, *_probe_one, *_console,
    
    WARNING: arch/x86/kernel/built-in.o(.data+0x68e8): Section mismatch in reference from the variable apic_x2apic_uv_x to the function .cpuinit.text:uv_wakeup_secondary()
    The variable apic_x2apic_uv_x references
    the function __cpuinit uv_wakeup_secondary()
    If the reference is valid then annotate the
    variable with __init* or __refdata (see linux/init.h) or name the variable:
    *driver, *_template, *_timer, *_sht, *_ops, *_probe, *_probe_one, *_console,
    
    WARNING: arch/x86/built-in.o(.text+0x7b36f): Section mismatch in reference from the function uv_acpi_madt_oem_check() to the function .init.text:early_ioremap()
    The function uv_acpi_madt_oem_check() references
    the function __init early_ioremap().
    This is often because uv_acpi_madt_oem_check lacks a __init
    annotation or the annotation of early_ioremap is wrong.
    
    WARNING: arch/x86/built-in.o(.text+0x7b38d): Section mismatch in reference from the function uv_acpi_madt_oem_check() to the function .init.text:early_iounmap()
    The function uv_acpi_madt_oem_check() references
    the function __init early_iounmap().
    This is often because uv_acpi_madt_oem_check lacks a __init
    annotation or the annotation of early_iounmap is wrong.
    
    WARNING: arch/x86/built-in.o(.data+0x8668): Section mismatch in reference from the variable apic_x2apic_uv_x to the function .cpuinit.text:uv_wakeup_secondary()
    The variable apic_x2apic_uv_x references
    the function __cpuinit uv_wakeup_secondary()
    If the reference is valid then annotate the
    variable with __init* or __refdata (see linux/init.h) or name the variable:
    *driver, *_template, *_timer, *_sht, *_ops, *_probe, *_probe_one, *_console,
    
    Signed-off-by: Leonardo Potenza <lpotenza at inwind.it>
    LKML-Reference: <200908161855.48302.lpotenza at inwind.it>
    Signed-off-by: Ingo Molnar <mingo at elte.hu>

commit 894ef820b10d77e2d6d717342fc408bdd9825139
Author: Randy Dunlap <randy.dunlap at oracle.com>
Date:   Sun Aug 16 07:33:30 2009 -0700

    dm-log-userspace: fix printk format warning
    
    drivers/md/dm-log-userspace-transfer.c:110: warning: format '%lu' expects type 'long unsigned int', but argument 4 has type 'size_t'
    
    Previously posted and acked, but apparently lost.
    http://lkml.indiana.edu/hypermail/linux/kernel/0906.2/02074.html
    
    Signed-off-by: Randy Dunlap <randy.dunlap at oracle.com>
    Cc: dm-devel at redhat.com
    Signed-off-by: Linus Torvalds <torvalds at linux-foundation.org>

commit 4e5c25d405e18a2f279ca2bfc855508ec3a0186b
Author: Hugh Dickins <hugh.dickins at tiscali.co.uk>
Date:   Sun Aug 16 15:54:37 2009 +0100

    x86, mce: therm_throt: Don't log redundant normality
    
    0d01f31439c1e4d602bf9fdc924ab66f407f5e38 "x86, mce: therm_throt
    - change when we print messages" removed redundant
    announcements of "Temperature/speed normal".
    
    They're not worth logging and remove their accompanying
    "Machine check events logged" messages as well from the
    console.
    
    Signed-off-by: Hugh Dickins <hugh.dickins at tiscali.co.uk>
    Cc: Hidetoshi Seto <seto.hidetoshi at jp.fujitsu.com>
    Cc: Andi Kleen <andi at firstfloor.org>
    Cc: Dmitry Torokhov <dtor at mail.ru>
    LKML-Reference: <Pine.LNX.4.64.0908161544100.7929 at sister.anvils>
    Signed-off-by: Ingo Molnar <mingo at elte.hu>

commit 68eac4602b9104cdaa6c18b3edd914cececa6a1e
Author: Xiaotian Feng <dfeng at redhat.com>
Date:   Fri Aug 14 14:35:52 2009 +0000

    e1000e: fix use of pci_enable_pcie_error_reporting
    
    commit 111b9dc5 ("e1000e: add aer support") introduces pcie aer
    support for e1000e, but it is not reasonable to disable it in
    e1000_remove but enable it in e1000_resume.  This patch enables aer
    support in e1000_probe.
    
    Signed-off-by: Xiaotian Feng <dfeng at redhat.com>
    Signed-off-by: Jeff Kirsher <jeffrey.t.kirsher at intel.com>
    Signed-off-by: David S. Miller <davem at davemloft.net>

commit 82776a4bcd7aa5fbcd2e6339b3ce88b727dd40ab
Author: Bruce Allan <bruce.w.allan at intel.com>
Date:   Fri Aug 14 14:35:33 2009 +0000

    e1000e: WoL does not work on 82577/82578 with manageability enabled
    
    With manageability (Intel AMT) enabled via BIOS, PHY wakeup does not get
    configured on newer parts which use PHY wakeup vs. MAC wakeup which causes
    WoL to not work.  The driver should configure PHY wakeup whether or not
    manageability is enabled.
    
    Signed-off-by: Bruce Allan <bruce.w.allan at intel.com>
    Signed-off-by: Jeff Kirsher <jeffrey.t.kirsher at intel.com>
    Signed-off-by: David S. Miller <davem at davemloft.net>

commit 7fc1ece40704b150477e548a7a98d285cc418790
Author: Michael Chan <mchan at broadcom.com>
Date:   Fri Aug 14 15:49:47 2009 +0000

    cnic: Fix locking in init/exit calls.
    
    The slow path ulp_init and ulp_exit calls to the bnx2i driver
    are sleepable calls and therefore should not be protected using
    rcu_read_lock.  Fix it by using mutex and refcount during these
    calls.  cnic_unregister_driver() will now wait for the refcount
    to go to zero before completing the call.
    
    Signed-off-by: Michael Chan <mchan at broadcom.com>
    Reviewed-by: Benjamin Li <benli at broadcom.com>
    Signed-off-by: David S. Miller <davem at davemloft.net>

commit 681dbd710779e8b8d5bae926f6b11f30df70638b
Author: Michael Chan <mchan at broadcom.com>
Date:   Fri Aug 14 15:49:46 2009 +0000

    cnic: Fix locking in start/stop calls.
    
    The slow path ulp_start and ulp_stop calls to the bnx2i driver
    are sleepable calls and therefore should not be protected using
    rcu_read_lock.  Fix it by using mutex and setting a bit during
    these calls.  cnic_unregister_device() will now wait for the bit
    to clear before completing the call.
    
    Signed-off-by: Michael Chan <mchan at broadcom.com>
    Reviewed-by: Benjamin Li <benli at broadcom.com>
    Signed-off-by: David S. Miller <davem at davemloft.net>

commit c5a889508203446c1abc1d670599b3a816841813
Author: Michael Chan <mchan at broadcom.com>
Date:   Fri Aug 14 15:49:45 2009 +0000

    bnx2: Use mutex on slow path cnic calls.
    
    The slow path calls to the cnic driver are sleepable calls so we
    cannot use rcu_read_lock().  Use mutex for these slow path calls
    instead.
    
    Signed-off-by: Michael Chan <mchan at broadcom.com>
    Reviewed-by: Benjamin Li <benli at broadcom.com>
    Signed-off-by: David S. Miller <davem at davemloft.net>

commit a3059b12adae868c42629ecf058a94195ef1e958
Author: Michael Chan <mchan at broadcom.com>
Date:   Fri Aug 14 15:49:44 2009 +0000

    cnic: Refine registration with bnx2.
    
    Register and unregister with bnx2 during NETDEV_UP and NETDEV_DOWN
    events.  This simplifies the sequence of events and allows locking
    fixes in the next patch.
    
    Signed-off-by: Michael Chan <mchan at broadcom.com>
    Reviewed-by: Benjamin Li <benli at broadcom.com>
    Signed-off-by: David S. Miller <davem at davemloft.net>

commit 64c6460875957502541a4ba30835ac625a0bee79
Author: Michael Chan <mchan at broadcom.com>
Date:   Fri Aug 14 15:49:43 2009 +0000

    cnic: Fix symbol_put_addr() panic on ia64.
    
    When the cnic driver tries to grab a symbol from bnx2 when bnx2 is
    running init code, symbol_get() will succeed but symbol_put_addr()
    will hit BUG() a moment later.  module_text_address() fails because
    bnx2 is still in init code.
    
    This is fixed by using symbol_put() instead which does the exact
    opposite of symbol_get().
    
    Signed-off-by: Michael Chan <mchan at broadcom.com>
    Signed-off-by: David S. Miller <davem at davemloft.net>

commit b2add73dbf93fd50f00564d7abc3e2b9aa9dd20c
Author: Guillaume Knispel <gknispel at proformatique.com>
Date:   Sat Aug 15 19:30:24 2009 +0200

    poll/select: initialize triggered field of struct poll_wqueues
    
    The triggered field of struct poll_wqueues introduced in commit
    5f820f648c92a5ecc771a96b3c29aa6e90013bba ("poll: allow f_op->poll to
    sleep").
    
    It was first set to 1 in pollwake() (now __pollwake() ), tested and
    later set to 0 in poll_schedule_timeout(), but not initialized before.
    
    As a result when the process needs to sleep, triggered was likely to be
    non-zero even if pollwake() is not called before the first
    poll_schedule_timeout(), meaning schedule_hrtimeout_range() would not be
    called and an extra loop calling all ->poll() would be done.
    
    This patch initialize triggered to 0 in poll_initwait() so the ->poll()
    are not called twice before the process goes to sleep when it needs to.
    
    Signed-off-by: Guillaume Knispel <gknispel at proformatique.com>
    Acked-by: Thomas Gleixner <tglx at linutronix.de>
    Acked-by: Tejun Heo <tj at kernel.org>
    Cc: stable at kernel.org
    Signed-off-by: Linus Torvalds <torvalds at linux-foundation.org>

commit de1b28989edff519d0548ebaa3f94fd3d1524cf2
Author: Dave Airlie <airlied at redhat.com>
Date:   Wed Aug 12 18:43:14 2009 +1000

    drm/radeon/kms: cut down indirects in register accesses.
    
    We really don't want to be doing all these indirects, updating
    the GPU gart table is something we do often so the less overhead the
    better.
    
    Signed-off-by: Dave Airlie <airlied at redhat.com>

commit 7ed220d738cf16adff6bc3b31ad25b8848a2fa9c
Author: Michel Dänzer <daenzer at vmware.com>
Date:   Thu Aug 13 11:10:51 2009 +0200

    drm/radeon/kms: Fix up vertical blank interrupt support.
    
    Fixes 3D apps timing out in the WAIT_VBLANK ioctl.
    
    AVIVO bits compile-tested only.
    
    Signed-off-by: Michel Dänzer <daenzer at vmware.com>
    Signed-off-by: Dave Airlie <airlied at redhat.com>

commit 3f8befec95d5c1bbc6e247e1a5dafa82519530f9
Author: Dave Airlie <airlied at redhat.com>
Date:   Sat Aug 15 20:54:13 2009 +1000

    drm/radeon/kms: add rv530 R300_SU_REG_DEST + reloc for ZPASS_ADDR
    
    These are needed for Occulsion Query support.
    
    Signed-off-by: Dave Airlie <airlied at redhat.com>

commit a2bb9f4d6a5a589b481595207ac3588cc08d1b60
Author: Linus Walleij <linus.walleij at stericsson.com>
Date:   Thu Aug 13 21:57:22 2009 +0100

    ARM: 5673/1: U300 fix initsection compile warning
    
    The u300_init_check_chip() function was not properly tagged with
    the __init macro and provided a initsection mismatch on
    compilation.
    
    Signed-off-by: Linus Walleij <linus.walleij at stericsson.com>
    Signed-off-by: Russell King <rmk+kernel at arm.linux.org.uk>

commit c5e7f5a38a7ebf3697281bc7cb494e676f287ac0
Author: Florian Fainelli <florian at openwrt.org>
Date:   Wed Jun 3 13:05:48 2009 +0200

    [WATCHDOG] ar7_wdt: fix path to ar7-specific headers
    
    AR7 is currently being resubmitted for mainline inclusion
    and we changed the path to the ar7-specific headers
    from ar7 to mach-ar7 to reflect the other MIPS-based
    boards header hierarchy. This patch will avoid any future
    compilation failure due to missing headers.
    
    Signed-off-by: Florian Fainelli <florian at openwrt.org>
    Signed-off-by: Wim Van Sebroeck <wim at iguana.be>

commit 824df399a31fe92d88eb8caf86768cc8c7c72a06
Merge: 8b6120789598d55f6aa2b4e9ac7e70a205d857da 48ec45e725aa385d72bced73b267dfaf13351876
Author: Russell King <rmk at dyn-67.arm.linux.org.uk>
Date:   Sat Aug 15 12:43:13 2009 +0100

    Merge branch 's3c-fixes' of git://aeryn.fluff.org.uk/bjdooks/linux

commit 8b6120789598d55f6aa2b4e9ac7e70a205d857da
Merge: dde5828f56cb2c1aa70365c476e6830482127258 563abb4be1a79e7b64784d43beb9d0cacb1bad6f
Author: Russell King <rmk at dyn-67.arm.linux.org.uk>
Date:   Sat Aug 15 12:42:46 2009 +0100

    Merge branch 'for-rmk-rc' of git://git.pengutronix.de/git/imx/linux-2.6

commit dde5828f56cb2c1aa70365c476e6830482127258
Author: Russell King <rmk at dyn-67.arm.linux.org.uk>
Date:   Sat Aug 15 12:36:00 2009 +0100

    ARM: Fix broken highmem support
    
    Currently, highmem is selectable, and you can request an increased
    vmalloc area.  However, none of this has any effect on the memory
    layout since a patch in the highmem series was accidentally dropped.
    Moreover, even if you did want highmem, all memory would still be
    registered as lowmem, possibly resulting in overflow of the available
    virtual mapping space.
    
    The highmem boundary is determined by the highest allowed beginning
    of the vmalloc area, which depends on its configurable minimum size
    (see commit 60296c71f6c5063e3c1f1d2619ca0b60940162e7 for details on
    this).
    
    We should create mappings and initialize bootmem only for low memory,
    while the zone allocator must still be told about highmem.
    
    Currently, memory nodes which are completely located in high memory
    are not supported.  This is not a huge limitation since systems
    relying on highmem support are unlikely to have discontiguous memory
    with large holes.
    
    [ A similar patch was meant to be merged before commit 5f0fbf9ecaf3
      and be available  in Linux v2.6.30, however some git rebase screw-up
      of mine dropped the first commit of the series, and that goofage
      escaped testing somehow as well. -- Nico ]
    
    Signed-off-by: Russell King <rmk+kernel at arm.linux.org.uk>
    Reviewed-by: Nicolas Pitre <nico at marvell.com>

commit 39e6dd73502f64e2ae3236b304e160ae30de9384
Author: Arnaldo Carvalho de Melo <acme at redhat.com>
Date:   Fri Aug 14 15:26:32 2009 -0300

    perf record: Fix typo in pid_synthesize_comm_event
    
    We were using 'fd' locally, but there was a global 'fd' too, so
    when converting from open to fopen the test made against fd
    should be made against 'fp', but since we have that global
    it didnt get discovered ...
    
    Reported-by: Ulrich Drepper <drepper at redhat.com>
    Signed-off-by: Arnaldo Carvalho de Melo <acme at redhat.com>
    Cc: Peter Zijlstra <peterz at infradead.org>
    LKML-Reference: <20090814182632.GF3490 at ghostprotocols.net>
    Signed-off-by: Ingo Molnar <mingo at elte.hu>

commit 3ef12c3c97603bad405d30c989718cc9405e2759
Author: Cliff Wickman <cpw at sgi.com>
Date:   Fri Aug 14 13:56:37 2009 -0500

    x86: Fix UV BAU destination subnode id
    
    The SGI UV Broadcast Assist Unit is used to send TLB shootdown
    messages to remote nodes of the system.  The header of the
    message must contain the subnode id of the block in the
    receiving hub that handles such messages.  It should always be
    0x10, the id of the "LB" block.
    
    It had previously been documented as a "must be zero" field.
    
    Signed-off-by: Cliff Wickman <cpw at sgi.com>
    Acked-by: Jack Steiner <steiner at sgi.com>
    LKML-Reference: <E1Mc1x7-0005Ce-6t at eag09.americas.sgi.com>
    Signed-off-by: Ingo Molnar <mingo at elte.hu>

commit 237674e050ae8ea40a432412df6c15d60b7ae8a6
Author: Magnus Damm <damm at igel.co.jp>
Date:   Sat Aug 15 02:53:42 2009 +0000

    sh: sh7724 ddr self-refresh changes
    
    This patch updates the SuperH Mobile sleep assembly code with
    support for DBSC memory controller found in the sh7724 processor.
    
    Without this fix the memory hooked up to the sh7724 processor
    will never enter self-refresh mode before suspending to ram. The
    effect of this is that the memory contents most likeley will be
    lost upon resume which may or may not be what you want.
    
    Signed-off-by: Magnus Damm <damm at igel.co.jp>
    Signed-off-by: Paul Mundt <lethal at linux-sh.org>

commit 9747e78b304b44d6fb73e2c8071406d55aa8bb75
Author: Magnus Damm <damm at igel.co.jp>
Date:   Sat Aug 15 02:53:34 2009 +0000

    sh: use in-soc KEYSC on se7724
    
    This patch updates the Solution Engine 7724 board code to use
    in-SoC KEYSC resources for the keyboard platform device. Using
    the in-SoC key scan controller fixes a crash-during-resume issue.
    
    Without this patch the KEYSC hardware block located in the board
    specific FPGA is used together with an external IRQ which is
    routed through the FPGA and handled by some board specific demux
    code. This board specific FPGA interrupt code does not implement
    desc->set_wake() so the enable_irq_wake() call in the sh_keysc
    driver will fail at suspend-to-ram time and the disable_irq_wake()
    will bomb out when resuming.
    
    Changing the platform data to use the in-SoC KEYSC hardware makes
    the se7724 board support code less special which is a good thing.
    Also, the board specific KEYSC pin setup code selects in-SoC pin
    functions already which makes the current FPGA platform device data
    look like a typo.
    
    Signed-off-by: Magnus Damm <damm at igel.co.jp>
    Signed-off-by: Paul Mundt <lethal at linux-sh.org>

commit f6431732f128a241b149c0aa85dfec852455ebf9
Author: Magnus Damm <damm at igel.co.jp>
Date:   Sat Aug 15 02:53:25 2009 +0000

    sh: CMT suspend/resume
    
    This patch updates the SuperH CMT driver with suspend and resume
    callbacks for the suspend-to-ram case. This patch stops the CMT
    channel at suspend time to avoid unwanted wake up events.
    
    Signed-off-by: Magnus Damm <damm at igel.co.jp>
    Signed-off-by: Paul Mundt <lethal at linux-sh.org>

commit 21bc1f024d0d4ea43fc0f2a43504e759261c7b18
Author: Magnus Damm <damm at igel.co.jp>
Date:   Sat Aug 15 02:53:16 2009 +0000

    sh: skip disabled LCDC channels
    
    This patch updates the SuperH Mobile LCDC driver to skip
    over disabled channels. Without this patch suspend-to-ram
    operation will crash if deferred io is enabled.
    
    Signed-off-by: Magnus Damm <damm at igel.co.jp>
    Signed-off-by: Paul Mundt <lethal at linux-sh.org>

commit ebb177d2afb8532a8a316489aed545ed0c170802
Author: Dave Airlie <airlied at redhat.com>
Date:   Sat Aug 15 12:25:08 2009 +1000

    drm/edid: fixup detailed timings like the X server.
    
    this syncs the versioning check with the code the X server uses.
    
    Reported-by: Anssi Hannula <anssi.hannula at iki.fi>
    Signed-off-by: Dave Airlie <airlied at redhat.com>

commit 616b8434688aa08bd6f019cc60c8dfe121e9e5ae
Author: Jerome Glisse <jglisse at redhat.com>
Date:   Thu Aug 6 17:47:24 2009 +0200

    drm/radeon/kms: Add specific rs690 authorized register table
    
    rs690 is r3xx 3D engine with AVIVO modesetting so we need to allow
    AVIVO register for vline synchronization. This add a specific table
    to rs690 to handle that. Thanks to Marc (marvin24) for debugging
    this and kudos to Andre (taiu1) for spotting the origin of the bugs.
    
    Signed-off-by: Jerome Glisse <jglisse at redhat.com>
    Signed-off-by: Dave Airlie <airlied at redhat.com>

commit 8cdb045632e5ee22854538619ac6f150eb0a4894
Author: Tom Goff <thomas.goff at boeing.com>
Date:   Fri Aug 14 16:33:56 2009 -0700

    gre: Fix MTU calculation for bound GRE tunnels
    
    The GRE header length should be subtracted when the tunnel MTU is
    calculated.  This just corrects for the associativity change
    introduced by commit 42aa916265d740d66ac1f17290366e9494c884c2
    ("gre: Move MTU setting out of ipgre_tunnel_bind_dev").
    
    Signed-off-by: Tom Goff <thomas.goff at boeing.com>
    Signed-off-by: David S. Miller <davem at davemloft.net>

commit 7c1d15d736687057f4dc6e51fbf44b6f6e4320cb
Author: Petko Manolov <petkan at nucleusys.com>
Date:   Fri Aug 14 06:40:48 2009 +0000

    pegasus: Add new device ID.
    
    Add new definition to 'pegasus.h' for support Japanese IO DATA
    "ETX-US2" USB Ethernet Adapter.
    
    PEGASUS_DEV( $B!H(BIO DATA USB ETX-US2$B!I(B, VENDOR_IODATA, 0x092a,
    DEFAULT_GPIO_RESET | PEGASUS_II )
    
    Signed-off-by: David S. Miller <davem at davemloft.net>

commit 22580f894ac190c46beebb5c3172e450a2318f79
Author: Dongdong Deng <dongdong.deng at windriver.com>
Date:   Thu Aug 13 19:12:31 2009 +0000

    drivers/net: fixed drivers that support netpoll use ndo_start_xmit()
    
    The NETPOLL API requires that interrupts remain disabled in
    netpoll_send_skb(). The use of spin_lock_irq() and spin_unlock_irq()
    in the NETPOLL API callbacks causes the interrupts to get enabled and
    can lead to kernel instability.
    
    The solution is to use spin_lock_irqsave() and spin_unlock_restore()
    to prevent the irqs from getting enabled while in netpoll_send_skb().
    
    Call trace:
    netpoll_send_skb()
    {
       -> local_irq_save(flags)
         ---> dev->ndo_start_xmit(skb, dev)
             ---> spin_lock_irq()
             ---> spin_unlock_irq() *******here would enable the interrupt.
                  ...
       -> local_irq_restore(flags)
    }
    
    Signed-off-by: Dongdong Deng <dongdong.deng at windriver.com>
    Signed-off-by: Jason Wessel <jason.wessel at windriver.com>
    Acked-by: Bruce Ashfield <bruce.ashfield at windriver.com>
    Acked-by: Matt Mackall <mpm at selenic.com>
    Signed-off-by: David S. Miller <davem at davemloft.net>

commit 0527a1a8440a20b3d0fd1d0c9e75a6f38a9d5315
Author: roel kluin <roel.kluin at gmail.com>
Date:   Fri Aug 14 02:09:56 2009 +0000

    via-velocity: Fix test of mii_status bit VELOCITY_DUPLEX_FULL
    
    Test whether VELOCITY_DUPLEX_FULL bit is set in mii_status.
    
    Signed-off-by: Roel Kluin <roel.kluin at gmail.com>
    Signed-off-by: David S. Miller <davem at davemloft.net>

commit c9a2bfd1f08973115c2fc3da9372e0e81ac42a19
Author: Wolfram Sang <w.sang at pengutronix.de>
Date:   Fri Aug 14 13:09:32 2009 -0700

    pcmcia: add CNF-CDROM-ID for ide
    
    Fixes this report:
    http://article.gmane.org/gmane.linux.kernel.pcmcia.devel/2228/
    
    Reported-by: John McGrath <john at john-mcgrath.com>
    Signed-off-by: Wolfram Sang <w.sang at pengutronix.de>
    Signed-off-by: David S. Miller <davem at davemloft.net>

commit 88512935a24305fea7aecc9ba4d675869e97fc2a
Merge: 8a62babfb87aa5911e87e0ce38381bdfdc4a2b83 6b26dead3ce97d016b57724b01974d5ca5c84bd5
Author: David S. Miller <davem at davemloft.net>
Date:   Fri Aug 14 12:27:19 2009 -0700

    Merge branch 'master' of git://git.kernel.org/pub/scm/linux/kernel/git/linville/wireless-2.6

commit 5d12dc1fd6b0ba31d3166e42ed01996df6dad34e
Merge: 3011c7f0d421ed85c75683addf3b31eaa1ab6cec d7e623da1a757fbd8c117fa29190ca8bef14dab3
Author: Linus Torvalds <torvalds at linux-foundation.org>
Date:   Fri Aug 14 09:34:25 2009 -0700

    Merge git://git.kernel.org/pub/scm/linux/kernel/git/steve/gfs2-2.6-fixes
    
    * git://git.kernel.org/pub/scm/linux/kernel/git/steve/gfs2-2.6-fixes:
      GFS2: Fix permissions on "recover" file

commit 3011c7f0d421ed85c75683addf3b31eaa1ab6cec
Merge: 64f1607ffbbc772685733ea63e6f7f4183df1b16 08b39642b1e375afd014c50f6013ec4a292ca3b2
Author: Linus Torvalds <torvalds at linux-foundation.org>
Date:   Fri Aug 14 08:25:19 2009 -0700

    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: (38 commits)
      V4L/DVB (12441): siano: read buffer overflow
      V4L/DVB (12440): Use kzalloc for frontend states to have struct dvb_frontend properly
      V4L/DVB (12438): Read buffer overflow
      V4L/DVB (12437): dvb: siano uses/depends on INPUT
      V4L/DVB (12436): stk-webcam: read buffer overflow
      V4L/DVB (12432): em28xx: fix regression in Empire DualTV digital tuning
      V4L/DVB (12429): v4l2-ioctl: fix G_STD and G_PARM default handlers
      V4L/DVB (12428): hdpvr: add missing initialization of current_norm
      V4L/DVB (12424): soc-camera: fix recursive locking in .buf_queue()
      V4L/DVB (12422): media/zr364xx: fix build errors
      V4L/DVB (12405): em28xx-cards: move register 0x13 setting to the proper place
      V4L/DVB (12411): em28xx: Fix artifacts with Silvercrest webcam
      V4L/DVB (12410): em28xx: Move the non-board dependent part to be outside em28xx_pre_card_setup()
      V4L/DVB (12407): em28xx: Adjust Silvercrest xtal frequency
      V4L/DVB (12406): em28xx: fix: don't do image interlacing on webcams
      V4L/DVB (12403): em28xx: properly reports some em2710 chips
      V4L/DVB (12402): em28xx: fix: some em2710 chips use a different vendor ID
      V4L/DVB (12401): m9v011: add vflip/hflip controls to control mirror/upside down
      V4L/DVB (12400): em28xx: Allow changing fps on webcams
      V4L/DVB (12399): mt9v011: Add support for controlling frame rates
      ...

commit 388ce4beb7135722c584b0af18f215e3ec657adf
Author: Kashyap, Desai <kashyap.desai at lsi.com>
Date:   Fri Aug 14 15:01:35 2009 +0530

    [SCSI] mpt2sas: fix config request and diag reset deadlock
    
    Moving the setting and clearing of the mutex's to
    _config_request. There was a mutex deadlock when diag reset is called from
    inside _config_request, so diag reset was moved to outside the mutexs.
    
    Signed-off-by: James Bottomley <James.Bottomley at suse.de>

commit 6b26dead3ce97d016b57724b01974d5ca5c84bd5
Author: Pavel Roskin <proski at gnu.org>
Date:   Tue Aug 4 17:48:16 2009 -0400

    rt2x00: fix memory corruption in rf cache, add a sanity check
    
    Change rt2x00_rf_read() and rt2x00_rf_write() to subtract 1 from the rf
    register number.  This is needed because the rf registers are enumerated
    starting with one.  The size of the rf register cache is just enough to
    hold all registers, so writing to the highest register was corrupting
    memory.  Add a check to make sure that the rf register number is valid.
    
    Signed-off-by: Pavel Roskin <proski at gnu.org>
    Cc: stable at kernel.org
    Acked-by: Ivo van Doorn <IvDoorn at gmail.com>
    Signed-off-by: John W. Linville <linville at tuxdriver.com>

commit d7e623da1a757fbd8c117fa29190ca8bef14dab3
Author: Steven Whitehouse <swhiteho at redhat.com>
Date:   Tue Aug 11 11:20:11 2009 +0100

    GFS2: Fix permissions on "recover" file
    
    Although this file is only ever written and not read by
    userspace, it seems that the utils are opening this
    file O_RDWR, so we need to allow that.
    
    Also fixes the whitespace which seemed to be broken.
    
    Signed-off-by: Steven Whitehouse <swhiteho at redhat.com>
    Cc: David Teigland <teigland at redhat.com>

commit 563abb4be1a79e7b64784d43beb9d0cacb1bad6f
Author: Valentin Longchamp <valentin.longchamp at epfl.ch>
Date:   Tue Aug 11 17:29:21 2009 +0200

    mx31moboard: invert sdhc ro signal sense
    
    Small confusion with our hardware engineer, the WP signal (RO) is
    active low on our boards, the signal has to inverted.
    
    This is a pretty straightforward patch, it could even go to -rc,
    but if not, then push it for 2.6.32.
    
    Signed-off-by: Valentin Longchamp <valentin.longchamp at epfl.ch>
    Signed-off-by: Sascha Hauer <s.hauer at pengutronix.de>

commit 142d44b0dd6741a64a7bdbe029110e7c1dcf1d23
Author: Amerigo Wang <amwang at redhat.com>
Date:   Thu Aug 13 02:00:13 2009 -0400

    percpu: use the right flag for get_vm_area()
    
    get_vm_area() only accepts VM_* flags, not GFP_*.
    
    And according to the doc of get_vm_area(), here should be
    VM_ALLOC.
    
    Signed-off-by: WANG Cong <amwang at redhat.com>
    Acked-by: Tejun Heo <tj at kernel.org>
    Cc: Ingo Molnar <mingo at elte.hu>

commit 74d46d6b2d23d44d72c37df4c6a5d2e782f7b088
Author: Tejun Heo <tj at kernel.org>
Date:   Tue Jul 21 17:11:50 2009 +0900

    percpu, sparc64: fix sparse possible cpu map handling
    
    percpu code has been assuming num_possible_cpus() == nr_cpu_ids which
    is incorrect if cpu_possible_map contains holes.  This causes percpu
    code to access beyond allocated memories and vmalloc areas.  On a
    sparc64 machine with cpus 0 and 2 (u60), this triggers the following
    warning or fails boot.
    
     WARNING: at /devel/tj/os/work/mm/vmalloc.c:106 vmap_page_range_noflush+0x1f0/0x240()
     Modules linked in:
     Call Trace:
      [00000000004b17d0] vmap_page_range_noflush+0x1f0/0x240
      [00000000004b1840] map_vm_area+0x20/0x60
      [00000000004b1950] __vmalloc_area_node+0xd0/0x160
      [0000000000593434] deflate_init+0x14/0xe0
      [0000000000583b94] __crypto_alloc_tfm+0xd4/0x1e0
      [00000000005844f0] crypto_alloc_base+0x50/0xa0
      [000000000058b898] alg_test_comp+0x18/0x80
      [000000000058dad4] alg_test+0x54/0x180
      [000000000058af00] cryptomgr_test+0x40/0x60
      [0000000000473098] kthread+0x58/0x80
      [000000000042b590] kernel_thread+0x30/0x60
      [0000000000472fd0] kthreadd+0xf0/0x160
     ---[ end trace 429b268a213317ba ]---
    
    This patch fixes generic percpu functions and sparc64
    setup_per_cpu_areas() so that they handle sparse cpu_possible_map
    properly.
    
    Please note that on x86, cpu_possible_map() doesn't contain holes and
    thus num_possible_cpus() == nr_cpu_ids and this patch doesn't cause
    any behavior difference.
    
    Signed-off-by: Tejun Heo <tj at kernel.org>
    Acked-by: David S. Miller <davem at davemloft.net>
    Cc: Ingo Molnar <mingo at elte.hu>

commit d6647bdf98a0de19963de8d5d9698d469ed72097
Author: Tejun Heo <tj at kernel.org>
Date:   Tue Jul 21 17:11:50 2009 +0900

    init: set nr_cpu_ids before setup_per_cpu_areas()
    
    nr_cpu_ids is dependent only on cpu_possible_map and
    setup_per_cpu_areas() already depends on cpu_possible_map and will use
    nr_cpu_ids.  Initialize nr_cpu_ids before setting up percpu areas.
    
    Signed-off-by: Tejun Heo <tj at kernel.org>

commit 8a62babfb87aa5911e87e0ce38381bdfdc4a2b83
Author: Lucy Liu <lucy.liu at intel.com>
Date:   Thu Aug 13 14:09:38 2009 +0000

    ixgbe: Fix receive on real device when VLANs are configured
    
    Traffic received with a priority tag (VID = 0) and non-zero priority value was
    incorrectly handled by the VLAN packet code path due to a check on zero for
    the whole VLAN tag instead of just the VID.
    
    This patch masked out the priority field when checking the vlan tag for
    received VLAN packets.
    
    Signed-off-by: Lucy Liu <lucy.liu at intel.com>
    Acked-by: Peter P Waskiewicz Jr <peter.p.waskiewicz.jr at intel.com>
    Signed-off-by: Jeff Kirsher <jeffrey.t.kirsher at intel.com>
    Signed-off-by: David S. Miller <davem at davemloft.net>

commit 17e78b0655da20f2fc2bbde3b8252dac07c82914
Author: Yi Zou <yi.zou at intel.com>
Date:   Thu Aug 13 14:09:58 2009 +0000

    ixgbe: Do not return 0 in ixgbe_fcoe_ddp() upon FCP_RSP in DDP completion
    
    We return the ddp->len in ixgbe_fcoe_ddp() to indicate the length of data that
    have been DDPed. However, it is possible that the length is 0, e.g., for SCSI
    READ, the FCP_RSP may come back w/ SCSI status 0x28 as Task Set Full with no FCP
    data for DDP. In ixgbe_fcoe_ddp(), we return 0 to indicate not passing DDPed
    packets to upper layer. Therefore in the case of ddp->len being 0 upon FCP_RSP,
    we do not want to return the 0 ddp->len as we want FCP_RSP to be always
    delivered to the upper layer. This patch fixes this bug by setting rc only if
    ddp->len is non-zero.
    
    Signed-off-by: Yi Zou <yi.zou at intel.com>
    Acked-by: Peter P Waskiewicz Jr <peter.p.waskiewicz.jr at intel.com>
    Signed-off-by: Jeff Kirsher <jeffrey.t.kirsher at intel.com>
    Signed-off-by: David S. Miller <davem at davemloft.net>

commit 48ec45e725aa385d72bced73b267dfaf13351876
Author: Davide Rizzo <elpa.rizzo at gmail.com>
Date:   Thu Aug 13 11:53:53 2009 +0200

    ARM: S3C24XX: Fix clkout mpx error
    
    Bug correction: CLK Outputs cannot have XTAL as parent
    
    Signed-off-by: Davide Rizzo <elpa.rizzo at gmail.com>
    [ben-linux at fluff.org: updated patch subject]
    Signed-off-by: Ben Dooks <ben-linux at fluff.org>

commit a219dc4d4463809b1be473038e7d9f3437ca452d
Author: Ramax Lo <ramaxlo at gmail.com>
Date:   Wed Aug 12 23:55:56 2009 +0800

    ARM: S3C64XX: serial: Fix a typo in Kconfig
    
    The typo causes drivers/serial/s3c6400.c not being built for s3c6400 platform.
    
    Signed-off-by: Ramax Lo <ramaxlo at gmail.com>
    Signed-off-by: Ben Dooks <ben-linux at fluff.org>

commit 08b39642b1e375afd014c50f6013ec4a292ca3b2
Author: Roel Kluin <roel.kluin at gmail.com>
Date:   Mon Aug 10 22:59:33 2009 -0300

    V4L/DVB (12441): siano: read buffer overflow
    
    With mode DEVICE_MODE_RAW_TUNER a read occurs past the end of smscore_fw_lkup[].
    Subsequently an attempt is made to load the firmware from the resulting
    filename.
    
    Signed-off-by: Roel Kluin <roel.kluin at gmail.com>
    Signed-off-by: Andrew Morton <akpm at linux-foundation.org>
    Signed-off-by: Douglas Schilling Landgraf <dougsland at redhat.com>
    Signed-off-by: Mauro Carvalho Chehab <mchehab at redhat.com>

commit 084e24acc906c162c92de7df807190856ae60928
Author: Matthias Schwarzott <zzam at gentoo.org>
Date:   Mon Aug 10 22:51:01 2009 -0300

    V4L/DVB (12440): Use kzalloc for frontend states to have struct dvb_frontend properly
    
    This patch changes most frontend drivers to allocate their state structure via
    kzalloc and not kmalloc. This is done to properly initialize the
    embedded "struct dvb_frontend frontend" field, that they all have.
    
    The visible effect of this struct being uninitalized is, that the member "id"
    that is used to set the name of kernel thread is totally random.
    
    Some board drivers (for example cx88-dvb) set this "id" via
    videobuf_dvb_alloc_frontend but most do not.
    
    So I at least get random id values for saa7134, flexcop and ttpci based cards.
    It looks like this in dmesg:
    DVB: registering adapter 1 frontend -10551321 (ST STV0299 DVB-S)
    
    The related kernel thread then also gets a strange name
    like "kdvb-ad-1-fe--1".
    
    Cc: Michael Krufky <mkrufky at linuxtv.org>
    Cc: Steven Toth <stoth at linuxtv.org>
    Cc: Timothy Lee <timothy.lee at siriushk.com>
    Cc: Igor M. Liplianin <liplianin at me.by>
    Signed-off-by: Matthias Schwarzott <zzam at gentoo.org>
    Acked-by: Andreas Oberritter <obi at linuxtv.org>
    Signed-off-by: Douglas Schilling Landgraf <dougsland at redhat.com>
    Signed-off-by: Mauro Carvalho Chehab <mchehab at redhat.com>

commit bb2b4542b6415044894cd7c147ff54840dd8ed3f
Author: Roel Kluin <roel.kluin at gmail.com>
Date:   Mon Aug 10 22:07:54 2009 -0300

    V4L/DVB (12438): Read buffer overflow
    
    parport[n] is checked before n < MAX_CAMS
    
    Signed-off-by: Roel Kluin <roel.kluin at gmail.com>
    Signed-off-by: Douglas Schilling Landgraf <dougsland at redhat.com>
    Signed-off-by: Mauro Carvalho Chehab <mchehab at redhat.com>

commit 27059b35397fc7cf2cbf5b4b99d912bbc06aff4d
Author: Randy Dunlap <randy.dunlap at oracle.com>
Date:   Mon Aug 10 21:59:16 2009 -0300

    V4L/DVB (12437): dvb: siano uses/depends on INPUT
    
    siano uses input_*() functions so it should depend on INPUT
    to prevent build errors:
    
    ERROR: "input_event" [drivers/media/dvb/siano/sms1xxx.ko] undefined!
    ERROR: "input_register_device" [drivers/media/dvb/siano/sms1xxx.ko] undefined!
    ERROR: "input_free_device" [drivers/media/dvb/siano/sms1xxx.ko] undefined!
    ERROR: "input_unregister_device" [drivers/media/dvb/siano/sms1xxx.ko] undefined!
    ERROR: "input_allocate_device" [drivers/media/dvb/siano/sms1xxx.ko] undefined!
    
    Cc: Michael Krufky <mkrufky at linuxtv.org>
    Cc: Uri Shkolnik <uris at siano-ms.com>
    Signed-off-by: Randy Dunlap <randy.dunlap at oracle.com>
    Signed-off-by: Douglas Schilling Landgraf <dougsland at redhat.com>
    Signed-off-by: Mauro Carvalho Chehab <mchehab at redhat.com>

commit 77f2c2db1146154fb054e9ce955928a66d8c959f
Author: Roel Kluin <roel.kluin at gmail.com>
Date:   Mon Aug 10 22:17:25 2009 -0300

    V4L/DVB (12436): stk-webcam: read buffer overflow
    
    It tested the value of stk_sizes[i].m before checking whether i was in range.
    
    Cc: Hans Verkuil <hverkuil at xs4all.nl>
    Cc: Trent Piepho <xyzzy at speakeasy.org>
    Signed-off-by: Roel Kluin <roel.kluin at gmail.com>
    Signed-off-by: Andrew Morton <akpm at linux-foundation.org>
    Signed-off-by: Douglas Schilling Landgraf <dougsland at redhat.com>
    Signed-off-by: Mauro Carvalho Chehab <mchehab at redhat.com>

commit 01a5fd6ff3fbae9a599d3334a8cca0f00865e360
Author: Devin Heitmueller <dheitmueller at kernellabs.com>
Date:   Fri Aug 7 09:25:06 2009 -0300

    V4L/DVB (12432): em28xx: fix regression in Empire DualTV digital tuning
    
    Restore support for digital tuning caused by regression during introduction
    of disable_i2c_gate parameter to zl10353 driver.
    
    Thanks to user "Xwang" for reporting the problem and testing the fix
    
    Cc: Xwang <xwang1976 at email.it>
    Signed-off-by: Devin Heitmueller <dheitmueller at kernellabs.com>
    Signed-off-by: Mauro Carvalho Chehab <mchehab at redhat.com>

commit 9bedc7f7fe803c17d26b5fcf5786b50a7cf40def
Author: Hans Verkuil <hverkuil at xs4all.nl>
Date:   Fri Aug 7 07:28:16 2009 -0300

    V4L/DVB (12429): v4l2-ioctl: fix G_STD and G_PARM default handlers
    
    The v4l core supplies default handlers for G_STD and G_PARM. However, both
    default handlers are buggy.
    
    This patch fixes the following:
    
    1) If no g_std is supplied and current_norm == 0, then this driver does not
       support TV video standards (e.g. a radio or webcam driver). Return
       -EINVAL. This ensures that there is no bogus VIDIOC_G_STD support for
       such drivers.
    
    2) The default VIDIOC_G_PARM handler used current_norm instead of first
       checking if the driver supported g_std and calling that to get the norm.
       It also didn't check if current_norm was 0, since in that case the driver
       does not support TV standards (or no standard was set at all) and the
       default handler should return -EINVAL.
    
    Note that I am very unhappy with these default handlers: I think they
    basically behave like some very strange and unexpected side-effect.
    
    Signed-off-by: Hans Verkuil <hverkuil at xs4all.nl>
    Signed-off-by: Mauro Carvalho Chehab <mchehab at redhat.com>

commit 99362e1ece9f9651af1b849a01d91b9df1e0db2c
Author: Hans Verkuil <hverkuil at xs4all.nl>
Date:   Fri Aug 7 07:10:52 2009 -0300

    V4L/DVB (12428): hdpvr: add missing initialization of current_norm
    
    Drivers should either set current_norm or supply a g_std callback.
    
    The hdpvr driver does neither. Since it initializes to a 60 Hz format
    I've initialized the current_norm to NTSC | PAL_M | PAL_60 which is the
    60 Hz subset of tvnorms.
    
    Cc: Janne Grunau <j at jannau.net>
    Signed-off-by: Hans Verkuil <hverkuil at xs4all.nl>
    Signed-off-by: Mauro Carvalho Chehab <mchehab at redhat.com>

commit 2dd54a54c19d0e5b50f4e1c591653772ead9d4a1
Author: Guennadi Liakhovetski <g.liakhovetski at gmx.de>
Date:   Wed Aug 5 20:06:31 2009 -0300

    V4L/DVB (12424): soc-camera: fix recursive locking in .buf_queue()
    
    The .buf_queue() V4L2 driver method is called under
    spinlock_irqsave(q->irqlock,...), don't take the lock again inside the
    function.
    
    Reported-by: Antonio Ospite <ospite at studenti.unina.it>
    Signed-off-by: Guennadi Liakhovetski <g.liakhovetski at gmx.de>
    Signed-off-by: Mauro Carvalho Chehab <mchehab at redhat.com>

commit 7d2e2e35fb50f381c9398e481aac1e1729765ae3
Author: Randy Dunlap <randy.dunlap at oracle.com>
Date:   Wed Aug 5 12:58:47 2009 -0300

    V4L/DVB (12422): media/zr364xx: fix build errors
    
    Fix build errors in zr364xx by adding selects:
    
    zr364xx.c:(.text+0x195ed7): undefined reference to `videobuf_streamon'
    zr364xx.c:(.text+0x196030): undefined reference to `videobuf_dqbuf'
    zr364xx.c:(.text+0x1960c4): undefined reference to `videobuf_qbuf'
    zr364xx.c:(.text+0x196123): undefined reference to `videobuf_querybuf'
    zr364xx.c:(.text+0x196182): undefined reference to `videobuf_reqbufs'
    zr364xx.c:(.text+0x196224): undefined reference to `videobuf_queue_is_busy'
    zr364xx.c:(.text+0x196390): undefined reference to `videobuf_vmalloc_free'
    zr364xx.c:(.text+0x196571): undefined reference to `videobuf_iolock'
    zr364xx.c:(.text+0x196678): undefined reference to `videobuf_mmap_mapper'
    zr364xx.c:(.text+0x196760): undefined reference to `videobuf_poll_stream'
    zr364xx.c:(.text+0x19689a): undefined reference to `videobuf_read_one'
    zr364xx.c:(.text+0x1969ec): undefined reference to `videobuf_mmap_free'
    zr364xx.c:(.text+0x197862): undefined reference to `videobuf_queue_vmalloc_init'
    zr364xx.c:(.text+0x197a28): undefined reference to `videobuf_streamoff'
    zr364xx.c:(.text+0x198203): undefined reference to `videobuf_to_vmalloc'
    zr364xx.c:(.text+0x198603): undefined reference to `videobuf_streamoff'
    drivers/built-in.o: In function `free_buffer':
    zr364xx.c:(.text+0x19930c): undefined reference to `videobuf_vmalloc_free'
    drivers/built-in.o: In function `zr364xx_open':
    zr364xx.c:(.text+0x19a7de): undefined reference to `videobuf_queue_vmalloc_init'
    drivers/built-in.o: In function `read_pipe_completion':
    zr364xx.c:(.text+0x19b17f): undefined reference to `videobuf_to_vmalloc'
    
    Signed-off-by: Randy Dunlap <randy.dunlap at oracle.com>
    Signed-off-by: Douglas Schilling Landgraf <dougsland at redhat.com>
    Signed-off-by: Mauro Carvalho Chehab <mchehab at redhat.com>

commit d7612c86d099939503c2f849a523dbca753d1935
Author: Mauro Carvalho Chehab <mchehab at redhat.com>
Date:   Fri Aug 7 18:43:00 2009 -0300

    V4L/DVB (12405): em28xx-cards: move register 0x13 setting to the proper place
    
    Register 0x13 seems to be a sort of image control, maybe gamma, white
    level or black level. Lower values produce better images, while higher
    values increases the contrast and shifts colors to green. 0xff produces
    a black image. This register is not Silvercrest-specific, so its code
    should be moved to a better place.
    
    If this register is left alone, a random value can be found at the
    register, producing weird results.
    
    While here, let's remove register 0x0d, as it had no noticed effect at
    the image.
    
    Signed-off-by: Mauro Carvalho Chehab <mchehab at redhat.com>

commit 3d3215c4e4cfca74e5805a8506d50a6752172e81
Author: Mauro Carvalho Chehab <mchehab at redhat.com>
Date:   Mon Aug 10 10:29:27 2009 -0300

    V4L/DVB (12411): em28xx: Fix artifacts with Silvercrest webcam
    
    Silvercrest mt9v011 sensor produces a 640x480 image. However,
    previously, the code were getting only half of the lines and merging two
    consecutive frames to "produce" a 640x480 image.
    
    With the addition of progressive mode, now em28xx is working with a full
    image. However, when the number of lines is bigger than 240, the
    beginning of some odd lines are filled with blank.
    
    After lots of testing, and physically checking the device for a Xtal, it
    was noticed experimentally that mt9v011 is using em28xx XCLK as its
    clock. Due to that, changing XCLK value changes the maximum speed of the
    stream.
    
    At the tests, it were possible to produce up to 32 fps, using a 30 MHz
    XCLK. However, at that rate, the artifacts happen even at 320x240. Lower
    values of XCLK produces artifacts only at 640x480.
    
    At some values of xclk (for example XCLKK = 6 MHz, 640x480), it is
    possible to see an invalid sucession of artifacts with this pattern:
    
    .xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx
    xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx
    ..xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx
    xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx
    ...xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx
    xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx
    ....xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx
    xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx
    xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx
    xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx
    .xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx
    xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx
    ..xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx
    xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx
    ...xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx
    xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx
    ....xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx
    xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx
    
    (where the dots represent the blanked pixels)
    
    So, it seems that a waveform in the format of a ramp is interferring at
    the image.
    
    The cause of this interference is currently unknown. Some possibilities
    are:
    	- electrical interference (maybe this device is broken?);
    	- some issue at mt9v011 programming;
    	- some bug at em28xx chip.
    
    So, for now, let's be conservative and use a value of XCLK that we know
    for sure that it won't cause artifacts.
    
    As I'm waiting for more of such devices with different em28xx chipset
    revisions, I'll have the opportunity to double check the issue with
    other pieces of hardware.
    
    Later patches can vary XCLK depending on the vertical resolutions, if a
    proper fix is not discovered.
    
    Signed-off-by: Mauro Carvalho Chehab <mchehab at redhat.com>

commit fcd20e3c369caf7a3fec300c9c183b25a06e21b2
Author: Mauro Carvalho Chehab <mchehab at redhat.com>
Date:   Mon Aug 10 02:57:57 2009 -0300

    V4L/DVB (12410): em28xx: Move the non-board dependent part to be outside em28xx_pre_card_setup()
    
    em28xx_pre_card_setup() is meant to contain board-specific initialization. Also,
    as autodetection sometimes occur only after having i2c bus enabled, this
    function may need to be called later.
    
    Moving those setups to happen outside the function avoids calling it twice without
    need and without duplicating output lines at dmesg.
    
    Signed-off-by: Mauro Carvalho Chehab <mchehab at redhat.com>

commit 970cff36c0850e8193ac1162e42c7c11001b872d
Author: Mauro Carvalho Chehab <mchehab at redhat.com>
Date:   Sat Aug 8 03:28:41 2009 -0300

    V4L/DVB (12407): em28xx: Adjust Silvercrest xtal frequency
    
    We don't know the xtal frequency of Silvercrest, but we need to have
    some value in order to allow controlling the frame rate frequency. The
    value is probably still wrong, since the manufacturer announces this
    device as being capable of 30fps, but the maximum we can get is
    13.5 fps.
    
    Signed-off-by: Mauro Carvalho Chehab <mchehab at redhat.com>

commit c2a6b54a9cf08d4ffeb75d70603c4a5d03ac97ad
Author: Mauro Carvalho Chehab <mchehab at redhat.com>
Date:   Sat Aug 8 03:14:55 2009 -0300

    V4L/DVB (12406): em28xx: fix: don't do image interlacing on webcams
    
    Due to historical reasons, em28xx driver gets two consecutive frames and
    fold them into an unique framing, doing interlacing. While this works
    fine for TV images, this produces two bad effects with webcams:
    
    1) webcam images are progressive. Merging two consecutive images produce
    interlacing artifacts on the image;
    
    2) since the driver needs to get two frames, it reduces the maximum
    frame rate by two.
    
    Signed-off-by: Mauro Carvalho Chehab <mchehab at redhat.com>

commit d594317bdc716ccd8c8cf711e3827f9b6e0b766b
Author: Mauro Carvalho Chehab <mchehab at redhat.com>
Date:   Fri Aug 7 12:13:31 2009 -0300

    V4L/DVB (12403): em28xx: properly reports some em2710 chips
    
    As reported by hermann pitton <hermann-pitton at arcor.de>, some devices
    has a different chip id for em2710 (likely the older ones):
    
    em28xx: New device @ 480 Mbps (eb1a:2710, interface 0, class 0)
    em28xx #0: Identified as EM2710/EM2750/EM2751 webcam grabber (card=22)
    em28xx #0: em28xx chip ID = 17
    
    Signed-off-by: Mauro Carvalho Chehab <mchehab at redhat.com>

commit 9b4e845c6cbca2bcbfdb87e4d005260604226f45
Author: Mauro Carvalho Chehab <mchehab at redhat.com>
Date:   Fri Aug 7 12:08:02 2009 -0300

    V4L/DVB (12402): em28xx: fix: some em2710 chips use a different vendor ID
    
    Thanks to hermann pitton <hermann-pitton at arcor.de> for pointing this new
    variation.
    
    Tested-by: hermann pitton <hermann-pitton at arcor.de>
    Signed-off-by: Mauro Carvalho Chehab <mchehab at redhat.com>

commit 2526ea6e46e41322eb98ac0e9c616273402bd661
Author: Mauro Carvalho Chehab <mchehab at redhat.com>
Date:   Fri Aug 7 01:09:54 2009 -0300

    V4L/DVB (12401): m9v011: add vflip/hflip controls to control mirror/upside down
    
    Signed-off-by: Mauro Carvalho Chehab <mchehab at redhat.com>

commit d96ecda63f41350dc93c17ccb72ea24511f207a9
Author: Mauro Carvalho Chehab <mchehab at redhat.com>
Date:   Thu Aug 6 21:53:59 2009 -0300

    V4L/DVB (12400): em28xx: Allow changing fps on webcams
    
    em28xx doesn't have temporal scaling. However, on webcams, sensors are
    capable of changing the output rate. So, VIDIOC_[G|S]_PARM ioctls should
    be passed to the sensor for it to properly set frame rate.
    
    Signed-off-by: Mauro Carvalho Chehab <mchehab at redhat.com>

commit 83053f7fe3eb0b6b1634d24ede87f1daa01ae60c
Author: Mauro Carvalho Chehab <mchehab at redhat.com>
Date:   Thu Aug 6 21:03:35 2009 -0300

    V4L/DVB (12399): mt9v011: Add support for controlling frame rates
    
    Implement g_parm/s_parm ioctls. Those are used to check the current
    frame rate (in fps) and to set it to a value. In practice, there are
    only 15 possible different speeds, due to chip limits.
    
    Signed-off-by: Mauro Carvalho Chehab <mchehab at redhat.com>

commit 93b999239c418cf5c668fd966ac2c5c27b8180dd
Author: Devin Heitmueller <dheitmueller at kernellabs.com>
Date:   Mon Aug 3 22:52:59 2009 -0300

    V4L/DVB (12394): cx88: Disable xc3028 power management for Geniatech x8000
    
    A user discovered that the Geniatech x8000 encountered a regression when
    the xc3028 power management was introduced.  The xc3028 never recovers after
    setting the powerdown register, which is probably because the xc3028 reset
    GPIO is not properly configured.  Since I do not have access to the hardware
    and thus cannot determine the correct GPIO configuration, just disable xc3028
    power management on this board, which fixes the regression.
    
    Thanks to user "ritec" for reporting the issue and testing the fix.
    
    Cc: rictec <rictec at netcabo.pt>
    Signed-off-by: Devin Heitmueller <dheitmueller at kernellabs.com>
    Signed-off-by: Mauro Carvalho Chehab <mchehab at redhat.com>

commit 11db906983fc6e996fcd10073843bd6f1b9a96c3
Author: Devin Heitmueller <dheitmueller at kernellabs.com>
Date:   Mon Aug 3 22:40:16 2009 -0300

    V4L/DVB (12393): cx88: fix regression in tuning for Geniatech X8000 MT
    
    The introduction of the zl10353 i2c gate control broke support for the
    Geniatech board (which is not behind an i2 gate).  Add the needed parameter.
    
    Signed-off-by: Devin Heitmueller <dheitmueller at kernellabs.com>
    Signed-off-by: Mauro Carvalho Chehab <mchehab at redhat.com>

commit 0e316ecfc851c8dd955d9fa6e0d3a46e451a46f4
Author: Michael Krufky <mkrufky at kernellabs.com>
Date:   Mon Aug 3 16:51:33 2009 -0300

    V4L/DVB (12391): saa7134: Use correct product name for Hauppauge WinTV-HVR1120 DVB-T/Hybrid
    
    Signed-off-by: Michael Krufky <mkrufky at kernellabs.com>
    Signed-off-by: Mauro Carvalho Chehab <mchehab at redhat.com>

commit b5f05064b556da5183adc383e5f8d50af0392849
Author: Michael Krufky <mkrufky at kernellabs.com>
Date:   Mon Aug 3 16:51:33 2009 -0300

    V4L/DVB (12390): saa7134: Use correct product name for Hauppauge WinTV-HVR1150 ATSC/QAM-Hybrid
    
    Signed-off-by: Michael Krufky <mkrufky at kernellabs.com>
    Signed-off-by: Mauro Carvalho Chehab <mchehab at redhat.com>

commit 79a6382551507ce196c3b4296e32b5386cdfbf15
Author: Michael Krufky <mkrufky at kernellabs.com>
Date:   Sun Aug 2 12:37:34 2009 -0300

    V4L/DVB (12386): sms1xxx: fix build warning: unused variable 'board'
    
    Remove the following build warning:
    
    sms-cards.c: In function 'sms_board_event':
    sms-cards.c:120: warning: unused variable 'board'
    
    Thanks to Hans Verkuil for pointing this out.
    
    The problem code has been #if 0'd for now, this will likely be
    used again in the future, once the event interface is complete.
    
    Cc: Hans Verkuil <hverkuil at xs4all.nl>
    Signed-off-by: Michael Krufky <mkrufky at kernellabs.com>
    Signed-off-by: Mauro Carvalho Chehab <mchehab at redhat.com>

commit bd0232c13419b7ce51e02942082ff6af231e0f84
Author: Laurent Pinchart <laurent.pinchart at skynet.be>
Date:   Sat Aug 1 18:14:24 2009 -0300

    V4L/DVB (12380): uvcvideo: Avoid flooding the kernel log with "unknown event type" messages
    
    The iSight sends non-UVC status events through the interrupt endpoint. Those
    invalid events are reported to the kernel log, resulting in a log flood.
    
    Only log the events when the UVC_TRACE_STATUS flag is set.
    
    Signed-off-by: Laurent Pinchart <laurent.pinchart at skynet.be>
    Signed-off-by: Mauro Carvalho Chehab <mchehab at redhat.com>

commit d79cd8393ae85ebaf53a8fc93491eea96522d68e
Author: Laurent Pinchart <laurent.pinchart at skynet.be>
Date:   Sun Jul 19 19:16:05 2009 -0300

    V4L/DVB (12328): uvcvideo: Don't apply the FIX_BANDWIDTH quirk to all ViMicro devices
    
    Commit 50144aeeb702ea105697ae5249f059ea3990b838 broke the Samsung NC10
    netbook webcam. Instead of applying the FIX_BANDWIDTH quirk to all ViMicro
    devices, list the devices explicitly.
    
    Signed-off-by: Laurent Pinchart <laurent.pinchart at skynet.be>
    Signed-off-by: Mauro Carvalho Chehab <mchehab at redhat.com>

commit d1ae4e1d05cc982b6b480c1a3d69b8bb231e3493
Author: Michael Krufky <mkrufky at kernellabs.com>
Date:   Sun Jul 12 18:25:45 2009 -0300

    V4L/DVB (12374): sms1xxx: fix broken Hauppauge devices
    
    The current GPIO configuration breaks all Hauppauge devices.
    
    The code being removed affects Hauppauge devices only,
    and is the cause of the breakage.
    
    Signed-off-by: Michael Krufky <mkrufky at kernellabs.com>
    Signed-off-by: Mauro Carvalho Chehab <mchehab at redhat.com>

commit 261982f17051d10a1054a77ec8ae13517e0acee2
Author: Brian Johnson <brijohn at gmail.com>
Date:   Sun Jul 19 15:58:56 2009 -0300

    V4L/DVB (12373a): Add gspca sn9c20x subdriver entry to MAINTAINERS file
    
    MAINTAINERS |    8 ++++++++
    
    Signed-off-by: Brian Johnson <brijohn at gmail.com>
    Acked-by: Jean-Francois Moine <moinejf at free.fr>
    Signed-off-by: Mauro Carvalho Chehab <mchehab at redhat.com>

commit ba1bc64272f0af668690ba2bf859b13172db7230
Author: Nils Kassube <kassube at gmx.net>
Date:   Tue Jul 28 11:54:52 2009 -0300

    V4L/DVB (12371): af9015: Fix for crash in dvb-usb-af9015
    
    Moving BOOT fixes problem.
    
    Signed-off-by: Nils Kassube <kassube at gmx.net>
    Acked-by: Antti Palosaari <crope at iki.fi>
    Signed-off-by: Douglas Schilling Landgraf <dougsland at redhat.com>
    Signed-off-by: Mauro Carvalho Chehab <mchehab at redhat.com>

commit 6655be0f4f377d7e249219c6031c4be3533604a2
Author: Michael Krufky <mkrufky at kernellabs.com>
Date:   Mon Jul 20 12:20:58 2009 -0300

    V4L/DVB (12362): cx23885-417: fix manipulation of tvnorms
    
    Currently, the VIDIOC_S_STD ioctl just returns -EINVAL regardless of
    the norm passed.  This patch sets cx23885_mpeg_template.tvnorms and
    cx23885_mpeg_template.current_norm so that the VIDIOC_S_STD will work.
    
    Thanks to Joseph Yasi for pointing this out, even though this particular
    fix was already pushed into a development repository, merge priority of
    this changeset has been escalated as a result of Joseph posting this
    identical patch.
    
    Signed-off-by: Michael Krufky <mkrufky at kernellabs.com>
    Signed-off-by: Joseph A. Yasi <joe.yasi at gmail.com>
    Reviewed-by: Steven Toth <stoth at kernellabs.com>
    Signed-off-by: Mauro Carvalho Chehab <mchehab at redhat.com>

commit 337ab6d34f0be7cfbfb5ac8cb651276fc58aa20d
Author: Sohail Syyed <linuxtv at hubstar.net>
Date:   Sun Jul 26 11:06:20 2009 -0300

    V4L/DVB (12349): cx88: HVR1300 ensure switching from Encoder to DVB-T and back is reliable
    
    Current tip is broken and does not switch back to DVB-T correctly
    
    Signed-off-by: Sohail Syyed <linuxtv at hubstar.net>
    Signed-off-by: Steven Toth <stoth at kernellabs.com>
    Signed-off-by: Mauro Carvalho Chehab <mchehab at redhat.com>

commit 0a6e44d1beb30813f62ad376a31694e637858328
Author: Mauro Carvalho Chehab <mchehab at redhat.com>
Date:   Wed Jul 29 01:39:12 2009 -0300

    V4L/DVB (12344): em28xx: fix support for Plextor ConvertX PX-TV100U
    
    This device uses msp34xx and uses 2.048 MHz frequency for I2S
    communication.
    
    Thanks to Angelo Cano <acano at fastmail.fm> for pointing the issues with
    this device and proposing an approach for fixing the issue.
    
    Tested-by: Angelo Cano <acano at fastmail.fm>
    Signed-off-by: Mauro Carvalho Chehab <mchehab at redhat.com>

commit 458f9aa391efd34867f8cabac2e2f1af00cbc562
Author: Jan Nikitenko <jan.nikitenko at gmail.com>
Date:   Thu Jun 18 08:11:57 2009 -0300

    V4L/DVB (12341): zl10353 and qt1010: fix stack corruption bug
    
    Fixes stack corruption bug present in dump_regs function of zl10353 and
    qt1010 drivers: the buffer buf was one byte smaller than required -
    there are 4 chars for address prefix, 16 * 3 chars for dump of 16 eeprom
    bytes per line and 1 byte for zero ending the string required, i.e. 53
    bytes, but only 52 were provided.
    
    The one byte missing in stack based buffer buf can cause stack
    corruption possibly leading to kernel oops, as discovered originally
    with af9015 driver (af9015: fix stack corruption bug).
    
    Signed-off-by: Jan Nikitenko <jan.nikitenko at gmail.com>
    Signed-off-by: Mauro Carvalho Chehab <mchehab at redhat.com>

commit 296544e15a7126373851abd40acc526b79b91432
Author: Mauro Carvalho Chehab <mchehab at redhat.com>
Date:   Mon Jul 27 08:24:29 2009 -0300

    V4L/DVB (12340): mtv9v011: Add a missing chip version to the driver
    
    Some mt9v011 webcams report 0x8332 chip version, instead of 0x8243. From
    the revision history at the mt9v011 datasheet, it seems that the chip
    version has changed from the first release of the chip.
    
    Thanks-to hermann pitton <hermann-pitton at arcor.de> for pointing this to
    me, on his tests with a Silvercrest webcam.
    
    Signed-off-by: Mauro Carvalho Chehab <mchehab at redhat.com>

commit 225aeb1c5863bc92c6bb1f921e9a6cf4d15dbb2a
Author: Andy Walls <awalls at radix.net>
Date:   Thu Jul 23 21:51:29 2009 -0300

    V4L/DVB (12338): cx18: Read buffer overflow
    
    This mistakenly tested against sizeof(freqs) instead of the array size. Due to
    the mask the only illegal value possible was 3.
    
    Reported-by: Roel Kluin <roel.kluin at gmail.com>
    Signed-off-by: Andy Walls <awalls at radix.net>
    Signed-off-by: Mauro Carvalho Chehab <mchehab at redhat.com>

commit ed18d0c87ee0ab6e0985d83c19cd135b1bd54998
Author: Roel Kluin <roel.kluin at gmail.com>
Date:   Thu Jul 23 21:46:57 2009 -0300

    V4L/DVB (12337): ivtv: Read buffer overflow
    
    This mistakenly tests against sizeof(freqs) instead of the array size. Due to
    the mask the only illegal value possible was 3.
    
    Signed-off-by: Roel Kluin <roel.kluin at gmail.com>
    Signed-off-by: Andy Walls <awalls at radix.net>
    Signed-off-by: Mauro Carvalho Chehab <mchehab at redhat.com>

commit 5b766182a110311fbf618f736bc8a8f2f7ce3f4c
Author: Antonio Ospite <ospite at studenti.unina.it>
Date:   Wed Jul 22 17:20:50 2009 -0300

    V4L/DVB (12330): pxa_camera: Fix Oops in pxa_camera_probe
    
    mclk_get_divisor uses pcdev->soc_host.dev, make sure it is initialized.
    
    Signed-off-by: Antonio Ospite <ospite at studenti.unina.it>
    Signed-off-by: Guennadi Liakhovetski <g.liakhovetski at gmx.de>
    Signed-off-by: Mauro Carvalho Chehab <mchehab at redhat.com>

commit 232e7d68d50c9ac3a55d716e5ae215ecd1e043b9
Author: Dhananjay Phadke <dhananjay at netxen.com>
Date:   Thu Aug 13 07:03:01 2009 +0000

    netxen: free napi resources during detach
    
    o Defer napi resouce allocation to device attach.
    
    o Free napi resources and delete napi during detach.
    
    This ensures right behavior across firmware reset.
    
    Signed-off-by: Dhananjay Phadke <dhananjay at netxen.com>
    Signed-off-by: David S. Miller <davem at davemloft.net>

commit e424fa9d6a0add1a9b812b07e3607daaa5b9e53d
Author: Amit Kumar Salecha <amit at qlogic.com>
Date:   Thu Aug 13 07:03:00 2009 +0000

    netxen: remove netxen workqueue
    
    o Remove private workqueue in the driver, move all
      scheduled tasks to keventd workqueues. This makes
      ports (interfaces) of same / different NIC boards
      independent, in terms of their link watchdog and
      reset tasks.
    
    o Move quick checks for link status and temperature
      in timer callback, schedule watchdog task only if
      link status changed or temperature reached critical
      threshold.
    
    This also fixes deadlock when thermal panic occurs,
    watchdog work was flushing workqueue that it was
    sitting on.
    
    Signed-off-by: Amit Kumar Salecha <amit at qlogic.com>
    Signed-off-by: Dhananjay Phadke <dhananjay at netxen.com>
    Signed-off-by: David S. Miller <davem at davemloft.net>

commit 237057ad3fe5644fa471be474a160de2fc2e5870
Author: Don Skidmore <donald.c.skidmore at intel.com>
Date:   Tue Aug 11 13:18:14 2009 +0000

    ixgbe: fix issues setting rx-usecs with legacy interrupts
    
    Currently setting rx-usecs when the interface is in legacy interrupt
    mode it is not immediate.  We were only setting EITR for each MSIx
    vector and since this count would be zero for legacy mode it wasn't
    set until after a reset.  This patch corrects that by checking what
    mode we are in and then setting EITR accordingly.
    
    Signed-off-by: Don Skidmore <donald.skidmore at intel.com>
    Signed-off-by: Jeff Kirsher <jeffrey.t.kirsher at intel.com>
    Signed-off-by: David S. Miller <davem at davemloft.net>

commit 993e6f2fd487e2acddd711f79cf48f3420731382
Author: Oliver Hartkopp <oliver at hartkopp.net>
Date:   Tue Aug 11 02:41:24 2009 +0000

    can: fix oops caused by wrong rtnl newlink usage
    
    For 'real' hardware CAN devices the netlink interface is used to set CAN
    specific communication parameters. Real CAN hardware can not be created with
    the ip tool ...
    
    The invocation of 'ip link add type can' lead to an oops as the standard rtnl
    newlink function was called:
    
    http://bugzilla.kernel.org/show_bug.cgi?id=13954
    
    This patch adds a private newlink function for the CAN device driver interface
    that unconditionally returns -EOPNOTSUPP.
    
    Signed-off-by: Oliver Hartkopp <oliver at hartkopp.net>
    Reported-by: Dmitry Eremin-Solenikov <dbaryshkov at gmail.com>
    CC: Patrick McHardy <kaber at trash.net>
    CC: Wolfgang Grandegger <wg at grandegger.com>
    Signed-off-by: David S. Miller <davem at davemloft.net>

commit 64f1607ffbbc772685733ea63e6f7f4183df1b16
Author: Linus Torvalds <torvalds at linux-foundation.org>
Date:   Thu Aug 13 15:43:34 2009 -0700

    Linux 2.6.31-rc6

commit f9b14c9183b250cf128c7d2341e6b9bdbbcd8f35
Author: Kashyap, Desai <kashyap.desai at lsi.com>
Date:   Fri Aug 7 19:39:59 2009 +0530

    [SCSI] mpt2sas: Bump driver version 01.100.04.00
    
    Bump version to 01.100.04.00
    
    Signed-off-by: Kashyap Desai <kashyap.desai at lsi.com>
    Signed-off-by: James Bottomley <James.Bottomley at suse.de>

commit fcfe6392d18283df3c561b5ef59c330d485ff8ca
Author: Kashyap, Desai <kashyap.desai at lsi.com>
Date:   Fri Aug 7 19:38:48 2009 +0530

    [SCSI] mpt2sas: fix oops because drv data points to NULL on resume from hibernate
    
    Fix another ocurring when the system resumes.  This oops was due to driver
    setting the pci drvdata to NULL on the prior hibernation.  Becuase it was
    set to NULL, upon resmume we assume the pci drvdata is non-zero, and we oops.
    To fix the ooops, we don't set pci drvdata to NULL at hibernation time.
    
    Signed-off-by: Kashyap Desai <kashyap.desai at lsi.com>
    Signed-off-by: James Bottomley <James.Bottomley at suse.de>

commit e4750c989f732555fca86dd73d488c79972362db
Author: Kashyap, Desai <kashyap.desai at lsi.com>
Date:   Fri Aug 7 19:37:59 2009 +0530

    [SCSI] mpt2sas: fix crash due to Watchdog is active while OS in standby mode
    
    Fix oops ocurring at hibernation time.  This oops was due to the firmware fault
    watchdog timer still running after we freed resources. To fix the issue we need
    to terminate the watchdog timer at hibernation time.
    
    Signed-off-by: Kashyap Desai <kashyap.desai at lsi.com>
    Signed-off-by: James Bottomley <James.Bottomley at suse.de>

commit 6bd4e1e4d6023f4da069fd68729c502cc4e6dfd0
Author: Kashyap, Desai <kashyap.desai at lsi.com>
Date:   Fri Aug 7 19:37:14 2009 +0530

    [SCSI] mpt2sas: fix infinite loop inside config request
    
    This restriction is introduced just to avoid loop of
    config_request. Retry must be limited so we have restricted
    config request to maximum 2 times.
    
    Signed-off-by: Kashyap Desai <kashyap.desai at lsi.com>
    Signed-off-by: James Bottomley <James.Bottomley at suse.de>

commit be9e8cd75ce8d94ae4aab721fdcc337fa78a9090
Author: Kashyap, Desai <kashyap.desai at lsi.com>
Date:   Fri Aug 7 19:36:43 2009 +0530

    [SCSI] mpt2sas: Excessive log info causes sas iounit page time out
    
    Inhibit 0x3117 loginfos - during cable pull, there are too many printks going
    to the syslog, this is have impact on how fast the interrupt routine can handle
    keeping up with command completions; this was the root cause to the config
    pages timeouts.
    
    Signed-off-by: Kashyap Desai <kashyap.desai at lsi.com>
    Signed-off-by: James Bottomley <James.Bottomley at suse.de>

commit 62727a7ba43c0abf2673e3877079c136a9721792
Author: Kashyap, Desai <kashyap.desai at lsi.com>
Date:   Fri Aug 7 19:35:18 2009 +0530

    [SCSI] mpt2sas: Raid 10 Value is showing as Raid 1E in /va/log/messages
    
    When a volume is activated, the driver will recieve a pair of ir config change
    events to remove the foreign volume, then add the native.
    In the process of the removal event, the hidden raid componet is removed from
    the parent.When the disks is added back, the adding of the port fails becuase
    there is no instance of the device in its parent.
    To fix this issue, the driver needs to call mpt2sas_transport_update_links()
    prior to calling _scsih_add_device. In addition, we added sanity checks on
    volume add and removal to ignore events for foreign volumes.
    
    Signed-off-by: Kashyap Desai <kashyap.desai at lsi.com>
    Signed-off-by: James Bottomley <James.Bottomley at suse.de>

commit 20f5895d55d9281830bfb7819c5c5b70b05297a6
Author: Kashyap, Desai <kashyap.desai at lsi.com>
Date:   Fri Aug 7 19:34:26 2009 +0530

    [SCSI] mpt2sas: Expander fix oops saying "Already part of another port"
    
    Kernel panic is seen because driver did not tear down the port which should
    be dnoe using mpt2sas_transport_port_remove(). without this fix When expander
    is added back we would oops inside sas_port_add_phy.
    
    Signed-off-by: Kashyap Desai <kashyap.desai at lsi.com>
    Signed-off-by: James Bottomley <James.Bottomley at suse.de>

commit 15052c9e85bf0cdadcb69eb89623bf12bad8b4f8
Author: Kashyap, Desai <kashyap.desai at lsi.com>
Date:   Fri Aug 7 19:33:17 2009 +0530

    [SCSI] mpt2sas: Introduced check for enclosure_handle to avoid crash
    
    Kernel panic is seen because of enclosure_handle received from FW is zero.
    Check is introduced before calling mpt2sas_config_get_enclosure_pg0.
    
    Signed-off-by: Kashyap Desai <kashyap.desai at lsi.com>
    Signed-off-by: James Bottomley <James.Bottomley at suse.de>

commit 2d860ad76f4ee4d2eba0fe3797c8d7cdce432cc0
Author: Linus Torvalds <torvalds at linux-foundation.org>
Date:   Thu Aug 13 13:05:10 2009 -0700

    genirq: prevent wakeup of freed irq thread
    
    free_irq() can remove an irqaction while the corresponding interrupt
    is in progress, but free_irq() sets action->thread to NULL
    unconditionally, which might lead to a NULL pointer dereference in
    handle_IRQ_event() when the hard interrupt context tries to wake up
    the handler thread.
    
    Prevent this by moving the thread stop after synchronize_irq(). No
    need to set action->thread to NULL either as action is going to be
    freed anyway.
    
    This fixes a boot crash reported against preempt-rt which uses the
    mainline irq threads code to implement full irq threading.
    
    [ tglx: removed local irqthread variable ]
    
    Signed-off-by: Linus Torvalds <torvalds at linux-foundation.org>
    Signed-off-by: Thomas Gleixner <tglx at linutronix.de>

commit 3493e84de60590d3012139187f631f2dfbf0887f
Merge: 919aa96a9cfc5071f037bf58718e05335562a6ac 94d5d1b2d891f1fd5205f978246b7864d998b25c
Author: Linus Torvalds <torvalds at linux-foundation.org>
Date:   Thu Aug 13 12:24:33 2009 -0700

    Merge branch 'perfcounters-fixes-for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/tip/linux-2.6-tip
    
    * 'perfcounters-fixes-for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/tip/linux-2.6-tip:
      perf_counter: Report the cloning task as parent on perf_counter_fork()
      perf_counter: Fix an ipi-deadlock
      perf: Rework/fix the whole read vs group stuff
      perf_counter: Fix swcounter context invariance
      perf report: Don't show unresolved DSOs and symbols when -S/-d is used
      perf tools: Add a general option to enable raw sample records
      perf tools: Add a per tracepoint counter attribute to get raw sample
      perf_counter: Provide hw_perf_counter_setup_online() APIs
      perf list: Fix large list output by using the pager
      perf_counter, x86: Fix/improve apic fallback
      perf record: Add missing -C option support for specifying profile cpu
      perf tools: Fix dso__new handle() to handle deleted DSOs
      perf tools: Fix fallback to cplus_demangle() when bfd_demangle() is not available
      perf report: Show the tid too in -D
      perf record: Fix .tid and .pid fill-in when synthesizing events
      perf_counter, x86: Fix generic cache events on P6-mobile CPUs
      perf_counter, x86: Fix lapic printk message

commit 919aa96a9cfc5071f037bf58718e05335562a6ac
Merge: 1c2ffff407140adf75bb72ae375688480793a228 392741e0a4e17c82e3978b7fcbf04291294dc0a1
Author: Linus Torvalds <torvalds at linux-foundation.org>
Date:   Thu Aug 13 12:09:16 2009 -0700

    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:
      futex: Fix handling of bad requeue syscall pairing
      futex: Fix compat_futex to be same as futex for REQUEUE_PI
      locking, sched: Give waitqueue spinlocks their own lockdep classes
      futex: Update futex_q lock_ptr on requeue proxy lock

commit 1c2ffff407140adf75bb72ae375688480793a228
Merge: bc7af9ba154f648598bf92b391e446e31b09330a e8055139d996e85722984968472868d6dccb1490
Author: Linus Torvalds <torvalds at linux-foundation.org>
Date:   Thu Aug 13 12:08:44 2009 -0700

    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: Fix oops in identify_cpu() on CPUs without CPUID
      x86: Clear incorrectly forced X86_FEATURE_LAHF_LM flag
      x86, mce: therm_throt - change when we print messages
      x86: Add reboot quirk for every 5 series MacBook/Pro

commit 416fbdff2137e8d8cc8f23f517bee3a26b11526f
Author: Luis R. Rodriguez <lrodriguez at atheros.com>
Date:   Tue Aug 11 13:10:33 2009 -0700

    mac80211: fix panic when splicing unprepared TIDs
    
    We splice skbs from the pending queue for a TID
    onto the local pending queue when tearing down a
    block ack request. This is not necessary unless we
    actually have received a request to start a block ack
    request (rate control, for example). If we never received
    that request we should not be splicing the tid pending
    queue as it would be null, causing a panic.
    
    Not sure yet how exactly we allowed through a call when the
    tid state does not have at least HT_ADDBA_REQUESTED_MSK set,
    that will require some further review as it is not quite
    obvious.
    
    For more information see the bug report:
    
    http://bugzilla.kernel.org/show_bug.cgi?id=13922
    
    This fixes this oops:
    
    BUG: unable to handle kernel NULL pointer dereference at 00000030
    IP: [<f8806c70>] ieee80211_agg_splice_packets+0x40/0xc0 [mac80211]
    *pdpt = 0000000002d1e001 *pde = 0000000000000000
    Thread overran stack, or stack corrupted
    Oops: 0000 [#1] SMP
    last sysfs file: /sys/module/aes_generic/initstate
    Modules linked in: <bleh>
    
    Pid: 0, comm: swapper Not tainted (2.6.31-rc5-wl #2) Dell DV051
    EIP: 0060:[<f8806c70>] EFLAGS: 00010292 CPU: 0
    EIP is at ieee80211_agg_splice_packets+0x40/0xc0 [mac80211]
    EAX: 00000030 EBX: 0000004c ECX: 00000003 EDX: 00000000
    ESI: c1c98000 EDI: f745a1c0 EBP: c076be58 ESP: c076be38
     DS: 007b ES: 007b FS: 00d8 GS: 0000 SS: 0068
    Process swapper (pid: 0, ti=c076a000 task=c0709160 task.ti=c076a000)
    Stack: <bleh2>
    Call Trace:
     [<f8806edb>] ? ieee80211_stop_tx_ba_cb+0xab/0x150 [mac80211]
     [<f8802f1e>] ? ieee80211_tasklet_handler+0xce/0x110 [mac80211]
     [<c04862ff>] ? net_rx_action+0xef/0x1d0
     [<c0149378>] ? tasklet_action+0x58/0xc0
     [<c014a0f2>] ? __do_softirq+0xc2/0x190
     [<c018eb48>] ? handle_IRQ_event+0x58/0x140
     [<c01205fe>] ? ack_apic_level+0x7e/0x270
     [<c014a1fd>] ? do_softirq+0x3d/0x40
     [<c014a345>] ? irq_exit+0x65/0x90
     [<c010a6af>] ? do_IRQ+0x4f/0xc0
     [<c014a35d>] ? irq_exit+0x7d/0x90
     [<c011d547>] ? smp_apic_timer_interrupt+0x57/0x90
     [<c01094a9>] ? common_interrupt+0x29/0x30
     [<c010fd9e>] ? mwait_idle+0xbe/0x100
     [<c0107e42>] ? cpu_idle+0x52/0x90
     [<c054b1a5>] ? rest_init+0x55/0x60
     [<c077492d>] ? start_kernel+0x315/0x37d
     [<c07743ce>] ? unknown_bootoption+0x0/0x1f9
     [<c0774099>] ? i386_start_kernel+0x79/0x81
    Code: <bleh3>
    EIP: [<f8806c70>] ieee80211_agg_splice_packets+0x40/0xc0 [mac80211] SS:ESP 0068:c076be38
    CR2: 0000000000000030
    
    Cc: stable at kernel.org
    Testedy-by: Jack Lau <jackelectronics at hotmail.com>
    Signed-off-by: Luis R. Rodriguez <lrodriguez at atheros.com>
    Signed-off-by: John W. Linville <linville at tuxdriver.com>

commit bc7af9ba154f648598bf92b391e446e31b09330a
Merge: d58d2d1adec90e7bc0c56e09b3ac0e9a5a471e68 b409d7a0ab46fe530efe52734984b4ed5d46c3eb
Author: Linus Torvalds <torvalds at linux-foundation.org>
Date:   Thu Aug 13 11:17:40 2009 -0700

    Merge branch 'upstream-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/jlbec/ocfs2
    
    * 'upstream-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/jlbec/ocfs2: (22 commits)
      ocfs2: Fix possible deadlock when extending quota file
      ocfs2: keep index within status_map[]
      ocfs2: Initialize the cluster we're writing to in a non-sparse extend
      ocfs2: Remove redundant BUG_ON in __dlm_queue_ast()
      ocfs2/quota: Release lock for error in ocfs2_quota_write.
      ocfs2: Define credit counts for quota operations
      ocfs2: Remove syncjiff field from quota info
      ocfs2: Fix initialization of blockcheck stats
      ocfs2: Zero out padding of on disk dquot structure
      ocfs2: Initialize blocks allocated to local quota file
      ocfs2: Mark buffer uptodate before calling ocfs2_journal_access_dq()
      ocfs2: Make global quota files blocksize aligned
      ocfs2: Use ocfs2_rec_clusters in ocfs2_adjust_adjacent_records.
      ocfs2: Fix deadlock on umount
      ocfs2: Add extra credits and access the modified bh in update_edge_lengths.
      ocfs2: Fail ocfs2_get_block() immediately when a block needs allocation
      ocfs2: Fix error return in ocfs2_write_cluster()
      ocfs2: Fix compilation warning for fs/ocfs2/xattr.c
      ocfs2: Initialize count in aio_write before generic_write_checks
      ocfs2: log the actual return value of ocfs2_file_aio_write()
      ...

commit d58d2d1adec90e7bc0c56e09b3ac0e9a5a471e68
Merge: 7334219c44826ae0ebe6f07555c6b97f978ce266 4d484a4a7a5126410eed5f8dd329a33f6eeed068
Author: Linus Torvalds <torvalds at linux-foundation.org>
Date:   Thu Aug 13 10:59:29 2009 -0700

    Merge branch 'for-linus' of git://neil.brown.name/md
    
    * 'for-linus' of git://neil.brown.name/md:
      md: allow upper limit for resync/reshape to be set when array is read-only
      md/raid5: Properly remove excess drives after shrinking a raid5/6
      md/raid5: make sure a reshape restarts at the correct address.
      md/raid5: allow new reshape modes to be restarted in the middle.
      md: never advance 'events' counter by more than 1.
      Remove deadlock potential in md_open

commit 7334219c44826ae0ebe6f07555c6b97f978ce266
Merge: e694958388c50148389b0e9b9e9e8945cf0f1b98 dbefd606a3b3634799b625f4900336e61c89e868
Author: Linus Torvalds <torvalds at linux-foundation.org>
Date:   Thu Aug 13 10:57:53 2009 -0700

    Merge branch 'sh/for-2.6.31' of git://git.kernel.org/pub/scm/linux/kernel/git/lethal/sh-2.6
    
    * 'sh/for-2.6.31' of git://git.kernel.org/pub/scm/linux/kernel/git/lethal/sh-2.6:
      sh: fix i2c init order on ap325rxa V2
      sh: fix i2c init order on Migo-R V2
      sh: convert processor device setup functions to arch_initcall()

commit e694958388c50148389b0e9b9e9e8945cf0f1b98
Author: Linus Torvalds <torvalds at linux-foundation.org>
Date:   Thu Aug 13 08:28:36 2009 -0700

    Make sock_sendpage() use kernel_sendpage()
    
    kernel_sendpage() does the proper default case handling for when the
    socket doesn't have a native sendpage implementation.
    
    Now, arguably this might be something that we could instead solve by
    just specifying that all protocols should do it themselves at the
    protocol level, but we really only care about the common protocols.
    Does anybody really care about sendpage on something like Appletalk? Not
    likely.
    
    Acked-by: David S. Miller <davem at davemloft.net>
    Acked-by: Julien TINNES <julien at cr0.org>
    Acked-by: Tavis Ormandy <taviso at sdf.lonestar.org>
    Cc: stable at kernel.org
    Signed-off-by: Linus Torvalds <torvalds at linux-foundation.org>

commit 94d5d1b2d891f1fd5205f978246b7864d998b25c
Author: Peter Zijlstra <peterz at infradead.org>
Date:   Thu Aug 13 16:14:42 2009 +0200

    perf_counter: Report the cloning task as parent on perf_counter_fork()
    
    A bug in (9f498cc: perf_counter: Full task tracing) makes
    profiling multi-threaded apps it go belly up.
    
    [ output as: (PID:TID):(PPID:PTID) ]
    
     # ./perf report -D | grep FORK
    0x4b0 [0x18]: PERF_EVENT_FORK: (3237:3237):(3236:3236)
    0xa10 [0x18]: PERF_EVENT_FORK: (3237:3238):(3236:3236)
    0xa70 [0x18]: PERF_EVENT_FORK: (3237:3239):(3236:3236)
    0xad0 [0x18]: PERF_EVENT_FORK: (3237:3240):(3236:3236)
    0xb18 [0x18]: PERF_EVENT_FORK: (3237:3241):(3236:3236)
    
    Shows us that the test (27d028d perf report: Update for the new
    FORK/EXIT events) in builtin-report.c:
    
            /*
             * A thread clone will have the same PID for both
             * parent and child.
             */
            if (thread == parent)
                    return 0;
    
    Will clearly fail.
    
    The problem is that perf_counter_fork() reports the actual
    parent, instead of the cloning thread.
    
    Fixing that (with the below patch), yields:
    
     # ./perf report -D | grep FORK
    0x4c8 [0x18]: PERF_EVENT_FORK: (1590:1590):(1589:1589)
    0xbd8 [0x18]: PERF_EVENT_FORK: (1590:1591):(1590:1590)
    0xc80 [0x18]: PERF_EVENT_FORK: (1590:1592):(1590:1590)
    0x3338 [0x18]: PERF_EVENT_FORK: (1590:1593):(1590:1590)
    0x66b0 [0x18]: PERF_EVENT_FORK: (1590:1594):(1590:1590)
    
    Which both makes more sense and doesn't confuse perf report
    anymore.
    
    Reported-by: Pekka Enberg <penberg at cs.helsinki.fi>
    Signed-off-by: Peter Zijlstra <a.p.zijlstra at chello.nl>
    Cc: Arnaldo Carvalho de Melo <acme at redhat.com>
    Cc: paulus at samba.org
    Cc: Anton Blanchard <anton at samba.org>
    Cc: Arjan van de Ven <arjan at infradead.org>
    LKML-Reference: <1250172882.5241.62.camel at twins>
    Signed-off-by: Ingo Molnar <mingo at elte.hu>

commit 970892a9031a5dc7217bd394fb9d89fa75a4a7bc
Author: Peter Zijlstra <a.p.zijlstra at chello.nl>
Date:   Thu Aug 13 11:47:54 2009 +0200

    perf_counter: Fix an ipi-deadlock
    
    perf_pending_counter() is called from IRQ context and will call
    perf_counter_disable(), however perf_counter_disable() uses
    smp_call_function_single() which doesn't fancy being used with
    IRQs disabled due to IPI deadlocks.
    
    Fix this by making it use the local __perf_counter_disable()
    call and teaching the counter_sched_out() code about pending
    disables as well.
    
    This should cover the case where a counter migrates before the
    pending queue gets processed.
    
    Signed-off-by: Peter Zijlstra <a.p.zijlstra at chello.nl>
    Cc: Corey J Ashford <cjashfor at us.ibm.com>
    Cc: Paul Mackerras <paulus at samba.org>
    Cc: stephane eranian <eranian at googlemail.com>
    LKML-Reference: <20090813103655.244097721 at chello.nl>
    Signed-off-by: Ingo Molnar <mingo at elte.hu>

commit 3dab77fb1bf89664bb1c9544607159dcab6f7d57
Author: Peter Zijlstra <a.p.zijlstra at chello.nl>
Date:   Thu Aug 13 11:47:53 2009 +0200

    perf: Rework/fix the whole read vs group stuff
    
    Replace PERF_SAMPLE_GROUP with PERF_SAMPLE_READ and introduce
    PERF_FORMAT_GROUP to deal with group reads in a more generic
    way.
    
    This allows you to get group reads out of read() as well.
    
    Signed-off-by: Peter Zijlstra <a.p.zijlstra at chello.nl>
    Cc: Corey J Ashford <cjashfor at us.ibm.com>
    Cc: Paul Mackerras <paulus at samba.org>
    Cc: stephane eranian <eranian at googlemail.com>
    LKML-Reference: <20090813103655.117411814 at chello.nl>
    Signed-off-by: Ingo Molnar <mingo at elte.hu>

commit bcfc2602e8541ac13b1def38e2591dca072cff7a
Author: Peter Zijlstra <peterz at infradead.org>
Date:   Thu Aug 13 09:51:55 2009 +0200

    perf_counter: Fix swcounter context invariance
    
    perf_swcounter_is_counting() uses a lock, which means we cannot
    use swcounters from NMI or when holding that particular lock,
    this is unintended.
    
    The below removes the lock, this opens up race window, but not
    worse than the swcounters already experience due to RCU
    traversal of the context in perf_swcounter_ctx_event().
    
    This also fixes the hard lockups while opening a lockdep
    tracepoint counter.
    
    Signed-off-by: Peter Zijlstra <a.p.zijlstra at chello.nl>
    Acked-by: Frederic Weisbecker <fweisbec at gmail.com>
    Cc: Paul Mackerras <paulus at samba.org>
    Cc: stephane eranian <eranian at googlemail.com>
    Cc: Corey J Ashford <cjashfor at us.ibm.com>
    LKML-Reference: <1250149915.10001.66.camel at twins>
    Signed-off-by: Ingo Molnar <mingo at elte.hu>

commit 8fd101f20bdf771949a8f3a5a779877d09b2fb56
Author: Arnaldo Carvalho de Melo <acme at redhat.com>
Date:   Wed Aug 12 18:19:57 2009 -0300

    perf report: Don't show unresolved DSOs and symbols when -S/-d is used
    
    We're interested in just those symbols/DSOs, so filter out the
    unresolved ones.
    
    Signed-off-by: Arnaldo Carvalho de Melo <acme at redhat.com>
    Cc: Peter Zijlstra <peterz at infradead.org>
    LKML-Reference: <20090812211957.GE3495 at ghostprotocols.net>
    Signed-off-by: Ingo Molnar <mingo at elte.hu>

commit 3b3119fc549c93df60316d28bdd77c2de3986588
Merge: 96a4d1e23439e2356a105791bda95cc08d375b97 dee2b904a1f93c275a015b67cd693038d74b18e8
Author: Russell King <rmk at dyn-67.arm.linux.org.uk>
Date:   Thu Aug 13 09:55:38 2009 +0100

    Merge branch 'ixp4xx-fixes' of git://git.kernel.org/pub/scm/linux/kernel/git/chris/linux-2.6

commit daac07b2e6b77f1bd44104aa2f0593e5505f27d4
Author: Frederic Weisbecker <fweisbec at gmail.com>
Date:   Thu Aug 13 10:27:19 2009 +0200

    perf tools: Add a general option to enable raw sample records
    
    While we can enable the perf sample records per tracepoint
    counter, we may also want to enable this option for every
    tracepoint counters to open, so that we don't need to add a
    :record flag for all of them.
    
    Add the -R, --raw-samples options for this purpose.
    
    Signed-off-by: Frederic Weisbecker <fweisbec at gmail.com>
    Cc: Peter Zijlstra <peterz at infradead.org>
    Cc: Arnaldo Carvalho de Melo <acme at redhat.com>
    Cc: Mike Galbraith <efault at gmx.de>
    LKML-Reference: <1250152039-7284-2-git-send-email-fweisbec at gmail.com>
    Signed-off-by: Ingo Molnar <mingo at elte.hu>

commit 3a9f131fb00b8ac5950a11ad1599e45edfb5ae44
Author: Frederic Weisbecker <fweisbec at gmail.com>
Date:   Thu Aug 13 10:27:18 2009 +0200

    perf tools: Add a per tracepoint counter attribute to get raw sample
    
    Add a new flag field while opening a tracepoint perf counter:
    
    	-e tracepoint_subsystem:tracepoint_name:flags
    
    This is intended to be generic although for now it only supports the
    r[e[c[o[r[d]]]]] flag:
    
    	./perf record -e workqueue:workqueue_insertion:record
    	./perf record -e workqueue:workqueue_insertion:r
    
    will have the same effect: enabling the raw samples record for
    the given tracepoint counter.
    
    In the future, we may want to support further flags, separated
    by commas.
    
    Signed-off-by: Frederic Weisbecker <fweisbec at gmail.com>
    Cc: Peter Zijlstra <peterz at infradead.org>
    Cc: Arnaldo Carvalho de Melo <acme at redhat.com>
    Cc: Mike Galbraith <efault at gmx.de>
    LKML-Reference: <1250152039-7284-1-git-send-email-fweisbec at gmail.com>
    Signed-off-by: Ingo Molnar <mingo at elte.hu>

commit 28402971d869e26271b25301011f667d3a5640c3
Author: Ingo Molnar <mingo at elte.hu>
Date:   Thu Aug 13 10:13:22 2009 +0200

    perf_counter: Provide hw_perf_counter_setup_online() APIs
    
    Provide weak aliases for hw_perf_counter_setup_online(). This is
    used by the BTS patches (for v2.6.32), but it interacts with
    fixes so propagate this upstream. (it has no effect as of yet)
    
    Also export perf_counter_output() to architecture code.
    
    Cc: Peter Zijlstra <a.p.zijlstra at chello.nl>
    Cc: Paul Mackerras <paulus at samba.org>
    Cc: Frederic Weisbecker <fweisbec at gmail.com>
    LKML-Reference: <new-submission>
    Signed-off-by: Ingo Molnar <mingo at elte.hu>

commit 8f7a0dc51674ad0dd06155291b0aed60d655943c
Author: Arnaldo Carvalho de Melo <acme at redhat.com>
Date:   Wed Aug 12 14:44:59 2009 -0300

    perf list: Fix large list output by using the pager
    
    When /sys/kernel/debug is mounted the list can be imense, so
    use the pager like the other tools.
    
    Signed-off-by: Arnaldo Carvalho de Melo <acme at redhat.com>
    Acked-by: Frederic Weisbecker <fweisbec at gmail.com>
    Cc: Peter Zijlstra <peterz at infradead.org>
    LKML-Reference: <20090812174459.GB3495 at ghostprotocols.net>
    Signed-off-by: Ingo Molnar <mingo at elte.hu>

commit 839d1624b9dcf31fdc02e47359043bb7bd71d6ca
Author: Francois Romieu <romieu at fr.zoreil.com>
Date:   Wed Aug 12 22:18:14 2009 -0700

    8139cp: balance dma_map_single vs dma_unmap_single pair
    
    The driver always:
    1. allocate cp->rx_buf_sz + NET_IP_ALIGN
    2. map cp->rx_buf_sz
    
    Signed-off-by: Francois Romieu <romieu at fr.zoreil.com>
    Signed-off-by: David S. Miller <davem at davemloft.net>

commit dbefd606a3b3634799b625f4900336e61c89e868
Author: Magnus Damm <damm at igel.co.jp>
Date:   Fri Aug 7 03:52:18 2009 +0000

    sh: fix i2c init order on ap325rxa V2
    
    Convert the AP325RXA board code to register devices at
    arch_initcall() time instead of device_initcall(). This
    fix unbreaks pcf8563 RTC driver support.
    
    Signed-off-by: Magnus Damm <damm at igel.co.jp>
    Signed-off-by: Paul Mundt <lethal at linux-sh.org>

commit ba3a17019181af5d6ab898760620c4e9916396c2
Author: Magnus Damm <damm at igel.co.jp>
Date:   Thu Aug 13 11:39:02 2009 +0900

    sh: fix i2c init order on Migo-R V2
    
    Convert the Migo-R board code to register devices at
    arch_initcall() time instead of __initcall(). This fix
    unbreaks migor_ts touch screen driver support.
    
    Signed-off-by: Magnus Damm <damm at igel.co.jp>
    Signed-off-by: Paul Mundt <lethal at linux-sh.org>

commit ba9a633787eed1e90d587282642580ad3d44f7fd
Author: Magnus Damm <damm at igel.co.jp>
Date:   Wed Jul 22 15:14:29 2009 +0000

    sh: convert processor device setup functions to arch_initcall()
    
    Convert the processor platform device setup
    functions from __initcall() and sometimes
    device_initcall() to arch_initcall().
    
    This makes sure that the platform devices are
    registered a bit earlier so the devices are
    available when drivers register using initcall
    levels earlier than device_initcall().
    
    A good example is platform devices needed by
    i2c-sh_mobile.c which registers a bit earlier
    using subsys_initcall().
    
    Signed-off-by: Magnus Damm <damm at igel.co.jp>
    Signed-off-by: Paul Mundt <lethal at linux-sh.org>

commit 4d484a4a7a5126410eed5f8dd329a33f6eeed068
Author: NeilBrown <neilb at suse.de>
Date:   Thu Aug 13 10:41:50 2009 +1000

    md: allow upper limit for resync/reshape to be set when array is read-only
    
    Normally we only allow the upper limit for a reshape to be decreased
    when the array not performing a sync/recovery/reshape, otherwise there
    could be races.  But if an array is part-way through a reshape when it
    is assembled the reshape is started immediately leaving no window
    to set an upper bound.
    
    If the array is started read-only, the reshape will be suspended until
    the array becomes writable, so that provides a window during which it
    is perfectly safe to reduce the upper limit of a reshape.
    
    So: allow the upper limit (sync_max) to be reduced even if the reshape
    thread is running, as long as the array is still read-only.
    
    Signed-off-by: NeilBrown <neilb at suse.de>

commit 1a67dde0abba36421a1257d01ba9de2f6d1c160a
Author: NeilBrown <neilb at suse.de>
Date:   Thu Aug 13 10:41:49 2009 +1000

    md/raid5: Properly remove excess drives after shrinking a raid5/6
    
    We were removing the drives, from the array, but not
    removing symlinks from /sys/.... and not marking the device
    as having been removed.
    
    Signed-off-by: NeilBrown <neilb at suse.de>

commit 9799218ae36910af50f002a5db1802d576fffb43
Author: David S. Miller <davem at davemloft.net>
Date:   Wed Aug 12 17:37:52 2009 -0700

    Revert "libertas: Read buffer overflow"
    
    This reverts commit 57921c312e8cef72ba35a4cfe870b376da0b1b87.
    
    On request from John Linville:
    
    	It has been shown to create a new problem.  There is work
    	towards a solution to that one, but it isn't a simple
    	clean-up.
    
    Signed-off-by: David S. Miller <davem at davemloft.net>

commit a639755cf885e437b2fe4168d35157fa90d530ab
Author: NeilBrown <neilb at suse.de>
Date:   Thu Aug 13 10:13:00 2009 +1000

    md/raid5: make sure a reshape restarts at the correct address.
    
    This "if" don't allow for the possibility that the number of devices
    doesn't change, and so sector_nr isn't set correctly in that case.
    So change '>' to '>='.
    
    Signed-off-by: NeilBrown <neilb at suse.de>

commit 67ac6011db5d2b0c853d573ff474b25c85dfb644
Author: NeilBrown <neilb at suse.de>
Date:   Thu Aug 13 10:06:24 2009 +1000

    md/raid5: allow new reshape modes to be restarted in the middle.
    
    md/raid5 doesn't allow a reshape to restart if it involves writing
    over the same part of disk that it would be reading from.
    This happens at the beginning of a reshape that increases the number
    of devices, at the end of a reshape that decreases the number of
    devices, and continuously for a reshape that does not change the
    number of devices.
    
    The current code is correct for the "increase number of devices"
    case as the critical section at the start is handled by userspace
    performing a backup.
    
    It does not work for reducing the number of devices, or the
    no-change case.
    For 'reducing', we need to invert the test.  For no-change we cannot
    really be sure things will be safe, so simply require the array
    to be read-only, which is how the user-space code which carefully
    starts such arrays works.
    
    Signed-off-by: NeilBrown <neilb at suse.de>

commit 51d5668cb2e3fd1827a55184e48606fff054c5be
Author: NeilBrown <neilb at suse.de>
Date:   Thu Aug 13 09:54:02 2009 +1000

    md: never advance 'events' counter by more than 1.
    
    When assembling arrays, md allows two devices to have different event
    counts as long as the difference is only '1'.  This is to cope with
    a system failure between updating the metadata on two difference
    devices.
    
    However there are currently times when we update the event count by
    2.  This was done to keep the event count even when the array is clean
    and odd when it is dirty, which allows us to avoid writing common
    update to spare devices and so allow those spares to go to sleep.
    
    This is bad for the above reason.  So change it to never increase by
    two.  This means that the alignment between 'odd/even' and
    'clean/dirty' might take a little longer to attain, but that is only a
    small cost.  The spares will get a few more updates but that will
    still be spared (;-) most updates and can still go to sleep.
    
    Prior to this patch there was a small chance that after a crash an
    array would fail to assemble due to the overly large event count
    mismatch.
    
    Signed-off-by: NeilBrown <neilb at suse.de>

commit a3620f7545344f932873bf98fbdf416b49409c8e
Merge: 78efd1ddd95d2fac1ed8d5fadd9dab885ea70e55 39cbb602b543e477df71dca84b5b2e36f8bd29fc
Author: Linus Torvalds <torvalds at linux-foundation.org>
Date:   Wed Aug 12 09:55:46 2009 -0700

    Merge branch 'for-linus' of git://git.kernel.dk/linux-2.6-block
    
    * 'for-linus' of git://git.kernel.dk/linux-2.6-block:
      Remove double removal of blktrace directory

commit 39cbb602b543e477df71dca84b5b2e36f8bd29fc
Author: Alan D. Brunelle <alan.brunelle at hp.com>
Date:   Fri Aug 7 12:01:08 2009 -0400

    Remove double removal of blktrace directory
    
    commit fd51d251e4cdb21f68e9dbc4336514d64a105a79
    Author: Stefan Raspl <raspl at linux.vnet.ibm.com>
    Date:   Tue May 19 09:59:08 2009 +0200
    
        blktrace: remove debugfs entries on bad path
    
    added in an explicit invocation of debugfs_remove for bt->dir, in
    blk_remove_buf_file_callback we are also getting the directory removed. On
    occasion I am seeing memory corruption that I have bisected down to
    this commit. [The testing involves a (long) series of I/O benchmarks
    with blktrace invoked around the actual runs.] I believe that this
    committed patch is correct, but the problem actually lies in the code
    in blk_remove_buf_file_callback.
    
    With this patch I am able to consistently get complete runs whereas
    previously I could not get a single run to complete.
    
    The first part of the patch simply moves the debugfs_remove below the
    relay_close: the relay_close call will remove files under bt->dir, and
    so we should not remove the directory until all the files we created
    have been removed. (Note: This is not sufficient to fix the problem -
    the file system code has ref counts on the directoy, so our invocation
    does not cause the directory to actually be removed. Nonetheless, we
    should not rely upon that feature.)
    
    Signed-off-by: Alan D. Brunelle <alan.brunelle at hp.com>
    Signed-off-by: Jens Axboe <jens.axboe at oracle.com>

commit 78efd1ddd95d2fac1ed8d5fadd9dab885ea70e55
Merge: b637dc0dba6a243da2c74f5d02b42ba5eeb9425e a8914f3a6d72c97328597a556a99daaf5cc288ae
Author: Linus Torvalds <torvalds at linux-foundation.org>
Date:   Wed Aug 12 08:49:35 2009 -0700

    Merge branch 'for-linus' of git://oss.sgi.com/xfs/xfs
    
    * 'for-linus' of git://oss.sgi.com/xfs/xfs:
      xfs: fix spin_is_locked assert on uni-processor builds
      xfs: check for dinode realtime flag corruption
      use XFS_CORRUPTION_ERROR in xfs_btree_check_sblock
      xfs: switch to NOFS allocation under i_lock in xfs_attr_rmtval_get
      xfs: switch to NOFS allocation under i_lock in xfs_readlink_bmap
      xfs: switch to NOFS allocation under i_lock in xfs_attr_rmtval_set
      xfs: switch to NOFS allocation under i_lock in xfs_buf_associate_memory
      xfs: switch to NOFS allocation under i_lock in xfs_dir_cilookup_result
      xfs: switch to NOFS allocation under i_lock in xfs_da_buf_make
      xfs: switch to NOFS allocation under i_lock in xfs_da_state_alloc
      xfs: switch to NOFS allocation under i_lock in xfs_getbmap
      xfs: avoid memory allocation under m_peraglock in growfs code

commit b637dc0dba6a243da2c74f5d02b42ba5eeb9425e
Merge: 42c5c8435e8b7da4684607587d2c882d464cfc7d 8884be98bcfa656febd24bd18fe8bececbf81251
Author: Linus Torvalds <torvalds at linux-foundation.org>
Date:   Wed Aug 12 08:32:47 2009 -0700

    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:
      ALSA: hda - Don't override ADC definitions for ALC codecs
      ALSA: hda - Add missing vmaster initialization for ALC269
      ASoC: Add missing DRV_NAME definitions for fsl/* drivers

commit 42c5c8435e8b7da4684607587d2c882d464cfc7d
Merge: 9256a2d0b1a36906656405adf564f03ab2d2f3e9 67fe0688082509c52bd451d10a61b3565169c23e
Author: Linus Torvalds <torvalds at linux-foundation.org>
Date:   Wed Aug 12 08:29:32 2009 -0700

    Merge branch 'zerolen' of git://git.kernel.org/pub/scm/linux/kernel/git/jgarzik/misc-2.6
    
    * 'zerolen' of git://git.kernel.org/pub/scm/linux/kernel/git/jgarzik/misc-2.6:
      Remove zero-length file drivers/mtd/maps/sbc8240.c

commit 9256a2d0b1a36906656405adf564f03ab2d2f3e9
Merge: 1ae88b2e446261c038f2c0c3150ffae142b227a2 5594639aab8b5614cb27a3e5b2b627505cbcd137
Author: Linus Torvalds <torvalds at linux-foundation.org>
Date:   Wed Aug 12 08:24:17 2009 -0700

    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:
      ahci: add workaround for on-board 5723s on some gigabyte boards
      ahci: Soften up the dmesg on SB600 PMP softreset failure recovery
      Documentation/kernel-parameters.txt: document libata's ignore_hpa option
      sata_nv: MSI support, disabled by default
      libata: OCZ Vertex can't do HPA
      pata_atiixp: fix second channel support
      pata_at91: fix resource release

commit 1ae88b2e446261c038f2c0c3150ffae142b227a2
Author: Trond Myklebust <Trond.Myklebust at netapp.com>
Date:   Wed Aug 12 09:12:30 2009 -0400

    NFS: Fix an O_DIRECT Oops...
    
    We can't call nfs_readdata_release()/nfs_writedata_release() without
    first initialising and referencing args.context. Doing so inside
    nfs_direct_read_schedule_segment()/nfs_direct_write_schedule_segment()
    causes an Oops.
    
    We should rather be calling nfs_readdata_free()/nfs_writedata_free() in
    those cases.
    
    Looking at the O_DIRECT code, the "struct nfs_direct_req" is already
    referencing the nfs_open_context for us. Since the readdata and writedata
    structures carry a reference to that, we can simplify things by getting rid
    of the extra nfs_open_context references, so that we can replace all
    instances of nfs_readdata_release()/nfs_writedata_release().
    
    Reported-by: Catalin Marinas <catalin.marinas at arm.com>
    Signed-off-by: Trond Myklebust <Trond.Myklebust at netapp.com>
    Tested-by: Catalin Marinas <catalin.marinas at arm.com>
    Cc: stable at kernel.org
    Signed-off-by: Linus Torvalds <torvalds at linux-foundation.org>

commit 04da8a43da804723a550f00dd158fd5b5e25ae35
Author: Ingo Molnar <mingo at elte.hu>
Date:   Tue Aug 11 10:40:08 2009 +0200

    perf_counter, x86: Fix/improve apic fallback
    
    Johannes Stezenbach reported that his Pentium-M based
    laptop does not have the local APIC enabled by default,
    and hence perfcounters do not get initialized.
    
    Add a fallback for this case: allow non-sampled counters
    and return with an error on sampled counters. This allows
    'perf stat' to work out of box - and allows 'perf top'
    and 'perf record' to fall back on a hrtimer based sampling
    method.
    
    ( Passing 'lapic' on the boot line will allow hardware
      sampling to occur - but if the APIC is disabled
      permanently by the hardware then this fallback still
      allows more systems to use perfcounters. )
    
    Also decouple perfcounter support from X86_LOCAL_APIC.
    
    -v2: fix typo breaking counters on all other systems ...
    
    Reported-by: Johannes Stezenbach <js at sig21.net>
    Cc: Peter Zijlstra <a.p.zijlstra at chello.nl>
    Cc: Mike Galbraith <efault at gmx.de>
    Cc: Paul Mackerras <paulus at samba.org>
    Cc: Arnaldo Carvalho de Melo <acme at redhat.com>
    Cc: Frederic Weisbecker <fweisbec at gmail.com>
    LKML-Reference: <new-submission>
    Signed-off-by: Ingo Molnar <mingo at elte.hu>

commit 0a5ac84650fb7a7f226814103d95724e34b012ae
Author: Jens Axboe <jens.axboe at oracle.com>
Date:   Wed Aug 12 11:18:01 2009 +0200

    perf record: Add missing -C option support for specifying profile cpu
    
    perf top supports a -C for setting the profile CPU, but perf
    record does not. This adds the same option for perf record,
    allowing the user to specify a specific target profile CPU.
    
    Signed-off-by: Jens Axboe <jens.axboe at oracle.com>
    Cc: Peter Zijlstra <a.p.zijlstra at chello.nl>
    Cc: Mike Galbraith <efault at gmx.de>
    Cc: Paul Mackerras <paulus at samba.org>
    Cc: Arnaldo Carvalho de Melo <acme at redhat.com>
    Cc: Frederic Weisbecker <fweisbec at gmail.com>
    LKML-Reference: <20090812091801.GC12579 at kernel.dk>
    Signed-off-by: Ingo Molnar <mingo at elte.hu>

commit 1340e6bbaff7ff7f6f75eb4a5c34933efce84a84
Author: Arnaldo Carvalho de Melo <acme at redhat.com>
Date:   Tue Aug 11 17:04:36 2009 -0300

    perf tools: Fix dso__new handle() to handle deleted DSOs
    
    It is better than showing the map addr, this way at least we
    know that we can't get the symtabs because the DSO was deleted
    (system update) while an app still used such DSO.
    
    Yeah, don't do that, but if you do, you'll figure it out
    quicker this way.
    
    [acme at doppio linux-2.6-tip]$ perf report | head -15
     # Samples: 3796
     #
     # Overhead  Command                                                        Shared Object  Symbol
     # ........  .......  ...................................................................  ......
     #
        23.55%   pidgin  /lib64/libglib-2.0.so.0.2000.4.#prelink#.Pd98lu (deleted)            [.] 0x00000000038844
        21.55%   pidgin  /lib64/libpthread-2.10.1.so.#prelink#.AFwK8Q (deleted)               [.] 0x0000000000a42d
        10.85%   pidgin  [kernel]                                                             [.] vread_hpet
         7.85%   pidgin  /lib64/libgobject-2.0.so.0.2000.4.#prelink#.o1vpU7 (deleted)         [.] 0x00000000014de8
         3.35%   pidgin  /lib64/libc-2.10.1.so (deleted)                                      [.] 0x0000000007a875
         3.19%   pidgin  /lib64/libdbus-1.so.3.4.0.#prelink#.6mwgZP (deleted)                 [.] 0x0000000001d254
         3.06%   pidgin  /usr/lib64/libgtk-x11-2.0.so.0.1600.5.#prelink#.511hAl (deleted)     [.] 0x000000002334e7
         2.90%   pidgin  /usr/lib64/libgdk-x11-2.0.so.0.1600.5.#prelink#.5qlMo1 (deleted)     [.] 0x00000000037b2d
         1.84%   pidgin  [kernel]                                                             [k] do_sys_poll
         1.45%   pidgin  /usr/lib64/libX11.so.6.2.0.#prelink#.iR59Rx (deleted)                [.] 0x0000000004c751
    [acme at doppio linux-2.6-tip]$
    
    Signed-off-by: Arnaldo Carvalho de Melo <acme at redhat.com>
    Cc: Luis Claudio R. Gonçalves <lclaudio at redhat.com>
    Cc: Clark Williams <williams at redhat.com>
    Cc: H. Peter Anvin <hpa at zytor.com>
    Cc: Peter Zijlstra <peterz at infradead.org>
    Cc: Mike Galbraith <efault at gmx.de>
    Cc: Frédéric Weisbecker <fweisbec at gmail.com>
    LKML-Reference: <20090811200436.GA3478 at ghostprotocols.net>
    Signed-off-by: Ingo Molnar <mingo at elte.hu>

commit 247648e3742ded01e42a4b14c2da330b13cbb47f
Author: Arnaldo Carvalho de Melo <acme at redhat.com>
Date:   Tue Aug 11 16:22:11 2009 -0300

    perf tools: Fix fallback to cplus_demangle() when bfd_demangle() is not available
    
    In old binutils we can't access bfd_demangle(), use
    cplus_demangle() just like oprofile.
    
    Signed-off-by: Arnaldo Carvalho de Melo <acme at redhat.com>
    Cc: Luis Claudio R. Gonçalves <lclaudio at redhat.com>
    Cc: H. Peter Anvin <hpa at zytor.com>
    Cc: Peter Zijlstra <peterz at infradead.org>
    Cc: Mike Galbraith <efault at gmx.de>
    Cc: Frédéric Weisbecker <fweisbec at gmail.com>
    LKML-Reference: <20090811192211.GG18061 at ghostprotocols.net>
    Signed-off-by: Ingo Molnar <mingo at elte.hu>

commit 94a24752fe95ca1e7f98b197052d44e6a207740d
Author: Arnaldo Carvalho de Melo <acme at redhat.com>
Date:   Tue Aug 11 16:21:38 2009 -0300

    perf report: Show the tid too in -D
    
    This made it easier to find the firefox threading related
    bug.
    
    Signed-off-by: Arnaldo Carvalho de Melo <acme at redhat.com>
    Cc: "H. Peter Anvin" <hpa at zytor.com>
    Cc: Peter Zijlstra <peterz at infradead.org>
    Cc: Mike Galbraith <efault at gmx.de>
    Cc: Frédéric Weisbecker <fweisbec at gmail.com>
    LKML-Reference: <20090811192138.GE18061 at ghostprotocols.net>
    Signed-off-by: Ingo Molnar <mingo at elte.hu>

commit 2a8083f063472f27c253545dd64e1a7bbbb1ab61
Author: Arnaldo Carvalho de Melo <acme at redhat.com>
Date:   Tue Aug 11 16:22:00 2009 -0300

    perf record: Fix .tid and .pid fill-in when synthesizing events
    
    Noticed when trying to record events for a firefox thread. We
    were synthesizing both .tid and .pid with the pid passed via
    --pid.
    
    Fix it by reading /proc/PID/status and getting the tgid
    to use in .pid, .tid gets the specified "pid".
    
    Signed-off-by: Arnaldo Carvalho de Melo <acme at redhat.com>
    Cc: "H. Peter Anvin" <hpa at zytor.com>
    Cc: Frédéric Weisbecker <fweisbec at gmail.com>
    Cc: Peter Zijlstra <peterz at infradead.org>
    Cc: Mike Galbraith <efault at gmx.de>
    LKML-Reference: <20090811192200.GF18061 at ghostprotocols.net>
    Signed-off-by: Ingo Molnar <mingo at elte.hu>

commit 67fe0688082509c52bd451d10a61b3565169c23e
Author: Jeff Garzik <jeff at garzik.org>
Date:   Wed Aug 12 06:29:57 2009 -0400

    Remove zero-length file drivers/mtd/maps/sbc8240.c
    
    It was "deleted" in commit 2bf961b7ccd69e108ac435c67e2b0522b403c578
    
    Signed-off-by: Jeff Garzik <jgarzik at redhat.com>

commit 5594639aab8b5614cb27a3e5b2b627505cbcd137
Author: Tejun Heo <tj at kernel.org>
Date:   Tue Aug 4 14:30:08 2009 +0900

    ahci: add workaround for on-board 5723s on some gigabyte boards
    
    Some gigabytes have on-board SIMG5723s connected to JMB ahcis.  These
    are used to implement hardware raid.  Unfortunately some firmware
    revisions on these 5723s don't bring the link down when all the
    downstream ports are unoccupied while not responding to reset protocol
    which makes libata think that there's device attached to the port but
    is not responding and retry.  This results in painfully wrong boot
    detection time for these ports when they're empty.
    
    This patch quirks those boards such that ahci gives up after the
    initial timeout.  Combined with parallel probing, this gives quick
    enough probing and also is safe because SIMG5723 will respond to the
    first try if any of the downstream ports is occupied.
    
    Signed-off-by: Tejun Heo <tj at kernel.org>
    Reported-by: Marc Bowes <marcbowes at gmail.com>
    Reported-by: Nicolas Mailhot <Nicolas.Mailhot at LaPoste.net>
    Signed-off-by: Jeff Garzik <jgarzik at redhat.com>

commit b6931c1fbaf7fda9ea7f120228a96600d7090049
Author: Shane Huang <shane.huang at amd.com>
Date:   Wed Aug 5 10:10:41 2009 +0800

    ahci: Soften up the dmesg on SB600 PMP softreset failure recovery
    
    Too strong words led to spurious bug reports: Novell bugzilla #527748,
    RedHat bugzilla #468800. This patch is used to soften up the dmesg on
    SB600 PMP softreset failure recovery, so as to remove the scariness and
    concern from community.
    
    Reported-by: pgnet Dev <pgnet.dev at gmail.com>
    Signed-off-by: Shane Huang <shane.huang at amd.com>
    Cc: Tejun Heo <tj at kernel.org>
    Signed-off-by: Jeff Garzik <jgarzik at redhat.com>

commit 20308871588518b5e209c403de2a3ad9a2eba9af
Author: Michael Prokop <mika at grml.org>
Date:   Thu Aug 6 00:14:10 2009 +0200

    Documentation/kernel-parameters.txt: document libata's ignore_hpa option
    
    By default the kernel honors the HPA (host protected area) of hard
    drives.  Using libata's ignore_hpa module option it's possible to
    change this behaviour.
    
    Document usage and options of libata.ignore_hpa in
    Documentation/kernel-parameters.txt.
    
    Signed-off-by: Michael Prokop <mika at grml.org>
    Signed-off-by: Jeff Garzik <jgarzik at redhat.com>

commit 51c8949950647afeeb897e08dd75ad99078adb50
Author: Tony Vroon <tony at linx.net>
Date:   Thu Aug 6 00:50:09 2009 +0100

    sata_nv: MSI support, disabled by default
    
    At least the nVidia MCP55 controller quite happily supports MSI.
    This adds an option to use it. It is disabled by default.
    As per feedback by Robert Hancock, it will honour the user
    request as the kernel will not enable MSI where the controller
    or the specific system configuration do not support it.
    
    Signed-off-by: Tony Vroon <tony at linx.net>
    Cc: Robert Hancock <hancockrwd at gmail.com>
    Signed-off-by: Jeff Garzik <jgarzik at redhat.com>

commit 7831387bda72af3059be48d39846d3eb6d8ce2f6
Author: Tejun Heo <tj at kernel.org>
Date:   Fri Aug 7 01:59:15 2009 +0900

    libata: OCZ Vertex can't do HPA
    
    OCZ Vertex SSD can't do HPA and not in a usual way.  It reports HPA,
    allows unlocking but then fails all IOs which fall in the unlocked
    area.  Quirk it so that HPA unlocking is not used for the device.
    
    Reported by Daniel Perup in bnc#522414.
    
     https://bugzilla.novell.com/show_bug.cgi?id=522414
    
    Signed-off-by: Tejun Heo <tj at kernel.org>
    Reported-by: Daniel Perup <probe at spray.se>
    Signed-off-by: Jeff Garzik <jgarzik at redhat.com>

commit 1fd4bbec8c0d6db96b02141f324066afa2e77e89
Author: Bartlomiej Zolnierkiewicz <bzolnier at gmail.com>
Date:   Thu Aug 6 17:47:05 2009 +0200

    pata_atiixp: fix second channel support
    
    PIO and MWDMA timings are never programmed for the second channel
    because timing registers are treated as 16-bit long ones.
    
    The bug is an attixp -> pata_atiixp regression and goes back to:
    
    	commit 669a5db411d85a14f86cd92bc16bf7ab5b8aa235
    	Author: Jeff Garzik <jeff at garzik.org>
    	Date:   Tue Aug 29 18:12:40 2006 -0400
    
    	    [libata] Add a bunch of PATA drivers.
    
    Cc: Krystian Juskowiak <jusko at tlen.pl>
    Cc: Andrew Morton <akpm at linux-foundation.org>
    Cc: Borislav Petkov <bbpetkov at yahoo.de>
    Cc: Robert Hancock <hancockrwd at gmail.com>
    Signed-off-by: Bartlomiej Zolnierkiewicz <bzolnier at gmail.com>
    Signed-off-by: Jeff Garzik <jgarzik at redhat.com>

commit df9eba8c9febf53782ef896518e7177999d98188
Author: Tejun Heo <tj at kernel.org>
Date:   Fri Aug 7 11:15:20 2009 +0900

    pata_at91: fix resource release
    
    Julias Lawall discovered that pata_at91 wasn't freeing a memory region
    allocated with kzalloc() on init failure paths.  Upon review,
    pata_at91 also seems to be doing unnecessary explicit resource
    releases for managed resources too.  Convert memory allocation to
    managed one and drop unnecessary explicit resource releases.
    
    Signed-off-by: Tejun Heo <tj at kernel.org>
    Cc: Julia Lawall <julia at diku.dk>
    Cc: Sergey Matyukevich <geomatsi at gmail.com>
    Signed-off-by: Jeff Garzik <jgarzik at redhat.com>

commit e8055139d996e85722984968472868d6dccb1490
Author: Ondrej Zary <linux at rainbow-software.org>
Date:   Tue Aug 11 20:00:11 2009 +0200

    x86: Fix oops in identify_cpu() on CPUs without CPUID
    
    Kernel is broken for x86 CPUs without CPUID since 2.6.28. It
    crashes with NULL pointer dereference in identify_cpu():
    
    766        generic_identify(c);
    767
    768-->     if (this_cpu->c_identify)
    769               this_cpu->c_identify(c);
    
    this_cpu is NULL. This is because it's only initialized in
    get_cpu_vendor() function, which is not called if the CPU has
    no CPUID instruction.
    
    Signed-off-by: Ondrej Zary <linux at rainbow-software.org>
    LKML-Reference: <200908112000.15993.linux at rainbow-software.org>
    Signed-off-by: Ingo Molnar <mingo at elte.hu>

commit ec8b4b7085605e801a7740a2c3c33256aebe249c
Author: Stephen Kitt <steve at sk2.org>
Date:   Wed Aug 12 01:12:08 2009 -0700

    Input: joydev - decouple axis and button map ioctls from input constants
    
    The KEY_MAX change in 2.6.28 changed the values of the JSIOCSBTNMAP and
    JSIOCGBTNMAP constants; software compiled with the old values no longer
    works with kernels following 2.6.28, because the ioctl switch statement
    no longer matches the values given by the software. This patch handles
    these ioctls independently of the length of data specified, and applies the
    same treatment to JSIOCSAXMAP and JSIOCGAXMAP which currently depend on
    ABS_MAX.
    
    Signed-off-by: Stephen Kitt <steve at sk2.org>
    Signed-off-by: Dmitry Torokhov <dtor at mail.ru>

commit a8914f3a6d72c97328597a556a99daaf5cc288ae
Author: Christoph Hellwig <hch at lst.de>
Date:   Mon Aug 10 11:32:44 2009 -0300

    xfs: fix spin_is_locked assert on uni-processor builds
    
    Without SMP or preemption spin_is_locked always returns false,
    so we can't do an assert with it.  Instead use assert_spin_locked,
    which does the right thing on all builds.
    
    Signed-off-by: Christoph Hellwig <hch at lst.de>
    Reviewed-by: Eric Sandeen <sandeen at sandeen.net>
    Reported-by: Johannes Engel <jcnengel at googlemail.com>
    Tested-by: Johannes Engel <jcnengel at googlemail.com>
    Signed-off-by: Felix Blyakher <felixb at sgi.com>

commit b89d4208de3de442c9025919c4261be0b38e79a4
Author: Christoph Hellwig <hch at lst.de>
Date:   Mon Aug 10 11:32:18 2009 -0300

    xfs: check for dinode realtime flag corruption
    
    Ramon tested XFS with a modified version of fsfuzzer and hit a NULL
    pointer dereference in __xfs_get_blocks due to the RT device target
    pointer being NULL.
    
    To fix this reject inode with the realtime bit set on a a filesystem
    without an RT subvolume during inode read.
    
    Signed-off-by: Christoph Hellwig <hch at lst.de>
    Reviewed-by: Eric Sandeen <sandeen at sandeen.net>
    Reviewed-by: Felix Blyakher <felixb at sgi.com>
    Reported-by: Ramon de Carvalho Valle <ramon at risesecurity.org>
    Tested-by: Ramon de Carvalho Valle <ramon at risesecurity.org>
    Signed-off-by: Felix Blyakher <felixb at sgi.com>

commit e0c222c411e22f086e929cd69fdcc89336164ec1
Author: Eric Sandeen <sandeen at sandeen.net>
Date:   Mon Jul 20 10:52:15 2009 -0500

    use XFS_CORRUPTION_ERROR in xfs_btree_check_sblock
    
    In Red Hat Bug 512552
     - Can't write to XFS mount during raid5 resync
    
    a user ran into corruption while resyncing a raid, and we failed
    a consistency test, but didn't get much more info; it'd be nice
    to call XFS_CORRUPTION_ERROR here so we can see the buffer
    contents.
    
    Signed-off-by: Eric Sandeen <sandeen at sandeen.net>
    Reviewed-by: Christoph Hellwig <hch at lst.de>
    Signed-off-by: Felix Blyakher <felixb at sgi.com>

commit ddd3a14e0f030f0f7b900621f67532285b8657ef
Author: Christoph Hellwig <hch at infradead.org>
Date:   Sat Jul 18 18:15:01 2009 -0400

    xfs: switch to NOFS allocation under i_lock in xfs_attr_rmtval_get
    
    xfs_attr_rmtval_get is always called with i_lock held, but i_lock is taken
    in reclaim context so all allocations under it must avoid recursions into
    the filesystem.
    
    Reported by the new reclaim context tracing in lockdep.
    
    Signed-off-by: Christoph Hellwig <hch at lst.de>
    Reviewed-by: Felix Blyakher <felixb at sgi.com>
    Signed-off-by: Felix Blyakher <felixb at sgi.com>

commit 7b02ecb3031b192823bc732ae717febc0a59aa92
Author: Christoph Hellwig <hch at infradead.org>
Date:   Sat Jul 18 18:15:00 2009 -0400

    xfs: switch to NOFS allocation under i_lock in xfs_readlink_bmap
    
    xfs_readlink_bmap is called with i_lock held, but i_lock is taken in
    reclaim context so all allocations under it must avoid recursions into
    the filesystem.
    
    Reported by the new reclaim context tracing in lockdep.
    
    Signed-off-by: Christoph Hellwig <hch at lst.de>
    Reviewed-by: Felix Blyakher <felixb at sgi.com>
    Signed-off-by: Felix Blyakher <felixb at sgi.com>

commit 10746e47e722b5688fcd6eba9fbf9b2e64a248a7
Author: Christoph Hellwig <hch at infradead.org>
Date:   Sat Jul 18 18:14:59 2009 -0400

    xfs: switch to NOFS allocation under i_lock in xfs_attr_rmtval_set
    
    xfs_attr_rmtval_set is always called with i_lock held, and i_lock is taken
    in reclaim context so all allocations under it must avoid recursions into
    the filesystem.
    
    Reported by the new reclaim context tracing in lockdep.
    
    Signed-off-by: Christoph Hellwig <hch at lst.de>
    Reviewed-by: Felix Blyakher <felixb at sgi.com>
    Signed-off-by: Felix Blyakher <felixb at sgi.com>

commit 36fae17a648e0aee5d9560514d08477ef48dc87f
Author: Christoph Hellwig <hch at infradead.org>
Date:   Sat Jul 18 18:14:58 2009 -0400

    xfs: switch to NOFS allocation under i_lock in xfs_buf_associate_memory
    
    xfs_buf_associate_memory is used for setting up the spare buffer for the
    log wrap case in xlog_sync which can happen under i_lock when called from
    xfs_fsync. The i_lock mutex is taken in reclaim context so all allocations
    under it must avoid recursions into the filesystem.  There are a couple
    more uses of xfs_buf_associate_memory in the log recovery code that are
    also affected by this, but I'd rather keep the code simple than passing on
    a gfp_mask argument.  Longer term we should just stop requiring the memoery
    allocation in xlog_sync by some smaller rework of the buffer layer.
    
    Reported by the new reclaim context tracing in lockdep.
    
    Signed-off-by: Christoph Hellwig <hch at lst.de>
    Reviewed-by: Felix Blyakher <felixb at sgi.com>
    Signed-off-by: Felix Blyakher <felixb at sgi.com>

commit 3f52c2f0a07c23771909cc53f2e9451a7f1bf253
Author: Christoph Hellwig <hch at infradead.org>
Date:   Sat Jul 18 18:14:57 2009 -0400

    xfs: switch to NOFS allocation under i_lock in xfs_dir_cilookup_result
    
    xfs_dir_cilookup_result is always called with i_lock held, but i_lock is taken
    in reclaim context so all allocations under it must avoid recursions into the
    filesystem.
    
    Reported by the new reclaim context tracing in lockdep.
    
    Signed-off-by: Christoph Hellwig <hch at lst.de>
    Reviewed-by: Felix Blyakher <felixb at sgi.com>
    Signed-off-by: Felix Blyakher <felixb at sgi.com>

commit 73195ed7864ae4a1fb0bea2ed9df59d19b4fde90
Author: Christoph Hellwig <hch at infradead.org>
Date:   Sat Jul 18 18:14:56 2009 -0400

    xfs: switch to NOFS allocation under i_lock in xfs_da_buf_make
    
    i_lock is taken in the reclaim context so all allocations under it
    must avoid recursions into the filesystem.
    
    Reported by the new reclaim context tracing in lockdep.
    
    Signed-off-by: Christoph Hellwig <hch at lst.de>
    Reviewed-by: Felix Blyakher <felixb at sgi.com>
    Signed-off-by: Felix Blyakher <felixb at sgi.com>

commit f41d7fb9da05b604f8a69fb6cac2a0563c8ede4e
Author: Christoph Hellwig <hch at infradead.org>
Date:   Sat Jul 18 18:14:55 2009 -0400

    xfs: switch to NOFS allocation under i_lock in xfs_da_state_alloc
    
    xfs_da_state_alloc is always called with i_lock held, but i_lock is taken in
    reclaim context so all allocations under it must avoid recursions into the
    filesystem.
    
    Reported by the new reclaim context tracing in lockdep.
    
    Signed-off-by: Christoph Hellwig <hch at lst.de>
    Reviewed-by: Felix Blyakher <felixb at sgi.com>
    Signed-off-by: Felix Blyakher <felixb at sgi.com>

commit ca35dcd6cae7d4a780c484c53f45548c4719f82c
Author: Christoph Hellwig <hch at infradead.org>
Date:   Sat Jul 18 18:14:54 2009 -0400

    xfs: switch to NOFS allocation under i_lock in xfs_getbmap
    
    xfs_getbmap allocates memory with i_lock held, but i_lock is taken in
    reclaim context so all allocations under it must avoid recursions into
    the filesystem.
    
    Reported by the new reclaim context tracing in lockdep.
    
    Signed-off-by: Christoph Hellwig <hch at lst.de>
    Reviewed-by: Felix Blyakher <felixb at sgi.com>
    Signed-off-by: Felix Blyakher <felixb at sgi.com>

commit 0cc6eee130b0c062feec8446d9cecdb17d2cfad3
Author: Christoph Hellwig <hch at infradead.org>
Date:   Sat Jul 18 18:14:53 2009 -0400

    xfs: avoid memory allocation under m_peraglock in growfs code
    
    Allocate the memory for the larger m_perag array before taking the
    per-AG lock as the per-AG lock can be taken under the i_lock which
    can be taken from reclaim context.
    
    Reported by the new reclaim context tracing in lockdep.
    
    Signed-off-by: Christoph Hellwig <hch at lst.de>
    Reviewed-by: Felix Blyakher <felixb at sgi.com>
    Signed-off-by: Felix Blyakher <felixb at sgi.com>

commit 8884be98bcfa656febd24bd18fe8bececbf81251
Merge: 909a2607a5c923bf40a07ab0bfaa78bee775bf55 dd704698f56c1451fc9c5daadcd6e3a089de2c40
Author: Takashi Iwai <tiwai at suse.de>
Date:   Wed Aug 12 08:05:20 2009 +0200

    Merge branch 'fix/hda' into for-linus
    
    * fix/hda:
      ALSA: hda - Don't override ADC definitions for ALC codecs
      ALSA: hda - Add missing vmaster initialization for ALC269

commit 909a2607a5c923bf40a07ab0bfaa78bee775bf55
Merge: 90bc1a658a53f8832ee799685703977a450e5af9 afc5e65245255a268ab22a20477ed2c9f2cdfcd3
Author: Takashi Iwai <tiwai at suse.de>
Date:   Wed Aug 12 08:05:19 2009 +0200

    Merge branch 'fix/asoc' into for-linus
    
    * fix/asoc:
      ASoC: Add missing DRV_NAME definitions for fsl/* drivers

commit 7cb7beb31aa3d941833b6a6e553687422c31e4b6
Merge: 4d9c73f60efe7a76f086bc93f7ef22be9d78bed6 e7369e01eb85550ed60dd1b0e120b69dfb03dc23
Author: Linus Torvalds <torvalds at linux-foundation.org>
Date:   Tue Aug 11 17:06:16 2009 -0700

    Merge branch 'release' of git://git.kernel.org/pub/scm/linux/kernel/git/fyu/linux-2.6
    
    * 'release' of git://git.kernel.org/pub/scm/linux/kernel/git/fyu/linux-2.6:
      arch/ia64/kernel/iosapic: missing test after ioremap()
      ia64/topology.c: exit cache_add_dev when kobject_init_and_add fails
      arch/ia64/Makefile: Remove -mtune=merced in IA64 kernel build
      IA64: includecheck fix: ia64, pgtable.h
      IA64: includecheck fix: ia64, ia64_ksyms.c
      ia64: boolean __test_and_clear_bit
      Bug Fix arch/ia64/kernel/pci-dma.c: fix recursive dma_supported() call in iommu_dma_supported()

commit e7369e01eb85550ed60dd1b0e120b69dfb03dc23
Author: Roel Kluin <[roel.kluin at gmail.com]>
Date:   Tue Aug 11 14:52:11 2009 -0700

    arch/ia64/kernel/iosapic: missing test after ioremap()
    
    Missing test after ioremap()
    
    Signed-off-by: Roel Kluin <roel.kluin at gmail.com>
    Acked-by: Fenghua Yu <fenghua.yu at intel.com>

commit 5359dffd4396f281c5b77de1acbee6fb1b333b23
Author: Fenghua Yu <fenghua.yu at intel.com>
Date:   Tue Aug 11 14:52:11 2009 -0700

    ia64/topology.c: exit cache_add_dev when kobject_init_and_add fails
    
    Make cache_add_dev exit sysfs when kobject_init_and_add returns an error.
    
    Signed-off-by: Xiaotian Feng <dfeng at redhat.com>
    Signed-off-by: Fenghua Yu <fenghua.yu at intel.com>

commit bf2a4c7270b9a22243a91ab5efcc47aaf997c66b
Author: Fenghua Yu <[fenghua.yu at intel.com]>
Date:   Tue Aug 11 14:52:11 2009 -0700

    arch/ia64/Makefile: Remove -mtune=merced in IA64 kernel build
    
    Between GCC version 3.4.0 and 4.3.3 (including 3.4.0 and 4.3.3), -mtune=merced
    is implemented in GCC. Starting from 4.4.0, -mtune=merced is deprecated.
    
    Even implemented in versions between 3.4.0 and 4.3.3, the -mtune=merced
    feature has been broken in some of the versions. For example, GCC 4.1.2 reports
    interanl tuning function errors during kernel building with -mtune=merced. Or
    GCC Bugzilla 16130 reports another -mtune=merced issue on GCC 3.4.1.
    
    So I would remove the -mtune=merced from IA64 kernel build. Without this option,
    kernel on Merced will remain the same except losing an unstable and out-of-date
    performance tunning feature.
    
    Since GCC version 3.4.0, -mtune=mckinley has been implemented. The
    -mtune=mckinley option functions the same as mtune=itanium2. And mtune=itanium2
    is the default option. So we don't need to add mtune=mckinley either since its
    been the default option in any GCC version which implements this option.
    
    Signed-off-by: Fenghua Yu <fenghua.yu at intel.com>

commit b5a8879347bbe68bd24c8870503bf6a0362da26b
Author: Jaswinder Singh Rajput <[jaswinder at kernel.org]>
Date:   Tue Aug 11 14:52:11 2009 -0700

    IA64: includecheck fix: ia64, pgtable.h
    
    fix the following 'make includecheck' warning:
    
      arch/ia64/include/asm/pgtable.h: asm/processor.h is included more than once.
    
    Signed-off-by: Jaswinder Singh Rajput <jaswinderrajput at gmail.com>
    Acked-by: Fenghua Yu <fenghua.yu at intel.com>

commit cfa5f809e399c699974ba6018eefa022bbc2e16e
Author: Jaswinder Singh Rajput <[jaswinder at kernel.org]>
Date:   Tue Aug 11 14:52:10 2009 -0700

    IA64: includecheck fix: ia64, ia64_ksyms.c
    
    fix the following 'make includecheck' warning:
    
      arch/ia64/kernel/ia64_ksyms.c: asm/page.h is included more than once.
    
    Signed-off-by: Jaswinder Singh Rajput <jaswinderrajput at gmail.com>
    Acked-by: Fenghua Yu <fenghua.yu at intel.com>

commit 8d6f9af91959256244878cd801c1c969e66cd093
Author: Johannes Weiner <[hannes at cmpxchg.org]>
Date:   Tue Aug 11 14:52:10 2009 -0700

    ia64: boolean __test_and_clear_bit
    
    __test_and_clear_bit() returns a bitfield with the tested-for bit set.
    Make it consistent with the other bitops - of ia64 but also every
    other architecture - and return a boolean value.
    
    Signed-off-by: Johannes Weiner <hannes at cmpxchg.org>
    Acked-by: Fenghua Yu <fenghua.yu at intel.com>

commit 51b89f7a6615eca184aa0b85db5781d931e9c8d1
Author: Fenghua Yu <[fenghua.yu at intel.com]>
Date:   Tue Aug 11 14:52:10 2009 -0700

    Bug Fix arch/ia64/kernel/pci-dma.c: fix recursive dma_supported() call in iommu_dma_supported()
    
    In commit 160c1d8e40866edfeae7d68816b7005d70acf391,
    dma_ops->dma_supported = iommu_dma_supported;
    
    This dma_ops->dma_supported is first called in platform_dma_init() during kernel
    boot. Then dma_ops->dma_supported will be called recursively in
    iommu_dma_supported.
    
    Kernel can not boot because kernel can not get out of iommu_dma_supported until
    it runs out of stack memory.
    
    Signed-off-by: Fenghua Yu <fenghua.yu at intel.com>

commit dee2b904a1f93c275a015b67cd693038d74b18e8
Author: Mikael Pettersson <mikpe at it.uu.se>
Date:   Sun Aug 9 21:21:57 2009 +0200

    IXP4xx: Fix IO_SPACE_LIMIT for 2.6.31-rc core PCI changes
    
    2.6.31-rc kernels don't boot on my ixp4xx box (ds101), because the libata
    driver doesn't find the PCI IDE controller any more. 2.6.30 was fine.
    I traced this to a PCI update (1f82de10d6b1d845155363c895c552e61b36b51a)
    in 2.6.30-git19. Diffing the kernel boot logs from 2.6.30-git18 and
    2.6.30-git19 illustrates the breakage:
    
    > --- dmesg-2.6.30-git18	2009-08-04 01:45:22.000000000 +0200
    > +++ dmesg-2.6.30-git19	2009-08-04 01:45:46.000000000 +0200
    > @@ -26,6 +26,13 @@
    >  pci 0000:00:02.2: PME# supported from D0 D1 D2 D3hot
    >  pci 0000:00:02.2: PME# disabled
    >  PCI: bus0: Fast back to back transfers disabled
    > +pci 0000:00:01.0: BAR 0: can't allocate I/O resource [0x10000-0xffff]
    > +pci 0000:00:01.0: BAR 1: can't allocate I/O resource [0x10000-0xffff]
    > +pci 0000:00:01.0: BAR 2: can't allocate I/O resource [0x10000-0xffff]
    > +pci 0000:00:01.0: BAR 3: can't allocate I/O resource [0x10000-0xffff]
    > +pci 0000:00:01.0: BAR 4: can't allocate I/O resource [0x10000-0xffff]
    > +pci 0000:00:02.0: BAR 4: can't allocate I/O resource [0x10000-0xffff]
    > +pci 0000:00:02.1: BAR 4: can't allocate I/O resource [0x10000-0xffff]
    >  bio: create slab <bio-0> at 0
    >  SCSI subsystem initialized
    >  NET: Registered protocol family 2
    > @@ -44,11 +51,7 @@
    >  console [ttyS0] enabled
    >  serial8250.0: ttyS1 at MMIO 0xc8001000 (irq = 13) is a XScale
    >  Driver 'sd' needs updating - please use bus_type methods
    > -PCI: enabling device 0000:00:01.0 (0140 -> 0141)
    > -scsi0 : pata_artop
    > -scsi1 : pata_artop
    > -ata1: PATA max UDMA/100 cmd 0x1050 ctl 0x1060 bmdma 0x1040 irq 28
    > -ata2: PATA max UDMA/100 cmd 0x1058 ctl 0x1064 bmdma 0x1048 irq 28
    > +pata_artop 0000:00:01.0: no available native port
    >  Using configured DiskOnChip probe address 0x50000000
    >  DiskOnChip found at 0x50000000
    >  NAND device: Manufacturer ID: 0x98, Chip ID: 0x73 (Toshiba NAND 16MiB 3,3V 8-bit)
    
    The specific change in 1f82de10d6b1d845155363c895c552e61b36b51a responsible
    for this failure turned out to be the following:
    
    > --- a/drivers/pci/probe.c
    > +++ b/drivers/pci/probe.c
    > @@ -193,7 +193,7 @@ int __pci_read_base(struct pci_dev *dev, enum pci_bar_type type,
    >  		res->flags |= pci_calc_resource_flags(l) | IORESOURCE_SIZEALIGN;
    >  		if (type == pci_bar_io) {
    >  			l &= PCI_BASE_ADDRESS_IO_MASK;
    > -			mask = PCI_BASE_ADDRESS_IO_MASK & 0xffff;
    > +			mask = PCI_BASE_ADDRESS_IO_MASK & IO_SPACE_LIMIT;
    >  		} else {
    >  			l &= PCI_BASE_ADDRESS_MEM_MASK;
    >  			mask = (u32)PCI_BASE_ADDRESS_MEM_MASK;
    
    Every arch except arm's ixp4xx defines IO_SPACE_LIMIT as an all-bits-one
    bitmask, typically -1UL but sometimes only a 16-bit 0x0000ffff. But ixp4xx
    defines it as 0xffff0000, which is now causing the PCI failures.
    
    Russell King noted that ixp4xx has 64KB PCI IO space, so IO_SPACE_LIMIT
    should be 0x0000ffff. This patch makes that change, which fixes the PCI
    failures on my ixp4xx box.
    
    Signed-off-by: Mikael Pettersson <mikpe at it.uu.se>
    Signed-off-by: Krzysztof Hałasa <khc at pm.waw.pl>

commit fbd8b1819e80ac5a176d085fdddc3a34d1499318
Author: Kevin Winchester <kjwinchester at gmail.com>
Date:   Mon Aug 10 19:56:45 2009 -0300

    x86: Clear incorrectly forced X86_FEATURE_LAHF_LM flag
    
    Due to an erratum with certain AMD Athlon 64 processors, the
    BIOS may need to force enable the LAHF_LM capability.
    Unfortunately, in at least one case, the BIOS does this even
    for processors that do not support the functionality.
    
    Add a specific check that will clear the feature bit for
    processors known not to support the LAHF/SAHF instructions.
    
    Signed-off-by: Kevin Winchester <kjwinchester at gmail.com>
    Acked-by: Borislav Petkov <petkovbb at googlemail.com>
    LKML-Reference: <4A80A5AD.2000209 at gmail.com>
    Signed-off-by: Ingo Molnar <mingo at elte.hu>

commit f64ccccb8afa43abdd63fcbd230f818d6ea0883f
Author: Ingo Molnar <mingo at elte.hu>
Date:   Tue Aug 11 10:26:33 2009 +0200

    perf_counter, x86: Fix generic cache events on P6-mobile CPUs
    
    Johannes Stezenbach reported that 'perf stat' does not count
    cache-miss and cache-references events on his Pentium-M based
    laptop.
    
    This is because we left them blank in p6_perfmon_event_map[],
    fill them in.
    
    Reported-by: Johannes Stezenbach <js at sig21.net>
    Cc: Peter Zijlstra <a.p.zijlstra at chello.nl>
    Cc: Mike Galbraith <efault at gmx.de>
    Cc: Paul Mackerras <paulus at samba.org>
    Cc: Arnaldo Carvalho de Melo <acme at redhat.com>
    Cc: Frederic Weisbecker <fweisbec at gmail.com>
    LKML-Reference: <new-submission>
    Signed-off-by: Ingo Molnar <mingo at elte.hu>

commit 3c581a7f94542341bf0da496a226b44ac63521a8
Author: Ingo Molnar <mingo at elte.hu>
Date:   Tue Aug 11 10:47:36 2009 +0200

    perf_counter, x86: Fix lapic printk message
    
    Instead of this garbled bootup on UP Pentium-M systems:
    
    [    0.015048] Performance Counters:
    [    0.016004] no Local APIC, try rebooting with lapicno PMU driver, software counters only.
    
    Print:
    
    [    0.015050] Performance Counters:
    [    0.016004] no APIC, boot with the "lapic" boot parameter to force-enable it.
    [    0.017003] no PMU driver, software counters only.
    
    Cf: Frederic Weisbecker <fweisbec at gmail.com>
    Cc: Peter Zijlstra <a.p.zijlstra at chello.nl>
    Cc: Paul Mackerras <paulus at samba.org>
    Cc: Arnaldo Carvalho de Melo <acme at redhat.com>
    Cc: Frederic Weisbecker <fweisbec at gmail.com>
    LKML-Reference: <new-submission>
    Signed-off-by: Ingo Molnar <mingo at elte.hu>

commit 0d01f31439c1e4d602bf9fdc924ab66f407f5e38
Author: Dmitry Torokhov <dmitry.torokhov at gmail.com>
Date:   Sun Aug 9 21:44:49 2009 -0700

    x86, mce: therm_throt - change when we print messages
    
    My Latitude d630 seems to be handling thermal events in SMI by
    lowering the max frequency of the CPU till it cools down but
    still leaks the "everything is normal" events.
    
    This spams the console and with high priority printks.
    
    Adjust therm_throt driver to only print messages about the fact
    that temperatire returned back to normal when leaving the
    throttling state.
    
    Also lower the severity of "back to normal" message from
    KERN_CRIT to KERN_INFO.
    
    Signed-off-by: Dmitry Torokhov <dtor at mail.ru>
    Acked-by: H. Peter Anvin <hpa at zytor.com>
    LKML-Reference: <20090810051513.0558F526EC9 at mailhub.coreip.homeip.net>
    Signed-off-by: Ingo Molnar <mingo at elte.hu>

commit dd704698f56c1451fc9c5daadcd6e3a089de2c40
Author: Takashi Iwai <tiwai at suse.de>
Date:   Tue Aug 11 08:45:11 2009 +0200

    ALSA: hda - Don't override ADC definitions for ALC codecs
    
    ALC269 and ALC861-VD parsers override the ADC definitions
    unconditionally without checking the spec definition.  This causes
    the problem when any inconsistent ADC is set up in the device quirk
    (like ALC272 with digital-mic).
    
    This patch avoids the overriding by adding the proper checks.
    
    Reference: Novell bnc#529467
    	https://bugzilla.novell.com/show_bug.cgi?id=529467
    
    Signed-off-by: Takashi Iwai <tiwai at suse.de>

commit 4d9c73f60efe7a76f086bc93f7ef22be9d78bed6
Merge: 651b1f125c7e3806bbd635739d009433dc07372d 314dabb83a547ec4da819e8cbc78fac9cec605cd
Author: Linus Torvalds <torvalds at linux-foundation.org>
Date:   Mon Aug 10 19:25:00 2009 -0700

    Merge branch 'for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/jmorris/security-testing-2.6
    
    * 'for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/jmorris/security-testing-2.6:
      SELinux: fix memory leakage in /security/selinux/hooks.c

commit 314dabb83a547ec4da819e8cbc78fac9cec605cd
Author: James Morris <jmorris at namei.org>
Date:   Mon Aug 10 22:00:13 2009 +1000

    SELinux: fix memory leakage in /security/selinux/hooks.c
    
    Fix memory leakage in /security/selinux/hooks.c
    
    The buffer always needs to be freed here; we either error
    out or allocate more memory.
    
    Reported-by: iceberg <strakh at ispras.ru>
    Signed-off-by: James Morris <jmorris at namei.org>
    Acked-by:  Stephen Smalley <sds at tycho.nsa.gov>

commit 651b1f125c7e3806bbd635739d009433dc07372d
Author: Magnus Damm <damm at igel.co.jp>
Date:   Mon Aug 10 23:41:18 2009 +0200

    PM / Driver Core: Kill dev_pm_ops platform warning for now
    
    Commit 783ea7d4eeefe895f2731fe73ac951e94418927b
    (Driver Core: Rework platform suspend/resume, print warning)
    added a warning message printed for platform drivers that use the
    legacy PM callbacks rather than struct dev_pm_ops.  Unfortunately,
    this resulted in some confusion and made some people try to convert
    drivers by replacing the old callbacks with struct dev_pm_ops in
    automatic way, which generally is not a good idea.
    
    Remove the platform device runtime dev_pm_ops warning for now,
    because it's annoying to users and it's not really necessary right
    now.
    
    [rjw: Modified the changelog to be more informative.]
    
    Signed-off-by: Magnus Damm <damm at igel.co.jp>
    Acked-by: Greg Kroah-Hartman <gregkh at suse.de>
    Signed-off-by: Rafael J. Wysocki <rjw at sisk.pl>

commit e9d126cdfa60b575f1b5b02024c4faee27dccf07
Author: Dan Carpenter <error27 at gmail.com>
Date:   Sun Aug 9 14:24:09 2009 +0200

    ar9170: fix read & write outside array bounds
    
    queue == __AR9170_NUM_TXQ would cause a bug on the next line.
    
    found by Smatch ( http://repo.or.cz/w/smatch.git ).
    
    Cc: stable at kernel.org
    Reported-by: Dan Carpenter <error27 at gmail.com>
    Signed-off-by: Dan Carpenter <error27 at gmail.com>
    Signed-off-by: Christian Lamparter <chunkeey at web.de>
    Signed-off-by: John W. Linville <linville at tuxdriver.com>

commit 363ec5614f86110c6a6bdd72ac2147ebafd3ff5e
Author: Christian Lamparter <chunkeey at web.de>
Date:   Sat Aug 8 17:09:48 2009 +0200

    ar9170usb: fix spurious firmware related message
    
    When ar9170-2.fw was missing, the driver erroneously complained
    about missing the initialization values file ar9170-1.fw...
    
    Signed-off-by: Christian Lamparter <chunkeey at web.de>
    Signed-off-by: John W. Linville <linville at tuxdriver.com>

commit 85dfd81dc57e8183a277ddd7a56aa65c96f3f487
Author: Linus Torvalds <torvalds at linux-foundation.org>
Date:   Mon Aug 10 13:21:19 2009 -0700

    pty: fix data loss when stopped (^S/^Q)
    
    Commit d945cb9cc ("pty: Rework the pty layer to use the normal buffering
    logic") dropped the test for 'tty->stopped' in pty_write_room(), which
    then causes the n_tty line discipline thing to not throttle the data
    properly when the tty is stopped.
    
    So instead of pausing the write due to the tty being stopped, the ldisc
    layer would go ahead and push it down to the pty.  The pty write()
    routine would then refuse to take the data (because it _did_ check
    'stopped'), and the data wouldn't actually be written.
    
    This whole stopped test should eventually be moved into the tty ldisc
    layer rather than have low-level tty drivers care about these things,
    but right now the fix is to just re-instate the missing pty 'stopped'
    handling.
    
    Reported-and-tested-by: Artur Skawina <art.08.09 at gmail.com>
    Cc: Alan Cox <alan at lxorguk.ukuu.org.uk>
    Signed-off-by: Linus Torvalds <torvalds at linux-foundation.org>

commit b409d7a0ab46fe530efe52734984b4ed5d46c3eb
Author: Jan Kara <jack at suse.cz>
Date:   Thu Aug 6 23:29:34 2009 +0200

    ocfs2: Fix possible deadlock when extending quota file
    
    In OCFS2, allocator locks rank above transaction start. Thus we
    cannot extend quota file from inside a transaction less we could
    deadlock.
    
    We solve the problem by starting transaction not already in
    ocfs2_acquire_dquot() but only in ocfs2_local_read_dquot() and
    ocfs2_global_read_dquot() and we allocate blocks to quota files before starting
    the transaction.  In case we crash, quota files will just have a few blocks
    more but that's no problem since we just use them next time we extend the
    quota file.
    
    Signed-off-by: Jan Kara <jack at suse.cz>
    Signed-off-by: Joel Becker <joel.becker at oracle.com>

commit 3e03bbeac541856aaaf1ce1ab0250b6a490e4099
Author: Shunichi Fuji <palglowr at gmail.com>
Date:   Tue Aug 11 03:34:40 2009 +0900

    x86: Add reboot quirk for every 5 series MacBook/Pro
    
    Reboot does not work on my MacBook Pro 13 inch (MacBookPro5,5)
    too. It seems all unibody MacBook and MacBookPro require
    PCI reboot handling, i guess.
    
    Following model/machine ID list shows unibody MacBook/Pro have
    the 5 series of model number:
    
       http://www.everymac.com/systems/by_capability/macs-by-machine-model-machine-id.html
    
    Signed-off-by: Shunichi Fuji <palglowr at gmail.com>
    Cc: Ozan Çağlayan <ozan at pardus.org.tr>
    LKML-Reference: <30046e3b0908101134p6487ddbftd8776e4ddef204be at mail.gmail.com>
    Signed-off-by: Ingo Molnar <mingo at elte.hu>

commit d00aa6695b67a31be2ce5f7464da32c20cb50699
Merge: cec36911b5fa4ac342f6de856b12a9f71f84e6e5 1853db0e02ae4088f102b0d8e59e83dc98f93f03
Author: Linus Torvalds <torvalds at linux-foundation.org>
Date:   Mon Aug 10 11:48:51 2009 -0700

    Merge branch 'perfcounters-fixes-for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/tip/linux-2.6-tip
    
    * 'perfcounters-fixes-for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/tip/linux-2.6-tip: (27 commits)
      perf_counter: Zero dead bytes from ftrace raw samples size alignment
      perf_counter: Subtract the buffer size field from the event record size
      perf_counter: Require CAP_SYS_ADMIN for raw tracepoint data
      perf_counter: Correct PERF_SAMPLE_RAW output
      perf tools: callchain: Fix bad rounding of minimum rate
      perf_counter tools: Fix libbfd detection for systems with libz dependency
      perf: "Longum est iter per praecepta, breve et efficax per exempla"
      perf_counter: Fix a race on perf_counter_ctx
      perf_counter: Fix tracepoint sampling to be part of generic sampling
      perf_counter: Work around gcc warning by initializing tracepoint record unconditionally
      perf tools: callchain: Fix sum of percentages to be 100% by displaying amount of ignored chains in fractal mode
      perf tools: callchain: Fix 'perf report' display to be callchain by default
      perf tools: callchain: Fix spurious 'perf report' warnings: ignore empty callchains
      perf record: Fix the -A UI for empty or non-existent perf.data
      perf util: Fix do_read() to fail on EOF instead of busy-looping
      perf list: Fix the output to not include tracepoints without an id
      perf_counter/powerpc: Fix oops on cpus without perf_counter hardware support
      perf stat: Fix tool option consistency: rename -S/--scale to -c/--scale
      perf report: Add debug help for the finding of symbol bugs - show the symtab origin (DSO, build-id, kernel, etc)
      perf report: Fix per task mult-counter stat reporting
      ...

commit 392741e0a4e17c82e3978b7fcbf04291294dc0a1
Author: Darren Hart <dvhltc at us.ibm.com>
Date:   Fri Aug 7 15:20:48 2009 -0700

    futex: Fix handling of bad requeue syscall pairing
    
    If futex_requeue(requeue_pi=1) finds a futex_q that was created by a call
    other the futex_wait_requeue_pi(), the q.rt_waiter may be null.  If so,
    this will result in an oops from the following call graph:
    
    futex_requeue()
      rt_mutex_start_proxy_lock()
        task_blocks_on_rt_mutex()
          waiter->task dereference
            OOPS
    
    We currently WARN_ON() if this is detected, clearly this is inadequate.
    If we detect a mispairing in futex_requeue(), bail out, seding -EINVAL to
    user-space.
    
    V2: Fix parenthesis warnings.
    
    Signed-off-by: Darren Hart <dvhltc at us.ibm.com>
    Acked-by: Peter Zijlstra <peterz at infradead.org>
    Cc: Steven Rostedt <rostedt at goodmis.org>
    Cc: John Kacur <jkacur at redhat.com>
    Cc: Eric Dumazet <eric.dumazet at gmail.com>
    Cc: Dinakar Guniguntala <dino at in.ibm.com>
    Cc: John Stultz <johnstul at linux.vnet.ibm.com>
    LKML-Reference: <4A7CA8C0.7010809 at us.ibm.com>
    Signed-off-by: Ingo Molnar <mingo at elte.hu>

commit cec36911b5fa4ac342f6de856b12a9f71f84e6e5
Merge: a3263969b02260f8733940f580c7af1c716d38ad ad7d6c7a0654a4bbda3e109f56af713267e96274
Author: Linus Torvalds <torvalds at linux-foundation.org>
Date:   Mon Aug 10 11:21:13 2009 -0700

    Merge branch 'irq-fixes-for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/tip/linux-2.6-tip
    
    * 'irq-fixes-for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/tip/linux-2.6-tip:
      x86/irq: Fix move_irq_desc() for nodes without ram

commit a3263969b02260f8733940f580c7af1c716d38ad
Merge: 9b8f013a8361b05edf511f04fe93b36310b73806 b6e61eef4f9f94714ac3ee4a5c96862d9bcd1836
Author: Linus Torvalds <torvalds at linux-foundation.org>
Date:   Mon Aug 10 11:11:40 2009 -0700

    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: Fix serialization in pit_expect_msb()

commit 9b8f013a8361b05edf511f04fe93b36310b73806
Merge: 9bcf73f48280ef8cd7f2e38e674da47c409b9906 94f81a47c4a7a2d7a16fcfdd6d81da381732c101
Author: Linus Torvalds <torvalds at linux-foundation.org>
Date:   Mon Aug 10 11:00:37 2009 -0700

    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 hotplug: SGI hotplug: do not use hotplug_slot_attr
      PCI hotplug: SGI hotplug: fix build failure

commit b6e61eef4f9f94714ac3ee4a5c96862d9bcd1836
Author: Linus Torvalds <torvalds at linux-foundation.org>
Date:   Fri Jul 31 12:45:41 2009 -0700

    x86: Fix serialization in pit_expect_msb()
    
    Wei Chong Tan reported a fast-PIT-calibration corner-case:
    
    | pit_expect_msb() is vulnerable to SMI disturbance corner case
    | in some platforms which causes /proc/cpuinfo to show wrong
    | CPU MHz value when quick_pit_calibrate() jumps to success
    | section.
    
    I think that the real issue isn't even an SMI - but the fact
    that in the very last iteration of the loop, there's no
    serializing instruction _after_ the last 'rdtsc'. So even in
    the absense of SMI's, we do have a situation where the cycle
    counter was read without proper serialization.
    
    The last check should be done outside the outer loop, since
    _inside_ the outer loop, we'll be testing that the PIT has
    the right MSB value has the right value in the next iteration.
    
    So only the _last_ iteration is special, because that's the one
    that will not check the PIT MSB value any more, and because the
    final 'get_cycles()' isn't serialized.
    
    In other words:
    
     - I'd like to move the PIT MSB check to after the last
       iteration, rather than in every iteration
    
     - I think we should comment on the fact that it's also a
       serializing instruction and so 'fences in' the TSC read.
    
    Here's a suggested replacement.
    
    Signed-off-by: Linus Torvalds <torvalds at linux-foundation.org>
    Reported-by: "Tan, Wei Chong" <wei.chong.tan at intel.com>
    Tested-by: "Tan, Wei Chong" <wei.chong.tan at intel.com>
    LKML-Reference: <B28277FD4E0F9247A3D55704C440A140D5D683F3 at pgsmsx504.gar.corp.intel.com>
    Signed-off-by: Ingo Molnar <mingo at elte.hu>

commit 9bcf73f48280ef8cd7f2e38e674da47c409b9906
Merge: 2c661a669b3e2e34311d7965271a628671191e45 704b836cbf19e885f8366bccb2e4b0474346c02d
Author: Linus Torvalds <torvalds at linux-foundation.org>
Date:   Mon Aug 10 09:00:47 2009 -0700

    Merge branch 'for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/jmorris/security-testing-2.6
    
    * 'for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/jmorris/security-testing-2.6:
      mm_for_maps: take ->cred_guard_mutex to fix the race with exec
      mm_for_maps: shift down_read(mmap_sem) to the caller
      mm_for_maps: simplify, use ptrace_may_access()

commit 2c661a669b3e2e34311d7965271a628671191e45
Merge: 04e35357e2e3ff4e0cabd6468354cf3dbfeb4f27 b2f2e8fee3d62f621e795f25b2fc0f51bbdb4af9
Author: Linus Torvalds <torvalds at linux-foundation.org>
Date:   Mon Aug 10 08:59:56 2009 -0700

    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/dma: pci_set_dma_mask() shouldn't fail if mask fits in RAM

commit 04e35357e2e3ff4e0cabd6468354cf3dbfeb4f27
Author: Jaswinder Singh Rajput <jaswinder at kernel.org>
Date:   Mon Aug 10 16:45:42 2009 +0100

    MN10300: includecheck fix: mn10300, pci.h
    
    Fix the following 'make includecheck' warning:
    
      arch/mn10300/include/asm/pci.h: linux/mm.h is included more than once.
    
    Signed-off-by: Jaswinder Singh Rajput <jaswinderrajput at gmail.com>
    Signed-off-by: David Howells <dhowells at redhat.com>
    Signed-off-by: Linus Torvalds <torvalds at linux-foundation.org>

commit 5e2f89b5d5d87a7c3ba19fc85ba0c29adb65f639
Author: Figo.zhang <figo1802 at gmail.com>
Date:   Sat Aug 8 21:01:22 2009 +0800

    mempool.c: clean up type-casting
    
    clean up type-casting twice.  "size_t" is typedef as "unsigned long" in
    64-bit system, and "unsigned int" in 32-bit system, and the intermediate
    cast to 'long' is pointless.
    
    Signed-off-by: Figo.zhang <figo1802 at gmail.com>
    Signed-off-by: Linus Torvalds <torvalds at linux-foundation.org>

commit 1392e3b33319fd1a2527bebfc56631c2f2d3c7c5
Author: Ryusuke Konishi <konishi.ryusuke at lab.ntt.co.jp>
Date:   Sat Aug 8 17:52:50 2009 +0900

    documentation: register ioctl entry of nilfs2
    
    This will register the ioctl range used by nilfs2 file system to the
    table listed in Documentation/ioctl/ioctl-number.txt.
    
    Signed-off-by: Ryusuke Konishi <konishi.ryusuke at lab.ntt.co.jp>
    Signed-off-by: Linus Torvalds <torvalds at linux-foundation.org>

commit 1853db0e02ae4088f102b0d8e59e83dc98f93f03
Author: Frederic Weisbecker <fweisbec at gmail.com>
Date:   Mon Aug 10 16:38:36 2009 +0200

    perf_counter: Zero dead bytes from ftrace raw samples size alignment
    
    After aligning the ftrace raw samples, there are dead bytes storing
    random data from the stack. We don't want to leak these to userspace,
    then zero these out.
    
    Before:
    
    	0x2de88 [0x50]: event: 9
    	.
    	. ... raw event: size 80 bytes
    	.  0000:  09 00 00 00 01 00 50 00 d0 c7 00 81 ff ff ff ff  ......P........
    	.  0010:  68 01 00 00 68 01 00 00 2c 00 00 00 00 00 00 00  h...h...,......
    	.  0020:  2c 00 00 00 2b 00 01 02 68 01 00 00 68 01 00 00  ,...+...h...h..
    	.  0030:  6b 6f 6e 64 65 6d 61 6e 64 2f 30 00 00 00 00 00  kondemand/0....
    	.  0040:  68 01 00 00 40 7f 46 81 ff ff ff ff 00 10 1b 7f  h... at .F........
                                                          ^  ^  ^  ^
                                                             Leak
    
    After:
    
    	0x2d318 [0x50]: event: 9
    	.
    	. ... raw event: size 80 bytes
    	.  0000:  09 00 00 00 01 00 50 00 d0 c7 00 81 ff ff ff ff  ......P........
    	.  0010:  68 01 00 00 68 01 00 00 68 14 00 00 00 00 00 00  h...h...h......
    	.  0020:  2c 00 00 00 2b 00 01 02 68 01 00 00 68 01 00 00  ,...+...h...h..
    	.  0030:  6b 6f 6e 64 65 6d 61 6e 64 2f 30 00 00 00 00 00  kondemand/0....
    	.  0040:  68 01 00 00 a0 80 46 81 ff ff ff ff 00 00 00 00  h.....F........
                                                          ^  ^  ^  ^
    							 Fixed
    
    Reported-by: Peter Zijlstra <peterz at infradead.org>
    Signed-off-by: Frederic Weisbecker <fweisbec at gmail.com>
    Cc: Frederic Weisbecker <fweisbec at gmail.com>
    Cc: Peter Zijlstra <peterz at infradead.org>
    Cc: Arnaldo Carvalho de Melo <acme at redhat.com>
    Cc: Mike Galbraith <efault at gmx.de>
    LKML-Reference: <1249915116-5210-1-git-send-email-fweisbec at gmail.com>
    Signed-off-by: Ingo Molnar <mingo at elte.hu>
    Cc: Peter Zijlstra <peterz at infradead.org>
    Cc: Arnaldo Carvalho de Melo <acme at redhat.com>
    Cc: Mike Galbraith <efault at gmx.de>

commit 96a4d1e23439e2356a105791bda95cc08d375b97
Merge: f40aac940aa83645ec2218ccce90cc1c6881b74c 6fd210a9cc398ecbff7bcdbe220651b73b654f56
Author: Russell King <rmk at dyn-67.arm.linux.org.uk>
Date:   Mon Aug 10 15:50:27 2009 +0100

    Merge branch 'pm-upstream/fixes' of git://git.kernel.org/pub/scm/linux/kernel/git/khilman/linux-omap-pm

commit 304703aba31a87903b8c0db8f5e6890cac2d596d
Author: Frederic Weisbecker <fweisbec at gmail.com>
Date:   Mon Aug 10 16:11:32 2009 +0200

    perf_counter: Subtract the buffer size field from the event record size
    
    We compute the perf raw sample size by aligning the raw ftrace
    event size plus the buffer size field itself. We do that
    instead of aligning only the perf raw sample size, so that we
    might economize some in some cases.
    
    But this buffer size field is not stored in the perf raw
    sample, we must then substract its size from the buffer once we
    computed the alignment unless we may get a useless u32 field in
    the buffer.
    
    Signed-off-by: Frederic Weisbecker <fweisbec at gmail.com>
    Acked-by: Peter Zijlstra <peterz at infradead.org>
    Cc: Arnaldo Carvalho de Melo <acme at redhat.com>
    Cc: Mike Galbraith <efault at gmx.de>
    Cc: Paul Mackerras <paulus at samba.org>
    LKML-Reference: <20090810141129.GA5124 at nowhere>
    Signed-off-by: Ingo Molnar <mingo at elte.hu>

commit 4dc88029fd916b860ef063c40180aa604ce93494
Author: Dinakar Guniguntala <dino at in.ibm.com>
Date:   Mon Aug 10 18:31:42 2009 +0530

    futex: Fix compat_futex to be same as futex for REQUEUE_PI
    
    Need to add the REQUEUE_PI checks to the compat_sys_futex API
    as well to ensure 32 bit requeue's work fine on a 64 bit
    system. Patch is against latest tip
    
    Signed-off-by: Dinakar Guniguntala <dino at in.ibm.com>
    Cc: Darren Hart <dvhltc at us.ibm.com>
    LKML-Reference: <20090810130142.GA23619 at in.ibm.com>
    Signed-off-by: Ingo Molnar <mingo at elte.hu>

commit f40aac940aa83645ec2218ccce90cc1c6881b74c
Merge: 7063c88c726a704e648ba36ca78baa630f8b7b0a 3c82e229f09a6acc8d24dc27c5e0e60b1d7161c2
Author: Russell King <rmk at dyn-67.arm.linux.org.uk>
Date:   Mon Aug 10 14:24:18 2009 +0100

    Merge branch 'omap_fixes_31' of git://git.pwsan.com/linux-2.6

commit 7063c88c726a704e648ba36ca78baa630f8b7b0a
Merge: f4b9a988685da6386d7f9a72df3098bcc3270526 4177662ec9f5e50b69ef074369fdb429dd48d97e
Author: Russell King <rmk at dyn-67.arm.linux.org.uk>
Date:   Mon Aug 10 14:23:29 2009 +0100

    Merge branch 'omap-fixes' of git://git.kernel.org/pub/scm/linux/kernel/git/tmlind/linux-omap-2.6

commit 2fc391112fb6f3424435a3aa2fda887497b5f807
Author: Peter Zijlstra <peterz at infradead.org>
Date:   Mon Aug 10 12:33:05 2009 +0100

    locking, sched: Give waitqueue spinlocks their own lockdep classes
    
    Give waitqueue spinlocks their own lockdep classes when they
    are initialised from init_waitqueue_head().  This means that
    struct wait_queue::func functions can operate other waitqueues.
    
    This is used by CacheFiles to catch the page from a backing fs
    being unlocked and to wake up another thread to take a copy of
    it.
    
    Signed-off-by: Peter Zijlstra <a.p.zijlstra at chello.nl>
    Signed-off-by: David Howells <dhowells at redhat.com>
    Tested-by: Takashi Iwai <tiwai at suse.de>
    Cc: linux-cachefs at redhat.com
    Cc: torvalds at osdl.org
    Cc: akpm at linux-foundation.org
    LKML-Reference: <20090810113305.17284.81508.stgit at warthog.procyon.org.uk>
    Signed-off-by: Ingo Molnar <mingo at elte.hu>

commit 4177662ec9f5e50b69ef074369fdb429dd48d97e
Author: Roger Quadros <ext-roger.quadros at nokia.com>
Date:   Mon Aug 10 14:49:52 2009 +0300

    OMAP3: RX51: Updated rx51_defconfig
    
    Added REGULATOR, MMC and updated default CMDLINE so RX51 now boots.
    
    Note that the regulator code should be moved from mmc-twl4030.c
    to omap_hsmmc.c so it can be a module.
    
    Signed-off-by: Roger Quadros <ext-roger.quadros at nokia.com>
    Signed-off-by: Tony Lindgren <tony at atomide.com>

commit 22833044fbe2764d44ae03f58508e671652ca186
Author: Roger Quadros <ext-roger.quadros at nokia.com>
Date:   Mon Aug 10 14:49:51 2009 +0300

    OMAP2/3: mmc-twl4030: Free up MMC regulators while cleaning up
    
    twl_mmc_cleanup() must free up the regulators that were
    allocated by twl_mmc_late_init().
    This eliminates the below error when 'omap_hsmmc' module is
    repeatedly loaded and unloaded.
    
    "sysfs: cannot create duplicate filename '/devices/platform
     /mmci-omap-hs.0/microamps_requested_vmmc'"
    
    Signed-off-by: Roger Quadros <ext-roger.quadros at nokia.com>
    Signed-off-by: Tony Lindgren <tony at atomide.com>

commit dfc27b34496923b5f552eb9cdf20468045114ada
Author: Roger Quadros <ext-roger.quadros at nokia.com>
Date:   Mon Aug 10 14:49:51 2009 +0300

    OMAP3: RX51: Define TWL4030 USB transceiver in board file
    
    Add OTG transceiver to RX51 platform data to prevent kernel NULL pointer
    dereference during MUSB initialisation.
    
    Signed-off-by: Roger Quadros <ext-roger.quadros at nokia.com>
    Signed-off-by: Felipe Balbi <felipe.balbi at nokia.com>
    Signed-off-by: Tony Lindgren <tony at atomide.com>

commit 5032902c331acc71956e47abd90d090181c5ef4a
Author: Sergio Aguirre <saaguirre at ti.com>
Date:   Mon Aug 10 14:49:50 2009 +0300

    OMAP3: Overo: Fix smsc911x platform device resource value
    
    Fixes a wrong setting of resource parameter list in
    SMSC911x platform driver data structure for Overo case.
    
    This fixes folowing warning when compiling for Overo board:
    
    	warning: initialization from incompatible pointer type
    
    Introduced since commit id:
    	commit 172ef275444efa12d834fb9d1b1acdac92db47f7
    	Author: Steve Sakoman <sakoman at gmail.com>
    	Date:   Mon Feb 2 06:27:49 2009 +0000
    
    	    ARM: Add SMSC911X support to Overo platform (V2)
    
    Signed-off-by: Sergio Aguirre <saaguirre at ti.com>
    Signed-off-by: Tony Lindgren <tony at atomide.com>

commit 370bc1fdefb8a30018d98aca2fdfd6b6701082e7
Author: Janboe Ye <yuan-bo.ye at motorola.com>
Date:   Mon Aug 10 14:49:50 2009 +0300

    OMAP3: Fix omap3 sram virtual addres overlap vmalloc space after increasing vmalloc size
    
    commit e85c205ac1427f2405021a36f083280ff0d0a35e increase vmalloc size.
    vmalloc space will overlap with OMAP3 sram virtual address.
    
    Signed-off-by: Li Hong Mei <hong-mei.li at motorola.com>
    Signed-off-by: Janboe Ye <yuan-bo.ye at motorola.com>
    Reviewed-by: Paul Walmsley <paul at pwsan.com>

commit 284119c48f4a0c469b3e0237b500e536b4bc7b6f
Author: Vikram Pandita <vikram.pandita at ti.com>
Date:   Mon Aug 10 14:49:50 2009 +0300

    OMAP2/3: DMA errata correction
    
    This errata is valid for:
    OMAP2420 Errata 1.85 Impacts all 2420 ES rev
    OMAP2430 Errata 1.10 Impacts only ES1.0
    Description: DMA may hang when several channels are used in parallel
    OMAP3430: Not impacted, so remove the errata fix for omap3
    
    Fixed issue reported on cpu_is_omap24xx check reported by Nishant Kamat
    
    Signed-off-by: Vikram Pandita <vikram.pandita at ti.com>
    Reviewed-by: Nishant Kamat <nskamat at ti.com>
    Signed-off-by: Tony Lindgren <tony at atomide.com>

commit cd92204924fafbd5c7241dfd12ca3176d542e0c5
Author: Tony Lindgren <tony at atomide.com>
Date:   Mon Aug 10 14:49:50 2009 +0300

    OMAP: Fix testing of cpu defines for mach-omap1
    
    There's no need to keep these defines limited in the ifdef block
    for mach-omap2. It will just cause problems testing for the CPU
    revision in the common code, like the next patch does for the DMA
    errata.
    
    Signed-off-by: Tony Lindgren <tony at atomide.com>

commit 704b836cbf19e885f8366bccb2e4b0474346c02d
Author: Oleg Nesterov <oleg at redhat.com>
Date:   Fri Jul 10 03:27:40 2009 +0200

    mm_for_maps: take ->cred_guard_mutex to fix the race with exec
    
    The problem is minor, but without ->cred_guard_mutex held we can race
    with exec() and get the new ->mm but check old creds.
    
    Now we do not need to re-check task->mm after ptrace_may_access(), it
    can't be changed to the new mm under us.
    
    Strictly speaking, this also fixes another very minor problem. Unless
    security check fails or the task exits mm_for_maps() should never
    return NULL, the caller should get either old or new ->mm.
    
    Signed-off-by: Oleg Nesterov <oleg at redhat.com>
    Acked-by: Serge Hallyn <serue at us.ibm.com>
    Signed-off-by: James Morris <jmorris at namei.org>

commit 00f89d218523b9bf6b522349c039d5ac80aa536d
Author: Oleg Nesterov <oleg at redhat.com>
Date:   Fri Jul 10 03:27:38 2009 +0200

    mm_for_maps: shift down_read(mmap_sem) to the caller
    
    mm_for_maps() takes ->mmap_sem after security checks, this looks
    strange and obfuscates the locking rules. Move this lock to its
    single caller, m_start().
    
    Signed-off-by: Oleg Nesterov <oleg at redhat.com>
    Acked-by: Serge Hallyn <serue at us.ibm.com>
    Signed-off-by: James Morris <jmorris at namei.org>

commit 13f0feafa6b8aead57a2a328e2fca6a5828bf286
Author: Oleg Nesterov <oleg at redhat.com>
Date:   Tue Jun 23 21:25:32 2009 +0200

    mm_for_maps: simplify, use ptrace_may_access()
    
    It would be nice to kill __ptrace_may_access(). It requires task_lock(),
    but this lock is only needed to read mm->flags in the middle.
    
    Convert mm_for_maps() to use ptrace_may_access(), this also simplifies
    the code a little bit.
    
    Also, we do not need to take ->mmap_sem in advance. In fact I think
    mm_for_maps() should not play with ->mmap_sem at all, the caller should
    take this lock.
    
    With or without this patch, without ->cred_guard_mutex held we can race
    with exec() and get the new ->mm but check old creds.
    
    Signed-off-by: Oleg Nesterov <oleg at redhat.com>
    Reviewed-by: Serge Hallyn <serue at us.ibm.com>
    Signed-off-by: James Morris <jmorris at namei.org>

commit 100d5eb36ba20dc0b99a17ea2b9800c567bfc3d1
Author: Takashi Iwai <tiwai at suse.de>
Date:   Mon Aug 10 11:55:51 2009 +0200

    ALSA: hda - Add missing vmaster initialization for ALC269
    
    Without the initialization of vmaster NID, the dB information got
    confused for ALC269 codec.
    
    Reference: Novell bnc#527361
    	https://bugzilla.novell.com/show_bug.cgi?id=527361
    
    Signed-off-by: Takashi Iwai <tiwai at suse.de>
    Cc: <stable at kernel.org>

commit a4e95fc2cbb31d70a65beffeaf8773f881328c34
Author: Peter Zijlstra <a.p.zijlstra at chello.nl>
Date:   Mon Aug 10 11:20:12 2009 +0200

    perf_counter: Require CAP_SYS_ADMIN for raw tracepoint data
    
    Raw tracepoint data contains various kernel internals and
    data from other users, so restrict this to CAP_SYS_ADMIN.
    
    Signed-off-by: Peter Zijlstra <a.p.zijlstra at chello.nl>
    Acked-by: Frederic Weisbecker <fweisbec at gmail.com>
    Cc: Arnaldo Carvalho de Melo <acme at redhat.com>
    Cc: Mike Galbraith <efault at gmx.de>
    Cc: Paul Mackerras <paulus at samba.org>
    LKML-Reference: <1249896452.17467.75.camel at twins>
    Signed-off-by: Ingo Molnar <mingo at elte.hu>

commit a044560c3a1f0ad75ce685c1ed7604820b9ed319
Author: Peter Zijlstra <a.p.zijlstra at chello.nl>
Date:   Mon Aug 10 11:16:52 2009 +0200

    perf_counter: Correct PERF_SAMPLE_RAW output
    
    PERF_SAMPLE_* output switches should unconditionally output the
    correct format, as they are the only way to unambiguously parse
    the PERF_EVENT_SAMPLE data.
    
    Signed-off-by: Peter Zijlstra <a.p.zijlstra at chello.nl>
    Acked-by: Frederic Weisbecker <fweisbec at gmail.com>
    Cc: Arnaldo Carvalho de Melo <acme at redhat.com>
    Cc: Mike Galbraith <efault at gmx.de>
    Cc: Paul Mackerras <paulus at samba.org>
    LKML-Reference: <1249896447.17467.74.camel at twins>
    Signed-off-by: Ingo Molnar <mingo at elte.hu>

commit beda2c7ea2c15ed01eef00a997d2b0496c3a502d
Author: Darren Hart <dvhltc at us.ibm.com>
Date:   Sun Aug 9 15:34:39 2009 -0700

    futex: Update futex_q lock_ptr on requeue proxy lock
    
    futex_requeue() can acquire the lock on behalf of a waiter
    early on or during the requeue loop if it is uncontended or in
    the event of a lock steal or owner died. On wakeup, the waiter
    (in futex_wait_requeue_pi()) cleans up the pi_state owner using
    the lock_ptr to protect against concurrent access to the
    pi_state. The pi_state is hung off futex_q's on the requeue
    target futex hash bucket so the lock_ptr needs to be updated
    accordingly.
    
    The problem manifested by triggering the WARN_ON in
    lookup_pi_state() about the pid != pi_state->owner->pid.  With
    this patch, the pi_state is properly guarded against concurrent
    access via the requeue target hb lock.
    
    The astute reviewer may notice that there is a window of time
    between when futex_requeue() unlocks the hb locks and when
    futex_wait_requeue_pi() will acquire hb2->lock.  During this
    time the pi_state and uval are not in sync with the underlying
    rtmutex owner (but the uval does indicate there are waiters, so
    no atomic changes will occur in userspace).  However, this is
    not a problem. Should a contending thread enter
    lookup_pi_state() and acquire hb2->lock before the ownership is
    fixed up, it will find the pi_state hung off a waiter's
    (possibly the pending owner's) futex_q and block on the
    rtmutex.  Once futex_wait_requeue_pi() fixes up the owner, it
    will also move the pi_state from the old owner's
    task->pi_state_list to its own.
    
    v3: Fix plist lock name for application to mainline (rather
        than -rt) Compile tested against tip/v2.6.31-rc5.
    
    Signed-off-by: Darren Hart <dvhltc at us.ibm.com>
    Cc: Peter Zijlstra <peterz at infradead.org>
    Cc: Steven Rostedt <rostedt at goodmis.org>
    Cc: Eric Dumazet <eric.dumazet at gmail.com>
    Cc: Dinakar Guniguntala <dino at in.ibm.com>
    Cc: John Stultz <johnstul at linux.vnet.ibm.com>
    LKML-Reference: <4A7F4EFF.6090903 at us.ibm.com>
    Signed-off-by: Ingo Molnar <mingo at elte.hu>

commit b2f2e8fee3d62f621e795f25b2fc0f51bbdb4af9
Author: Benjamin Herrenschmidt <benh at kernel.crashing.org>
Date:   Mon Aug 10 16:36:38 2009 +1000

    powerpc/dma: pci_set_dma_mask() shouldn't fail if mask fits in RAM
    
    On an iMac G5, the b43 driver is failing to initialise because trying to
    set the dma mask to 30-bit fails. Even though there's only 512MiB of RAM
    in the machine anyway:
    	https://bugzilla.redhat.com/show_bug.cgi?id=514787
    
    We should probably let it succeed if the available RAM in the system
    doesn't exceed the requested limit.
    
    Signed-off-by: David Woodhouse <David.Woodhouse at intel.com>
    Signed-off-by: Benjamin Herrenschmidt <benh at kernel.crashing.org>

commit 973507cb8610d4c84f090d5f1f0ca54fa0559d27
Author: roel kluin <roel.kluin at gmail.com>
Date:   Sat Aug 8 23:54:21 2009 +0000

    mlx4_en: Fix read buffer overflow in mlx4_en_complete_rx_desc()
    
    If the length is less or equal to frag_prefix_size in the first iteration
    we write skb_frags_rx[-1] and read from priv->frag_info[-1]
    
    Signed-off-by: Roel Kluin <roel.kluin at gmail.com>
    Signed-off-by: David S. Miller <davem at davemloft.net>

commit be12159b24c532b4b48bdec5a543336438faa132
Author: roel kluin <roel.kluin at gmail.com>
Date:   Sun Aug 9 04:00:25 2009 +0000

    zorro8390: Fix read buffer overflow in zorro8390_init_one()
    
    Prevent read from cards[-1] when no card was found.
    
    Signed-off-by: Roel Kluin <roel.kluin at gmail.com>
    Signed-off-by: David S. Miller <davem at davemloft.net>

commit 5e33b719c8fcccfedc1d25167826a0f93fe6c5a1
Author: roel kluin <roel.kluin at gmail.com>
Date:   Fri Aug 7 03:24:27 2009 +0000

    pcnet32: Read buffer overflow
    
    An `options[cards_found]' that equals `sizeof(options_mapping)' is already beyond
    the array.
    
    Signed-off-by: Roel Kluin <roel.kluin at gmail.com>
    Signed-off-by: David S. Miller <davem at davemloft.net>

commit 418372b0ab7a3bbcc59d71e8e4d322ef18263dab
Author: Rafael Laufer <rlaufer at cisco.com>
Date:   Fri Aug 7 05:17:17 2009 +0000

    sctp: fix missing destroy of percpu counter variable in sctp_proc_exit()
    
    Commit 1748376b6626acf59c24e9592ac67b3fe2a0e026,
    	net: Use a percpu_counter for sockets_allocated
    
    added percpu_counter function calls to sctp_proc_init code path, but
    forgot to add them to sctp_proc_exit().  This resulted in a following
    Ooops when performing this test
    	# modprobe sctp
    	# rmmod -f sctp
    	# modprobe sctp
    
    [  573.862512] BUG: unable to handle kernel paging request at f8214a24
    [  573.862518] IP: [<c0308b8f>] __percpu_counter_init+0x3f/0x70
    [  573.862530] *pde = 37010067 *pte = 00000000
    [  573.862534] Oops: 0002 [#1] SMP
    [  573.862537] last sysfs file: /sys/module/libcrc32c/initstate
    [  573.862540] Modules linked in: sctp(+) crc32c libcrc32c binfmt_misc bridge
    stp bnep lp snd_hda_codec_analog snd_hda_intel snd_hda_codec snd_hwdep
    snd_pcm_oss snd_mixer_oss arc4 joydev snd_pcm ecb pcmcia snd_seq_dummy
    snd_seq_oss iwlagn iwlcore snd_seq_midi snd_rawmidi snd_seq_midi_event
    yenta_socket rsrc_nonstatic thinkpad_acpi snd_seq snd_timer snd_seq_device
    mac80211 psmouse sdhci_pci sdhci nvidia(P) ppdev video snd soundcore serio_raw
    pcspkr iTCO_wdt iTCO_vendor_support led_class ricoh_mmc pcmcia_core intel_agp
    nvram agpgart usbhid parport_pc parport output snd_page_alloc cfg80211 btusb
    ohci1394 ieee1394 e1000e [last unloaded: sctp]
    [  573.862589]
    [  573.862593] Pid: 5373, comm: modprobe Tainted: P  R        (2.6.31-rc3 #6)
    7663B15
    [  573.862596] EIP: 0060:[<c0308b8f>] EFLAGS: 00010286 CPU: 1
    [  573.862599] EIP is at __percpu_counter_init+0x3f/0x70
    [  573.862602] EAX: f8214a20 EBX: f80faa14 ECX: c48c0000 EDX: f80faa20
    [  573.862604] ESI: f80a7000 EDI: 00000000 EBP: f69d5ef0 ESP: f69d5eec
    [  573.862606]  DS: 007b ES: 007b FS: 00d8 GS: 0033 SS: 0068
    [  573.862610] Process modprobe (pid: 5373, ti=f69d4000 task=c2130c70
    task.ti=f69d4000)
    [  573.862612] Stack:
    [  573.862613]  00000000 f69d5f18 f80a70a8 f80fa9fc 00000000 fffffffc f69d5f30
    c018e2d4
    [  573.862619] <0> 00000000 f80a7000 00000000 f69d5f88 c010112b 00000000
    c07029c0 fffffffb
    [  573.862626] <0> 00000000 f69d5f38 c018f83f f69d5f54 c0557cad f80fa860
    00000001 c07010c0
    [  573.862634] Call Trace:
    [  573.862644]  [<f80a70a8>] ? sctp_init+0xa8/0x7d4 [sctp]
    [  573.862650]  [<c018e2d4>] ? marker_update_probe_range+0x184/0x260
    [  573.862659]  [<f80a7000>] ? sctp_init+0x0/0x7d4 [sctp]
    [  573.862662]  [<c010112b>] ? do_one_initcall+0x2b/0x160
    [  573.862666]  [<c018f83f>] ? tracepoint_module_notify+0x2f/0x40
    [  573.862671]  [<c0557cad>] ? notifier_call_chain+0x2d/0x70
    [  573.862678]  [<c01588fd>] ? __blocking_notifier_call_chain+0x4d/0x60
    [  573.862682]  [<c016b2f1>] ? sys_init_module+0xb1/0x1f0
    [  573.862686]  [<c0102ffc>] ? sysenter_do_call+0x12/0x28
    [  573.862688] Code: 89 48 08 b8 04 00 00 00 e8 df aa ec ff ba f4 ff ff ff 85
    c0 89 43 14 74 31 b8 b0 18 71 c0 e8 19 b9 24 00 a1 c4 18 71 c0 8d 53 0c <89> 50
    04 89 43 0c b8 b0 18 71 c0 c7 43 10 c4 18 71 c0 89 15 c4
    [  573.862725] EIP: [<c0308b8f>] __percpu_counter_init+0x3f/0x70 SS:ESP
    0068:f69d5eec
    [  573.862730] CR2: 00000000f8214a24
    [  573.862734] ---[ end trace 39c4e0b55e7cf54d ]---
    
    Signed-off-by: Rafael Laufer <rlaufer at cisco.com>
    Signed-off-by: Vlad Yasevich <vladislav.yasevich at hp.com>
    Signed-off-by: David S. Miller <davem at davemloft.net>

commit 018d21ed80736eab21fabf45edbd74600a1f8330
Author: Joe Perches <joe at perches.com>
Date:   Fri Aug 7 06:43:01 2009 +0000

    MAINTAINERS: additional NETWORKING [GENERAL] and NETWORKING DRIVERS patterns
    
    Signed-off-by: Joe Perches <joe at perches.com>
    Signed-off-by: David S. Miller <davem at davemloft.net>

commit 75c4885924f01aed1f887886a49dfa89960de240
Author: Yong Zhang <yong.zhang0 at gmail.com>
Date:   Fri Aug 7 16:36:52 2009 +0000

    gianfar: keep vlan related state when restart
    
    If vlan has been enabled. ifdown followed by ifup will lost hardware
    related state.
    
    Also remove duplicated operation in gfar_vlan_rx_register().
    
    Signed-off-by: Yong Zhang <yong.zhang0 at gmail.com>
    Acked-by: Dai Haruki <dai.haruki at freescale.com>
    Signed-off-by: David S. Miller <davem at davemloft.net>

commit 148675a7b2061b5a5eb194530b7c4d8de1f2887e
Author: Bruce Allan <bruce.w.allan at intel.com>
Date:   Fri Aug 7 07:41:56 2009 +0000

    e1000e: fix potential NVM corruption on ICH9 with 8K bank size
    
    The bank offset was being incorrectly calculated on ICH9 parts with a bank
    size of 8K (instead of the more common 4K bank) which would cause any NVM
    writes to be done on the wrong address after switching from bank 1 to bank
    0.  Additionally, assume we are meant to use bank 0 if a valid bank is not
    detected, and remove the unnecessary acquisition of the SW/FW/HW semaphore
    when writing to the shadow ram version of the NVM image.
    
    Signed-off-by: Bruce Allan <bruce.w.allan at intel.com>
    Signed-off-by: Jeff Kirsher <jeffrey.t.kirsher at intel.com>
    Signed-off-by: David S. Miller <davem at davemloft.net>

commit 373a88d78be540c1331ea5adcb76610dddcb008b
Author: Bruce Allan <bruce.w.allan at intel.com>
Date:   Fri Aug 7 07:41:37 2009 +0000

    e1000e: fix acquisition of SW/FW/HW semaphore for ICHx parts
    
    For ICHx parts, write the EXTCNF_CTRL.SWFLAG bit once when trying to
    acquire the SW/FW/HW semaphore instead of multiple times to prevent the
    hardware from having problems (especially for systems with manageability
    enabled), and extend the timeout for the hardware to set the SWFLAG bit.
    
    Signed-off-by: Bruce Allan <bruce.w.allan at intel.com>
    Signed-off-by: Jeff Kirsher <jeffrey.t.kirsher at intel.com>
    Signed-off-by: David S. Miller <davem at davemloft.net>

commit 6e455b897bb6be3a4c0c6578f679e83d399e5b92
Author: Yi Zou <yi.zou at intel.com>
Date:   Thu Aug 6 13:05:44 2009 +0000

    ixgbe: Disable packet split only on FCoE queues in 82599
    
    For 82599, packet split has to be disabled for FCoE direct data placement.
    However, this is only required on received queues allocated for FCoE. This
    patch adds a per ring flags to indicate if packet split is disabled on a
    per queue basis, particularly for FCoE, as packet split must be disabled
    for large receive using direct data placement (DDP).
    
    Signed-off-by: Yi Zou <yi.zou at intel.com>
    Acked-by: Peter P Waskiewicz Jr <peter.p.waskiewicz.jr at intel.com>
    Signed-off-by: Jeff Kirsher <jeffrey.t.kirsher at intel.com>
    Signed-off-by: David S. Miller <davem at davemloft.net>

commit a6616b42fbc39c1ccc2373996f1441ce7707ea93
Author: Yi Zou <yi.zou at intel.com>
Date:   Thu Aug 6 13:05:23 2009 +0000

    ixgbe: Pass rx_ring directly in ixgbe_configure_srrctl()
    
    Instead of passing the register index of the corresponding rx_ring and find
    the way back to get to corresponding rx_ring in ixgbe_configure_srrctl(),
    simplify the function ixgbe_configure_srrctl() by passing the rx_ring into
    it. Then the register index for that rx_ring is already available from
    rx_ring->reg_idx.
    
    Signed-off-by: Yi Zou <yi.zou at intel.com>
    Acked-by: Peter P Waskiewicz Jr <peter.p.waskiewicz.jr at intel.com>
    Signed-off-by: Jeff Kirsher <jeffrey.t.kirsher at intel.com>
    Signed-off-by: David S. Miller <davem at davemloft.net>

commit 876bfd4d0f18cd1f698249870c7e7fb944de1c26
Author: Herbert Xu <herbert at gondor.apana.org.au>
Date:   Thu Aug 6 14:22:44 2009 +0000

    tun: Extend RTNL lock coverage over whole ioctl
    
    As it is, parts of the ioctl runs under the RTNL and parts of
    it do not.  The unlocked section is still protected by the BKL,
    but there can be subtle races.  For example, Eric Biederman and
    Paul Moore observed that if two threads tried to create two tun
    devices on the same file descriptor, then unexpected results
    may occur.
    
    As there isn't anything in the ioctl that is expected to sleep
    indefinitely, we can prevent this from occurring by extending
    the RTNL lock coverage.
    
    This also allows to get rid of the BKL.
    
    Finally, I changed tun_get_iff to take a tun device in order to
    avoid calling tun_put which would dead-lock as it also tries to
    take the RTNL lock.
    
    Signed-off-by: Herbert Xu <herbert at gondor.apana.org.au>
    Signed-off-by: David S. Miller <davem at davemloft.net>

commit 9555b31e8c29d2000e1e1f569f6f242ebd596e47
Author: Greg Ungerer <gerg at snapgear.com>
Date:   Thu Aug 6 17:58:18 2009 +0000

    fec: fix FEC driver packet transmission breakage
    
    Commit f0b3fbeae11a526c3d308b691684589ee37c359b ("FEC Buffer rework")
    breaks transmission of packets where the skb data buffer is not memory
    aligned according to FEC_ALIGNMENT. It incorrectly passes to
    dma_sync_single() the buffer address directly from the skb, instead of
    the address calculated for use (which may be the skb address or one of
    the bounce buffers).
    
    It seems there is no use converting the cpu address of the buffer to
    a physical either, since dma_map_single() expects the cpu address and
    will return the dma address to use in the descriptor. So remove the use
    of __pa() on the buffer address as well.
    
    This patch is against 2.6.30-rc5. This breakage is a regression over
    2.6.30, which does not have this problem.
    
    Signed-off-by: Greg Ungerer <gerg at uclinux.org>
    Signed-off-by: David S. Miller <davem at davemloft.net>

commit e84b90ae5eb3c112d1f208964df1d8156a538289
Author: Eric Dumazet <eric.dumazet at gmail.com>
Date:   Thu Aug 6 20:27:04 2009 +0000

    can: Fix raw_getname() leak
    
    raw_getname() can leak 10 bytes of kernel memory to user
    
    (two bytes hole between can_family and can_ifindex,
    8 bytes at the end of sockaddr_can structure)
    
    Signed-off-by: Eric Dumazet <eric.dumazet at gmail.com>
    Acked-by: Oliver Hartkopp <oliver at hartkopp.net>
    Signed-off-by: David S. Miller <davem at davemloft.net>

commit b79a79471bd31d737c939a6ddc347417047b4320
Author: Jussi Mäki <joamaki at gmail.com>
Date:   Thu Aug 6 21:38:14 2009 +0000

    Fix xfrm hash collisions by changing __xfrm4_daddr_saddr_hash to hash addresses with addition
    
    This patch fixes hash collisions in cases where number
    of entries have incrementing IP source and destination addresses
    from single respective subnets (i.e. 192.168.0.1-172.16.0.1,
    192.168.0.2-172.16.0.2, and so on.).
    
    Signed-off-by: Jussi Maki <joamaki at gmail.com>
    Signed-off-by: David S. Miller <davem at davemloft.net>

commit 082ba88a5e6b1425abed3fae4ad65e0e985ed081
Author: Roel Kluin <roel.kluin at gmail.com>
Date:   Thu Aug 6 13:06:56 2009 +0000

    atlx: strncpy does not null terminate string
    
    strlcpy() will always null terminate the string.
    
    Signed-off-by: Roel Kluin <roel.kluin at gmail.com>
    Cc: Jay Cliburn <jcliburn at gmail.com>
    Cc: Chris Snook <csnook at redhat.com>
    Cc: Jie Yang <jie.yang at atheros.com>
    Signed-off-by: Andrew Morton <akpm at linux-foundation.org>
    Signed-off-by: David S. Miller <davem at davemloft.net>

commit 5d5ceb8bdde403529ad9849f300dc80b1884550f
Author: Roel Kluin <roel.kluin at gmail.com>
Date:   Thu Aug 6 13:06:03 2009 +0000

    irda: fix read buffer overflow
    
    io[i] is read before the bounds check on i, order should be reversed.
    
    Signed-off-by: Roel Kluin <roel.kluin at gmail.com>
    Cc: Samuel Ortiz <samuel at sortiz.org>
    Signed-off-by: Andrew Morton <akpm at linux-foundation.org>
    Signed-off-by: David S. Miller <davem at davemloft.net>

commit cb2f33e9596632979c140c243ac1e8e994f62180
Author: Chris Snook <chris.snook at gmail.com>
Date:   Thu Aug 6 12:19:31 2009 +0000

    MAINTAINERS: update atlx contact info
    
    Update MAINTAINERS to reflect my current (non-)affiliation.  Anyone
    hiring?
    
    Signed-off-by: Chris Snook <chris.snook at gmail.com>
    Cc: Jay Cliburn <jcliburn at gmail.com>
    Cc: Jie Yang <jie.yang at atheros.com>
    Cc: "David S. Miller" <davem at davemloft.net>
    Signed-off-by: Andrew Morton <akpm at linux-foundation.org>
    Signed-off-by: David S. Miller <davem at davemloft.net>

commit f222e8b40f2177b1c4cac015b117744c1d3fa3e9
Merge: 819ae6a389d4acfab9a7bb874fa1977aa464d14b f4b9a988685da6386d7f9a72df3098bcc3270526
Author: David S. Miller <davem at davemloft.net>
Date:   Sun Aug 9 21:29:47 2009 -0700

    Merge branch 'master' of /home/davem/src/GIT/linux-2.6/

commit 819ae6a389d4acfab9a7bb874fa1977aa464d14b
Merge: 0d502d8267ebab9ae4b5b4c065d20196d6069f52 dd1f57ecaf9688efa69d982652ecfa3e64f1fa55
Author: David S. Miller <davem at davemloft.net>
Date:   Sun Aug 9 20:47:39 2009 -0700

    Merge branch 'master' of git://git.kernel.org/pub/scm/linux/kernel/git/linville/wireless-2.6

commit c8c00a6915a2e3d10416e8bdd3138429beb96210
Author: NeilBrown <neilb at suse.de>
Date:   Mon Aug 10 12:50:52 2009 +1000

    Remove deadlock potential in md_open
    
    A recent commit:
      commit 449aad3e25358812c43afc60918c5ad3819488e7
    
    introduced the possibility of an A-B/B-A deadlock between
    bd_mutex and reconfig_mutex.
    
    __blkdev_get holds bd_mutex while calling md_open which takes
       reconfig_mutex,
    do_md_run is always called with reconfig_mutex held, and it now
       takes bd_mutex in the call the revalidate_disk.
    
    This potential deadlock was not caught by lockdep due to the
    use of mutex_lock_interruptible_nexted which was introduced
    by
       commit d63a5a74dee87883fda6b7d170244acaac5b05e8
    do avoid a warning of an impossible deadlock.
    
    It is quite possible to split reconfig_mutex in to two locks.
    One protects the array data structures while it is being
    reconfigured, the other ensures that an array is never even partially
    open while it is being deactivated.
    In particular, the second lock prevents an open from completing
    between the time when do_md_stop checks if there are any active opens,
    and the time when the array is either set read-only, or when ->pers is
    set to NULL.  So we can be certain that no IO is in flight as the
    array is being destroyed.
    
    So create a new lock, open_mutex, just to ensure exclusion between
    'open' and 'stop'.
    
    This avoids the deadlock and also avoids the lockdep warning mentioned
    in commit d63a5a74d
    
    Reported-by: "Mike Snitzer" <snitzer at gmail.com>
    Reported-by: "H. Peter Anvin" <hpa at zytor.com>
    Signed-off-by: NeilBrown <neilb at suse.de>

commit f4b9a988685da6386d7f9a72df3098bcc3270526
Merge: 17d11ba14990d2bbaaec9c09a200b803679a968e 32bc4820287a1a03982979515949e8ea56eac641
Author: Linus Torvalds <torvalds at linux-foundation.org>
Date:   Sun Aug 9 14:58:34 2009 -0700

    Merge branch 'for-linus' of git://git.infradead.org/ubi-2.6
    
    * 'for-linus' of git://git.infradead.org/ubi-2.6:
      UBI: compatible fallback in absense of sequence numbers
      UBI: fix double free on error path

commit 17d11ba14990d2bbaaec9c09a200b803679a968e
Merge: fb1ee451e64a1c963a149aeccd9ef6a718f545e7 b4a2f5e723e4f7df46731106faf9e2405673c073
Author: Linus Torvalds <torvalds at linux-foundation.org>
Date:   Sun Aug 9 14:58:21 2009 -0700

    Merge branch 'kvm-updates/2.6.31' of git://git.kernel.org/pub/scm/virt/kvm/kvm
    
    * 'kvm-updates/2.6.31' of git://git.kernel.org/pub/scm/virt/kvm/kvm:
      KVM: Avoid redelivery of edge interrupt before next edge
      KVM: MMU: limit rmap chain length
      KVM: ia64: fix build failures due to ia64/unsigned long mismatches
      KVM: Make KVM_HPAGES_PER_HPAGE unsigned long to avoid build error on powerpc
      KVM: fix ack not being delivered when msi present
      KVM: s390: fix wait_queue handling
      KVM: VMX: Fix locking imbalance on emulation failure
      KVM: VMX: Fix locking order in handle_invalid_guest_state
      KVM: MMU: handle n_free_mmu_pages > n_alloc_mmu_pages in kvm_mmu_change_mmu_pages
      KVM: SVM: force new asid on vcpu migration
      KVM: x86: verify MTRR/PAT validity
      KVM: PIT: fix kpit_elapsed division by zero
      KVM: Fix KVM_GET_MSR_INDEX_LIST

commit fb1ee451e64a1c963a149aeccd9ef6a718f545e7
Merge: 2e9b11afdbfe17a9cc6356076179b7ea11972607 6cb504c29b1338925c83e4430e42a51eaa43781e
Author: Linus Torvalds <torvalds at linux-foundation.org>
Date:   Sun Aug 9 14:58:09 2009 -0700

    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:
      drm/i915: silence vblank warnings
      drm: silence pointless vblank warning.
      drm: When adding probed modes, preserve duplicate mode types

commit 2e9b11afdbfe17a9cc6356076179b7ea11972607
Merge: 95d0ad049cd6937634c0a75f9518f5166daabfce 17d42c1c497aa54952b9e58c1502a46f0df40315
Author: Linus Torvalds <torvalds at linux-foundation.org>
Date:   Sun Aug 9 14:57:41 2009 -0700

    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:
      posix_cpu_timers_exit_group(): Do not use thread_group_cputimer()

commit 95d0ad049cd6937634c0a75f9518f5166daabfce
Merge: 413dd8768ada25adbf53284696b71de7e7844969 f413cdb80ce00ec1a4d0ab949b5d96c81cae7f75
Author: Linus Torvalds <torvalds at linux-foundation.org>
Date:   Sun Aug 9 14:57:26 2009 -0700

    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:
      perf_counter: Fix/complete ftrace event records sampling
      perf_counter, ftrace: Fix perf_counter integration
      tracing/filters: Always free pred on filter_add_subsystem_pred() failure
      tracing/filters: Don't use pred on alloc failure
      ring-buffer: Fix memleak in ring_buffer_free()
      tracing: Fix recordmcount.pl to handle sections with only weak functions
      ring-buffer: Fix advance of reader in rb_buffer_peek()
      tracing: do not use functions starting with .L in recordmcount.pl
      ring-buffer: do not disable ring buffer on oops_in_progress
      ring-buffer: fix check of try_to_discard result

commit 413dd8768ada25adbf53284696b71de7e7844969
Merge: 713e3e1875749f341247a0c922e6ddd38fbd991c fdb8a42742ac95606668f73481dfb2f760658fdd
Author: Linus Torvalds <torvalds at linux-foundation.org>
Date:   Sun Aug 9 14:57:09 2009 -0700

    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: fix buffer overflow in efi_init()
      x86: Add quirk to make Apple MacBookPro5,1 use reboot=pci
      x86: Fix MSI-X initialization by using online_mask for x2apic target_cpus
      x86: Fix VMI && stack protector

commit 713e3e1875749f341247a0c922e6ddd38fbd991c
Merge: 7b2aa037e878c939676675969983284a02958ae3 0e692a94e378628b7d527260ad939894454bcca8
Author: Linus Torvalds <torvalds at linux-foundation.org>
Date:   Sun Aug 9 14:56:51 2009 -0700

    Merge branch 'core-fixes-for-linus-2' of git://git.kernel.org/pub/scm/linux/kernel/git/tip/linux-2.6-tip
    
    * 'core-fixes-for-linus-2' of git://git.kernel.org/pub/scm/linux/kernel/git/tip/linux-2.6-tip:
      lockdep: Fix typos in documentation
      lockdep: Fix file mode of lock_stat
      rtmutex: Avoid deadlock in rt_mutex_start_proxy_lock()

commit c0a8865e32c8d1a562db38e06ef31ef23282f646
Author: Frederic Weisbecker <fweisbec at gmail.com>
Date:   Sun Aug 9 04:19:15 2009 +0200

    perf tools: callchain: Fix bad rounding of minimum rate
    
    Sometimes we get callchain branches that have a rate under the
    limit given by the user.
    
    Say you launched:
    
     perf record -f -g -a ./hackbench 10
     perf report -g fractal,10.0
    
    And you got:
    
    2.33%       hackbench  [kernel]                  [k] _spin_lock_irqsave
                    |
                    |--78.57%-- remove_wait_queue
                    |          poll_freewait
                    |          do_sys_poll
                    |          sys_poll
                    |          sysenter_dispatch
                    |          0xf7ffa430
                    |          0x1ffadea3c
                    |
                    |--7.14%-- __up_read
                    |          up_read
                    |          do_page_fault
                    |          page_fault
                    |          0xf7ffa430
                    |          0xa0df710000000a
                    ...
    
    It is abnormal to get a 7.14% branch whereas we passed a 10%
    filter.
    
    The problem is that we round down the minimum threshold. This
    happens mostly when we have very low number of events. If the
    total amount of your branch is 4 and you have a subranch of 3
    events, filtering to 90% will be computed like follows:
    
      limit = 4 * 0.9;
    
    The result is about 3.6, but the cast to integer will round
    down to 3. It means that our filter is actually of 75%
    
    We must then explicitly round up the minimum threshold.
    
    Reported-by: Ingo Molnar <mingo at elte.hu>
    Signed-off-by: Frederic Weisbecker <fweisbec at gmail.com>
    Cc: acme at redhat.com
    Cc: peterz at infradead.org
    Cc: efault at gmx.de
    LKML-Reference: <20090809024235.GA10146 at nowhere>
    Signed-off-by: Ingo Molnar <mingo at elte.hu>

commit 183f3b0887083d36c8a25cd5e3518906415d1889
Author: Mike Galbraith <efault at gmx.de>
Date:   Sat Aug 8 14:14:15 2009 +0200

    perf_counter tools: Fix libbfd detection for systems with libz dependency
    
    Due to a libz dependency in some distro's binutils package,
    C++ demangle support isn't compiled in despite the necessary
    libraries being available.
    
    Fix this by adding a -lz link test to the dependency detection
    rules.
    
    Signed-off-by: Mike Galbraith <efault at gmx.de>
    Acked-by: Peter Zijlstra <a.p.zijlstra at chello.nl>
    LKML-Reference: <1249733655.6929.5.camel at marge.simson.net>
    Signed-off-by: Ingo Molnar <mingo at elte.hu>

commit c24b513337f06712b8c81eb4f1413d44591dfee7
Author: Carlos R. Mafra <crmafra2 at gmail.com>
Date:   Wed Aug 5 20:53:34 2009 +0200

    perf: "Longum est iter per praecepta, breve et efficax per exempla"
    
    A few examples of how 'perf' can be used, from an e-mail by
    Ingo Molnar http://lkml.org/lkml/2009/8/4/346.
    
    Signed-off-by: Carlos R. Mafra <crmafra2 at gmail.com>
    Cc: Peter Zijlstra <a.p.zijlstra at chello.nl>
    Cc: Valdis.Kletnieks at vt.edu
    LKML-Reference: <20090805185334.GA4535 at Pilar.aei.mpg.de>
    Signed-off-by: Ingo Molnar <mingo at elte.hu>

commit 3a80b4a3539696f4b0574876326860323035a302
Author: Peter Zijlstra <a.p.zijlstra at chello.nl>
Date:   Fri Aug 7 19:49:01 2009 +0200

    perf_counter: Fix a race on perf_counter_ctx
    
    While extending perfcounters with BTS hw-tracing, Markus
    Metzger managed to trigger this warning:
    
       [  995.557128] WARNING: at kernel/perf_counter.c:1191 __perf_counter_task_sched_out+0x48/0x6b()
    
    triggers because commit
    9f498cc5be7e013d8d6e4c616980ed0ffc8680d2 (perf_counter: Full
    task tracing) removed clearing of tsk->perf_counter_ctxp out
    from under ctx->lock which introduced a race (against
    perf_lock_task_context).
    
    Move it back and deal with the exit notification by explicitly
    passing along the former task context.
    
    Reported-by: Markus T Metzger <markus.t.metzger at intel.com>
    Signed-off-by: Peter Zijlstra <a.p.zijlstra at chello.nl>
    Cc: Paul Mackerras <paulus at samba.org>
    LKML-Reference: <1249667341.17467.5.camel at twins>
    Signed-off-by: Ingo Molnar <mingo at elte.hu>

commit 3a43ce68ae1758fa6a839386025ef45acb6baa22
Author: Frederic Weisbecker <fweisbec at gmail.com>
Date:   Sat Aug 8 04:26:37 2009 +0200

    perf_counter: Fix tracepoint sampling to be part of generic sampling
    
    Based on Peter's comments, make tracepoint sampling generic
    just like all the other sampling bits are. This is a rename
    with no code changes:
    
    - PERF_SAMPLE_TP_RECORD to PERF_SAMPLE_RAW
    - struct perf_tracepoint_record to perf_raw_record
    
    We want the system in place that transport tracepoints raw
    samples events into the perf ring buffer to be generalized and
    usable by any type of counter.
    
    Reported-by; Peter Zijlstra <peterz at infradead.org>
    Signed-off-by: Frederic Weisbecker <fweisbec at gmail.com>
    Cc: Peter Zijlstra <peterz at infradead.org>
    Cc: Arnaldo Carvalho de Melo <acme at redhat.com>
    Cc: Mike Galbraith <efault at gmx.de>
    Cc: Paul Mackerras <paulus at samba.org>
    LKML-Reference: <1249698400-5441-4-git-send-email-fweisbec at gmail.com>
    Signed-off-by: Ingo Molnar <mingo at elte.hu>

commit 10b8e3066066708f304e0fc5cfe658e05abf943d
Author: Frederic Weisbecker <fweisbec at gmail.com>
Date:   Sat Aug 8 04:26:35 2009 +0200

    perf_counter: Work around gcc warning by initializing tracepoint record unconditionally
    
    Despite that the tracepoint record is always present when the
    PERF_SAMPLE_TP_RECORD flag is set, gcc raises a warning,
    thinking it might not be initialized:
    
      kernel/perf_counter.c: In function ‘perf_counter_output’:
      kernel/perf_counter.c:2650: warning: ‘tp’ may be used uninitialized in this function
    
    Then, initialize it to NULL and always check if it's not NULL
    before dereference it.
    
    Reported-by: Ingo Molnar <mingo at elte.hu>
    Signed-off-by: Frederic Weisbecker <fweisbec at gmail.com>
    Cc: Peter Zijlstra <peterz at infradead.org>
    Cc: Arnaldo Carvalho de Melo <acme at redhat.com>
    Cc: Mike Galbraith <efault at gmx.de>
    Cc: Paul Mackerras <paulus at samba.org>
    LKML-Reference: <1249698400-5441-2-git-send-email-fweisbec at gmail.com>
    Signed-off-by: Ingo Molnar <mingo at elte.hu>

commit 25446036cbfc2c89faacdb4fb4603943d2197dc6
Author: Frederic Weisbecker <fweisbec at gmail.com>
Date:   Sat Aug 8 02:16:25 2009 +0200

    perf tools: callchain: Fix sum of percentages to be 100% by displaying amount of ignored chains in fractal mode
    
    When we filter the callchains below a given percentage, we
    ignore them and the end result only shows entries that have an
    upper percentage than the filter threshold.
    
    It seems to users then that we have an imbalance in the
    percentage, as if the sum inside a profiled branch doesn't
    reach 100%.
    
    Since in the past there have been real perf report bugs that
    showed the same sypmtom, it would be nice to assure the user
    that the data is perfect and trustable and it all sums up to
    100.00%.
    
    So fix this by displaying the remaining hits that have been
    filtered but without more detail than their amount in each
    branches. Example while filtering below 50%:
    
    7.73%  [k] delay_tsc
                    |
                    |--98.22%-- __const_udelay
                    |          |
                    |          |--86.37%-- ath5k_hw_register_timeout
                    |          |          ath5k_hw_noise_floor_calibration
                    |          |          ath5k_hw_reset
                    |          |          ath5k_reset
                    |          |          ath5k_config
                    |          |          ieee80211_hw_config
                    |          |          |
                    |          |          |--88.53%-- ieee80211_scan_work
                    |          |          |          worker_thread
                    |          |          |          kthread
                    |          |          |          child_rip
                    |          |           --11.47%-- [...]
                    |           --13.63%-- [...]
                     --1.78%-- [...]
    
    Reported-by: Ingo Molnar <mingo at elte.hu>
    Signed-off-by: Frederic Weisbecker <fweisbec at gmail.com>
    Cc: Peter Zijlstra <peterz at infradead.org>
    Cc: Arnaldo Carvalho de Melo <acme at redhat.com>
    Cc: Mike Galbraith <efault at gmx.de>
    LKML-Reference: <1249690585-9145-4-git-send-email-fweisbec at gmail.com>
    Signed-off-by: Ingo Molnar <mingo at elte.hu>

commit b1a88349c37624755b28ac3b3152b48f52c1f487
Author: Frederic Weisbecker <fweisbec at gmail.com>
Date:   Sat Aug 8 02:16:24 2009 +0200

    perf tools: callchain: Fix 'perf report' display to be callchain by default
    
    If we recorded with -g option to record the callchain, right now
    we require a -g option to perf report as well - and people reported
    this as unnecessary complication: the user already specified -g
    once, no need to require it a second time.
    
    So if the recording includes call-chains, display the callchain by
    default from perf report.
    
    ( The user can override this default using "-g none" option from
      perf report. )
    
    Reported-by: Ingo Molnar <mingo at elte.hu>
    Signed-off-by: Frederic Weisbecker <fweisbec at gmail.com>
    Cc: Peter Zijlstra <peterz at infradead.org>
    Cc: Arnaldo Carvalho de Melo <acme at redhat.com>
    Cc: Mike Galbraith <efault at gmx.de>
    LKML-Reference: <1249690585-9145-3-git-send-email-fweisbec at gmail.com>
    Signed-off-by: Ingo Molnar <mingo at elte.hu>

commit b0efe213f84f7fd5ccfe07053e3d9fb827b7c188
Author: Frederic Weisbecker <fweisbec at gmail.com>
Date:   Sat Aug 8 02:16:23 2009 +0200

    perf tools: callchain: Fix spurious 'perf report' warnings: ignore empty callchains
    
    When the callchain tree comes to insert an empty backtrace, it
    raises a spurious warning about the fact we are inserting an
    empty. This is spurious because the radix tree assumes it did
    something wrong to reach this state. But it didn't, we just met
    an empty callchain that has to be ignored.
    
    This happens occasionally with certain types of call-chain
    recordings. If it happens it's a big nuisance as perf report
    output starts with thousands of warning lines.
    
    Reported-by: Ingo Molnar <mingo at elte.hu>
    Signed-off-by: Frederic Weisbecker <fweisbec at gmail.com>
    Cc: Peter Zijlstra <peterz at infradead.org>
    Cc: Arnaldo Carvalho de Melo <acme at redhat.com>
    Cc: Mike Galbraith <efault at gmx.de>
    LKML-Reference: <1249690585-9145-2-git-send-email-fweisbec at gmail.com>
    Signed-off-by: Ingo Molnar <mingo at elte.hu>

commit 266e0e219888420a1a7cafc82e82891cf7b5a979
Author: Pierre Habouzit <pierre.habouzit at intersec.com>
Date:   Fri Aug 7 14:16:01 2009 +0200

    perf record: Fix the -A UI for empty or non-existent perf.data
    
    1. Ignore the -A argument if there is no perf.data file
    2. Treat an empty file like a non existent file.
    
    Else, perf will try to read the perf.data header, and fail with
    an error.
    
    Treating an empty file like a non-existent file makes sense,
    since an interupted (as in SIGKILLed) perf could leave such
    files around, and you don't want to annoy the user with errors
    for files with no data in it.
    
    Signed-off-by: Pierre Habouzit <pierre.habouzit at intersec.com>
    Acked-by: Peter Zijlstra <a.p.zijlstra at chello.nl>
    Cc: Paul Mackerras <paulus at samba.org>
    Signed-off-by: Ingo Molnar <mingo at elte.hu>

commit 7eac7e9e726c1b136bd7e0ad6671ce315f48bb18
Author: Pierre Habouzit <pierre.habouzit at intersec.com>
Date:   Fri Aug 7 14:16:00 2009 +0200

    perf util: Fix do_read() to fail on EOF instead of busy-looping
    
    While toying with perf, I've noticed that perf record can
    easily enter a busy loop when doing something as silly as:
    
        $ perf record -A ls
    
    Yeah, do_read here really wants to read a known size, not being
    able to should die(), not busy-loop ;)
    
    That was the cause for the bug.
    
    Signed-off-by: Pierre Habouzit <pierre.habouzit at intersec.com>
    Acked-by: Peter Zijlstra <a.p.zijlstra at chello.nl>
    Cc: Paul Mackerras <paulus at samba.org>
    Signed-off-by: Ingo Molnar <mingo at elte.hu>

commit ae07b63f4b6728e1f98aa5c5416cfc1280f59f51
Author: Peter Zijlstra <peterz at infradead.org>
Date:   Thu Aug 6 16:48:54 2009 +0200

    perf list: Fix the output to not include tracepoints without an id
    
    Stop perf list from displaying tracepoints without an id file,
    those are special tracepoints that are not interfaced to
    perfcounters so listing them is erroneous and passing them as
    events will produce no output.
    
    Signed-off-by: Peter Zijlstra <a.p.zijlstra at chello.nl>
    Acked-by: Jason Baron <jbaron at redhat.com>
    Cc: Steven Rostedt <rostedt at goodmis.org>
    Cc: Chris Mason <chris.mason at oracle.com>
    Signed-off-by: Ingo Molnar <mingo at elte.hu>

commit f36a1a133a947973efb8e6a1fbdcc23e4a011437
Author: Paul Mackerras <paulus at samba.org>
Date:   Fri Aug 7 16:59:45 2009 +1000

    perf_counter/powerpc: Fix oops on cpus without perf_counter hardware support
    
    If we have the powerpc perf_counter backend compiled in, but
    the cpu we are running on is one where we don't support the
    PMU, we currently oops in hw_perf_group_sched_in if we try to
    use any counters, because ppmu is NULL in that case, and we
    unconditionally dereference ppmu.
    
    This fixes the problem by adding a check if ppmu is NULL at the
    beginning of hw_perf_group_sched_in, and also at the beginning
    of the other functions that get called from the perf_counter
    core, i.e. hw_perf_disable, hw_perf_enable, and
    hw_perf_counter_setup.
    
    Signed-off-by: Paul Mackerras <paulus at samba.org>
    Cc: Peter Zijlstra <a.p.zijlstra at chello.nl>
    Cc: benh at kernel.crashing.org
    Signed-off-by: Ingo Molnar <mingo at elte.hu>

commit b26bc5a7f81474937e427b0c855eabee5ad56f89
Author: Brice Goglin <Brice.Goglin at inria.fr>
Date:   Fri Aug 7 10:18:39 2009 +0200

    perf stat: Fix tool option consistency: rename -S/--scale to -c/--scale
    
    We want to use a coherent flag for -S/--stat across all tools,
    so free up -S in perf stat.
    
    Signed-off-by: Brice Goglin <Brice.Goglin at inria.fr>
    Cc: Peter Zijlstra <a.p.zijlstra at chello.nl>
    Cc: paulus at samba.org
    Signed-off-by: Ingo Molnar <mingo at elte.hu>

commit 94cb9e385d5b4d55a5ae389baa10ad2835ea39bb
Author: Arnaldo Carvalho de Melo <acme at redhat.com>
Date:   Thu Aug 6 14:43:17 2009 -0300

    perf report: Add debug help for the finding of symbol bugs - show the symtab origin (DSO, build-id, kernel, etc)
    
    Used with perf report --verbose:
    
    [acme at doppio linux-2.6-tip]$ perf report -v | head -16
         5.17%  firefox  /usr/lib64/xulrunner-1.9.1/libxul.so   0x00000000005d8eee f [.] imgContainer::DrawFrameTo(gfxIImageFrame*, gfxIImageFrame*, nsRect&)
         2.56%  firefox  /lib64/libpthread-2.10.1.so            0x0000000000008e02 d [.] __pthread_mutex_lock_internal
         1.94%  firefox  /usr/lib64/xulrunner-1.9.1/libxul.so   0x0000000000d0af8f f [.] SearchTable
         1.75%  firefox  [kernel]                               0xffffffffff60013b k [.] vread_hpet
         1.63%  firefox  /lib64/libpthread-2.10.1.so            0x000000000000a404 d [.] __pthread_mutex_unlock
         1.47%  firefox  /usr/lib64/xulrunner-1.9.1/libmozjs.so 0x00000000000482ea f [.] js_Interpret
         1.42%  firefox  /usr/lib64/xulrunner-1.9.1/libmozjs.so 0x000000000003eda3 f [.] JS_CallTracer
         1.24%  firefox  [kernel]                               0xffffffff8102ca4a k [k] read_hpet
         1.16%  firefox  [kernel]                               0xffffffff810f3dd4 k [k] fget_light
         1.11%  firefox  /usr/lib64/xulrunner-1.9.1/libmozjs.so 0x00000000000567ff f [.] js_TraceObject
         0.98%  firefox  /usr/lib64/firefox-3.5.2/firefox       0x000000000000dd23 b [.] arena_ralloc
    [acme at doppio linux-2.6-tip]$
    
    The new field is just after the symbol address. To help in
    figuring out symbol resolution bugs.
    
    Signed-off-by: Arnaldo Carvalho de Melo <acme at redhat.com>
    Acked-by: Peter Zijlstra <peterz at infradead.org>
    Signed-off-by: Ingo Molnar <mingo at elte.hu>

commit 8f18aec535b5ca513dd13b531730177d35175ffa
Author: Peter Zijlstra <a.p.zijlstra at chello.nl>
Date:   Thu Aug 6 19:40:28 2009 +0200

    perf report: Fix per task mult-counter stat reporting
    
    Brice Goglin reported:
    
    > I can easily sort them by thread id, but I don't know how to match
    > my 4 events with each group of 4 lines.
    
    Also report the counter id and the time running/enabled
    stats (in case the counter got time-shared).
    
    Reported-by: Brice Goglin <Brice.Goglin at inria.fr>
    Signed-off-by: Peter Zijlstra <a.p.zijlstra at chello.nl>
    Tested-by: Brice Goglin <Brice.Goglin at inria.fr>
    Signed-off-by: Ingo Molnar <mingo at elte.hu>

commit 1c222bce7dd0cb9578b4c5cd3874a74f1db497c3
Author: Peter Zijlstra <a.p.zijlstra at chello.nl>
Date:   Thu Aug 6 20:57:41 2009 +0200

    perf tools: Fix multi-counter stat bug caused by incorrect reading of perf.data file header
    
    Brice Goglin reported that only the first result from a
    multi-counter perf record --stat run is accurate, the
    rest looks bogus.
    
    A silly mistake made us re-read the first attribute for
    every recorded attribute.
    
    Reported-by: Brice Goglin <Brice.Goglin at inria.fr>
    Signed-off-by: Peter Zijlstra <a.p.zijlstra at chello.nl>
    Tested-by: Brice Goglin <Brice.Goglin at inria.fr>
    Cc: paulus at samba.org
    Signed-off-by: Ingo Molnar <mingo at elte.hu>

commit 1953287bfe8afcbbd235bd6c42c9df06d52438dc
Author: Frederic Weisbecker <fweisbec at gmail.com>
Date:   Fri Aug 7 07:11:05 2009 +0200

    perf tools: Fix call-chain cumul hit based sub-total (fractal mode)
    
    The callchain fractal mode builds each new total hits in a new
    branch of profiling by using the parent's hits of the current
    branch plus the hits of the children.
    
    This is wrong, the total hits of a branch should be made of the
    sum of every children hits, we must ignore the parent hits in
    this scope.
    
    This patch also fixes another mistake with the hit counting.
    
    Now the rates are correct.
    
    Signed-off-by: Frederic Weisbecker <fweisbec at gmail.com>
    Cc: Frederic Weisbecker <fweisbec at gmail.com>
    Cc: Peter Zijlstra <peterz at infradead.org>
    Cc: Arnaldo Carvalho de Melo <acme at redhat.com>
    Cc: Mike Galbraith <efault at gmx.de>
    Cc: Pekka Enberg <penberg at cs.helsinki.fi>
    Signed-off-by: Ingo Molnar <mingo at elte.hu>

commit 836179834833272f89098c6d1e1b89e8e69797c2
Author: Mike Galbraith <efault at gmx.de>
Date:   Tue Aug 4 10:24:41 2009 +0200

    perf top: Update man page
    
    perf_counter tools: update perf top manual page to reflect
    current implementation.
    
    Signed-off-by: Mike Galbraith <efault at gmx.de>
    Cc: Peter Zijlstra <a.p.zijlstra at chello.nl>
    Signed-off-by: Ingo Molnar <mingo at elte.hu>

commit 091bd2e993fcb1094a23e36157285b62bc87afdf
Author: Mike Galbraith <efault at gmx.de>
Date:   Tue Aug 4 10:21:23 2009 +0200

    perf top: Improve interactive key handling
    
    Pressing any key which is not currently mapped to
    functionality, based on startup command line options, displays
    currently mapped keys, and prompts for input.
    
    Pressing any unmapped key at the prompt returns the user to
    display mode with variables unchanged.  eg, pressing ? <SPACE>
    <ESC> etc displays currently available keys, the value of the
    variable associated with that key, and prompts.
    
    Pressing same again aborts input.
    
    Signed-off-by: Mike Galbraith <efault at gmx.de>
    Cc: Peter Zijlstra <a.p.zijlstra at chello.nl>
    Signed-off-by: Ingo Molnar <mingo at elte.hu>

commit 7b4b6658e152ed4568cfff48175d93645df081d1
Author: Peter Zijlstra <a.p.zijlstra at chello.nl>
Date:   Wed Jul 22 09:29:32 2009 +0200

    perf_counter: Fix software counters for fast moving event sources
    
    Reimplement the software counters to deal with fast moving
    event sources (such as tracepoints). This means being able
    to generate multiple overflows from a single 'event' as well
    as support throttling.
    
    Signed-off-by: Peter Zijlstra <a.p.zijlstra at chello.nl>
    Cc: Paul Mackerras <paulus at samba.org>
    Signed-off-by: Ingo Molnar <mingo at elte.hu>

commit 46ab976443c6c566c8fe6fc72a6733a55ba9fbea
Author: Mike Galbraith <efault at gmx.de>
Date:   Fri Jul 24 10:09:50 2009 +0200

    perf_counter tools: Allow perf top top users to switch between weighted and individual counter display
    
    Add [w]eighted hotkey.  Pressing [w] toggles between displaying
    weighted total of all counters, and the counter selected via
    [E]vent select key.
    
    ------------------------------------------------------------------------------
       PerfTop:   90395 irqs/sec  kernel:16.1% [cache-misses/cache-references/instructions],  (all, 4 CPUs)
    ------------------------------------------------------------------------------
    
      weight     samples    pcnt         RIP          kernel function
      ______     _______   _____   ________________   _______________
    
    1275408.6      10881 -  5.3% - ffffffff81146f70 : copy_page_c
     553683.4      43569 - 21.3% - ffffffff81146f20 : clear_page_c
      74075.0       6768 -  3.3% - ffffffff81147190 : copy_user_generic_string
      40602.9       7538 -  3.7% - ffffffff81284ba2 : _spin_lock
      26882.1        965 -  0.5% - ffffffff8109d280 : file_ra_state_init
    
    [w]
    
    ------------------------------------------------------------------------------
       PerfTop:   91221 irqs/sec  kernel:14.5% [10000Hz cache-misses],  (all, 4 CPUs)
    ------------------------------------------------------------------------------
    
      weight     samples    pcnt         RIP          kernel function
      ______     _______   _____   ________________   _______________
    
                47320.00 - 22.3% - ffffffff81146f20 : clear_page_c
                14261.00 -  6.7% - ffffffff810992f5 : __rmqueue
                11046.00 -  5.2% - ffffffff81146f70 : copy_page_c
                 7842.00 -  3.7% - ffffffff81284ba2 : _spin_lock
                 7234.00 -  3.4% - ffffffff810aa1d6 : unmap_vmas
    
    Signed-off-by: Mike Galbraith <efault at gmx.de>
    Signed-off-by: Peter Zijlstra <a.p.zijlstra at chello.nl>
    Signed-off-by: Ingo Molnar <mingo at elte.hu>

commit 923c42c19944da214d697e312a040384a0e33e78
Author: Mike Galbraith <efault at gmx.de>
Date:   Wed Jul 22 20:36:03 2009 +0200

    perf_counter tools: Fix/resurrect perf top annotation in a simple interactive form
    
    perf top used to have annotation support, but it has bitrotted and
    removed.
    
    This patch restores that: it allows the user to select any symbol
    in kernel space for source level annotation on the fly, switch
    between event counters and alter display variables. When symbol
    details are being displayed, stopping annotation reverts to normal.
    
    known keys:
            [d]     select display delay.
            [e]     select display entries (lines).
            [E]     select annotation event counter.
            [f]     select normal display count filter.
            [F]     select annotation display count filter (percentage).
            [qQ]    quit.
            [s]     select annotation symbol and start annotation.
            [S]     stop annotation, revert to normal display.
            [z]     toggle event count zeroing.
    
    Sample:
    ------------------------------------------------------------------------------
       PerfTop:   16719 irqs/sec  kernel:78.7% [cache-misses/cache-references/instructions/cycles],  (all, 4 CPUs)
    ------------------------------------------------------------------------------
    
    Showing cache-misses for e1000_clean_rx_irq
      Events  Pcnt (>=3%)
           0  0.0%                  /* adjust length to remove Ethernet CRC */
           0  0.0%                  if (!(adapter->flags2 & FLAG2_CRC_STRIPPING))
           0  0.0%                          length -= 4;
         436  5.0%      f039:       41 f6 84 24 5c 29 00    testb  $0x1,0x295c(%r12)
           0  0.0%      f089:       8b 4d 84                mov    -0x7c(%rbp),%ecx
           0  0.0%      f08c:       48 83 ef 02             sub    $0x2,%rdi
           0  0.0%      f090:       48 83 ee 02             sub    $0x2,%rsi
         811  9.3%      f094:       f3 a4                   rep movsb %ds:(%rsi),%es:(%rdi)
           0  0.0%
           0  0.0%          while (rx_desc->status & E1000_RXD_STAT_DD) {
           0  0.0%      f114:       41 f6 47 0c 01          testb  $0x1,0xc(%r15)
        7226 82.6%      f119:       0f 85 24 fe ff ff       jne    ef43 <e1000_clean_rx_irq+0x84>
    
    Available events:
            0 cache-misses
            1 cache-references
            2 instructions
            3 cycles
    Enter details event counter: 2
    ------------------------------------------------------------------------------
       PerfTop:   15035 irqs/sec  kernel:79.0% [cache-misses/cache-references/instructions/cycles],  (all, 4 CPUs)
    ------------------------------------------------------------------------------
    
    Showing instructions for e1000_clean_rx_irq
      Events  Pcnt (>=3%)
           0  0.0%                                 int *work_done, int work_to_do)
           0  0.0%  {
         175  0.9%      eebf:       55                      push   %rbp
        1898  9.8%      eec0:       48 89 e5                mov    %rsp,%rbp
           0  0.0%
           0  0.0%          i = rx_ring->next_to_clean;
         140  0.7%      ef0a:       0f b7 41 1a             movzwl 0x1a(%rcx),%eax
         670  3.4%      ef0e:       89 45 ac                mov    %eax,-0x54(%rbp)
           0  0.0%  {
           0  0.0%          memcpy(skb->data + offset, from, len);
          91  0.5%      f07b:       49 8b b6 e8 00 00 00    mov    0xe8(%r14),%rsi
        1153  5.9%      f082:       48 8b b8 e8 00 00 00    mov    0xe8(%rax),%rdi
          42  0.2%      f089:       8b 4d 84                mov    -0x7c(%rbp),%ecx
          14  0.1%      f08c:       48 83 ef 02             sub    $0x2,%rdi
           0  0.0%      f090:       48 83 ee 02             sub    $0x2,%rsi
        1618  8.3%      f094:       f3 a4                   rep movsb %ds:(%rsi),%es:(%rdi)
           0  0.0%
           0  0.0%                  /* return some buffers to hardware, one at a time is too slow */
           0  0.0%                  if (cleaned_count >= E1000_RX_BUFFER_WRITE) {
         867  4.5%      f0e7:       83 7d b0 0f             cmpl   $0xf,-0x50(%rbp)
           0  0.0%
           0  0.0%          while (rx_desc->status & E1000_RXD_STAT_DD) {
          37  0.2%      f114:       41 f6 47 0c 01          testb  $0x1,0xc(%r15)
        4047 20.8%      f119:       0f 85 24 fe ff ff       jne    ef43 <e1000_clean_rx_irq+0x84>
    
    Signed-off-by: Mike Galbraith <efault at gmx.de>
    Signed-off-by: Peter Zijlstra <a.p.zijlstra at chello.nl>
    Cc: Paul Mackerras <paulus at samba.org>
    Signed-off-by: Ingo Molnar <mingo at elte.hu>

commit f413cdb80ce00ec1a4d0ab949b5d96c81cae7f75
Author: Frederic Weisbecker <fweisbec at gmail.com>
Date:   Fri Aug 7 01:25:54 2009 +0200

    perf_counter: Fix/complete ftrace event records sampling
    
    This patch implements the kernel side support for ftrace event
    record sampling.
    
    A new counter sampling attribute is added:
    
       PERF_SAMPLE_TP_RECORD
    
    which requests ftrace events record sampling. In this case
    if a PERF_TYPE_TRACEPOINT counter is active and a tracepoint
    fires, we emit the tracepoint binary record to the
    perfcounter event buffer, as a sample.
    
    Result, after setting PERF_SAMPLE_TP_RECORD attribute from perf
    record:
    
     perf record -f -F 1 -a -e workqueue:workqueue_execution
     perf report -D
    
     0x21e18 [0x48]: event: 9
     .
     . ... raw event: size 72 bytes
     .  0000:  09 00 00 00 01 00 48 00 d0 c7 00 81 ff ff ff ff  ......H........
     .  0010:  0a 00 00 00 0a 00 00 00 21 00 00 00 00 00 00 00  ........!......
     .  0020:  2b 00 01 02 0a 00 00 00 0a 00 00 00 65 76 65 6e  +...........eve
     .  0030:  74 73 2f 31 00 00 00 00 00 00 00 00 0a 00 00 00  ts/1...........
     .  0040:  e0 b1 31 81 ff ff ff ff                          .......
    .
    0x21e18 [0x48]: PERF_EVENT_SAMPLE (IP, 1): 10: 0xffffffff8100c7d0 period: 33
    
    The raw ftrace binary record starts at offset 0020.
    
    Translation:
    
     struct trace_entry {
    	type		= 0x2b = 43;
    	flags		= 1;
    	preempt_count	= 2;
    	pid		= 0xa = 10;
    	tgid		= 0xa = 10;
     }
    
     thread_comm = "events/1"
     thread_pid  = 0xa = 10;
     func	    = 0xffffffff8131b1e0 = flush_to_ldisc()
    
    What will come next?
    
     - Userspace support ('perf trace'), 'flight data recorder' mode
       for perf trace, etc.
    
     - The unconditional copy from the profiling callback brings
       some costs however if someone wants no such sampling to
       occur, and needs to be fixed in the future. For that we need
       to have an instant access to the perf counter attribute.
       This is a matter of a flag to add in the struct ftrace_event.
    
     - Take care of the events recursivity! Don't ever try to record
       a lock event for example, it seems some locking is used in
       the profiling fast path and lead to a tracing recursivity.
       That will be fixed using raw spinlock or recursivity
       protection.
    
     - [...]
    
     - Profit! :-)
    
    Signed-off-by: Frederic Weisbecker <fweisbec at gmail.com>
    Cc: Li Zefan <lizf at cn.fujitsu.com>
    Cc: Tom Zanussi <tzanussi at gmail.com>
    Cc: Arnaldo Carvalho de Melo <acme at redhat.com>
    Cc: Peter Zijlstra <a.p.zijlstra at chello.nl>
    Cc: Mike Galbraith <efault at gmx.de>
    Cc: Steven Rostedt <rostedt at goodmis.org>
    Cc: Paul Mackerras <paulus at samba.org>
    Cc: Pekka Enberg <penberg at cs.helsinki.fi>
    Cc: Gabriel Munteanu <eduard.munteanu at linux360.ro>
    Cc: Lai Jiangshan <laijs at cn.fujitsu.com>
    Signed-off-by: Ingo Molnar <mingo at elte.hu>

commit 3a6593050fbd8bbcaed3a44d01c31d907315c86c
Author: Peter Zijlstra <a.p.zijlstra at chello.nl>
Date:   Tue Jul 21 17:34:57 2009 +0200

    perf_counter, ftrace: Fix perf_counter integration
    
    Adds possible second part to the assign argument of TP_EVENT().
    
      TP_perf_assign(
    	__perf_count(foo);
    	__perf_addr(bar);
      )
    
    Which, when specified make the swcounter increment with @foo instead
    of the usual 1, and report @bar for PERF_SAMPLE_ADDR (data address
    associated with the event) when this triggers a counter overflow.
    
    Signed-off-by: Peter Zijlstra <a.p.zijlstra at chello.nl>
    Acked-by: Steven Rostedt <rostedt at goodmis.org>
    Cc: Frederic Weisbecker <fweisbec at gmail.com>
    Cc: Jason Baron <jbaron at redhat.com>
    Cc: Paul Mackerras <paulus at samba.org>
    Signed-off-by: Ingo Molnar <mingo at elte.hu>

commit e3560336be655c6791316482fe288b119f34c427
Merge: 26528e773ecc74fb1b61b7275f86f761cbb340ec 7b2aa037e878c939676675969983284a02958ae3
Author: Ingo Molnar <mingo at elte.hu>
Date:   Sun Aug 9 12:46:45 2009 +0200

    Merge branch 'linus' into tracing/urgent
    
    Merge reason: Merge up to almost-rc6 to pick up latest perfcounters
                  (on which we'll queue up a dependent fix)
    
    Signed-off-by: Ingo Molnar <mingo at elte.hu>

commit b4a2f5e723e4f7df46731106faf9e2405673c073
Author: Gleb Natapov <gleb at redhat.com>
Date:   Sun Jul 5 18:48:11 2009 +0300

    KVM: Avoid redelivery of edge interrupt before next edge
    
    The check for an edge is broken in current ioapic code. ioapic->irr is
    cleared on each edge interrupt by ioapic_service() and this makes
    old_irr != ioapic->irr condition in kvm_ioapic_set_irq() to be always
    true. The patch fixes the code to properly recognise edge.
    
    Some HW emulation calls set_irq() without level change. If each such
    call is propagated to an OS it may confuse a device driver. This is the
    case with keyboard device emulation and Windows XP x64  installer on SMP VM.
    Each keystroke produce two interrupts (down/up) one interrupt is
    submitted to CPU0 and another to CPU1. This confuses Windows somehow
    and it ignores keystrokes.
    
    Signed-off-by: Gleb Natapov <gleb at redhat.com>
    Signed-off-by: Avi Kivity <avi at redhat.com>

commit fdb8a42742ac95606668f73481dfb2f760658fdd
Author: Roel Kluin <roel.kluin at gmail.com>
Date:   Thu Aug 6 15:58:13 2009 -0700

    x86: fix buffer overflow in efi_init()
    
    If the vendor name (from c16) can be longer than 100 bytes (or missing a
    terminating null), then the null is written past the end of vendor[].
    
    Found with Parfait, http://research.sun.com/projects/parfait/
    
    Signed-off-by: Roel Kluin <roel.kluin at gmail.com>
    Cc: Ingo Molnar <mingo at elte.hu>
    Signed-off-by: Andrew Morton <akpm at linux-foundation.org>
    Signed-off-by: H. Peter Anvin <hpa at zytor.com>
    Cc: Huang Ying <ying.huang at intel.com>

commit 6cb504c29b1338925c83e4430e42a51eaa43781e
Author: Frans Pop <elendil at planet.nl>
Date:   Sun Aug 9 12:25:29 2009 +1000

    drm/i915: silence vblank warnings
    
    these errors are pretty pointless
    
    Reviewed-by: Jesse Barnes <jbarnes at virtuousgeek.org>
    Signed-off-by: Dave Airlie <airlied at redhat.com>

commit 8d3457ec3198a569dd14dc9e3ae8b6163bcaa0b5
Author: Paul Rolland <rol at as2917.net>
Date:   Sun Aug 9 12:24:01 2009 +1000

    drm: silence pointless vblank warning.
    
    Some applications/hardware combinations are triggering the message "failed to
    acquire vblank counter" to be issued up to 20 times a second, which makes it
    both useless and dangerous, as this may hide other important messages.
    This changes makes it only appear when people are debugging.
    
    Signed-off-by: Paul Rolland <rol at as2917.net>
    Reviewed-by: Jesse Barnes <jbarnes at virtuousgeek.org>
    Lost-twice-by: Dave Airlie <airlied at redhat.com>
    Signed-off-by: Dave Airlie <airlied at redhat.com>

commit 38d5487db7f289be1d56ac7df704ee49ed3213b9
Author: Keith Packard <keithp at keithp.com>
Date:   Mon Jul 20 14:49:17 2009 -0700

    drm: When adding probed modes, preserve duplicate mode types
    
    The code which takes probed modes and adds them to a connector eliminates
    duplicate modes by comparing them using drm_mode_equal. That function
    doesn't consider the type bits, which means that any modes which differ only
    in the type field will be lost.
    
    One of the bits in the mode->type field is the DRM_MODE_TYPE_PREFERRED bit.
    If the mode with that bit is lost, then higher level code will not know
    which mode to select, causing a random mode to be used instead.
    
    This patch simply merges the two mode type bits together; that seems
    reasonable to me, but perhaps only a subset of the bits should be used? None
    of these can be user defined as they all come from looking at just the
    hardware.
    
    Signed-off-by: Keith Packard <keithp at keithp.com>
    Signed-off-by: Dave Airlie <airlied at redhat.com>

commit 17d42c1c497aa54952b9e58c1502a46f0df40315
Author: Stanislaw Gruszka <sgruszka at redhat.com>
Date:   Thu Aug 6 16:03:30 2009 -0700

    posix_cpu_timers_exit_group(): Do not use thread_group_cputimer()
    
    When the process exits we don't have to run new cputimer nor
    use running one (as it not accounts when tsk->exit_state != 0)
    to get process CPU times.  As there is only one thread we can
    just use CPU times fields from task and signal structs.
    
    Signed-off-by: Stanislaw Gruszka <sgruszka at redhat.com>
    Cc: Peter Zijlstra <a.p.zijlstra at chello.nl>
    Cc: Roland McGrath <roland at redhat.com>
    Cc: Vitaly Mayatskikh <vmayatsk at redhat.com>
    Signed-off-by: Andrew Morton <akpm at linux-foundation.org>
    Signed-off-by: Ingo Molnar <mingo at elte.hu>

commit 26528e773ecc74fb1b61b7275f86f761cbb340ec
Author: Tom Zanussi <tzanussi at gmail.com>
Date:   Sat Aug 8 10:49:53 2009 -0500

    tracing/filters: Always free pred on filter_add_subsystem_pred() failure
    
    If filter_add_subsystem_pred() fails due to ENOSPC or ENOMEM,
    the pred doesn't get freed, while as a side effect it does for
    other errors. Make it so the caller always frees the pred for
    any error.
    
    Signed-off-by: Tom Zanussi <tzanussi at gmail.com>
    Cc: Steven Rostedt <rostedt at goodmis.org>
    Cc: Frederic Weisbecker <fweisbec at gmail.com>
    Cc: Li Zefan <lizf at cn.fujitsu.com>
    LKML-Reference: <1249746593.6453.32.camel at tropicana>
    Signed-off-by: Ingo Molnar <mingo at elte.hu>

commit 96b2de313b1e0e02aea80ee47df6a2b5cbdf8e13
Author: Tom Zanussi <tzanussi at gmail.com>
Date:   Sat Aug 8 10:49:09 2009 -0500

    tracing/filters: Don't use pred on alloc failure
    
    Dan Carpenter sent me a fix to prevent pred from being used if
    it couldn't be allocated.  I noticed the same problem also
    existed for the create_pred() case and added a fix for that.
    
    Reported-by: Dan Carpenter <error27 at gmail.com>
    Signed-off-by: Tom Zanussi <tzanussi at gmail.com>
    Cc: Steven Rostedt <rostedt at goodmis.org>
    Cc: Frederic Weisbecker <fweisbec at gmail.com>
    Cc: Li Zefan <lizf at cn.fujitsu.com>
    LKML-Reference: <1249746549.6453.29.camel at tropicana>
    Signed-off-by: Ingo Molnar <mingo at elte.hu>

commit 498cdbfbcf98e0d2c90a26e6a02a82f043876e48
Author: Ozan Çağlayan <ozan at pardus.org.tr>
Date:   Tue Aug 4 19:39:31 2009 +0300

    x86: Add quirk to make Apple MacBookPro5,1 use reboot=pci
    
    MacBookPro5,1 is not able to reboot unless reboot=pci is set.
    This patch forces it through a DMI quirk specific to this
    device.
    
    Signed-off-by: Ozan Çağlayan <ozan at pardus.org.tr>
    LKML-Reference: <1249403971-6543-1-git-send-email-ozan at pardus.org.tr>
    Signed-off-by: Ingo Molnar <mingo at elte.hu>

commit ad7d6c7a0654a4bbda3e109f56af713267e96274
Author: Yinghai Lu <yinghai at kernel.org>
Date:   Tue Aug 4 09:01:33 2009 -0700

    x86/irq: Fix move_irq_desc() for nodes without ram
    
    Don't move it if target node is -1.
    
    Signed-off-by: Yinghai Lu <yinghai at kernel.org>
    LKML-Reference: <4A785B5D.4070702 at kernel.org>
    Signed-off-by: Ingo Molnar <mingo at elte.hu>

commit 087d7e56deffb611a098e7e257388a41edbeef1f
Author: Yinghai Lu <yinghai at kernel.org>
Date:   Tue Aug 4 08:59:59 2009 -0700

    x86: Fix MSI-X initialization by using online_mask for x2apic target_cpus
    
    found a system where x2apic reports an MSI-X irq initialization
    failure:
    
    [  302.859446] igbvf 0000:81:10.4: enabling device (0000 -> 0002)
    [  302.874369] igbvf 0000:81:10.4: using 64bit DMA mask
    [  302.879023] igbvf 0000:81:10.4: using 64bit consistent DMA mask
    [  302.894386] igbvf 0000:81:10.4: enabling bus mastering
    [  302.898171] igbvf 0000:81:10.4: setting latency timer to 64
    [  302.914050] reserve_memtype added 0xefb08000-0xefb0c000, track uncached-minus, req uncached-minus, ret uncached-minus
    [  302.933839] reserve_memtype added 0xefb28000-0xefb29000, track uncached-minus, req uncached-minus, ret uncached-minus
    [  302.940367]   alloc irq_desc for 265 on node 4
    [  302.956874]   alloc kstat_irqs on node 4
    [  302.959452] alloc irq_2_iommu on node 0
    [  302.974328] igbvf 0000:81:10.4: irq 265 for MSI/MSI-X
    [  302.977778]   alloc irq_desc for 266 on node 4
    [  302.980347]   alloc kstat_irqs on node 4
    [  302.995312] free_memtype request 0xefb28000-0xefb29000
    [  302.998816] igbvf 0000:81:10.4: Failed to initialize MSI-X interrupts.
    
    ... it turns out that when trying to enable MSI-X,
    __assign_irq_vector(new, cfg_new, apic->target_cpus()) can not
    get vector because for x2apic target-cpus returns cpumask_of(0)
    
    Update that to online_mask like xapic.
    
    Signed-off-by: Yinghai Lu <yinghai at kernel.org>
    Acked-by: Suresh Siddha <suresh.b.siddha at intel.com>
    LKML-Reference: <4A785AFF.3050902 at kernel.org>
    Signed-off-by: Ingo Molnar <mingo at elte.hu>

commit 7b2aa037e878c939676675969983284a02958ae3
Merge: 710ad849ae76bc2f938a885e928b90cdbbe61a6e cf7fdd57f978d40ceb9a0f58a25f5cf9c84d6f33
Author: Linus Torvalds <torvalds at linux-foundation.org>
Date:   Fri Aug 7 19:06:36 2009 -0700

    Merge git://git.kernel.org/pub/scm/linux/kernel/git/gregkh/usb-2.6
    
    * git://git.kernel.org/pub/scm/linux/kernel/git/gregkh/usb-2.6:
      USB: fix oops on disconnect in cdc-acm
      USB: storage: include Prolific Technology USB drive in unusual_devs list
      USB: ftdi_sio: add product_id for Marvell OpenRD Base, Client
      USB: ftdi_sio: add vendor and product id for Bayer glucose meter serial converter cable
      USB: EHCI: fix counting of transaction error retries
      USB: EHCI: fix two new bugs related to Clear-TT-Buffer
      USB: usbfs: fix -ENOENT error code to be -ENODEV
      USB: musb: fix the nop registration for OMAP3EVM
      USB: devio: Properly do access_ok() checks
      USB: pl2303: New vendor and product id

commit 710ad849ae76bc2f938a885e928b90cdbbe61a6e
Merge: b32b8e645ea764620ececc0c9a66a7fc08536d4d 749d00dbf154fc2f9ac59df669205039de0d5b45
Author: Linus Torvalds <torvalds at linux-foundation.org>
Date:   Fri Aug 7 19:06:13 2009 -0700

    Merge git://git.kernel.org/pub/scm/linux/kernel/git/gregkh/staging-2.6
    
    * git://git.kernel.org/pub/scm/linux/kernel/git/gregkh/staging-2.6:
      Staging: rspiusb: Fix buffer overflow
      staging: add dependencies on PCI for drivers that require it
      Staging: rtl8192su: fix build error
      Staging: rt2870: Revert d44ca7 Removal of kernel_thread() API
      Staging: rt2870: Add USB ID for Linksys, Planex Communications, Belkin

commit b32b8e645ea764620ececc0c9a66a7fc08536d4d
Merge: d6a0967c90dced0a8baf502e6f3d5862fd5a5805 819e0064634f580ab618189e657ea58341d214b7
Author: Linus Torvalds <torvalds at linux-foundation.org>
Date:   Fri Aug 7 19:03:59 2009 -0700

    Merge branch 'for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/anholt/drm-intel
    
    * 'for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/anholt/drm-intel: (22 commits)
      drm/i915: Fix read outside array bounds in restoring the SWF10 range.
      drm/i915: Use our own workqueue to avoid wedging the system along with the GPU.
      drm/i915: Add support for dual-channel LVDS on 8xx.
      drm/i915: Return disconnected for SDVO DVI when there's no digital EDID.
      drm/i915: Choose real sdvo output according to result from detection
      drm/i915: Set preferred mode for integrated TV according to TV format
      drm/i915: fix 845G FIFO size & burst length
      drm/i915: fix VGA detect on IGDNG
      drm/i915: Add eDP support on IGDNG mobile chip
      drm/i915: enable DisplayPort support on IGDNG
      drm/i915: Fix channel ending action for DP aux transaction
      drm/i915: fix issue in display pipe setup on IGDNG
      drm/i915: disable VGA plane reliably
      drm/I915: Fix offset to DVO timings in LVDS data
      drm/i915: hdmi detection according by reading edid
      drm/i915: correct self-refresh calculation in "everything off" case
      drm/i915: handle FIFO oversubsription correctly
      drm/i915: FIFO watermark calculation fixes
      drm/i915: ignore lvds on AOpen Mini PC MP-915
      drm/i915: Allow frame buffers up to 4096x4096 on 915/945 class hardware
      ...

commit d6a0967c90dced0a8baf502e6f3d5862fd5a5805
Merge: fb385003c4ac9634cf2448f6ded81e5fd1190c1f ceab36edd3d3ad3ffd01d41d6d1e05ac1ff8357e
Author: Linus Torvalds <torvalds at linux-foundation.org>
Date:   Fri Aug 7 19:03:09 2009 -0700

    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: fix balancing oops when invalidate_inode_pages2 returns EBUSY
      Btrfs: correct error-handling zlib error handling
      Btrfs: remove superfluous NULL pointer check in btrfs_rename()
      Btrfs: make sure the async caching thread advances the key
      Btrfs: fix btrfs_remove_from_free_space corner case

commit fb385003c4ac9634cf2448f6ded81e5fd1190c1f
Merge: 36b8659f9316b24c514a7c8290596b2382b91dd2 b36ec0428a06fcbdb67d61e9e664154e5dd9a8c7
Author: Linus Torvalds <torvalds at linux-foundation.org>
Date:   Fri Aug 7 18:53:44 2009 -0700

    Merge git://git.kernel.org/pub/scm/linux/kernel/git/hch/xfs-icache-races
    
    * git://git.kernel.org/pub/scm/linux/kernel/git/hch/xfs-icache-races:
      xfs: fix freeing of inodes not yet added to the inode cache
      vfs: add __destroy_inode
      vfs: fix inode_init_always calling convention

commit 749d00dbf154fc2f9ac59df669205039de0d5b45
Author: Roel Kluin <roel.kluin at gmail.com>
Date:   Fri Aug 7 21:00:10 2009 +0200

    Staging: rspiusb: Fix buffer overflow
    
    usb_buffer_map_sg() may return -1. This will result in a read from
    pdx->PixelUrb[frameInfo][-1]
    
    Signed-off-by: Roel Kluin <roel.kluin at gmail.com>
    Signed-off-by: Greg Kroah-Hartman <gregkh at suse.de>

commit 5fb4d2525b6dcffbb8bc26a7dfc7ed17ad323a06
Author: Jeff Mahoney <jeffm at suse.com>
Date:   Fri Aug 7 16:12:03 2009 -0700

    staging: add dependencies on PCI for drivers that require it
    
    This patch adds PCI dependencies to staging drivers that require it.
    
    Signed-off-by: Jeff Mahoney <jeffm at suse.com>
    Signed-off-by: Greg Kroah-Hartman <gregkh at suse.de>

commit ce9c010c5c39df05ed81a06aba492c45ee0c6f19
Author: Greg Kroah-Hartman <gregkh at suse.de>
Date:   Tue Aug 4 16:53:36 2009 -0700

    Staging: rtl8192su: fix build error
    
    This fixes a build error when selecting the rtl8192su driver as a
    module.  This has been reported by me, and the opensuse kernel developer
    team, and I finally tracked it down.
    
    Signed-off-by: Greg Kroah-Hartman <gregkh at suse.de>

commit 2c63abf9e8a51dec886da482dfd8ae752581a61c
Author: Mike Galbraith <efault at gmx.de>
Date:   Fri Jul 31 07:14:04 2009 +0200

    Staging: rt2870: Revert d44ca7 Removal of kernel_thread() API
    
    Staging: rt2870: Revert d44ca7 Removal of kernel_thread() API
    
    The sanity check this patch introduced triggers on shutdown, apparently due to
    threads having already exited by the time BUG_ON() is reached.
    
    Signed-off-by: Mike Galbraith <efault at gmx.de>
    Cc: Peter Teoh <htmldeveloper at gmail.com>
    Cc: stable <stable at kernel.org>
    Signed-off-by: Greg Kroah-Hartman <gregkh at suse.de>

commit 4d2da07bc876fc5bc455e0721df388a3db7e4ba5
Author: Jakob Gruber <jakob.gruber at kabelnet.at>
Date:   Thu Jul 30 20:37:36 2009 +0200

    Staging: rt2870: Add USB ID for Linksys, Planex Communications, Belkin
    
    Linksys WUSB100, Belkin F5D8053 N, Planex Communications unknown model.
    
    Signed-off-by: Jakob Gruber <jakob.gruber at kabelnet.at>
    Signed-off-by: Greg Kroah-Hartman <gregkh at suse.de>

commit cf7fdd57f978d40ceb9a0f58a25f5cf9c84d6f33
Author: Oliver Neukum <oliver at neukum.org>
Date:   Tue Aug 4 23:52:09 2009 +0200

    USB: fix oops on disconnect in cdc-acm
    
    This patch fixes an oops caused when during an unplug a device's table
    of endpoints is zeroed before the driver is notified. A pointer to
    the endpoint must be cached.
    
    this fixes a regression caused by commit
    5186ffee2320942c3dc9745f7930e0eb15329ca6
    Therefore it should go into 2.6.31
    
    Signed-off-by: Oliver Neukum <oliver at neukum.org>
    Signed-off-by: Greg Kroah-Hartman <gregkh at suse.de>

commit c15e3ca1d822abba78c00b1ffc3e7b382a50396e
Author: Rogerio Brito <rbrito at ime.usp.br>
Date:   Thu Aug 6 15:20:19 2009 -0700

    USB: storage: include Prolific Technology USB drive in unusual_devs list
    
    Add a quirk entry for the Leading Driver UD-11 usb flash drive.
    
    As Alan Stern told me, the device doesn't deal correctly with the
    locking media feature of the device, and this patch incorporates it.
    
    Compiled, tested, working.
    
    Signed-off-by: Rogerio Brito <rbrito at ime.usp.br>
    Cc: Phil Dibowitz <phil at ipom.com>
    Cc: Alan Stern <stern at rowland.harvard.edu>
    Cc: Robert Hancock <hancockrwd at gmail.com>
    Cc: stable <stable at kernel.org>
    Signed-off-by: Andrew Morton <akpm at linux-foundation.org>
    Signed-off-by: Greg Kroah-Hartman <gregkh at suse.de>

commit 50d0678e2026c18e4147f0b16b5853113659b82d
Author: Dhaval Vasa <dhaval.vasa at einfochips.com>
Date:   Fri Aug 7 17:26:49 2009 +0530

    USB: ftdi_sio: add product_id for Marvell OpenRD Base, Client
    
    reference:
    http://www.open-rd.org
    
    Signed-off-by: Dhaval Vasa <dhaval.vasa at einfochips.com>
    Cc: stable <stable at kernel.org>
    Signed-off-by: Greg Kroah-Hartman <gregkh at suse.de>

commit c47aacc67a3d26dfab9c9b8965975ed2b2010b30
Author: Marko Hänninen <bugitus at gmail.com>
Date:   Fri Jul 31 22:32:39 2009 +0300

    USB: ftdi_sio: add vendor and product id for Bayer glucose meter serial converter cable
    
    Attached patch adds USB vendor and product IDs for Bayer's USB to serial
    converter cable used by Bayer blood glucose meters. It seems to be a
    FT232RL based device and works without any problem with ftdi_sio driver
    when this patch is applied. See: http://winglucofacts.com/cables/
    
    
    Signed-off-by: Marko Hänninen <bugitus at gmail.com>
    Cc: stable <stable at kernel.org>
    Signed-off-by: Greg Kroah-Hartman <gregkh at suse.de>

commit ef4638f955f2c4a667c8af20769d03f5ed3781ca
Author: Alan Stern <stern at rowland.harvard.edu>
Date:   Fri Jul 31 10:41:40 2009 -0400

    USB: EHCI: fix counting of transaction error retries
    
    This patch (as1274) simplifies the counting of transaction-error
    retries.  Now we will count up from 0 to QH_XACTERR_MAX instead of
    down from QH_XACTERR_MAX to 0.
    
    The patch also fixes a small bug: qh->xacterr was not getting
    initialized for interrupt endpoints.
    
    Signed-off-by: Alan Stern <stern at rowland.harvard.edu>
    Tested-by: Matthijs Kooijman <matthijs at stdin.nl>
    Signed-off-by: Greg Kroah-Hartman <gregkh at suse.de>

commit 7a0f0d951273eee889c2441846842348ebc00a2a
Author: Alan Stern <stern at rowland.harvard.edu>
Date:   Fri Jul 31 10:40:22 2009 -0400

    USB: EHCI: fix two new bugs related to Clear-TT-Buffer
    
    This patch (as1273) fixes two(!) bugs introduced by the new
    Clear-TT-Buffer implementation in ehci-hcd.
    
    	It is now possible for an idle QH to have some URBs on its
    	queue -- this will happen if a Clear-TT-Buffer is pending for
    	the QH's endpoint.  Consequently we should not issue a warning
    	when someone tries to unlink an URB from an idle QH; instead
    	we should process the request immediately.
    
    	The refcounts for QHs could get messed up, because
    	submit_async() would increment the refcount when calling
    	qh_link_async() and qh_link_async() would then refuse to link
    	the QH into the schedule if a Clear-TT-Buffer was pending.
    	Instead we should increment the refcount only when the QH
    	actually is added to the schedule.  The current code tries to
    	be clever by leaving the refcount alone if an unlink is
    	immediately followed by a relink; the patch changes this to an
    	unconditional decrement and increment (although they occur in
    	the opposite order).
    
    Signed-off-by: Alan Stern <stern at rowland.harvard.edu>
    CC: David Brownell <david-b at pacbell.net>
    Tested-by: Manuel Lauss <manuel.lauss at gmail.com>
    Tested-by: Matthijs Kooijman <matthijs at stdin.nl>
    Signed-off-by: Greg Kroah-Hartman <gregkh at suse.de>

commit 01105a246345f011fde64d24a601090b646e9e4c
Author: Alan Stern <stern at rowland.harvard.edu>
Date:   Thu Jul 30 15:28:14 2009 -0400

    USB: usbfs: fix -ENOENT error code to be -ENODEV
    
    This patch (as1272) changes the error code returned when an open call
    for a USB device node fails to locate the corresponding device.  The
    appropriate error code is -ENODEV, not -ENOENT.
    
    Signed-off-by: Alan Stern <stern at rowland.harvard.edu>
    CC: Kay Sievers <kay.sievers at vrfy.org>
    Cc: stable <stable at kernel.org>
    Signed-off-by: Greg Kroah-Hartman <gregkh at suse.de>

commit e8e2ff462dd92693f29eb848f42d3eb720390d59
Author: Gupta, Ajay Kumar <ajay.gupta at ti.com>
Date:   Wed Jul 29 11:58:57 2009 +0530

    USB: musb: fix the nop registration for OMAP3EVM
    
    OMAP3EVM uses ISP1504 phy which doesn't require any programming and
    thus has to use NOP otg transceiver.
    
    Cleanups being done:
    	- Remove unwanted code in usb-musb.c file
    	- Register NOP in OMAP3EVM board file using
    	  usb_nop_xceiv_register().
    	- Select NOP_USB_XCEIV for OMAP3EVM boards.
    	- Don't enable TWL4030_USB in omap3_evm_defconfig
    
    Signed-off-by: Ajay Kumar Gupta <ajay.gupta at ti.com>
    Signed-off-by: Eino-Ville Talvala <talvala at stanford.edu>
    Acked-by: David Brownell <dbrownell at users.sourceforge.net>
    Signed-off-by: Greg Kroah-Hartman <gregkh at suse.de>

commit 18753ebc8a98efe0e8ff6167afb31cef220c8e50
Author: Michael Buesch <mb at bu3sch.de>
Date:   Wed Jul 29 11:39:03 2009 +0200

    USB: devio: Properly do access_ok() checks
    
    access_ok() checks must be done on every part of the userspace structure
    that is accessed. If access_ok() on one part of the struct succeeded, it
    does not imply it will succeed on other parts of the struct. (Does
    depend on the architecture implementation of access_ok()).
    
    This changes the __get_user() users to first check access_ok() on the
    data structure.
    
    Signed-off-by: Michael Buesch <mb at bu3sch.de>
    Cc: stable <stable at kernel.org>
    Cc: Pete Zaitcev <zaitcev at redhat.com>
    Signed-off-by: Greg Kroah-Hartman <gregkh at suse.de>

commit 49276560c9004fce24c42e3c0ad75f34d956fc63
Author: Khanh-Dang Nguyen Thu Lam <kdntl at yahoo.fr>
Date:   Tue Jul 28 19:41:17 2009 +0200

    USB: pl2303: New vendor and product id
    
    I am submitting a patch for the pl2303 driver.  This patch adds support
    for the "Sony QN-3USB" cable (vendor=0x054c, product=0x0437).  This USB
    cable is a so-called data cable used to connect a Sony mobile phone to a
    computer.  Supported models are Sony CMD-J5, J6, J7, J16, J26, J70 and
    Z7.
    
    I have used this patch with my Sony CMD-J70 for several days and I
    haven't encountered any kernel/hardware issue.
    
    
    From: Khanh-Dang Nguyen Thu Lam <kdntl at yahoo.fr>
    Signed-off-by: Greg Kroah-Hartman <gregkh at suse.de>

commit 8a57a9dda760ea7845390f1cd36f3eb2a49391d8
Author: Roel Kluin <roel.kluin at gmail.com>
Date:   Thu Aug 6 16:07:50 2009 -0700

    ocfs2: keep index within status_map[]
    
    Do not exceed array status_map[]
    
    Signed-off-by: Roel Kluin <roel.kluin at gmail.com>
    Cc: Mark Fasheh <mfasheh at suse.com>
    Signed-off-by: Andrew Morton <akpm at linux-foundation.org>
    Signed-off-by: Joel Becker <joel.becker at oracle.com>

commit e7432675f8ca868a4af365759a8d4c3779a3d922
Author: Sunil Mushran <sunil.mushran at oracle.com>
Date:   Thu Aug 6 16:12:58 2009 -0700

    ocfs2: Initialize the cluster we're writing to in a non-sparse extend
    
    In a non-sparse extend, we correctly allocate (and zero) the clusters between
    the old_i_size and pos, but we don't zero the portions of the cluster we're
    writing to outside of pos<->len.
    
    It handles clustersize > pagesize and blocksize < pagesize.
    
    [Cleaned up by Joel Becker.]
    
    Signed-off-by: Sunil Mushran <sunil.mushran at oracle.com>
    Signed-off-by: Joel Becker <joel.becker at oracle.com>

commit ceab36edd3d3ad3ffd01d41d6d1e05ac1ff8357e
Author: Yan Zheng <zheng.yan at oracle.com>
Date:   Fri Aug 7 13:51:33 2009 -0400

    Btrfs: fix balancing oops when invalidate_inode_pages2 returns EBUSY
    
    invalidate_inode_pages2_range may return -EBUSY occasionally
    which results Oops. This patch fixes the issue by moving
    invalidate_inode_pages2_range into a loop and keeping calling
    it until the return value is not -EBUSY.
    
    The EBUSY return is temporary, and can happen when the btrfs release page
    function is unable to release a page because the EXTENT_LOCK
    bit is set.
    
    Signed-off-by: Yan Zheng <zheng.yan at oracle.com>
    Signed-off-by: Chris Mason <chris.mason at oracle.com>

commit 60f2e8f8a07331097a57ec4abcdc680405579377
Author: Julia Lawall <julia at diku.dk>
Date:   Fri Aug 7 13:51:33 2009 -0400

    Btrfs: correct error-handling zlib error handling
    
    find_zlib_workspace returns an ERR_PTR value in an error case instead of NULL.
    
    A simplified version of the semantic match that finds this problem is as
    follows: (http://coccinelle.lip6.fr/)
    
    // <smpl>
    @match exists@
    expression x, E;
    statement S1, S2;
    @@
    
    x = find_zlib_workspace(...)
    ... when != x = E
    (
    *  if (x == NULL || ...) S1 else S2
    |
    *  if (x == NULL && ...) S1 else S2
    )
    // </smpl>
    
    Signed-off-by: Julia Lawall <julia at diku.dk>
    Signed-off-by: Chris Mason <chris.mason at oracle.com>

commit 4baf8c9201e88546918cbfa61ea8062c38bc1644
Author: Bartlomiej Zolnierkiewicz <bzolnier at gmail.com>
Date:   Fri Aug 7 13:47:08 2009 -0400

    Btrfs: remove superfluous NULL pointer check in btrfs_rename()
    
    This takes care of the following entry from Dan's list:
    
    fs/btrfs/inode.c +4788 btrfs_rename(36) warning: variable derefenced before check 'old_inode'
    
    Reported-by: Dan Carpenter <error27 at gmail.com>
    Cc: Jonathan Corbet <corbet at lwn.net>
    Cc: Eugene Teo <eteo at redhat.com>
    Cc: Julia Lawall <julia at diku.dk>
    Signed-off-by: Bartlomiej Zolnierkiewicz <bzolnier at gmail.com>
    Signed-off-by: Chris Mason <chris.mason at oracle.com>

commit 36b8659f9316b24c514a7c8290596b2382b91dd2
Merge: cba8784ae0a9f7d0f1f87e0607e7ae66fc45666c c0c60c4b9ab45bb02b20796401dd6a90770fd0ee
Author: Linus Torvalds <torvalds at linux-foundation.org>
Date:   Fri Aug 7 10:46:51 2009 -0700

    Merge master.kernel.org:/home/rmk/linux-2.6-arm
    
    * master.kernel.org:/home/rmk/linux-2.6-arm: (30 commits)
      ARM: 5639/1: arm: clkdev.c should include <linux/clk.h>
      ARM: 5638/1: arch/arm/kernel/signal.c: use correct address space for CRUNCH
      ARM: 5637/1: [KS8695] Don't reference CLOCK_TICK_RATE in drivers
      ARM: S3C64XX: serial: Fix section mismatch warning
      ARM: S3C24XX: serial: Fix section mismatch warnings
      ARM: S3C: PWM fix for low duty cycle
      ARM: 5597/1: [PCI] reset all internal hardware prior PCI initialization
      ARM: 5627/1: Fix restoring of lr at the end of mcount
      ARM: 5624/1: Document cache aliasing region
      S3C64XX: Fix ARMCLK configuration
      S3C64XX: Fix get_rate() for ARMCLK
      S3C24XX: GPIO: Fix pin range check in s3c_gpiolib_getchip
      mx3 defconfig update
      mx27 defconfig update
      ARM: 5623/1: Treo680: ir shutdown typo fix
      ARM: includecheck fix: plat-stmp3xxx/pinmux.c
      ARM: includecheck fix: plat-s3c64xx/pm.c
      ARM: includecheck fix: mach-omap2/mcbsp.c
      ARM: includecheck fix: mach-omap1/mcbsp.c
      ARM: includecheck fix: board-sffsdr.c
      ...

commit cba8784ae0a9f7d0f1f87e0607e7ae66fc45666c
Merge: 9cf9d28e9bf991af21fc4bbf33281b66843b094b 0bf52b981770cbf006323bab5177f2858a196766
Author: Linus Torvalds <torvalds at linux-foundation.org>
Date:   Fri Aug 7 10:46:27 2009 -0700

    Merge git://git.kernel.org/pub/scm/linux/kernel/git/davem/net-2.6
    
    * git://git.kernel.org/pub/scm/linux/kernel/git/davem/net-2.6:
      net: Fix spinlock use in alloc_netdev_mq()

commit 9cf9d28e9bf991af21fc4bbf33281b66843b094b
Merge: ff1649ff780fb7c0bfbf42d05ffc9b56336b9aa3 53cb780adbe69df90c8dc23e992ce40455e687c3
Author: Linus Torvalds <torvalds at linux-foundation.org>
Date:   Fri Aug 7 10:46:09 2009 -0700

    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] KVM: Read buffer overflow
      [S390] kernel: Storing machine flags early in lowcore

commit ff1649ff780fb7c0bfbf42d05ffc9b56336b9aa3
Merge: da758ddede96dd850945d3417ff75209a666ba0d c5b1525533c484238015c48c78f86d49a1bfb86b
Author: Linus Torvalds <torvalds at linux-foundation.org>
Date:   Fri Aug 7 10:44:11 2009 -0700

    Merge git://git.infradead.org/~dwmw2/iommu-2.6.31
    
    * git://git.infradead.org/~dwmw2/iommu-2.6.31:
      intel-iommu: Fix enabling snooping feature by mistake
      intel-iommu: Mask physical address to correct page size in intel_map_single()
      intel-iommu: Correct sglist size calculation.

commit da758ddede96dd850945d3417ff75209a666ba0d
Merge: 389623fef0e8b088f293c437d3b7094fe82349fd 1054598cab8674438675085fae459e960eb10799
Author: Linus Torvalds <torvalds at linux-foundation.org>
Date:   Fri Aug 7 10:43:07 2009 -0700

    Merge branch 'perfcounters-fixes-for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/tip/linux-2.6-tip
    
    * 'perfcounters-fixes-for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/tip/linux-2.6-tip:
      perf_counter: Fix double list iteration in per task precise stats
      perf: Auto-detect libelf
      perf symbol: Fix symbol parsing in certain cases: use the build-id as a symlink
      perf_counter/powerpc: Check oprofile_cpu_type for NULL before using it
      ftrace: Fix perf-tracepoint OOPS
      perf report: Add missing command line options to man page
      perf: Auto-detect libbfd
      perf report: Make --sort comm,dso,symbol the default

commit 389623fef0e8b088f293c437d3b7094fe82349fd
Merge: 385861206c21364c01dcfdda5064643ce111d517 57ca7deb062abf56168d15f000c16e25f88a9cf3
Author: Linus Torvalds <torvalds at linux-foundation.org>
Date:   Fri Aug 7 10:42:31 2009 -0700

    Merge git://git.infradead.org/mtd-2.6
    
    * git://git.infradead.org/mtd-2.6:
      jffs2: Fix return value from jffs2_do_readpage_nolock()
      mtd: mtdblock: introduce mtdblks_lock
      mtd: remove 'SBC8240 Wind River' Device Driver Code
      mtd: OneNAND: OMAP2/3: free GPMC CS on module removal
      mtd: OneNAND: fix incorrect bufferram offset
      mtd: blkdevs: do not forget to get MTD devices
      mtd: fix the conversion from dev to mtd_info
      mtd: let include/linux/mtd/partitions.h stand on its own

commit 385861206c21364c01dcfdda5064643ce111d517
Merge: 131f7340b4f93f9a4a8e5a65abbd352b34d0ee08 d82f1c35348cebe2fb2d4a4d31ce0ab0769e3d93
Author: Linus Torvalds <torvalds at linux-foundation.org>
Date:   Fri Aug 7 10:42:14 2009 -0700

    Merge branch 'for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/dtor/input
    
    * 'for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/dtor/input:
      Input: matrix_keypad - make matrix keymap size dynamic
      Input: wistron_btns - support Prestigio Wifi RF kill button
      Input: i8042 - add Asus G1S to noloop exception list

commit 131f7340b4f93f9a4a8e5a65abbd352b34d0ee08
Merge: 3440625d78711bee41a84cf29c3d8c579b522666 17332925d7b11bb6c2d0c49450ae58dd836005da
Author: Linus Torvalds <torvalds at linux-foundation.org>
Date:   Fri Aug 7 10:41:36 2009 -0700

    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:
      drm/radeon/kms: setup MC/VRAM the same way for suspend/resume
      drm/radeon/kms: Fix caching mode selection for GTT object

commit 3440625d78711bee41a84cf29c3d8c579b522666
Author: Linus Torvalds <torvalds at linux-foundation.org>
Date:   Thu Aug 6 15:09:34 2009 -0700

    flat: fix uninitialized ptr with shared libs
    
    The new credentials code broke load_flat_shared_library() as it now uses
    an uninitialized cred pointer.
    
    Reported-by: Bernd Schmidt <bernds_cb1 at t-online.de>
    Tested-by: Bernd Schmidt <bernds_cb1 at t-online.de>
    Cc: Mike Frysinger <vapier at gentoo.org>
    Cc: David Howells <dhowells at redhat.com>
    Cc: <stable at kernel.org>
    Signed-off-by: Andrew Morton <akpm at linux-foundation.org>
    Signed-off-by: Linus Torvalds <torvalds at linux-foundation.org>

commit 9e5cf0ca2e9b65110ae5f094d7f0f7165cd1bbbb
Author: Albin Tonnerre <albin.tonnerre at free-electrons.com>
Date:   Thu Aug 6 15:09:32 2009 -0700

    lib/decompress_*: only include <linux/slab.h> if STATIC is not defined
    
    These includes were added by 079effb6933f34b9b1b67b08bd4fd7fb672d16ef
    ("kmemtrace, kbuild: fix slab.h dependency problem in
    lib/decompress_inflate.c") to fix the build when using kmemtrace.  However
    this is not necessary when used to create a compressed kernel, and
    actually creates issues (brings a lot of things unavailable in the
    decompression environment), so don't include it if STATIC is defined.
    
    Signed-off-by: Albin Tonnerre <albin.tonnerre at free-electrons.com>
    Cc: Sam Ravnborg <sam at ravnborg.org>
    Cc: Russell King <rmk at arm.linux.org.uk>
    Cc: Ingo Molnar <mingo at elte.hu>
    Cc: Thomas Gleixner <tglx at linutronix.de>
    Cc: "H. Peter Anvin" <hpa at zytor.com>
    Cc: Pekka Enberg <penberg at cs.helsinki.fi>
    Cc: Eduard - Gabriel Munteanu <eduard.munteanu at linux360.ro>
    Cc: Phillip Lougher <phillip at lougher.demon.co.uk>
    Signed-off-by: Andrew Morton <akpm at linux-foundation.org>
    Signed-off-by: Linus Torvalds <torvalds at linux-foundation.org>

commit b1af4315d823a2b6659c5b14bc17f7bc61878ef4
Author: Phillip Lougher <phillip at lougher.demon.co.uk>
Date:   Thu Aug 6 15:09:31 2009 -0700

    bzip2/lzma: remove nasty uncompressed size hack in pre-boot environment
    
    decompress_bunzip2 and decompress_unlzma have a nasty hack that subtracts
    4 from the input length if being called in the pre-boot environment.
    
    This is a nasty hack because it relies on the fact that flush = NULL only
    when called from the pre-boot environment (i.e.
    arch/x86/boot/compressed/misc.c).  initramfs.c/do_mounts_rd.c pass in a
    flush buffer (flush != NULL).
    
    This hack prevents the decompressors from being used with flush = NULL by
    other callers unless knowledge of the hack is propagated to them.
    
    This patch removes the hack by making decompress (called only from the
    pre-boot environment) a wrapper function that subtracts 4 from the input
    length before calling the decompressor.
    
    Signed-off-by: Phillip Lougher <phillip at lougher.demon.co.uk>
    Cc: "H. Peter Anvin" <hpa at zytor.com>
    Signed-off-by: Andrew Morton <akpm at linux-foundation.org>
    Signed-off-by: Linus Torvalds <torvalds at linux-foundation.org>

commit daeb6b6fbe27049f465c48a7d0ee5555c3b84064
Author: Phillip Lougher <phillip at lougher.demon.co.uk>
Date:   Thu Aug 6 15:09:30 2009 -0700

    bzip2/lzma/gzip: fix comments describing decompressor API
    
    Fix and improve comments in decompress/generic.h that describe the
    decompressor API.  Also remove an unused definition, and rename INBUF_LEN
    in lib/decompress_inflate.c to conform to bzip2/lzma naming.
    
    Signed-off-by: Phillip Lougher <phillip at lougher.demon.co.uk>
    Cc: "H. Peter Anvin" <hpa at zytor.com>
    Signed-off-by: Andrew Morton <akpm at linux-foundation.org>
    Signed-off-by: Linus Torvalds <torvalds at linux-foundation.org>

commit 9c8a8228d0827e0d91d28527209988f672f97d28
Author: Eric Dumazet <eric.dumazet at gmail.com>
Date:   Thu Aug 6 15:09:28 2009 -0700

    execve: must clear current->clear_child_tid
    
    While looking at Jens Rosenboom bug report
    (http://lkml.org/lkml/2009/7/27/35) about strange sys_futex call done from
    a dying "ps" program, we found following problem.
    
    clone() syscall has special support for TID of created threads.  This
    support includes two features.
    
    One (CLONE_CHILD_SETTID) is to set an integer into user memory with the
    TID value.
    
    One (CLONE_CHILD_CLEARTID) is to clear this same integer once the created
    thread dies.
    
    The integer location is a user provided pointer, provided at clone()
    time.
    
    kernel keeps this pointer value into current->clear_child_tid.
    
    At execve() time, we should make sure kernel doesnt keep this user
    provided pointer, as full user memory is replaced by a new one.
    
    As glibc fork() actually uses clone() syscall with CLONE_CHILD_SETTID and
    CLONE_CHILD_CLEARTID set, chances are high that we might corrupt user
    memory in forked processes.
    
    Following sequence could happen:
    
    1) bash (or any program) starts a new process, by a fork() call that
       glibc maps to a clone( ...  CLONE_CHILD_SETTID | CLONE_CHILD_CLEARTID
       ...) syscall
    
    2) When new process starts, its current->clear_child_tid is set to a
       location that has a meaning only in bash (or initial program) context
       (&THREAD_SELF->tid)
    
    3) This new process does the execve() syscall to start a new program.
       current->clear_child_tid is left unchanged (a non NULL value)
    
    4) If this new program creates some threads, and initial thread exits,
       kernel will attempt to clear the integer pointed by
       current->clear_child_tid from mm_release() :
    
            if (tsk->clear_child_tid
                && !(tsk->flags & PF_SIGNALED)
                && atomic_read(&mm->mm_users) > 1) {
                    u32 __user * tidptr = tsk->clear_child_tid;
                    tsk->clear_child_tid = NULL;
    
                    /*
                     * We don't check the error code - if userspace has
                     * not set up a proper pointer then tough luck.
                     */
    << here >>      put_user(0, tidptr);
                    sys_futex(tidptr, FUTEX_WAKE, 1, NULL, NULL, 0);
            }
    
    5) OR : if new program is not multi-threaded, but spied by /proc/pid
       users (ps command for example), mm_users > 1, and the exiting program
       could corrupt 4 bytes in a persistent memory area (shm or memory mapped
       file)
    
    If current->clear_child_tid points to a writeable portion of memory of the
    new program, kernel happily and silently corrupts 4 bytes of memory, with
    unexpected effects.
    
    Fix is straightforward and should not break any sane program.
    
    Reported-by: Jens Rosenboom <jens at mcbone.net>
    Acked-by: Linus Torvalds <torvalds at linux-foundation.org>
    Signed-off-by: Eric Dumazet <eric.dumazet at gmail.com>
    Signed-off-by: Oleg Nesterov <oleg at redhat.com>
    Cc: Peter Zijlstra <peterz at infradead.org>
    Cc: Sonny Rao <sonnyrao at us.ibm.com>
    Cc: Ingo Molnar <mingo at elte.hu>
    Cc: Thomas Gleixner <tglx at linutronix.de>
    Cc: Ulrich Drepper <drepper at redhat.com>
    Cc: Oleg Nesterov <oleg at redhat.com>
    Cc: <stable at kernel.org>
    Signed-off-by: Andrew Morton <akpm at linux-foundation.org>
    Signed-off-by: Linus Torvalds <torvalds at linux-foundation.org>

commit 2198a64a7487aba036f71998ade8a6528070d32c
Author: Julia Lawall <julia at diku.dk>
Date:   Thu Aug 6 15:07:41 2009 -0700

    drivers/mmc: correct error-handling code
    
    sdhci_alloc_host returns an ERR_PTR value in an error case instead of NULL.
    
    A simplified version of the semantic match that finds this problem is as
    follows: (http://coccinelle.lip6.fr/)
    
    // <smpl>
    @match exists@
    expression x, E;
    statement S1, S2;
    @@
    
    x = sdhci_alloc_host(...)
    ... when != x = E
    (
    *  if (x == NULL || ...) S1 else S2
    |
    *  if (x == NULL && ...) S1 else S2
    )
    // </smpl>
    
    Signed-off-by: Julia Lawall <julia at diku.dk>
    Acked-by: Anton Vorontsov <avorontsov at ru.mvista.com>
    Cc: Matt Fleming <matt at console-pimps.org>
    Cc: Ian Molton <ian at mnementh.co.uk>
    Cc: "Roberto A. Foglietta" <roberto.foglietta at gmail.com>
    Cc: Philip Langdale <philipl at overt.org>
    Cc: Pierre Ossman <pierre at ossman.eu>
    Signed-off-by: Andrew Morton <akpm at linux-foundation.org>
    Signed-off-by: Linus Torvalds <torvalds at linux-foundation.org>

commit 20de03dae54e10271ffd308654dfb4a117f4789d
Author: Guennadi Liakhovetski <g.liakhovetski at gmx.de>
Date:   Thu Aug 6 15:07:40 2009 -0700

    i.MX31: fix framebuffer locking regressions
    
    Recent framebuffer locking patches first made affected systems unbootable,
    then the dead-lock has been fixed but as of 2.6.31-rc4 the framebuffer on
    mx3 machines doesn't work. Fix this.
    
    Signed-off-by: Guennadi Liakhovetski <g.liakhovetski at gmx.de>
    Cc: Sascha Hauer <s.hauer at pengutronix.de>
    Cc: Krzysztof Helt <krzysztof.h1 at poczta.fm>
    Signed-off-by: Andrew Morton <akpm at linux-foundation.org>
    Signed-off-by: Linus Torvalds <torvalds at linux-foundation.org>

commit 2d8dd38a5aa0cc2490bbad9b75e77fa154e1d145
Author: OGAWA Hirofumi <hirofumi at mail.parknet.co.jp>
Date:   Thu Aug 6 15:07:39 2009 -0700

    vfs: mnt_want_write_file(): fix special file handling
    
    I suspect that mnt_want_write_file() may have wrong assumption.  I think
    mnt_want_write_file() is assuming it increments ->mnt_writers if
    (file->f_mode & FMODE_WRITE).  But, if it's special_file(), it is false?
    
    Signed-off-by: OGAWA Hirofumi <hirofumi at mail.parknet.co.jp>
    Acked-by: Dave Hansen <dave at linux.vnet.ibm.com>
    Cc: Al Viro <viro at zeniv.linux.org.uk>
    Cc: Nick Piggin <nickpiggin at yahoo.com.au>
    Signed-off-by: Andrew Morton <akpm at linux-foundation.org>
    Signed-off-by: Linus Torvalds <torvalds at linux-foundation.org>

commit 69130c7cf96ea853dc5be599dd6a4b98907d39cc
Author: Eric Sandeen <sandeen at redhat.com>
Date:   Thu Aug 6 15:07:37 2009 -0700

    compat_ioctl: hook up compat handler for FIEMAP ioctl
    
    The FIEMAP_IOC_FIEMAP mapping ioctl was missing a 32-bit compat handler,
    which means that 32-bit suerspace on 64-bit kernels cannot use this ioctl
    command.
    
    The structure is nicely aligned, padded, and sized, so it is just this
    simple.
    
    Tested w/ 32-bit ioctl tester (from Josef) on a 64-bit kernel on ext4.
    
    Signed-off-by: Eric Sandeen <sandeen at redhat.com>
    Cc: <linux-ext4 at vger.kernel.org>
    Cc: Mark Lord <lkml at rtr.ca>
    Cc: Arnd Bergmann <arnd at arndb.de>
    Cc: Josef Bacik <josef at redhat.com>
    Cc: Jan Kara <jack at suse.cz>
    Cc: <stable at kernel.org>
    Signed-off-by: Andrew Morton <akpm at linux-foundation.org>
    Signed-off-by: Linus Torvalds <torvalds at linux-foundation.org>

commit 0035fe00f77d2b0a1a2d001f7442136d1ec5aefa
Author: Johannes Weiner <hannes at cmpxchg.org>
Date:   Thu Aug 6 15:07:36 2009 -0700

    fbcon: don't use vc_resize() on initialization
    
    Catalin and kmemleak spotted a leak of a VC screen buffer in
    vc_allocate() due to the following chain of events:
    
    	vc_allocate()
    	  visual_init(init=1)
    	    vc->vc_sw->con_init(init=1)
                  fbcon_init()
    	        vc_resize()
    	          vc->screen_buf = kmalloc()
    	  vc->screen_buf = kmalloc()
    
    The common way for the VC drivers is to set the screen dimension
    parameters manually in the init case and only call vc_resize() for
    !init - which allocates a screen buffer according to the new
    dimensions.
    
    fbcon instead would do vc_resize() unconditionally and afterwards set
    the dimensions manually (again) for !init - i.e. completely upside
    down.  The vc_resize() allocated buffer would then get lost by
    vc_allocate() allocating a fresh one.
    
    Use vc_resize() only for actual resizing to close the leak.
    
    Set the dimensions manually only in initialization mode to remove the
    redundant setting in resize mode.
    
    The kmemleak trace from Catalin:
    
    unreferenced object 0xde158000 (size 12288):
      comm "Xorg", pid 1439, jiffies 4294961016
      hex dump (first 32 bytes):
        20 00 20 00 20 00 20 00 20 00 20 00 20 00 20 00   . . . . . . . .
        20 00 20 00 20 00 20 00 20 00 20 00 20 00 20 00   . . . . . . . .
      backtrace:
        [<c006f74b>] __save_stack_trace+0x17/0x1c
        [<c006f81d>] create_object+0xcd/0x188
        [<c01f5457>] kmemleak_alloc+0x1b/0x3c
        [<c006e303>] __kmalloc+0xdb/0xe8
        [<c012cc4b>] vc_do_resize+0x73/0x1e0
        [<c012cdf1>] vc_resize+0x15/0x18
        [<c011afc1>] fbcon_init+0x1f9/0x2b8
        [<c0129e87>] visual_init+0x9f/0xdc
        [<c012aff3>] vc_allocate+0x7f/0xfc
        [<c012b087>] con_open+0x17/0x80
        [<c0120e43>] tty_open+0x1f7/0x2e4
        [<c0072fa1>] chrdev_open+0x101/0x118
        [<c006ffad>] __dentry_open+0x105/0x1cc
        [<c00700fd>] nameidata_to_filp+0x2d/0x38
        [<c00788cd>] do_filp_open+0x2c1/0x54c
        [<c006fdff>] do_sys_open+0x3b/0xb4
    
    Reported-by: Catalin Marinas <catalin.marinas at arm.com>
    Signed-off-by: Johannes Weiner <hannes at cmpxchg.org>
    Tested-by: Catalin Marinas <catalin.marinas at arm.com>
    Cc: Pekka Enberg <penberg at cs.helsinki.fi>
    Cc: Krzysztof Helt <krzysztof.h1 at poczta.fm>
    Tested-by: Dave Young <hidave.darkstar at gmail.com>
    Signed-off-by: Andrew Morton <akpm at linux-foundation.org>
    Signed-off-by: Linus Torvalds <torvalds at linux-foundation.org>

commit 521594442cc62d1c2af8436a05ab5918b7730b19
Author: Florian Tobias Schandinat <FlorianSchandinat at gmx.de>
Date:   Thu Aug 6 15:07:34 2009 -0700

    viafb: fix rmmod bug
    
    This fixes a bug caused by changing pointers (viafb_mode, viafb_mode1)
    assigned by module_param.  It reduces driver complexity by not needlessly
    changing these vars as they are only read once and removing now
    superfluous code.
    
    On unpatched kernels loading viafb with viafb_mode or viafb_mode1 option
    used and afterwards unloading it results in:
    
    kernel BUG at mm/slub.c:2926!
    invalid opcode: 0000 [#1] PREEMPT
    last sysfs file: /sys/devices/virtual/block/loop0/removable
    Modules linked in: snd_hda_codec_realtek snd_hda_intel snd_hda_codec
    snd_hwdep snd_pcm rtl8187 snd_timer eeprom_93cx6 mmc_block snd soundcore
    via_sdmmc fb snd_page_alloc i2c_algo_bit i2c_viapro ehci_hcd uhci_hcd
    cfbcopyarea mmc_core cfbimgblt cfbfillrect video output [last unloaded:
    viafb]
    
      Pid: 3355, comm: rmmod Not tainted (2.6.31-rc1 #0)
      EIP: 0060:[<c106a759>] EFLAGS: 00010246 CPU: 0
      EIP is at kfree+0x80/0xda
      EAX: c17c2da0 EBX: dc7edbdc ECX: 0000010f EDX: 00000000
      ESI: c102c700 EDI: dc7ed8fa EBP: d703ff2c ESP: d703ff20
       DS: 007b ES: 007b FS: 0000 GS: 0033 SS: 0068
      Process rmmod (pid: 3355, ti=d703e000 task=db1412c0 task.ti=d703e000)
      Stack:
       dc7edbdc 00000014 00000016 d703ff40 c102c700 dc7f45d4 dc7f45d4 00000880
       d703ff4c c103e571 00000000 d703ffac c103e751 66616976 da140062 db89ba80
       00000328 d702edf8 db89ba80 d703ff9c c105d0f0 00000200 da14f898 00000014
      Call Trace:
       [<c102c700>] ? destroy_params+0x1e/0x2b
       [<c103e571>] ? free_module+0xa2/0xd7
       [<c103e751>] ? sys_delete_module+0x1ab/0x1da
       [<c105d0f0>] ? do_munmap+0x20a/0x225
       [<c10029b4>] ? sysenter_do_call+0x12/0x26
      Code: 10 76 7a 8d 87 00 00 00 40 c1 e8 0c c1 e0 05 03 05 1c 87 41 c1 66 83 38 00 79 03 8b 40 0c 8b 10 84 d2 78 12 66 f7 c2 00 c0 75 04 <0f> 0b eb fe e8 6f 5a fe ff eb 47 8b 55 04 8b 58 0c 9c 5e fa 3b
      EIP: [<c106a759>] kfree+0x80/0xda SS:ESP 0068:d703ff20
    
    This is caused by the current code changing the pointers assigned by
    module_param.  During unload it tries to free the memory the pointers
    point at which is now part of an internal structure.
    
    The patch simply avoids changing the pointers.  This is okay as they are
    read only once during the initialization process.
    
    Signed-off-by: Florian Tobias Schandinat <FlorianSchandinat at gmx.de>
    Cc: Scott Fang <ScottFang at viatech.com.cn>
    Cc: Joseph Chan <JosephChan at via.com.tw>
    Signed-off-by: Andrew Morton <akpm at linux-foundation.org>
    Signed-off-by: Linus Torvalds <torvalds at linux-foundation.org>

commit 4bfc44958e499af9a73f62201543b3a1f617cfeb
Author: KAMEZAWA Hiroyuki <kamezawa.hiroyu at jp.fujitsu.com>
Date:   Thu Aug 6 15:07:33 2009 -0700

    mm: make set_mempolicy(MPOL_INTERLEAV) N_HIGH_MEMORY aware
    
    At first, init_task's mems_allowed is initialized as this.
     init_task->mems_allowed == node_state[N_POSSIBLE]
    
    And cpuset's top_cpuset mask is initialized as this
     top_cpuset->mems_allowed = node_state[N_HIGH_MEMORY]
    
    Before 2.6.29:
    policy's mems_allowed is initialized as this.
    
      1. update tasks->mems_allowed by its cpuset->mems_allowed.
      2. policy->mems_allowed = nodes_and(tasks->mems_allowed, user's mask)
    
    Updating task's mems_allowed in reference to top_cpuset's one.
    cpuset's mems_allowed is aware of N_HIGH_MEMORY, always.
    
    In 2.6.30: After commit 58568d2a8215cb6f55caf2332017d7bdff954e1c
    ("cpuset,mm: update tasks' mems_allowed in time"), policy's mems_allowed
    is initialized as this.
    
      1. policy->mems_allowd = nodes_and(task->mems_allowed, user's mask)
    
    Here, if task is in top_cpuset, task->mems_allowed is not updated from
    init's one.  Assume user excutes command as #numactrl --interleave=all
    ,....
    
      policy->mems_allowd = nodes_and(N_POSSIBLE, ALL_SET_MASK)
    
    Then, policy's mems_allowd can includes a possible node, which has no pgdat.
    
    MPOL's INTERLEAVE just scans nodemask of task->mems_allowd and access this
    directly.
    
      NODE_DATA(nid)->zonelist even if NODE_DATA(nid)==NULL
    
    Then, what's we need is making policy->mems_allowed be aware of
    N_HIGH_MEMORY.  This patch does that.  But to do so, extra nodemask will
    be on statck.  Because I know cpumask has a new interface of
    CPUMASK_ALLOC(), I added it to node.
    
    This patch stands on old behavior.  But I feel this fix itself is just a
    Band-Aid.  But to do fundametal fix, we have to take care of memory
    hotplug and it takes time.  (task->mems_allowd should be N_HIGH_MEMORY, I
    think.)
    
    mpol_set_nodemask() should be aware of N_HIGH_MEMORY and policy's nodemask
    should be includes only online nodes.
    
    In old behavior, this is guaranteed by frequent reference to cpuset's
    code.  Now, most of them are removed and mempolicy has to check it by
    itself.
    
    To do check, a few nodemask_t will be used for calculating nodemask.  But,
    size of nodemask_t can be big and it's not good to allocate them on stack.
    
    Now, cpumask_t has CPUMASK_ALLOC/FREE an easy code for get scratch area.
    NODEMASK_ALLOC/FREE shoudl be there.
    
    [akpm at linux-foundation.org: cleanups & tweaks]
    Tested-by: KOSAKI Motohiro <kosaki.motohiro at jp.fujitsu.com>
    Signed-off-by: KAMEZAWA Hiroyuki <kamezawa.hiroyu at jp.fujitsu.com>
    Cc: Miao Xie <miaox at cn.fujitsu.com>
    Cc: Ingo Molnar <mingo at elte.hu>
    Cc: Peter Zijlstra <a.p.zijlstra at chello.nl>
    Cc: Christoph Lameter <cl at linux-foundation.org>
    Cc: Paul Menage <menage at google.com>
    Cc: Nick Piggin <nickpiggin at yahoo.com.au>
    Cc: Yasunori Goto <y-goto at jp.fujitsu.com>
    Cc: Pekka Enberg <penberg at cs.helsinki.fi>
    Cc: David Rientjes <rientjes at google.com>
    Cc: Lee Schermerhorn <lee.schermerhorn at hp.com>
    Signed-off-by: Andrew Morton <akpm at linux-foundation.org>
    Signed-off-by: Linus Torvalds <torvalds at linux-foundation.org>

commit 93274e4d4e9416ad1fa47e2f26011e2c483fe5fe
Author: Stefani Seibold <stefani at seibold.net>
Date:   Thu Aug 6 15:07:30 2009 -0700

    fbcon: fix rotate upside down crash
    
    Fix the rotate_ud() function not to crash in case of a font which has not
    a width of multiple by 8: The inner loop of the font pixel copy should not
    access a bit outside the font memory area.  Subtract the shift offset from
    the font width will prevent this.
    
    Signed-off-by: Stefani Seibold <stefani at seibold.net>
    Cc: Krzysztof Helt <krzysztof.h1 at poczta.fm>
    Signed-off-by: Andrew Morton <akpm at linux-foundation.org>
    Signed-off-by: Linus Torvalds <torvalds at linux-foundation.org>

commit 69dd647f969c28d18de77e2153f30d05a1874571
Author: Xiao Guangrong <xiaoguangrong at cn.fujitsu.com>
Date:   Thu Aug 6 15:07:29 2009 -0700

    generic-ipi: fix hotplug_cfd()
    
    Use CONFIG_HOTPLUG_CPU, not CONFIG_CPU_HOTPLUG
    
    When hot-unpluging a cpu, it will leak memory allocated at cpu hotplug,
    but only if CPUMASK_OFFSTACK=y, which is default to n.
    
    The bug was introduced by 8969a5ede0f9e17da4b943712429aef2c9bcd82b
    ("generic-ipi: remove kmalloc()").
    
    Signed-off-by: Xiao Guangrong <xiaoguangrong at cn.fujitsu.com>
    Cc: Ingo Molnar <mingo at elte.hu>
    Cc: Jens Axboe <jens.axboe at oracle.com>
    Cc: Nick Piggin <nickpiggin at yahoo.com.au>
    Cc: Peter Zijlstra <peterz at infradead.org>
    Cc: Rusty Russell <rusty at rustcorp.com.au>
    Cc: <stable at kernel.org>
    Signed-off-by: Andrew Morton <akpm at linux-foundation.org>
    Signed-off-by: Linus Torvalds <torvalds at linux-foundation.org>

commit 2020002a878403a6858868d85a43623f74859dba
Author: Stoyan Gaydarov <sgayda2 at uiuc.edu>
Date:   Thu Aug 6 15:07:28 2009 -0700

    drivers/w1/masters/omap_hdq.c: fix missing mutex unlock
    
    This was found using a semantic patch, more info can be found at:
    http://www.emn.fr/x-info/coccinelle/
    
    Signed-off-by: Stoyan Gaydarov <sgayda2 at uiuc.edu>
    Acked-by: Evgeniy Polyakov <johnpol at 2ka.mipt.ru>
    Signed-off-by: Andrew Morton <akpm at linux-foundation.org>
    Signed-off-by: Linus Torvalds <torvalds at linux-foundation.org>

commit b36ec0428a06fcbdb67d61e9e664154e5dd9a8c7
Author: Christoph Hellwig <hch at lst.de>
Date:   Fri Aug 7 14:38:34 2009 -0300

    xfs: fix freeing of inodes not yet added to the inode cache
    
    When freeing an inode that lost race getting added to the inode cache we
    must not call into ->destroy_inode, because that would delete the inode
    that won the race from the inode cache radix tree.
    
    This patch uses splits a new xfs_inode_free helper out of xfs_ireclaim
    and uses that plus __destroy_inode to make sure we really only free
    the memory allocted for the inode that lost the race, and not mess with
    the inode cache state.
    
    Signed-off-by: Christoph Hellwig <hch at lst.de>
    Reviewed-by: Eric Sandeen <sandeen at sandeen.net>
    Reported-by: Alex Samad <alex at samad.com.au>
    Reported-by: Andrew Randrianasulu <randrik at mail.ru>
    Reported-by: Stephane <sharnois at max-t.com>
    Reported-by: Tommy <tommy at news-service.com>
    Reported-by: Miah Gregory <mace at darksilence.net>
    Reported-by: Gabriel Barazer <gabriel at oxeva.fr>
    Reported-by: Leandro Lucarella <llucax at gmail.com>
    Reported-by: Daniel Burr <dburr at fami.com.au>
    Reported-by: Nickolay <newmail at spaces.ru>
    Reported-by: Michael Guntsche <mike at it-loops.com>
    Reported-by: Dan Carley <dan.carley+linuxkern-bugs at gmail.com>
    Reported-by: Michael Ole Olsen <gnu at gmx.net>
    Reported-by: Michael Weissenbacher <mw at dermichi.com>
    Reported-by: Martin Spott <Martin.Spott at mgras.net>
    Reported-by: Christian Kujau <lists at nerdbynature.de>
    Tested-by: Michael Guntsche <mike at it-loops.com>
    Tested-by: Dan Carley <dan.carley+linuxkern-bugs at gmail.com>
    Tested-by: Christian Kujau <lists at nerdbynature.de>

commit 2e00c97e2c1d2ffc9e26252ca26b237678b0b772
Author: Christoph Hellwig <hch at lst.de>
Date:   Fri Aug 7 14:38:29 2009 -0300

    vfs: add __destroy_inode
    
    When we want to tear down an inode that lost the add to the cache race
    in XFS we must not call into ->destroy_inode because that would delete
    the inode that won the race from the inode cache radix tree.
    
    This patch provides the __destroy_inode helper needed to fix this,
    the actual fix will be in th next patch.  As XFS was the only reason
    destroy_inode was exported we shift the export to the new __destroy_inode.
    
    Signed-off-by: Christoph Hellwig <hch at lst.de>
    Reviewed-by: Eric Sandeen <sandeen at sandeen.net>

commit 54e346215e4fe2ca8c94c54e546cc61902060510
Author: Christoph Hellwig <hch at lst.de>
Date:   Fri Aug 7 14:38:25 2009 -0300

    vfs: fix inode_init_always calling convention
    
    Currently inode_init_always calls into ->destroy_inode if the additional
    initialization fails.  That's not only counter-intuitive because
    inode_init_always did not allocate the inode structure, but in case of
    XFS it's actively harmful as ->destroy_inode might delete the inode from
    a radix-tree that has never been added.  This in turn might end up
    deleting the inode for the same inum that has been instanciated by
    another process and cause lots of cause subtile problems.
    
    Also in the case of re-initializing a reclaimable inode in XFS it would
    free an inode we still want to keep alive.
    
    Signed-off-by: Christoph Hellwig <hch at lst.de>
    Reviewed-by: Eric Sandeen <sandeen at sandeen.net>

commit 94f81a47c4a7a2d7a16fcfdd6d81da381732c101
Author: Kenji Kaneshige <kaneshige.kenji at jp.fujitsu.com>
Date:   Mon Jul 27 12:06:46 2009 +0900

    PCI hotplug: SGI hotplug: do not use hotplug_slot_attr
    
    By the pci slot changes, callbacks of attributes under slot directory
    (/sys/bus/pci/slots) had been changed to get the pointer to struct
    pci_slot instead of struct hotplug_slot. So the path_show() that
    assumes the parameter is a pointer to struct hotplug_slot seems
    broken.
    
    Tested-by: Mike Habeck <habeck at sgi.com>
    Signed-off-by: Kenji Kaneshige <kaneshige.kenji at jp.fujitsu.com>
    Signed-off-by: Jesse Barnes <jbarnes at virtuousgeek.org>

commit d25f14389a65c7f95512b01415d8d4a8d62855ab
Author: Kenji Kaneshige <kaneshige.kenji at jp.fujitsu.com>
Date:   Mon Jul 27 12:05:38 2009 +0900

    PCI hotplug: SGI hotplug: fix build failure
    
    The commit bd3d99c17039fd05a29587db3f4a180c48da115a ("PCI: Remove
    untested Electromechanical Interlock (EMI) support in pciehp."), which
    removes the definition of "struct hotplug_slot_attr", broke SGI
    hotplug driver. By this commit, we get the following compile error.
    
    drivers/pci/hotplug/sgi_hotplug.c:106: error: variable 'sn_slot_path_attr' has initializer but incomplete type
    drivers/pci/hotplug/sgi_hotplug.c:106: error: unknown field 'attr' specified in initializer
    drivers/pci/hotplug/sgi_hotplug.c:106: error: extra brace group at end of initializer
    drivers/pci/hotplug/sgi_hotplug.c:106: error: (near initialization for 'sn_slot_path_attr')
    drivers/pci/hotplug/sgi_hotplug.c:106: warning: excess elements in struct initializer
    drivers/pci/hotplug/sgi_hotplug.c:106: warning: (near initialization for 'sn_slot_path_attr')
    drivers/pci/hotplug/sgi_hotplug.c:106: error: unknown field 'show' specified in initializer
    drivers/pci/hotplug/sgi_hotplug.c:106: warning: excess elements in struct initializer
    drivers/pci/hotplug/sgi_hotplug.c:106: warning: (near initialization for 'sn_slot_path_attr')
    drivers/pci/hotplug/sgi_hotplug.c: In function 'sn_hp_destroy':
    drivers/pci/hotplug/sgi_hotplug.c:203: error: invalid use of undefined type 'struct hotplug_slot_attribute'
    drivers/pci/hotplug/sgi_hotplug.c: In function 'sn_hotplug_slot_register':
    drivers/pci/hotplug/sgi_hotplug.c:655: error: invalid use of undefined type 'struct hotplug_slot_attribute'
    
    This patch fixes this regression by adding the definition of struct
    hotplug_slot_attr into sgi_hotplug.c.
    
    Tested-by: Mike Habeck <habeck at sgi.com>
    Signed-off-by: Kenji Kaneshige <kaneshige.kenji at jp.fujitsu.com>
    Signed-off-by: Jesse Barnes <jbarnes at virtuousgeek.org>

commit dd1f57ecaf9688efa69d982652ecfa3e64f1fa55
Author: Bob Dunlop <rdunlop at guralp.com>
Date:   Thu Aug 6 12:01:03 2009 -0400

    libertas: correct packing of rxpd structure
    
    Older Gcc compilers (3.4.5 tested) need additional hints in order to get
    the packing of the rxpd structure (which contains a 16 bit union)
    correct on the ARM processor.
    
    struct txpd does not need these hints since it contains a 32 bit union
    that packs naturally.
    
    Signed-off-by: R.J.Dunlop <rdunlop at guralp.com>
    Acked-by: Dan Williams <dcbw at redhat.com>
    Signed-off-by: John W. Linville <linville at tuxdriver.com>

commit 60aa569f9212a13382c29cc734f275dec0f55e0b
Author: Lennert Buytenhek <buytenh at wantstofly.org>
Date:   Mon Aug 3 21:59:09 2009 +0200

    mwl8k: prevent module unload hang
    
    We need to unregister our ieee80211_hw before resetting the chip, as
    the former causes firmware commands to be issued which will time out
    once the chip has been reset.
    
    Signed-off-by: Lennert Buytenhek <buytenh at marvell.com>
    Acked-by: Nicolas Pitre <nico at marvell.com>
    Signed-off-by: John W. Linville <linville at tuxdriver.com>

commit a94cc97e14c5750ec2b50b2e4ecdfb0f369ed0f4
Author: Lennert Buytenhek <buytenh at wantstofly.org>
Date:   Mon Aug 3 21:58:57 2009 +0200

    mwl8k: prevent crash in ->configure_filter() if no interface was added
    
    Signed-off-by: Lennert Buytenhek <buytenh at marvell.com>
    Acked-by: Nicolas Pitre <nico at marvell.com>
    Signed-off-by: John W. Linville <linville at tuxdriver.com>

commit 37055bd455b31b8220c35a1ede9c6aceb791cc88
Author: Lennert Buytenhek <buytenh at wantstofly.org>
Date:   Mon Aug 3 21:58:47 2009 +0200

    mwl8k: call pci_unmap_single() before accessing command structure again
    
    Signed-off-by: Lennert Buytenhek <buytenh at marvell.com>
    Acked-by: Nicolas Pitre <nico at marvell.com>
    Signed-off-by: John W. Linville <linville at tuxdriver.com>

commit 4ff6432ea620ba467e50ec04b8271ea0eb94e62e
Author: Lennert Buytenhek <buytenh at wantstofly.org>
Date:   Mon Aug 3 21:58:39 2009 +0200

    mwl8k: add various missing GET_HW_SPEC endian conversions
    
    Signed-off-by: Lennert Buytenhek <buytenh at marvell.com>
    Acked-by: Nicolas Pitre <nico at marvell.com>
    Signed-off-by: John W. Linville <linville at tuxdriver.com>

commit d25f9f1357139bbdc79bc960ea84909a7c22ec2b
Author: Lennert Buytenhek <buytenh at wantstofly.org>
Date:   Mon Aug 3 21:58:26 2009 +0200

    mwl8k: fix NULL pointer dereference on receive out-of-memory
    
    When we go into out-of-memory and fail to allocate skbuffs to
    refill the receive ring with, rxq_process can end up running into
    a receive ring entry that is marked as host-owned but doesn't have
    an associated skbuff.  If this happens, we must break out of the
    rx processing loop instead of trying to process the descriptor.
    
    Signed-off-by: Lennert Buytenhek <buytenh at marvell.com>
    Acked-by: Nicolas Pitre <nico at marvell.com>
    Signed-off-by: John W. Linville <linville at tuxdriver.com>

commit 7dd2459d8f7a967bcd1466591aec72bb3ddc07cc
Author: Zhu Yi <yi.zhu at intel.com>
Date:   Mon Jul 27 10:10:20 2009 +0800

    ipw2x00: Write outside array bounds
    
    > channel_index loops up to IPW_SCAN_CHANNELS, but is used after being
    > incremented. This might be able to access 1 past the end of the array
    
    Reported-by: Roel Kluin <roel.kluin at gmail.com>
    Signed-off-by: John W. Linville <linville at tuxdriver.com>

commit bd3f02212d6a457267e0c9c02c426151c436d9d4
Author: Eric Dumazet <eric.dumazet at gmail.com>
Date:   Fri Aug 7 12:49:29 2009 +0200

    ring-buffer: Fix memleak in ring_buffer_free()
    
    I noticed oprofile memleaked in linux-2.6 current tree,
    and tracked this ring-buffer leak.
    
    Signed-off-by: Eric Dumazet <eric.dumazet at gmail.com>
    LKML-Reference: <4A7C06B9.2090302 at gmail.com>
    Cc: stable at kernel.org
    Signed-off-by: Steven Rostedt <rostedt at goodmis.org>

commit afc5e65245255a268ab22a20477ed2c9f2cdfcd3
Author: Takashi Iwai <tiwai at suse.de>
Date:   Fri Aug 7 16:33:53 2009 +0200

    ASoC: Add missing DRV_NAME definitions for fsl/* drivers
    
    Module builds are broken due to missing DRV_NAME for
    efika-audio-fabric and pcm030-audio-fabric.
    
    Signed-off-by: Takashi Iwai <tiwai at suse.de>

commit 17332925d7b11bb6c2d0c49450ae58dd836005da
Author: Dave Airlie <airlied at linux.ie>
Date:   Fri Aug 7 11:03:26 2009 +1000

    drm/radeon/kms: setup MC/VRAM the same way for suspend/resume
    
    we should align the GTT after VRAM no matter what, as we can
    come back from resume and put in a different place and bad things happen.
    
    Signed-off-by: Dave Airlie <airlied at redhat.com>

commit 0e692a94e378628b7d527260ad939894454bcca8
Author: Li Zefan <lizf at cn.fujitsu.com>
Date:   Fri Aug 7 15:10:54 2009 +0800

    lockdep: Fix typos in documentation
    
    s/head/held
    
    Signed-off-by: Li Zefan <lizf at cn.fujitsu.com>
    Cc: Peter Zijlstra <peterz at infradead.org>
    LKML-Reference: <4A7BD37E.9060806 at cn.fujitsu.com>
    Signed-off-by: Ingo Molnar <mingo at elte.hu>

commit 9795447f71324d8f14c19ed68b43c883135c3f59
Author: Li Zefan <lizf at cn.fujitsu.com>
Date:   Fri Aug 7 16:37:10 2009 +0800

    lockdep: Fix file mode of lock_stat
    
    /proc/lock_stat is writable.
    
    Signed-off-by: Li Zefan <lizf at cn.fujitsu.com>
    Cc: Peter Zijlstra <peterz at infradead.org>
    LKML-Reference: <4A7BE7B6.10904 at cn.fujitsu.com>
    Signed-off-by: Ingo Molnar <mingo at elte.hu>

commit 53cb780adbe69df90c8dc23e992ce40455e687c3
Author: Roel Kluin <roel.kluin at gmail.com>
Date:   Fri Aug 7 10:39:25 2009 +0200

    [S390] KVM: Read buffer overflow
    
    Check whether index is within bounds before testing the element.
    
    Signed-off-by: Roel Kluin <roel.kluin at gmail.com>
    Signed-off-by: Martin Schwidefsky <schwidefsky at de.ibm.com>

commit 677c1dd706d9cc384730cbd52baf821923d8be9b
Author: Hendrik Brueckner <brueckner at linux.vnet.ibm.com>
Date:   Fri Aug 7 10:39:24 2009 +0200

    [S390] kernel: Storing machine flags early in lowcore
    
    Currently, the machine_flags are stored late in the startup
    initialization which results in failing machine type checks
    (e.g. for MACHINE_IS_VM).
    To allow these checks, store the machine flags in the lowcore
    when the machine type has been detected.
    
    Moving the machine_flags to the lowcore has been introduced with
    git commit 25097bf153391f7be4c591d47061b3dc4990dac2
    
    Signed-off-by: Hendrik Brueckner <brueckner at linux.vnet.ibm.com>
    Signed-off-by: Martin Schwidefsky <schwidefsky at de.ibm.com>

commit 7dbdee2e9a2ac42ea5135801bcc9d1a8e3f672aa
Author: Steven Rostedt <srostedt at redhat.com>
Date:   Thu Aug 6 19:53:18 2009 -0400

    tracing: Fix recordmcount.pl to handle sections with only weak functions
    
    Roland Dreier found that a section that contained only a weak
    function in one of the staging drivers and this caused
    recordmcount.pl to spit out a warning and fail.
    
    Although it is strange that a driver would have a weak function, and
    this function only be used in one place, it should not be something
    to make recordmcount.pl fail.
    
    This patch fixes the issue in a simple manner: if only weak
    functions exist in a section, then that section will not be
    recorded.
    
    Reported-by: Roland Dreier <rdreier at cisco.com>
    Signed-off-by: Steven Rostedt <rostedt at goodmis.org>
    Signed-off-by: Ingo Molnar <mingo at elte.hu>

commit 0d502d8267ebab9ae4b5b4c065d20196d6069f52
Merge: 09384dfc76e526c3993c09c42e016372dc9dd22c a9dfac3353b03432e3d46a0dde6795588c46256d
Author: David S. Miller <davem at davemloft.net>
Date:   Thu Aug 6 13:18:22 2009 -0700

    Merge branch 'for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/lowpan/lowpan

commit 09384dfc76e526c3993c09c42e016372dc9dd22c
Author: Eric Dumazet <eric.dumazet at gmail.com>
Date:   Thu Aug 6 03:55:04 2009 +0000

    irda: Fix irda_getname() leak
    
    irda_getname() can leak kernel memory to user.
    
    Signed-off-by: Eric Dumazet <eric.dumazet at gmail.com>
    Signed-off-by: David S. Miller <davem at davemloft.net>

commit 3d392475c873c10c10d6d96b94d092a34ebd4791
Author: Eric Dumazet <eric.dumazet at gmail.com>
Date:   Thu Aug 6 02:27:43 2009 +0000

    appletalk: fix atalk_getname() leak
    
    atalk_getname() can leak 8 bytes of kernel memory to user
    
    Signed-off-by: Eric Dumazet <eric.dumazet at gmail.com>
    Signed-off-by: David S. Miller <davem at davemloft.net>

commit f6b97b29513950bfbf621a83d85b6f86b39ec8db
Author: Eric Dumazet <eric.dumazet at gmail.com>
Date:   Thu Aug 6 03:31:07 2009 +0000

    netrom: Fix nr_getname() leak
    
    nr_getname() can leak kernel memory to user.
    
    Signed-off-by: Eric Dumazet <eric.dumazet at gmail.com>
    Signed-off-by: David S. Miller <davem at davemloft.net>

commit 80922bbb12a105f858a8f0abb879cb4302d0ecaa
Author: Eric Dumazet <eric.dumazet at gmail.com>
Date:   Thu Aug 6 03:48:36 2009 +0000

    econet: Fix econet_getname() leak
    
    econet_getname() can leak kernel memory to user.
    
    Signed-off-by: Eric Dumazet <eric.dumazet at gmail.com>
    Signed-off-by: David S. Miller <davem at davemloft.net>

commit 17ac2e9c58b69a1e25460a568eae1b0dc0188c25
Author: Eric Dumazet <eric.dumazet at gmail.com>
Date:   Thu Aug 6 03:34:06 2009 +0000

    rose: Fix rose_getname() leak
    
    rose_getname() can leak kernel memory to user.
    
    Signed-off-by: Eric Dumazet <eric.dumazet at gmail.com>
    Signed-off-by: David S. Miller <davem at davemloft.net>

commit 1054598cab8674438675085fae459e960eb10799
Author: Peter Zijlstra <peterz at infradead.org>
Date:   Thu Aug 6 18:06:26 2009 +0200

    perf_counter: Fix double list iteration in per task precise stats
    
    Brice Goglin reported this crash with per task precise stats:
    
    > I finally managed to test the threaded perfcounter statistics (thanks a
    > lot for implementing it). I am running 2.6.31-rc5 (with the AMD
    > magny-cours patches but I don't think they matter here). I am trying to
    > measure local/remote memory accesses per thread during the well-known
    > stream benchmark. It's compiled with OpenMP using 16 threads on a
    > quad-socket quad-core barcelona machine.
    >
    > Command line is:
    >  /mnt/scratch/bgoglin/cpunode/linux-2.6.31/tools/perf/perf record -f -s
    > -e r1000001e0 -e r1000002e0 -e r1000004e0 -e r1000008e0 ./stream
    >
    > It seems to work fine with a single -e <counter> on the command line
    > while it crashes when there are at least 2 of them.
    > It seems to work fine without -s as well.
    
    A silly copy-paste resulted in a messed up iteration which would
    cause the OOPS.
    
    Reported-by: Brice Goglin <Brice.Goglin at inria.fr>
    Signed-off-by: Peter Zijlstra <a.p.zijlstra at chello.nl>
    Tested-by: Brice Goglin <Brice.Goglin at inria.fr>
    LKML-Reference: <1249574786.32113.550.camel at twins>
    Signed-off-by: Ingo Molnar <mingo at elte.hu>

commit 9424edc2da097c8589fcc24a72552d33e54be161
Author: Peter Zijlstra <a.p.zijlstra at chello.nl>
Date:   Wed Aug 5 14:05:16 2009 +0200

    perf: Auto-detect libelf
    
    Adds autodetection for libelf as well, and simplifies the
    libbfd code. Furthermore, fail make with an error when libelf
    is not found and warn about the lack of libbfd.
    
    Also provide an option to build a 32bit version even though you
    might be running a 64bit kernel.
    
    Signed-off-by: Peter Zijlstra <a.p.zijlstra at chello.nl>
    Signed-off-by: Ingo Molnar <mingo at elte.hu>

commit 4d1e00a8af426500edfb8643fa6c375b89f1f804
Author: Arnaldo Carvalho de Melo <acme at redhat.com>
Date:   Wed Aug 5 19:02:49 2009 -0300

    perf symbol: Fix symbol parsing in certain cases: use the build-id as a symlink
    
    In some cases distros have binaries and debuginfo in weird places:
    
    [root at doppio tuna]# ls -la /usr/lib64/{xulrunner-1.9.1/xulrunner-stub,firefox-3.5.2/firefox}
    -rwxr-xr-x 1 root root 90024 2009-08-03 19:45 /usr/lib64/firefox-3.5.2/firefox
    -rwxr-xr-x 1 root root 90024 2009-08-03 18:23 /usr/lib64/xulrunner-1.9.1/xulrunner-stub
    [root at doppio tuna]# sha1sum /usr/lib64/{xulrunner-1.9.1/xulrunner-stub,firefox-3.5.2/firefox}
    19a858077d263d5de22c9c5da250d3e4396ae739  /usr/lib64/xulrunner-1.9.1/xulrunner-stub
    19a858077d263d5de22c9c5da250d3e4396ae739  /usr/lib64/firefox-3.5.2/firefox
    [root at doppio tuna]# rpm -qf /usr/lib64/{xulrunner-1.9.1/xulrunner-stub,firefox-3.5.2/firefox}
    xulrunner-1.9.1.2-1.fc11.x86_64
    firefox-3.5.2-2.fc11.x86_64
    [root at doppio tuna]# ls -la /usr/lib/debug/{usr/lib64/xulrunner-1.9.1/xulrunner-stub,usr/lib64/firefox-3.5.2/firefox}.debug
    ls: cannot access /usr/lib/debug/usr/lib64/firefox-3.5.2/firefox.debug: No such file or directory
    -rwxr-xr-x 1 root root 403608 2009-08-03 18:22 /usr/lib/debug/usr/lib64/xulrunner-1.9.1/xulrunner-stub.debug
    
    Seemingly we don't have a .symtab when we actually can find it
    if we use the .note.gnu.build-id ELF section put in place by
    some distros. Use it and find the symbols we need.
    
    Signed-off-by: Arnaldo Carvalho de Melo <acme at redhat.com>
    Acked-by: Peter Zijlstra <peterz at infradead.org>
    LKML-Reference: <new-submission>
    Signed-off-by: Ingo Molnar <mingo at elte.hu>

commit 469535a598f28c13a2a42037e1b778f671af1d16
Author: Robert Richter <robert.richter at amd.com>
Date:   Thu Jul 30 19:19:18 2009 +0200

    ring-buffer: Fix advance of reader in rb_buffer_peek()
    
    When calling rb_buffer_peek() from ring_buffer_consume() and a
    padding event is returned, the function rb_advance_reader() is
    called twice. This may lead to missing samples or under high
    workloads to the warning below. This patch fixes this. If a padding
    event is returned by rb_buffer_peek() it will be consumed by the
    calling function now.
    
    Also, I simplified some code in ring_buffer_consume().
    
    ------------[ cut here ]------------
    WARNING: at /dev/shm/.source/linux/kernel/trace/ring_buffer.c:2289 rb_advance_reader+0x2e/0xc5()
    Hardware name: Anaheim
    Modules linked in:
    Pid: 29, comm: events/2 Tainted: G        W  2.6.31-rc3-oprofile-x86_64-standard-00059-g5050dc2 #1
    Call Trace:
    [<ffffffff8106776f>] ? rb_advance_reader+0x2e/0xc5
    [<ffffffff81039ffe>] warn_slowpath_common+0x77/0x8f
    [<ffffffff8103a025>] warn_slowpath_null+0xf/0x11
    [<ffffffff8106776f>] rb_advance_reader+0x2e/0xc5
    [<ffffffff81068bda>] ring_buffer_consume+0xa0/0xd2
    [<ffffffff81326933>] op_cpu_buffer_read_entry+0x21/0x9e
    [<ffffffff810be3af>] ? __find_get_block+0x4b/0x165
    [<ffffffff8132749b>] sync_buffer+0xa5/0x401
    [<ffffffff810be3af>] ? __find_get_block+0x4b/0x165
    [<ffffffff81326c1b>] ? wq_sync_buffer+0x0/0x78
    [<ffffffff81326c76>] wq_sync_buffer+0x5b/0x78
    [<ffffffff8104aa30>] worker_thread+0x113/0x1ac
    [<ffffffff8104dd95>] ? autoremove_wake_function+0x0/0x38
    [<ffffffff8104a91d>] ? worker_thread+0x0/0x1ac
    [<ffffffff8104dc9a>] kthread+0x88/0x92
    [<ffffffff8100bdba>] child_rip+0xa/0x20
    [<ffffffff8104dc12>] ? kthread+0x0/0x92
    [<ffffffff8100bdb0>] ? child_rip+0x0/0x20
    ---[ end trace f561c0a58fcc89bd ]---
    
    Cc: Steven Rostedt <rostedt at goodmis.org>
    Cc: <stable at kernel.org>
    Signed-off-by: Robert Richter <robert.richter at amd.com>
    Signed-off-by: Ingo Molnar <mingo at elte.hu>

commit e0d82a0a4e9841b787e6431ccfbb515546c55dc2
Author: Benjamin Herrenschmidt <benh at kernel.crashing.org>
Date:   Thu Aug 6 21:16:44 2009 +1000

    perf_counter/powerpc: Check oprofile_cpu_type for NULL before using it
    
    If the current CPU doesn't support performance counters,
    cur_cpu_spec->oprofile_cpu_type can be NULL. The current
    perf_counter modules don't test for that case and would thus
    crash at boot time.
    
    Bug reported by David Woodhouse.
    
    Reported-by: David Woodhouse <dwmw2 at infradead.org>
    Signed-off-by: Benjamin Herrenschmidt <benh at kernel.crashing.org>
    Cc: Peter Zijlstra <a.p.zijlstra at chello.nl>
    Signed-off-by: Paul Mackerras <paulus at samba.org>
    LKML-Reference: <19066.48028.446975.501454 at cargo.ozlabs.ibm.com>
    Signed-off-by: Ingo Molnar <mingo at elte.hu>

commit c5b1525533c484238015c48c78f86d49a1bfb86b
Author: Sheng Yang <sheng at linux.intel.com>
Date:   Thu Aug 6 13:31:56 2009 +0800

    intel-iommu: Fix enabling snooping feature by mistake
    
    Two defects work together result in KVM device passthrough randomly can't
    work:
    1. iommu_snooping is not initialized to zero when vm_iommu_init() called.
    So it is possible to get a random value.
    2. One line added by commit 2c2e2c38("IOMMU Identity Mapping Support")
    change the code path, let it bypass domain_update_iommu_cap(), as well as
    missing the increment of domain iommu reference count.
    
    The latter is also likely to cause a leak of domains on repeated VMM
    assignment and deassignment.
    
    Signed-off-by: Sheng Yang <sheng at linux.intel.com>
    Signed-off-by: David Woodhouse <David.Woodhouse at intel.com>

commit 53a27b39ff4d2492f84b1fdc2f0047175f0b0b93
Author: Marcelo Tosatti <mtosatti at redhat.com>
Date:   Wed Aug 5 15:43:58 2009 -0300

    KVM: MMU: limit rmap chain length
    
    Otherwise the host can spend too long traversing an rmap chain, which
    happens under a spinlock.
    
    Cc: stable at kernel.org
    Signed-off-by: Marcelo Tosatti <mtosatti at redhat.com>
    Signed-off-by: Avi Kivity <avi at redhat.com>

commit a9dfac3353b03432e3d46a0dde6795588c46256d
Author: Dmitry Eremin-Solenikov <dbaryshkov at gmail.com>
Date:   Mon Aug 3 17:53:00 2009 +0400

    af_ieee802154: provide dummy get/setsockopt
    
    Provide dummt get/setsockopt implementations to stop these
    syscalls from oopsing on our sockets.
    
    Signed-off-by: Dmitry Eremin-Solenikov <dbaryshkov at gmail.com>

commit 45a41d147a3a31bb218201b0dd70cfe4e9ed5105
Author: Dmitry Eremin-Solenikov <dbaryshkov at gmail.com>
Date:   Sun Aug 2 14:12:01 2009 +0400

    af_ieee802154: fix ioctl processing
    
    fix two errors in ioctl processing:
    1) if the ioctl isn't supported one should return -ENOIOCTLCMD
    2) don't call ndo_do_ioctl if the device doesn't provide it
    
    Signed-off-by: Dmitry Eremin-Solenikov <dbaryshkov at gmail.com>

commit d82f1c35348cebe2fb2d4a4d31ce0ab0769e3d93
Author: Eric Miao <eric.y.miao at gmail.com>
Date:   Wed Aug 5 01:24:41 2009 -0700

    Input: matrix_keypad - make matrix keymap size dynamic
    
    Remove assumption on the shift and size of rows/columns form
    matrix_keypad driver.
    
    Signed-off-by: Eric Miao <eric.y.miao at gmail.com>
    Signed-off-by: Dmitry Torokhov <dtor at mail.ru>

commit 194934785a846e0a7b1b674b7b475a9d0125d2f8
Author: TJ <linux at tjworld.net>
Date:   Mon Aug 3 13:39:09 2009 -0700

    Input: wistron_btns - support Prestigio Wifi RF kill button
    
    The Prestigio 157, an old no-name clone laptop uses input keys very
    similar to the Wistron 1557/MS2141 with the addition of BIOS-controlled
    wireless radio frequency kill switch.
    
    This patch adds support for the RF kill switch control and adds manual
    identification of the model.
    
    The Prestigio does not expose any recognisable identity via dmidecode
    and so requires manual selection at module init using
    
    force=1 keymap=prestigio
    
    Signed-off-by: TJ <ubuntu at tjworld.net>
    Signed-off-by: Dmitry Torokhov <dtor at mail.ru>

commit 985fe845aea9cd56fd351800302270444556e45a
Author: Jerome Glisse <jglisse at redhat.com>
Date:   Wed Jul 29 18:55:53 2009 +0200

    drm/radeon/kms: Fix caching mode selection for GTT object
    
    GTT object can either be cached,uncached or wc just let core ttm
    pick the best mode according to how the bo driver and GTT memory
    type was initialized.
    
    Signed-off-by: Jerome Glisse <jglisse at redhat.com>
    Signed-off-by: Dave Airlie <airlied at redhat.com>

commit af6af30c0fcd77e621638e53ef8b176bca8bd3b4
Author: Peter Zijlstra <peterz at infradead.org>
Date:   Wed Aug 5 20:41:04 2009 +0200

    ftrace: Fix perf-tracepoint OOPS
    
    Not all tracepoints are created equal, in specific the ftrace
    tracepoints are created with TRACE_EVENT_FORMAT() which does
    not generate the needed bits to tie them into perf counters.
    
    For those events, don't create the 'id' file and fail
    ->profile_enable when their ID is specified through other
    means.
    
    Reported-by: Chris Mason <chris.mason at oracle.com>
    Signed-off-by: Peter Zijlstra <a.p.zijlstra at chello.nl>
    Cc: Steven Rostedt <rostedt at goodmis.org>
    LKML-Reference: <1249497664.5890.4.camel at laptop>
    [ v2: fix build error in the !CONFIG_EVENT_PROFILE case ]
    Signed-off-by: Ingo Molnar <mingo at elte.hu>

commit 1bbf20835c4e088667a090ce6523a0f70b62dc76
Author: Darren Hart <dvhltc at us.ibm.com>
Date:   Wed Aug 5 12:05:21 2009 -0700

    rtmutex: Avoid deadlock in rt_mutex_start_proxy_lock()
    
    In the event of a lock steal or owner died,
    rt_mutex_start_proxy_lock() will give the rt_mutex to the
    waiting task, but it fails to release the wait_lock. This leads
    to subsequent deadlocks when other tasks try to acquire the
    rt_mutex.
    
    I also removed a few extra blank lines that really spaced this
    routine out. I must have been high on the \n when I wrote this
    originally...
    
    Signed-off-by: Darren Hart <dvhltc at us.ibm.com>
    Cc: Peter Zijlstra <peterz at infradead.org>
    Cc: Steven Rostedt <rostedt at goodmis.org>
    Cc: Dinakar Guniguntala <dino at in.ibm.com>
    Cc: John Stultz <johnstul at linux.vnet.ibm.com>
    LKML-Reference: <4A79D7F1.4000405 at us.ibm.com>
    Signed-off-by: Ingo Molnar <mingo at elte.hu>

commit b4adbb4ddf63091f48668e7ff1b9b0f6f84d4b40
Author: Pascal Terjan <pterjan at mandriva.com>
Date:   Wed Aug 5 04:11:39 2009 +0000

    Add IDs for 3C905B-TX Fast Etherlink XL PCI
    
    We found this old card which was not supported, and physically
    looks similar to the other 3C905B we have (9055).
    
    After adding the IDs it seems to work fine (MII report, dhcp, scp, ...)
    
    Acked-by: Steffen Klassert <klassert at mathematik.tu-chemnitz.de>
    
    Signed-off-by: David S. Miller <davem at davemloft.net>

commit 3f6e968ef4e1d8d93d8a8505461b0e50a9e97ad8
Author: Steven Rostedt <rostedt at goodmis.org>
Date:   Wed Aug 5 22:00:14 2009 -0400

    tracing: do not use functions starting with .L in recordmcount.pl
    
    On Wed, 5 Aug 2009, Ingo Molnar wrote:
    > * Dave Airlie <airlied at gmail.com> wrote:
    >
    > > Hey,
    > >
    > > So I spent 3-4 hrs today (I'm stupid yes) tracking down a .o
    > > breakage by blaming rawhide gcc/binutils as I was using make
    > > V=1and seeing only the compiler chain running,
    >
    > Hm, is this that powerpc related build bug you just reported?
    
    Well we tracked it down and it is powerpc64 specific.
    
    Seems that in drivers/hwmon/lm93.c there's a function called:
    
       LM93_IN_FROM_REG()
    
    But PPC64 has function descriptors and the real function names (the ones
    you see in objdump) start with a '.'. Thus this in objdump you have:
    
     Disassembly of section .text:
    
     0000000000000000 <.LM93_IN_FROM_REG>:
           0:       7c 08 02 a6     mflr    r0
           4:       fb 81 ff e0     std     r28,-32(r1)
    
    The function name used is .LM93_IN_FROM_REG. But gcc considers symbols
    that start with ".L" as a special symbol that is used inside the assembly
    stage.
    
    The nm passed into recordmcount uses the --synthetic option which shows
    the ".L" symbols (my runs outside of the build did not include the
    --synthetic option, so my older patch worked). We see the function as a
    local.
    
    Now to capture all the locations that use "mcount" we need to have a
    reference to link into the object file a list of mcount callers. We need a
    reference that will not disappear. We try to use a global function and if
    that does not work, we use a local function as a reference. But to relink
    the section back into the object, we need to make it global. In this case,
    we run objcopy using --globalize-symbol and --localize-symbol to convert
    the symbol into a global symbol, link the mcount list, then convert it
    back to a local symbol.
    
    This works great except for this case. .L* symbols can not be converted
    into a global symbol, and the mcount section referencing it will remain
    unresolved.
    
    Reported-by: Dave Airlie <airlied at gmail.com>
    LKML-Reference: <alpine.DEB.2.00.0908052011590.5010 at gandalf.stny.rr.com>
    Signed-off-by: Steven Rostedt <rostedt at goodmis.org>

commit 464e85eb0e63096bd52e4c3e2a6fb8357fb95828
Author: Steven Rostedt <srostedt at redhat.com>
Date:   Wed Aug 5 15:26:37 2009 -0400

    ring-buffer: do not disable ring buffer on oops_in_progress
    
    The commit:
    
      commit e0fdace10e75dac67d906213b780ff1b1a4cc360
      Author: David Miller <davem at davemloft.net>
      Date:   Fri Aug 1 01:11:22 2008 -0700
    
        debug_locks: set oops_in_progress if we will log messages.
    
        Otherwise lock debugging messages on runqueue locks can deadlock the
        system due to the wakeups performed by printk().
    
        Signed-off-by: David S. Miller <davem at davemloft.net>
        Signed-off-by: Ingo Molnar <mingo at elte.hu>
    
    Will permanently set oops_in_progress on any lockdep failure.
    When this triggers it will cause any read from the ring buffer to
    permanently disable the ring buffer (not to mention no locking of
    printk).
    
    This patch removes the check. It keeps the print in NMI which makes
    sense. This is probably OK, since the ring buffer should not cause
    something to set oops_in_progress anyway.
    
    Signed-off-by: Steven Rostedt <rostedt at goodmis.org>

commit 0f2541d299d233eddddee4345795e0c46264fd56
Author: Steven Rostedt <srostedt at redhat.com>
Date:   Wed Aug 5 12:02:48 2009 -0400

    ring-buffer: fix check of try_to_discard result
    
    The function ring_buffer_discard_commit inversed the code path
    of the result of try_to_discard. It should skip incrementing the
    entry counter if try_to_discard succeeded. But instead, it increments
    the entry conder if it succeeded to discard, and does not increment
    it if it fails.
    
    The result of this bug is that filtering will make the stat counters
    incorrect.
    
    Signed-off-by: Steven Rostedt <rostedt at goodmis.org>

commit c0c60c4b9ab45bb02b20796401dd6a90770fd0ee
Author: Hartley Sweeten <hartleys at visionengravers.com>
Date:   Tue Aug 4 23:38:06 2009 +0100

    ARM: 5639/1: arm: clkdev.c should include <linux/clk.h>
    
    <linux/clk.h> should be included to get the base API prototypes.
    
    This fixes the following sparse warnings:
    
      arch/arm/common/clkdev.c:65:12:
        warning: symbol 'clk_get_sys' was not declared. Should it be static?
    
      arch/arm/common/clkdev.c:79:12:
        warning: symbol 'clk_get' was not declared. Should it be static?
    
      arch/arm/common/clkdev.c:87:6:
        warning: symbol 'clk_put' was not declared. Should it be static?
    
    Signed-off-by: H Hartley Sweeten <hsweeten at visionengravers.com>
    Signed-off-by: Russell King <rmk+kernel at arm.linux.org.uk>

commit 65a5053b764a42d33b334ba55810bb5b56eb92df
Author: Hartley Sweeten <hartleys at visionengravers.com>
Date:   Tue Aug 4 23:20:45 2009 +0100

    ARM: 5638/1: arch/arm/kernel/signal.c: use correct address space for CRUNCH
    
    preserve_crunch_context() calls __copy_to_user() which expects the
    destination address to be in __user space.  setup_sigframe() properly
    passes the destination address.
    
    restore_crunch_context() calls __copy_from_user() which expects the
    source address to be in __user space.  restore_sigframe() properly
    passes the source address.
    
    This fixes {preserve/restore}_crunch_context() to accept the
    address as __user space and resolves the following sparse warnings:
    
      arch/arm/kernel/signal.c:146:31:
         warning: incorrect type in argument 1 (different address spaces)
            expected void [noderef] <asn:1>*to
            got struct crunch_sigframe *frame
    
      arch/arm/kernel/signal.c:156:38:
         warning: incorrect type in argument 2 (different address spaces)
            expected void const [noderef] <asn:1>*from
            got struct crunch_sigframe *frame
    
      arch/arm/kernel/signal.c:250:48:
         warning: incorrect type in argument 1 (different address spaces)
            expected struct crunch_sigframe *frame
            got struct crunch_sigframe [noderef] <asn:1>*<noident>
    
      arch/arm/kernel/signal.c:365:49:
         warning: incorrect type in argument 1 (different address spaces)
            expected struct crunch_sigframe *frame
            got struct crunch_sigframe [noderef] <asn:1>*<noident>
    
    Signed-off-by: H Hartley Sweeten <hsweeten at visionengravers.com>
    Signed-off-by: Russell King <rmk+kernel at arm.linux.org.uk>

commit 0a51810aa058a0a4ac76dd6f87f4d10bee774e2e
Author: Andrew Victor <linux at maxim.org.za>
Date:   Tue Aug 4 19:55:56 2009 +0100

    ARM: 5637/1: [KS8695] Don't reference CLOCK_TICK_RATE in drivers
    
    Stop referencing CLOCK_TICK_RATE in the KS8695 drivers, rather refer
    to a KS8695_CLOCK_RATE.
    Issue pointed out by Russell King on arm-linux-kernel mailing list.
    
    Signed-off-by: Andrew Victor <linux at maxim.org.za>
    Signed-off-by: Russell King <rmk+kernel at arm.linux.org.uk>

commit cf39c4c572dc54adbdf8933d1e6cd87ee94d8fc0
Author: Eric Dumazet <eric.dumazet at gmail.com>
Date:   Mon Jul 27 08:03:18 2009 -0700

    phonet: phonet_device_get() fix
    
    net/phonet/pn_dev.c: In function `phonet_device_get':
    net/phonet/pn_dev.c:99: warning: 'dev' might be used uninitialized in this function
    
    Signed-off-by: Eric Dumazet <eric.dumazet at gmail.com>
    Acked-by: Rémi Denis-Courmont <remi.denis-courmont at nokia.com>
    Signed-off-by: David S. Miller <davem at davemloft.net>

commit 819e0064634f580ab618189e657ea58341d214b7
Author: Roel Kluin <roel.kluin at gmail.com>
Date:   Sun Jul 26 00:50:38 2009 +0200

    drm/i915: Fix read outside array bounds in restoring the SWF10 range.
    
    dev_priv->saveSWF1 is a 16 element array, but this reads up to index 22,
    and restored values from the wrong registers.
    
    Signed-off-by: Roel Kluin <roel.kluin at gmail.com>
    Signed-off-by: Eric Anholt <eric at anholt.net>

commit 9c9fe1f841745184bbc5460c6f3909fded3b929b
Author: Eric Anholt <eric at anholt.net>
Date:   Mon Aug 3 16:09:16 2009 -0700

    drm/i915: Use our own workqueue to avoid wedging the system along with the GPU.
    
    Signed-off-by: Eric Anholt <eric at anholt.net>

commit 476181cb05c6a3aea3ef42309388e255c934a06f
Author: Wei Yongjun <yjwei at cn.fujitsu.com>
Date:   Tue Aug 4 21:44:39 2009 +0000

    dccp: missing destroy of percpu counter variable while unload module
    
    percpu counter dccp_orphan_count is init in dccp_init() by
    percpu_counter_init() while dccp module is loaded, but the
    destroy of it is missing while dccp module is unloaded. We
    can get the kernel WARNING about this. Reproduct by the
    following commands:
    
      $ modprobe dccp
      $ rmmod dccp
      $ modprobe dccp
    
    WARNING: at lib/list_debug.c:26 __list_add+0x27/0x5c()
    Hardware name: VMware Virtual Platform
    list_add corruption. next->prev should be prev (c080c0c4), but was (null). (next
    =ca7188cc).
    Modules linked in: dccp(+) nfsd lockd nfs_acl auth_rpcgss exportfs sunrpc
    Pid: 1956, comm: modprobe Not tainted 2.6.31-rc5 #55
    Call Trace:
     [<c042f8fa>] warn_slowpath_common+0x6a/0x81
     [<c053a6cb>] ? __list_add+0x27/0x5c
     [<c042f94f>] warn_slowpath_fmt+0x29/0x2c
     [<c053a6cb>] __list_add+0x27/0x5c
     [<c053c9b3>] __percpu_counter_init+0x4d/0x5d
     [<ca9c90c7>] dccp_init+0x19/0x2ed [dccp]
     [<c0401141>] do_one_initcall+0x4f/0x111
     [<ca9c90ae>] ? dccp_init+0x0/0x2ed [dccp]
     [<c06971b5>] ? notifier_call_chain+0x26/0x48
     [<c0444943>] ? __blocking_notifier_call_chain+0x45/0x51
     [<c04516f7>] sys_init_module+0xac/0x1bd
     [<c04028e4>] sysenter_do_call+0x12/0x22
    
    Signed-off-by: Wei Yongjun <yjwei at cn.fujitsu.com>
    Acked-by: Eric Dumazet <eric.dumazet at gmail.com>
    Signed-off-by: David S. Miller <davem at davemloft.net>

commit f60f785679b507cbeeb03d2db080ab649ac86027
Author: Dhananjay Phadke <dhananjay at netxen.com>
Date:   Tue Aug 4 10:39:03 2009 +0000

    netxen: fix dma mask update calculation
    
    Fix dma mask calculation that caps at 63-bit addressing even
    when firmware advertises full 64-bit support.
    
    Signed-off-by: Dhananjay Phadke <dhananjay at netxen.com>
    Signed-off-by: David S. Miller <davem at davemloft.net>

commit 6fd210a9cc398ecbff7bcdbe220651b73b654f56
Author: Kevin Hilman <khilman at deeprootsystems.com>
Date:   Mon Jul 20 09:09:23 2009 -0700

    OMAP3: Overo: add missing pen-down GPIO definition
    
    Signed-off-by: Kevin Hilman <khilman at deeprootsystems.com>

commit 55b6019ae29456e0f1e4087546bf4221c48622a0
Author: Kevin Hilman <khilman at deeprootsystems.com>
Date:   Thu Jun 4 15:57:10 2009 -0700

    OMAP: GPIO: clear/restore level/edge detect settings on mask/unmask
    
    If IRQ triggering is enabled, it can trigger a pending interrupt
    even for masked interrupts.  Any pending GPIO interrupts can
    prevent the powerdomain from hitting retention.
    
    Problem found, reported and additional review and testing by Chunquiu
    Wang.
    
    Tested-by: Chunquiu Wang <cqwang at motorola.com>
    Signed-off-by: Kevin Hilman <khilman at deeprootsystems.com>

commit 6c5f80393b107b0c9e2a54b03b65d1880e706655
Author: Jouni Hogander <jouni.hogander at nokia.com>
Date:   Wed Oct 29 12:06:04 2008 +0200

    OMAP3: PM: Fix wrong sequence in suspend.
    
    Powerdomain previous state is checked after restoring new states in
    suspend. This patch fixes this problem.
    
    Signed-off-by: Jouni Hogander <jouni.hogander at nokia.com>
    Signed-off-by: Kevin Hilman <khilman at deeprootsystems.com>

commit 60c45ae1107c4ec47d2c84e5984ea59d02b2863d
Author: Eero Nurkkala <ext-eero.nurkkala at nokia.com>
Date:   Tue Jun 23 12:53:29 2009 +0300

    OMAP: PM: CPUfreq: obey min/max settings of policy
    
    Use the min/max settings from CPUfreq policy rather than
    processor defined min/max settings.
    
    Without this patch, it's possible to scale frequency outside
    the current policy range.
    
    Signed-off-by: Eero Nurkkala <ext-eero.nurkkala at nokia.com>
    Signed-off-by: Kevin Hilman <khilman at deeprootsystems.com>

commit bcf396c48012a5e4c7ab77be5c40df10d6bdb8ad
Author: Kevin Hilman <khilman at deeprootsystems.com>
Date:   Tue Jun 30 21:02:45 2009 -0700

    OMAP2/3/4: UART: allow in-order port traversal
    
    Use list_add_tail() when adding discovered UART ports.  This is so
    traversal using list_for_each_entry() will traverse the list in the
    order they were found.
    
    Signed-off-by: Kevin Hilman <khilman at deeprootsystems.com>

commit fd455ea899b5a14a8cdd276e15f3b47696526f92
Author: Kevin Hilman <khilman at deeprootsystems.com>
Date:   Mon Apr 27 12:27:36 2009 -0700

    OMAP2/3/4: UART: Allow per-UART disabling wakeup for serial ports
    
    This patch causes the OMAP uarts to honor the sysfs power/wakeup file
    for IOPAD wakeups. Before the OMAP was always woken up from off mode
    on a rs232 signal change.  This patch also creates a different
    platform device for each serial port so that the wakeup properties can
    be control per port.
    
    By default, IOPAD wakeups are enabled for each UART.  To disable,
    
      # echo disabled > /sys/devices/platform/serial8250.0/power/wakeup
    
    Where serial8250.0 can be replaced by .1, or .2 to control the other
    ports.
    
    Original idea and original patch from Russ Dill <russ.dill at gmail.com>
    
    Cc: Russ Dill <russ.dill at gmail.com>
    Signed-off-by: Kevin Hilman <khilman at deeprootsystems.com>

commit 2466211e5debd205fc550d871fe0ab9b9a6d02ed
Author: Tero Kristo <tero.kristo at nokia.com>
Date:   Thu Mar 5 16:32:23 2009 +0200

    OMAP3: Fixed crash bug with serial + suspend
    
    It was possible for an unhandled interrupt to occur if there was incoming
    serial traffic during wakeup from suspend. This was caused by the code
    in arch-arm/mach-omap2/serial.c keeping interrupt enabled all the time,
    but not acking its interrupts. Applies on top of PM branch.
    
    Use the PM begin/end hooks to ensure that the "serial idle" interrupts
    are disabled during the suspend path.  Also, since begin/end hooks are
    now used, use the suspend_state that is passed in the begin hook instead
    of the enter hook as per the platform_suspend_ops docs.
    
    Signed-off-by: Tero Kristo <tero.kristo at nokia.com>
    Signed-off-by: Kevin Hilman <khilman at deeprootsystems.com>

commit 4789998a30d845d94a7595076d1392ffd5a9d39e
Author: Kevin Hilman <khilman at deeprootsystems.com>
Date:   Wed Jun 24 10:32:03 2009 -0700

    OMAP4: UART: cleanup special case IRQ handling
    
    Streamline the OMAP4 special IRQ assignments by putting inside
    normal init loop instead of having a separate loop.
    
    Signed-off-by: Kevin Hilman <khilman at deeprootsystems.com>

commit 10f90ed2d727c0f344d910c02c9726d0481d9b00
Author: Kevin Hilman <khilman at deeprootsystems.com>
Date:   Wed Jun 24 11:39:18 2009 -0700

    OMAP3: PM: Do not build suspend code if SUSPEND is not enabled
    
    Signed-off-by: Jouni Hogander <jouni.hogander at nokia.com>
    Signed-off-by: Kevin Hilman <khilman at deeprootsystems.com>

commit 040fed059c34da5115790609f1a038fc9aec88d1
Author: Kevin Hilman <khilman at deeprootsystems.com>
Date:   Tue May 5 16:34:25 2009 -0700

    OMAP3: PM: prevent module wakeups from waking IVA2
    
    By default, prevent functional wakeups from inside a module from
    waking up the IVA2.  Let DSP Bridge code handle this when loaded.
    
    Signed-off-by: Kevin Hilman <khilman at deeprootsystems.com>

commit 3a07ae30a0bfa93ff2b242acf670c6d8e2de35de
Author: Kevin Hilman <khilman at deeprootsystems.com>
Date:   Mon Apr 27 16:14:54 2009 -0700

    OMAP3: PM: Clear pending PRCM reset flags on init
    
    Any pending reset flags can prevent retention.  Ensure they are all
    cleared during boot.
    
    Signed-off-by: Kevin Hilman <khilman at deeprootsystems.com>

commit 3a6667acf916b3e32be4682196882fc2ed0ec23e
Author: Kevin Hilman <khilman at deeprootsystems.com>
Date:   Mon Apr 27 07:50:23 2009 -0700

    OMAP3: PM: Ensure PRCM interrupts are cleared at boot
    
    Any pending PRCM interrupts can prevent retention.  Ensure
    they are cleared during boot.
    
    Signed-off-by: Kevin Hilman <khilman at deeprootsystems.com>

commit 364dd47466ff7a7749bf037df4bf3b7aedbfe6f4
Author: Kevin Hilman <khilman at deeprootsystems.com>
Date:   Tue Jun 9 11:45:30 2009 -0700

    OMAP3: PM: CM_REGADDR macros using wrong name
    
    Signed-off-by: Kevin Hilman <khilman at deeprootsystems.com>

commit 7cc515f74d2871daff106a17714bfd16bcb045ca
Author: Kevin Hilman <khilman at deeprootsystems.com>
Date:   Wed Jun 10 09:02:25 2009 -0700

    OMAP2/3: PM: make PM __init calls static
    
    Signed-off-by: Kevin Hilman <khilman at deeprootsystems.com>

commit 0bf52b981770cbf006323bab5177f2858a196766
Author: Ingo Molnar <mingo at elte.hu>
Date:   Tue Aug 4 21:16:58 2009 +0000

    net: Fix spinlock use in alloc_netdev_mq()
    
    -tip testing found this lockdep warning:
    
    [    2.272010] calling  net_dev_init+0x0/0x164 @ 1
    [    2.276033] device class 'net': registering
    [    2.280191] INFO: trying to register non-static key.
    [    2.284005] the code is fine but needs lockdep annotation.
    [    2.284005] turning off the locking correctness validator.
    [    2.284005] Pid: 1, comm: swapper Not tainted 2.6.31-rc5-tip #1145
    [    2.284005] Call Trace:
    [    2.284005]  [<7958eb4e>] ? printk+0xf/0x11
    [    2.284005]  [<7904f83c>] __lock_acquire+0x11b/0x622
    [    2.284005]  [<7908c9b7>] ? alloc_debug_processing+0xf9/0x144
    [    2.284005]  [<7904e2be>] ? mark_held_locks+0x3a/0x52
    [    2.284005]  [<7908dbc4>] ? kmem_cache_alloc+0xa8/0x13f
    [    2.284005]  [<7904e475>] ? trace_hardirqs_on_caller+0xa2/0xc3
    [    2.284005]  [<7904fdf6>] lock_acquire+0xb3/0xd0
    [    2.284005]  [<79489678>] ? alloc_netdev_mq+0xf5/0x1ad
    [    2.284005]  [<79591514>] _spin_lock_bh+0x2d/0x5d
    [    2.284005]  [<79489678>] ? alloc_netdev_mq+0xf5/0x1ad
    [    2.284005]  [<79489678>] alloc_netdev_mq+0xf5/0x1ad
    [    2.284005]  [<793a38f2>] ? loopback_setup+0x0/0x74
    [    2.284005]  [<798eecd0>] loopback_net_init+0x20/0x5d
    [    2.284005]  [<79483efb>] register_pernet_device+0x23/0x4b
    [    2.284005]  [<798f5c9f>] net_dev_init+0x115/0x164
    [    2.284005]  [<7900104f>] do_one_initcall+0x4a/0x11a
    [    2.284005]  [<798f5b8a>] ? net_dev_init+0x0/0x164
    [    2.284005]  [<79066f6d>] ? register_irq_proc+0x8c/0xa8
    [    2.284005]  [<798cc29a>] do_basic_setup+0x42/0x52
    [    2.284005]  [<798cc30a>] kernel_init+0x60/0xa1
    [    2.284005]  [<798cc2aa>] ? kernel_init+0x0/0xa1
    [    2.284005]  [<79003e03>] kernel_thread_helper+0x7/0x10
    [    2.284078] device: 'lo': device_add
    [    2.288248] initcall net_dev_init+0x0/0x164 returned 0 after 11718 usecs
    [    2.292010] calling  neigh_init+0x0/0x66 @ 1
    [    2.296010] initcall neigh_init+0x0/0x66 returned 0 after 0 usecs
    
    it's using an zero-initialized spinlock. This is a side-effect of:
    
            dev_unicast_init(dev);
    
    in alloc_netdev_mq() making use of dev->addr_list_lock.
    
    The device has just been allocated freshly, it's not accessible
    anywhere yet so no locking is needed at all - in fact it's wrong
    to lock it here (the lock isnt initialized yet).
    
    This bug was introduced via:
    
    | commit a6ac65db2329e7685299666f5f7b6093c7b0f3a0
    | Date:   Thu Jul 30 01:06:12 2009 +0000
    |
    |     net: restore the original spinlock to protect unicast list
    
    Signed-off-by: Ingo Molnar <mingo at elte.hu>
    Acked-by: Jiri Pirko <jpirko at redhat.com>
    Tested-by: Mark Brown <broonie at opensource.wolfsonmicro.com>
    Signed-off-by: David S. Miller <davem at davemloft.net>

commit 386c0b702b1ea81c0f54f5c9832a3d4a52270f14
Author: Arnaldo Carvalho de Melo <acme at redhat.com>
Date:   Wed Aug 5 10:04:53 2009 -0300

    perf report: Add missing command line options to man page
    
    Signed-off-by: Arnaldo Carvalho de Melo <acme at redhat.com>
    Cc: Peter Zijlstra <peterz at infradead.org>
    LKML-Reference: <20090805130453.GC10688 at ghostprotocols.net>
    Signed-off-by: Ingo Molnar <mingo at elte.hu>

commit b37c45b8c27c049dc44673e40fd63820fd9a9d91
Author: Roger Quadros <ext-roger.quadros at nokia.com>
Date:   Wed Aug 5 16:53:24 2009 +0300

    OMAP: GPIO: Fix incorrect gpio_get logic for output GPIOs
    
    gpio_get() should return DATAIN register value when the GPIO
    is configured as input whereas it should return DATAOUT register
    value when the GPIO is configured as output.
    Now /sys/kernel/debug/gpio shows proper values for output GPIOs
    
    Signed-off-by: Roger Quadros <ext-roger.quadros at nokia.com>
    Signed-off-by: Tony Lindgren <tony at atomide.com>

commit 2cdbc46d7b2cb0acb68c3ecad93b000552121fa6
Author: Peter Zijlstra <a.p.zijlstra at chello.nl>
Date:   Wed Aug 5 14:05:16 2009 +0200

    perf: Auto-detect libbfd
    
    Since the C++ demangling isn't needed for everybody and
    bfd/iberty aren't widely/easily available on all machines, make
    it optional.
    
    It also allows you to forcefully disable demangling by using
    NO_DEMANGLE=1 and otherwise tries to detect libbfd/libiberty
    combinations that result in a compiling demangler.
    
    Reported-by: Jens Axboe <jens.axboe at oracle.com>
    Signed-off-by: Peter Zijlstra <a.p.zijlstra at chello.nl>
    Cc: Arnaldo Carvalho de Melo <acme at redhat.com>
    Cc: Kyle McMartin <kyle at mcmartin.ca>
    LKML-Reference: <20090801082048.GX12579 at kernel.dk>
    Signed-off-by: Ingo Molnar <mingo at elte.hu>

commit e9cbde8c158629cc96a26b2323c4a243536c1951
Author: Avi Kivity <avi at redhat.com>
Date:   Mon Jul 6 12:49:39 2009 +0300

    KVM: ia64: fix build failures due to ia64/unsigned long mismatches
    
    Signed-off-by: Avi Kivity <avi at redhat.com>

commit c428dcc9b9f967945992a2f8529e8c50a31d7913
Author: Stephen Rothwell <sfr at canb.auug.org.au>
Date:   Wed Jun 17 15:04:19 2009 +1000

    KVM: Make KVM_HPAGES_PER_HPAGE unsigned long to avoid build error on powerpc
    
    Eliminates this compiler warning:
    
    arch/powerpc/kvm/../../../virt/kvm/kvm_main.c:1178: error: integer overflow in expression
    
    Signed-off-by: Stephen Rothwell <sfr at canb.auug.org.au>
    Signed-off-by: Avi Kivity <avi at redhat.com>

commit 114cfab222233f50f46d7162cf7d99fdc6c271e5
Author: Pekka Enberg <penberg at cs.helsinki.fi>
Date:   Wed Aug 5 13:25:21 2009 +0300

    perf report: Make --sort comm,dso,symbol the default
    
    If you're doing performance testing, you're interested in the
    symbols anyway so lets make "--sort comm,dso,symbol" the
    default sort option.
    
    Signed-off-by: Pekka Enberg <penberg at cs.helsinki.fi>
    Acked-by: Peter Zijlstra <peterz at infradead.org>
    Cc: acme at redhat.com
    LKML-Reference: <1249467921-10450-1-git-send-email-penberg at cs.helsinki.fi>
    Signed-off-by: Ingo Molnar <mingo at elte.hu>

commit 5116d8f6b977970ebefc1932c0f313163a6ec91f
Author: Michael S. Tsirkin <mst at redhat.com>
Date:   Sun Jul 26 17:10:01 2009 +0300

    KVM: fix ack not being delivered when msi present
    
    kvm_notify_acked_irq does not check irq type, so that it sometimes
    interprets msi vector as irq.  As a result, ack notifiers are not
    called, which typially hangs the guest.  The fix is to track and
    check irq type.
    
    Signed-off-by: Michael S. Tsirkin <mst at redhat.com>
    Signed-off-by: Avi Kivity <avi at redhat.com>

commit d3bc2f91b4761a8d9f96bea167fef2f8c00dea54
Author: Christian Borntraeger <borntraeger at de.ibm.com>
Date:   Thu Jul 16 17:17:37 2009 +0200

    KVM: s390: fix wait_queue handling
    
    There are two waitqueues in kvm for wait handling:
    vcpu->wq for virt/kvm/kvm_main.c and
    vpcu->arch.local_int.wq for the s390 specific wait code.
    
    the wait handling in kvm_s390_handle_wait was broken by using different
    wait_queues for add_wait queue and remove_wait_queue.
    
    There are two options to fix the problem:
    o  move all the s390 specific code to vcpu->wq and remove
       vcpu->arch.local_int.wq
    o  move all the s390 specific code to vcpu->arch.local_int.wq
    
    This patch chooses the 2nd variant for two reasons:
    o  s390 does not use kvm_vcpu_block but implements its own enabled wait
       handling.
       Having a separate wait_queue make it clear, that our wait mechanism is
       different
    o  the patch is much smaller
    
    Report-by:  Julia Lawall <julia at diku.dk>
    Signed-off-by: Christian Borntraeger <borntraeger at de.ibm.com>
    Signed-off-by: Marcelo Tosatti <mtosatti at redhat.com>
    Signed-off-by: Avi Kivity <avi at redhat.com>

commit 263799a3616242201e20fd2025fe84047b1379b1
Author: Jan Kiszka <jan.kiszka at siemens.com>
Date:   Tue Jul 21 10:43:07 2009 +0200

    KVM: VMX: Fix locking imbalance on emulation failure
    
    We have to disable preemption and IRQs on every exit from
    handle_invalid_guest_state, otherwise we generate at least a
    preempt_disable imbalance.
    
    Signed-off-by: Jan Kiszka <jan.kiszka at siemens.com>
    Signed-off-by: Marcelo Tosatti <mtosatti at redhat.com>
    Signed-off-by: Avi Kivity <avi at redhat.com>

commit 34f0c1ad27a74bd5eb0f99ea43ab6a4658d6419d
Author: Jan Kiszka <jan.kiszka at web.de>
Date:   Wed Jul 22 23:53:26 2009 +0200

    KVM: VMX: Fix locking order in handle_invalid_guest_state
    
    Release and re-acquire preemption and IRQ lock in the same order as
    vcpu_enter_guest does.
    
    Signed-off-by: Jan Kiszka <jan.kiszka at siemens.com>
    Signed-off-by: Marcelo Tosatti <mtosatti at redhat.com>
    Signed-off-by: Avi Kivity <avi at redhat.com>

commit 025dbbf36a7680bffe54d9dcbf0a8bc01a7cbd10
Author: Marcelo Tosatti <mtosatti at redhat.com>
Date:   Wed Jul 22 13:05:49 2009 -0300

    KVM: MMU: handle n_free_mmu_pages > n_alloc_mmu_pages in kvm_mmu_change_mmu_pages
    
    kvm_mmu_change_mmu_pages mishandles the case where n_alloc_mmu_pages is
    smaller then n_free_mmu_pages, by not checking if the result of
    the subtraction is negative.
    
    Its a valid condition which can happen if a large number of pages has
    been recently freed.
    
    Signed-off-by: Marcelo Tosatti <mtosatti at redhat.com>
    Signed-off-by: Avi Kivity <avi at redhat.com>

commit 4b656b1202498184a0ecef86b3b89ff613b9c6ab
Author: Marcelo Tosatti <mtosatti at redhat.com>
Date:   Tue Jul 21 12:47:45 2009 -0300

    KVM: SVM: force new asid on vcpu migration
    
    If a migrated vcpu matches the asid_generation value of the target pcpu,
    there will be no TLB flush via TLB_CONTROL_FLUSH_ALL_ASID.
    
    The check for vcpu.cpu in pre_svm_run is meaningless since svm_vcpu_load
    already updated it on schedule in.
    
    Such vcpu will VMRUN with stale TLB entries.
    
    Based on original patch from Joerg Roedel (http://patchwork.kernel.org/patch/10021/)
    
    Signed-off-by: Marcelo Tosatti <mtosatti at redhat.com>
    Acked-by: Joerg Roedel <joerg.roedel at amd.com>
    Signed-off-by: Avi Kivity <avi at redhat.com>

commit d6289b9365c3f622a8cfe62c4fb054bb70b5061a
Author: Marcelo Tosatti <mtosatti at redhat.com>
Date:   Mon Jun 22 15:27:56 2009 -0300

    KVM: x86: verify MTRR/PAT validity
    
    Do not allow invalid memory types in MTRR/PAT (generating a #GP
    otherwise).
    
    Signed-off-by: Marcelo Tosatti <mtosatti at redhat.com>
    Signed-off-by: Avi Kivity <avi at redhat.com>

commit 0ff77873b1318fc2d77a85e70690d3cd6cafbd41
Author: Marcelo Tosatti <mtosatti at redhat.com>
Date:   Thu Jul 2 20:02:15 2009 -0300

    KVM: PIT: fix kpit_elapsed division by zero
    
    Fix division by zero triggered by latch count command on uninitialized
    counter.
    
    Cc: stable at kernel.org
    Signed-off-by: Marcelo Tosatti <mtosatti at redhat.com>
    Signed-off-by: Avi Kivity <avi at redhat.com>

commit e125e7b6944898831b56739a5448e705578bf7e2
Author: Jan Kiszka <jan.kiszka at web.de>
Date:   Thu Jul 2 21:45:47 2009 +0200

    KVM: Fix KVM_GET_MSR_INDEX_LIST
    
    So far, KVM copied the emulated_msrs (only MSR_IA32_MISC_ENABLE) to a
    wrong address in user space due to broken pointer arithmetic. This
    caused subtle corruption up there (missing MSR_IA32_MISC_ENABLE had
    probably no practical relevance). Moreover, the size check for the
    user-provided kvm_msr_list forgot about emulated MSRs.
    
    Cc: stable at kernel.org
    Signed-off-by: Jan Kiszka <jan.kiszka at siemens.com>
    Signed-off-by: Avi Kivity <avi at redhat.com>

commit 7d5b005652bc5ae3e1e0efc53fd0e25a643ec506
Author: Alok Kataria <akataria at vmware.com>
Date:   Tue Aug 4 15:34:22 2009 -0700

    x86: Fix VMI && stack protector
    
    With CONFIG_STACK_PROTECTOR turned on, VMI doesn't boot with
    more than one processor. The problem is with the gs value not
    being initialized correctly when registering the secondary
    processor for VMI's case.
    
    The patch below initializes the gs value for the AP to
    __KERNEL_STACK_CANARY. Without this the secondary processor
    keeps on taking a GP on every gs access.
    
    Signed-off-by: Alok N Kataria <akataria at vmware.com>
    Cc: <stable at kernel.org> # for v2.6.30.x
    LKML-Reference: <1249425262.18955.40.camel at ank32.eng.vmware.com>
    Signed-off-by: Ingo Molnar <mingo at elte.hu>

commit 33041ec049d39a6e0463c7edc7b6f631d24559e3
Author: Fenghua Yu <fenghua.yu at intel.com>
Date:   Tue Aug 4 15:10:59 2009 -0700

    intel-iommu: Mask physical address to correct page size in intel_map_single()
    
    The physical address passed to domain_pfn_mapping() should be rounded
    down to the start of the MM page, not the VT-d page.
    
    This issue causes kernel panic on PAGE_SIZE>VTD_PAGE_SIZE platforms e.g. ia64
    platforms.
    
    Signed-off-by: Fenghua Yu <fenghua.yu at intel.com>
    Signed-off-by: David Woodhouse <David.Woodhouse at intel.com>

commit f532959b77e5e567c84c914cb7c7b07d2582448b
Author: Fenghua Yu <fenghua.yu at intel.com>
Date:   Tue Aug 4 15:09:37 2009 -0700

    intel-iommu: Correct sglist size calculation.
    
    In domain_sg_mapping(), use aligned_nrpages() instead of hand-coded
    rounding code for calculating the size of each sg elem. This means that
    on IA64 we correctly round up to the MM page size, not just to the VT-d
    page size.
    
    Also remove the incorrect mm_to_dma_pfn() when intel_map_sg() calls
    domain_sg_mapping() -- the 'size' variable is in VT-d pages already.
    
    Signed-off-by: Fenghua Yu <fenghua.yu at intel.com>
    Signed-off-by: David Woodhouse <David.Woodhouse at intel.com>

commit 685aaca751271b2c5191901931a19ccaceeae1ce
Author: Jory A. Pratt <geekypenguin at gmail.com>
Date:   Mon Aug 3 09:32:34 2009 -0700

    Input: i8042 - add Asus G1S to noloop exception list
    
    The synaptic touchpad on the Asus G1S is not properly detected when
    rebooting machine or on cold boot from time to time. Adding the Asus
    G1S to the noloop exception table resolves the issue.
    
    # dmidecode 2.10
    SMBIOS 2.4 present.
    
    Handle 0x0001, DMI type 1, 27 bytes
    System Information
         Manufacturer: ASUSTeK Computer Inc.
         Product Name: G1S
         Version: 1.0
         Wake-up Type: Power Switch
         SKU Number:
         Family:
    
    Signed-off-by: Jory A. Pratt <geekypenguin at gmail.com>
    Signed-off-by: Dmitry Torokhov <dtor at mail.ru>

commit 6502fbfaf81b09b3f474bb7b3796257e9450273e
Author: Alex Deucher <alexdeucher at gmail.com>
Date:   Tue Aug 4 11:24:24 2009 -0400

    drm/radeon: Add support for RS880 chips
    
    These are new AMD IGP chips
    
    Signed-off-by: Alex Deucher <alexdeucher at gmail.com>
    Signed-off-by: Dave Airlie <airlied at redhat.com>

commit 90bc1a658a53f8832ee799685703977a450e5af9
Merge: 6ce90c430baef6e411dcf32e872913888bb3ef54 54822de7793bf9aa56d79cc173281cdb23b37f9f
Author: Linus Torvalds <torvalds at linux-foundation.org>
Date:   Tue Aug 4 15:49:11 2009 -0700

    Merge branch 'upstream' of git://ftp.linux-mips.org/pub/scm/upstream-linus
    
    * 'upstream' of git://ftp.linux-mips.org/pub/scm/upstream-linus: (32 commits)
      MIPS: Wire up accept4 syscall.
      MIPS: VPE: Delete unused function get_tc_unused().
      MIPS: VPE: Fix bogus indentation.
      MIPS: VPE: Make various functions static.
      MIPS: VPE: Free relocation chain on error.
      MIPS: VPE: Fix compiler warning.
      MIPS: Module: Make error messages unique.
      MIPS: Octeon: Run IPI code with interrupts disabled.
      MIPS: Jazz: Fix read buffer overflow
      MIPS: Use DIV_ROUND_CLOSEST
      MIPS: MTX-1: Request button GPIO before setting its direction
      MIPS: AR7: Override CFLAGS with -Werror
      MIPS: AR7: Remove unused tnetd7200_get_clock function
      MIPS: AR7: Use DMA_BIT_MASK(nn) instead of deprecated DMA_nnBIT_MASK
      MIPS: AR7: Fix build failures when CONFIG_SERIAL_8250 is not enabled
      MIPS: Fix read buffer overflow
      MIPS: AR7: Fix build warning on memory.c
      MIPS: Octeon PCIe: Make hardware and software bus numbers match.
      MIPS: RBTX4939: Fix IOC pin-enable register updating
      MIPS: Simplify and correct interrupt handling for MSP4200
      ...

commit 6ce90c430baef6e411dcf32e872913888bb3ef54
Merge: 9f3eea6a2fbf5a07625713dc35e5f8fb91adb12f 4b35d2ca2307d40ccb6b3b6f9cc25ac9178b2a6c
Author: Linus Torvalds <torvalds at linux-foundation.org>
Date:   Tue Aug 4 15:39:55 2009 -0700

    Merge branch 'fix/hda' of git://git.kernel.org/pub/scm/linux/kernel/git/tiwai/sound-2.6
    
    * 'fix/hda' of git://git.kernel.org/pub/scm/linux/kernel/git/tiwai/sound-2.6:
      ALSA: hda - Read buffer overflow
      ALSA: hda: Correct EAPD for Dell Inspiron 1525
      ALSA: hda: warn on spurious response
      ALSA: hda: remember last command for each codec
      ALSA: hda: read CORBWP inside reg_lock
      ALSA: hda: take reg_lock in azx_init_cmd_io/azx_free_cmd_io
      ALSA: hda: take cmd_mutex in probe_codec()
      ALSA: hda: track CIRB/CORB command/response states for each codec
      ALSA: hda - Fix quirk for Toshiba Satellite A135-S4527

commit 9f3eea6a2fbf5a07625713dc35e5f8fb91adb12f
Merge: 2cf812d732442e86c1e2018e23ad82f9bc594a38 cbe9352fa08f90aa03b4dbf1bbabfc95d196e562
Author: Linus Torvalds <torvalds at linux-foundation.org>
Date:   Tue Aug 4 15:39:43 2009 -0700

    Merge git://git.kernel.org/pub/scm/linux/kernel/git/gregkh/tty-2.6
    
    * git://git.kernel.org/pub/scm/linux/kernel/git/gregkh/tty-2.6:
      tty-ldisc: be more careful in 'put_ldisc' locking
      tty-ldisc: turn ldisc user count into a proper refcount
      tty-ldisc: make refcount be atomic_t 'users' count

commit 2cf812d732442e86c1e2018e23ad82f9bc594a38
Merge: ae83060026537885fd23737af161fee8afd04f4b 14d9fa352592582e457cf75022202766baac1348
Author: Linus Torvalds <torvalds at linux-foundation.org>
Date:   Tue Aug 4 15:39:16 2009 -0700

    Merge branch 'for-linus' of git://git.kernel.dk/linux-2.6-block
    
    * 'for-linus' of git://git.kernel.dk/linux-2.6-block:
      Make SCSI SG v4 driver enabled by default and remove EXPERIMENTAL dependency, since udev depends on BSG
      block: Update topology documentation
      block: Stack optimal I/O size
      block: Add a wrapper for setting minimum request size without a queue
      block: Make blk_queue_stack_limits use the new stacking interface

commit ae83060026537885fd23737af161fee8afd04f4b
Merge: 2edb3898b82a20ec459a67fcf76ceddcbecfe395 357eb46d8f275b4e8484541234ea3ba06065e258
Author: Linus Torvalds <torvalds at linux-foundation.org>
Date:   Tue Aug 4 15:38:34 2009 -0700

    Merge git://git.kernel.org/pub/scm/linux/kernel/git/davem/net-2.6
    
    * git://git.kernel.org/pub/scm/linux/kernel/git/davem/net-2.6: (47 commits)
      ehea: Fix napi list corruption on ifconfig down
      igbvf: Allow VF driver to correctly recognize failure to set mac
      3c59x: Fix build failure with gcc 3.2
      sky2: Avoid transmits during sky2_down()
      iwlagn: do not send key clear commands when rfkill enabled
      libertas: Read buffer overflow
      drivers/net/wireless: introduce missing kfree
      drivers/net/wireless/iwlwifi: introduce missing kfree
      zd1211rw: fix unaligned access in zd_mac_rx
      cfg80211: fix regression on beacon world roaming feature
      cfg80211: add two missing NULL pointer checks
      ixgbe: Patch to modify 82598 PCIe completion timeout values
      bluetooth: rfcomm_init bug fix
      mlx4_en: Fix double pci unmapping.
      mISDN: Fix handling of receive buffer size in L1oIP
      pcnet32: VLB support fixes
      pcnet32: remove superfluous NULL pointer check in pcnet32_probe1()
      net: restore the original spinlock to protect unicast list
      netxen: fix coherent dma mask setting
      mISDN: Read buffer overflow
      ...

commit 2edb3898b82a20ec459a67fcf76ceddcbecfe395
Merge: c71c090ff9c474d70af4796b5ea9f548a9d3b6b8 ffd4bc2a984fab40ed969163efdff321490e8032
Author: Linus Torvalds <torvalds at linux-foundation.org>
Date:   Tue Aug 4 15:38:10 2009 -0700

    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: (23 commits)
      [SCSI] sd: Avoid sending extended inquiry to legacy devices
      [SCSI] libsas: fix wide port hotplug issues
      [SCSI] libfc: fix a circular locking warning during sending RRQ
      [SCSI] qla4xxx: Remove hiwat code so scsi eh does not get escalated when we can make progress
      [SCSI] qla4xxx: Fix srb lookup in qla4xxx_eh_device_reset
      [SCSI] qla4xxx: Fix Driver Fault Recovery Completion
      [SCSI] qla4xxx: add timeout handler
      [SCSI] qla4xxx: Correct Extended Sense Data Errors
      [SCSI] libiscsi: disable bh in and abort handler.
      [SCSI] zfcp: Fix tracing of request id for abort requests
      [SCSI] zfcp: Fix wka port processing
      [SCSI] zfcp: avoid double notify in lowmem scenario
      [SCSI] zfcp: Add port only once to FC transport class
      [SCSI] zfcp: Recover from stalled outbound queue
      [SCSI] zfcp: Fix erp escalation procedure
      [SCSI] zfcp: Fix logic for physical port close
      [SCSI] zfcp: Use -EIO for SBAL allocation failures
      [SCSI] zfcp: Use unchained mode for small ct and els requests
      [SCSI] zfcp: Use correct flags for zfcp_erp_notify
      [SCSI] zfcp: Return -ENOMEM for allocation failures in zfcp_fsf
      ...

commit c71c090ff9c474d70af4796b5ea9f548a9d3b6b8
Merge: 78ec75cd1c81e01909005f392954c797f686d7bc c2718348b41a8e7646516d9af8bb0231c6a44374
Author: Linus Torvalds <torvalds at linux-foundation.org>
Date:   Tue Aug 4 15:35:47 2009 -0700

    Merge branch 'for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/bp/bp
    
    * 'for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/bp/bp:
      amd64_edac: print debug statements only on error
      amd64_edac: fix ECC checking

commit 78ec75cd1c81e01909005f392954c797f686d7bc
Merge: 1ee5332cf67c2f5f468ad1a59033d57453bcad1a c96e7c7a3a79931446ecf9494a8415e4d164ebd8
Author: Linus Torvalds <torvalds at linux-foundation.org>
Date:   Tue Aug 4 15:34:30 2009 -0700

    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:
      drm/ttm: Read buffer overflow
      drm/radeon: Read buffer overflow
      drm/ttm: Fix a sync object leak.
      drm/radeon/kms: fix memory leak in radeon_driver_load_kms
      drm/radeon/kms: fix nomodeset.
      drm/ttm: Fix a potential comparison of structs.
      drm/radeon/kms: fix rv515 VRAM initialisation.
      drm/radeon: add some new r7xx pci ids
      drm: Catch stop possible NULL pointer reference
      drm: Small logic fix in drm_mode_setcrtc

commit 1ee5332cf67c2f5f468ad1a59033d57453bcad1a
Merge: 07868201070d87484bd00610a4921e879be78746 cae5a39f34d52c46ca49edfc3f297656a0fd60b7
Author: Linus Torvalds <torvalds at linux-foundation.org>
Date:   Tue Aug 4 15:34:09 2009 -0700

    Merge branch 'for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/deller/parisc-2.6
    
    * 'for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/deller/parisc-2.6:
      parisc: hppb.c - fix printk format strings
      parisc: parisc-agp.c - use correct page_mask function
      parisc: sticore.c - check return values
      parisc: dino.c - check return value of pci_assign_resource()
      parisc: hp_sdc_mlc.c - check return value of down_trylock()
      parisc: includecheck fix for ccio-dma.c
      parisc: Set correct bit in protection flags
      parisc: isa-eeprom - Fix loff_t usage
      parisc: fixed faulty check in lba_pci
      parisc: Fix read buffer overflow in pdc_stable driver
      parisc: Fix GOT overflow during module load on 64bit kernel

commit 07868201070d87484bd00610a4921e879be78746
Author: Jonathan Corbet <corbet at lwn.net>
Date:   Tue Aug 4 13:35:17 2009 -0600

    flex_array: remove unneeded index calculation
    
    flex_array_get() calculates an index value, then drops it on the floor;
    simply remove it.
    
    Signed-off-by: Jonathan Corbet <corbet at lwn.net>
    Acked-by: Dave Hansen <dave at linux.vnet.ibm.com>
    Signed-off-by: Linus Torvalds <torvalds at linux-foundation.org>

commit a40694a38a745af0dd7d8b796597ada1dd6caeb7
Merge: ea5634246beaedd91b93d7e7fce7d825232d1b78 f26542600e605482a1231c44ddb2966d69bd09b0
Author: Linus Torvalds <torvalds at linux-foundation.org>
Date:   Tue Aug 4 15:32:40 2009 -0700

    Merge branch 'perfcounters-fixes-for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/tip/linux-2.6-tip
    
    * 'perfcounters-fixes-for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/tip/linux-2.6-tip:
      perf_counter: Set the CONFIG_PERF_COUNTERS default to y if CONFIG_PROFILING=y
      perf: Fix read buffer overflow
      perf top: Add mwait_idle_with_hints to skip_symbols[]
      perf tools: Fix faulty check
      perf report: Update for the new FORK/EXIT events
      perf_counter: Full task tracing
      perf_counter: Collapse inherit on read()
      tracing, perf_counter: Add help text to CONFIG_EVENT_PROFILE
      perf_counter tools: Fix link errors with older toolchains

commit ea5634246beaedd91b93d7e7fce7d825232d1b78
Merge: 7193675dc8ffa0325d013602d2bbccc0954db502 07903af152b0597d94e9b0030746b63c4664e787
Author: Linus Torvalds <torvalds at linux-foundation.org>
Date:   Tue Aug 4 15:32:22 2009 -0700

    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: Fix race in cpupri introduced by cpumask_var changes
      sched: Fix latencytop and sleep profiling vs group scheduling

commit 7193675dc8ffa0325d013602d2bbccc0954db502
Merge: 9c66812b6bee225950431de51dfc9dc664905038 70d715fd0597f18528f389b5ac59102263067744
Author: Linus Torvalds <torvalds at linux-foundation.org>
Date:   Tue Aug 4 15:32:08 2009 -0700

    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:
      posix-timers: Fix oops in clock_nanosleep() with CLOCK_MONOTONIC_RAW

commit 9c66812b6bee225950431de51dfc9dc664905038
Merge: b5a7c9a0b3c5de22e1762120063daae9f91d5197 e16852cfc5580b88cb327413ab8c89375f380592
Author: Linus Torvalds <torvalds at linux-foundation.org>
Date:   Tue Aug 4 15:31:51 2009 -0700

    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: Fix missing function_graph events when we splice_read from trace_pipe
      tracing: Fix invalid function_graph entry
      trace: stop tracer in oops_enter()
      ftrace: Only update $offset when we update $ref_func
      ftrace: Fix the conditional that updates $ref_func
      tracing: only truncate ftrace files when O_TRUNC is set
      tracing: show proper address for trace-printk format

commit b5a7c9a0b3c5de22e1762120063daae9f91d5197
Merge: 067e18133f01ee0136bcec2633eb93f7320721a2 1cef8e41073efe47e809f49670eb461307e52ccc
Author: Linus Torvalds <torvalds at linux-foundation.org>
Date:   Tue Aug 4 15:29:25 2009 -0700

    Merge branch 'for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/sameo/mfd-2.6
    
    * 'for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/sameo/mfd-2.6:
      mfd: twl4030 irq fixes

commit 067e18133f01ee0136bcec2633eb93f7320721a2
Merge: 3f5760b90eb3bacfaa4d4c3e584152468ed327ca dc731fbbadf5d65c98fcd6c86472aa286c16458a
Author: Linus Torvalds <torvalds at linux-foundation.org>
Date:   Tue Aug 4 15:28:59 2009 -0700

    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: Work around compilation warning in arch/x86/kernel/apm_32.c
      x86, UV: Complete IRQ interrupt migration in arch_enable_uv_irq()
      x86, 32-bit: Fix double accounting in reserve_top_address()
      x86: Don't use current_cpu_data in x2apic phys_pkg_id
      x86, UV: Fix UV apic mode
      x86, UV: Fix macros for accessing large node numbers
      x86, UV: Delete mapping of MMR rangs mapped by BIOS
      x86, UV: Handle missing blade-local memory correctly
      x86: fix assembly constraints in native_save_fl()
      x86, msr: execute on the correct CPU subset
      x86: Fix assert syntax in vmlinux.lds.S
      x86: Make 64-bit efi_ioremap use ioremap on MMIO regions
      x86: Add quirk to make Apple MacBook5,2 use reboot=pci
      x86: Fix CPA memtype reserving in the set_pages_array*() cases
      x86, pat: Fix set_memory_wc related corruption
      x86: fix section mismatch for i386 init code

commit 3f5760b90eb3bacfaa4d4c3e584152468ed327ca
Merge: 624720e09c9b7913ef4bc6989878a6fcb7ecdff8 4bc5d34135039566b8d6efa2de7515b2be505da8
Author: Linus Torvalds <torvalds at linux-foundation.org>
Date:   Tue Aug 4 15:28:46 2009 -0700

    Merge branch 'fixes' of git://git.kernel.org/pub/scm/linux/kernel/git/davej/cpufreq
    
    * 'fixes' of git://git.kernel.org/pub/scm/linux/kernel/git/davej/cpufreq:
      [CPUFREQ] Make cpufreq suspend code conditional on powerpc.
      [CPUFREQ] Fix a kobject reference bug related to managed CPUs
      [CPUFREQ] Do not set policy for offline cpus
      [CPUFREQ] Fix NULL pointer dereference regression in conservative governor

commit 624720e09c9b7913ef4bc6989878a6fcb7ecdff8
Merge: 849c9caa60642095060e9c21f14687ae9149a6f3 01a261e09a21e0ba342d3907a79cf5c78ee3f37a
Author: Linus Torvalds <torvalds at linux-foundation.org>
Date:   Tue Aug 4 15:28:23 2009 -0700

    Merge branch 'for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/ryusuke/nilfs2
    
    * 'for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/ryusuke/nilfs2:
      nilfs2: fix missing unlock in error path of nilfs_mdt_write_page
      nilfs2: fix oops due to inconsistent state in page with discrete b-tree nodes

commit 849c9caa60642095060e9c21f14687ae9149a6f3
Merge: a33a052f19a21d727847391c8c1aff3fb221c472 d098564f3b2b5d555e51bca765a6a9e0dda8f2cd
Author: Linus Torvalds <torvalds at linux-foundation.org>
Date:   Tue Aug 4 15:27:56 2009 -0700

    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] Update readme to reflect forceuid mount parms
      cifs: Read buffer overflow
      cifs: show noforceuid/noforcegid mount options (try #2)
      cifs: reinstate original behavior when uid=/gid= options are specified
      [CIFS] Updates fs/cifs/CHANGES
      cifs: fix error handling in mount-time DFS referral chasing code

commit cbe9352fa08f90aa03b4dbf1bbabfc95d196e562
Author: Linus Torvalds <torvalds at linux-foundation.org>
Date:   Mon Aug 3 14:54:56 2009 -0700

    tty-ldisc: be more careful in 'put_ldisc' locking
    
    Use 'atomic_dec_and_lock()' to make sure that we always hold the
    tty_ldisc_lock when the ldisc count goes to zero. That way we can never
    race against 'tty_ldisc_try()' increasing the count again.
    
    Reported-by: OGAWA Hirofumi <hirofumi at mail.parknet.co.jp>
    Signed-off-by: Linus Torvalds <torvalds at linux-foundation.org>
    Tested-by: Sergey Senozhatsky <sergey.senozhatsky at mail.by>
    Signed-off-by: Greg Kroah-Hartman <gregkh at suse.de>

commit 65b770468e98941e45e19780dff9283e663e6b8b
Author: Linus Torvalds <torvalds at linux-foundation.org>
Date:   Mon Aug 3 11:11:19 2009 -0700

    tty-ldisc: turn ldisc user count into a proper refcount
    
    By using the user count for the actual lifetime rules, we can get rid of
    the silly "wait_for_idle" logic, because any busy ldisc will
    automatically stay around until the last user releases it.  This avoids
    a host of odd issues, and simplifies the code.
    
    So now, when the last ldisc reference is dropped, we just release the
    ldisc operations struct reference, and free the ldisc.
    
    It looks obvious enough, and it does work for me, but the counting
    _could_ be off. It probably isn't (bad counting in the new version would
    generally imply that the old code did something really bad, like free an
    ldisc with a non-zero count), but it does need some testing, and
    preferably somebody looking at it.
    
    With this change, both 'tty_ldisc_put()' and 'tty_ldisc_deref()' are
    just aliases for the new ref-counting 'put_ldisc()'. Both of them
    decrement the ldisc user count and free it if it goes down to zero.
    They're identical functions, in other words.
    
    But the reason they still exist as sepate functions is that one of them
    was exported (tty_ldisc_deref) and had a stupid name (so I don't want to
    use it as the main name), and the other one was used in multiple places
    (and I didn't want to make the patch larger just to rename the users).
    
    In addition to the refcounting, I did do some minimal cleanup. For
    example, now "tty_ldisc_try()" actually returns the ldisc it got under
    the lock, rather than returning true/false and then the caller would
    look up the ldisc again (now without the protection of the lock).
    
    That said, there's tons of dubious use of 'tty->ldisc' without obviously
    proper locking or refcounting left. I expressly did _not_ want to try to
    fix it all, keeping the patch minimal. There may or may not be bugs in
    that kind of code, but they wouldn't be _new_ bugs.
    
    That said, even if the bugs aren't new, the timing and lifetime will
    change. For example, some silly code may depend on the 'tty->ldisc'
    pointer not changing because they hold a refcount on the 'ldisc'. And
    that's no longer true - if you hold a ref on the ldisc, the 'ldisc'
    itself is safe, but tty->ldisc may change.
    
    So the proper locking (remains) to hold tty->ldisc_mutex if you expect
    tty->ldisc to be stable. That's not really a _new_ rule, but it's an
    example of something that the old code might have unintentionally
    depended on and hidden bugs.
    
    Whatever. The patch _looks_ sensible to me. The only users of
    ldisc->users are:
     - get_ldisc() - atomically increment the count
    
     - put_ldisc() - atomically decrements the count and releases if zero
    
     - tty_ldisc_try_get() - creates the ldisc, and sets the count to 1.
       The ldisc should then either be released, or be attached to a tty.
    
    Signed-off-by: Linus Torvalds <torvalds at linux-foundation.org>
    Tested-by: OGAWA Hirofumi <hirofumi at mail.parknet.co.jp>
    Tested-by: Sergey Senozhatsky <sergey.senozhatsky at mail.by>
    Acked-by: Alan Cox <alan at linux.intel.com>
    Signed-off-by: Greg Kroah-Hartman <gregkh at suse.de>

commit 18eac1cc100fa2afd5f39085aae6b694e417734b
Author: Linus Torvalds <torvalds at linux-foundation.org>
Date:   Mon Aug 3 10:58:29 2009 -0700

    tty-ldisc: make refcount be atomic_t 'users' count
    
    This is pure preparation of changing the ldisc reference counting to be
    a true refcount that defines the lifetime of the ldisc.  But this is a
    purely syntactic change for now to make the next steps easier.
    
    This patch should make no semantic changes at all. But I wanted to make
    the ldisc refcount be an atomic (I will be touching it without locks
    soon enough), and I wanted to rename it so that there isn't quite as
    much confusion between 'ldo->refcount' (ldisk operations refcount) and
    'ld->refcount' (ldisc refcount itself) in the same file.
    
    So it's now an atomic 'ld->users' count. It still starts at zero,
    despite having a reference from 'tty->ldisc', but that will change once
    we turn it into a _real_ refcount.
    
    Signed-off-by: Linus Torvalds <torvalds at linux-foundation.org>
    Tested-by: OGAWA Hirofumi <hirofumi at mail.parknet.co.jp>
    Tested-by: Sergey Senozhatsky <sergey.senozhatsky at mail.by>
    Acked-by: Alan Cox <alan at linux.intel.com>
    Signed-off-by: Greg Kroah-Hartman <gregkh at suse.de>

commit 14d9fa352592582e457cf75022202766baac1348
Author: John Stoffel <john at stoffel.org>
Date:   Tue Aug 4 22:10:17 2009 +0200

    Make SCSI SG v4 driver enabled by default and remove EXPERIMENTAL dependency, since udev depends on BSG
    
    Make Block Layer SG support v4 the default, since recent udev versions
    depend on this to access serial numbers and other low level info properly.
    
    This should be backported to older kernels as well, since most distros have
    enabled this for a long time.
    
    Signed-off-by: John Stoffel <john at stoffel.org>
    Cc: stable at kernel.org
    Signed-off-by: Jens Axboe <jens.axboe at oracle.com>

commit 357eb46d8f275b4e8484541234ea3ba06065e258
Author: Hannes Hering <hering2 at de.ibm.com>
Date:   Tue Aug 4 11:48:39 2009 -0700

    ehea: Fix napi list corruption on ifconfig down
    
    This patch fixes the napi list handling when an ehea interface is shut
    down to avoid corruption of the napi list.
    
    Signed-off-by: Hannes Hering <hering2 at de.ibm.com>
    Signed-off-by: David S. Miller <davem at davemloft.net>

commit e0cff5ed27acd355264b210d9622da801a431e19
Author: Alexander Duyck <alexander.h.duyck at intel.com>
Date:   Tue Aug 4 11:46:41 2009 -0700

    igbvf: Allow VF driver to correctly recognize failure to set mac
    
    The VF driver was not correctly recognizing that it did not correctly set
    it's mac address.  As a result the VF driver was unable to receive network
    traffic until being unloaded and reloaded.  The issue was root caused to
    the fact that the CTS bit was not taken into account when checking for the
    request being NAKed.
    
    Signed-off-by: Alexander Duyck <alexander.h.duyck at intel.com>
    Signed-off-by: Jeff Kirsher <jeffrey.t.kirsher at intel.com>
    Signed-off-by: David S. Miller <davem at davemloft.net>

commit 4bc5d34135039566b8d6efa2de7515b2be505da8
Author: Dave Jones <davej at redhat.com>
Date:   Tue Aug 4 14:03:25 2009 -0400

    [CPUFREQ] Make cpufreq suspend code conditional on powerpc.
    
    The suspend code runs with interrupts disabled, and the powerpc workaround we
    do in the cpufreq suspend hook calls the drivers ->get method.
    
    powernow-k8's ->get does an smp_call_function_single
    which needs interrupts enabled
    
    cpufreq's suspend/resume code was added in 42d4dc3f4e1e to work around
    a hardware problem on ppc powerbooks.  If we make all this code
    conditional on powerpc, we avoid the issue above.
    
    Signed-off-by: Dave Jones <davej at redhat.com>

commit d5194decd0a6f792b2789eebd4ddf022a248f655
Author: Thomas Renninger <trenn at suse.de>
Date:   Wed Jul 29 11:26:20 2009 +0200

    [CPUFREQ] Fix a kobject reference bug related to managed CPUs
    
    The first offline/online cycle is successful, the second not.
    Doing:
    echo 0 >cpu1/online
    echo 1 >cpu1/online
    echo 0 >cpu1/online
    
    The last command will trigger:
    Jul 22 14:39:50 linux kernel: [  593.210125] ------------[ cut here ]------------
    Jul 22 14:39:50 linux kernel: [  593.210139] WARNING: at lib/kref.c:43 kref_get+0x23/0x2b()
    Jul 22 14:39:50 linux kernel: [  593.210144] Hardware name: To Be Filled By O.E.M.
    Jul 22 14:39:50 linux kernel: [  593.210148] Modules linked in: powernow_k8
    Jul 22 14:39:50 linux kernel: [  593.210158] Pid: 378, comm: kondemand/2 Tainted: G        W  2.6.31-rc2 #38
    Jul 22 14:39:50 linux kernel: [  593.210163] Call Trace:
    Jul 22 14:39:50 linux kernel: [  593.210171]  [<ffffffff812008e8>] ? kref_get+0x23/0x2b
    Jul 22 14:39:50 linux kernel: [  593.210181]  [<ffffffff81041926>] warn_slowpath_common+0x77/0xa4
    Jul 22 14:39:50 linux kernel: [  593.210190]  [<ffffffff81041962>] warn_slowpath_null+0xf/0x11
    Jul 22 14:39:50 linux kernel: [  593.210198]  [<ffffffff812008e8>] kref_get+0x23/0x2b
    Jul 22 14:39:50 linux kernel: [  593.210206]  [<ffffffff811ffa19>] kobject_get+0x1a/0x22
    Jul 22 14:39:50 linux kernel: [  593.210214]  [<ffffffff813e815d>] cpufreq_cpu_get+0x8a/0xcb
    Jul 22 14:39:50 linux kernel: [  593.210222]  [<ffffffff813e87d1>] __cpufreq_driver_getavg+0x1d/0x67
    Jul 22 14:39:50 linux kernel: [  593.210231]  [<ffffffff813ea18f>] do_dbs_timer+0x158/0x27f
    Jul 22 14:39:50 linux kernel: [  593.210240]  [<ffffffff810529ea>] worker_thread+0x200/0x313
    ...
    
    The output continues on every do_dbs_timer ondemand freq checking poll.
    This regression was introduced by git commit:
    3f4a782b5ce2698b1870b5a7b573cd721d4fce33
    
    The policy is released when the cpufreq device is removed in:
    __cpufreq_remove_dev():
    	/* if this isn't the CPU which is the parent of the kobj, we
    	 * only need to unlink, put and exit
    	 */
    
    Not creating the symlink is not sever at all.
    As long as:
    sysfs_remove_link(&sys_dev->kobj, "cpufreq");
    handles it gracefully that the symlink did not exist.
    Possibly no error should be returned at all, because ondemand
    governor would still provide the same functionality.
    Userspace in userspace gov case might be confused if the link
    is missing.
    
    Resolves http://bugzilla.kernel.org/show_bug.cgi?id=13903
    
    CC: Mathieu Desnoyers <mathieu.desnoyers at polymtl.ca>
    CC: Venkatesh Pallipadi <venkatesh.pallipadi at intel.com>
    Signed-off-by: Thomas Renninger <trenn at suse.de>
    Signed-off-by: Dave Jones <davej at redhat.com>

commit 42c74b84c64633dd3badbfc2abd2ef1728b64b30
Author: Prarit Bhargava <prarit at redhat.com>
Date:   Mon Aug 3 10:58:11 2009 -0400

    [CPUFREQ] Do not set policy for offline cpus
    
    Suspend/Resume fails on multi socket, multi core systems because the cpufreq
    code erroneously sets the per_cpu policy_cpu value when a logical cpu is
    offline.
    
    This most notably results in missing sysfs files that are used to set the
    cpu frequencies of the various cpus.
    
    Signed-off-by: Prarit Bhargava <prarit at redhat.com>
    Signed-off-by: Dave Jones <davej at redhat.com>

commit 26d204afa18f7df177f21bdb3759e0098ca8f7d5
Author: Pallipadi, Venkatesh <venkatesh.pallipadi at intel.com>
Date:   Wed Jul 29 13:36:10 2009 -0700

    [CPUFREQ] Fix NULL pointer dereference regression in conservative governor
    
    Commit ee88415caf736b89500f16e0a545614541a45005
    introduced this regression when it removed enable bit in cpu_dbs_info_s.
    That added a possibility of dbs_cpufreq_notifier getting called for a
    CPU that is not yet managed by conservative governor. That will happen
    as the transition notifier is set as soon as one CPU switches to
    conservative governor and other CPUs can get a NULL pointer dereference
    without the enable bit check. Add the enable bit back again.
    
    Reported-by: Lermytte Christophe <Christophe.Lermytte at thomson.net>
    Signed-off-by: Venkatesh Pallipadi <venkatesh.pallipadi at intel.com>
    Signed-off-by: Dave Jones <davej at redhat.com>

commit 1cef8e41073efe47e809f49670eb461307e52ccc
Author: Russell King <rmk+kernel at arm.linux.org.uk>
Date:   Mon Jul 27 11:30:48 2009 +0530

    mfd: twl4030 irq fixes
    
    The TWL4030 IRQ handler has a bug which leads to spinlock lock-up. It is
    calling the 'unmask' function in a process context. :The mask/unmask/ack
    functions are only designed to be called from the IRQ handler code,
    or the proper API interfaces found in linux/interrupt.h.
    
    Also there is no need to have IRQ chaining mechanism. The right way to
    handle this is to claim the parent interrupt as a standard interrupt
    and arrange for handle_twl4030_pih to take care of the rest of the devices.
    
    Mail thread on this issue can be found at:
    http://marc.info/?l=linux-arm-kernel&m=124629940123396&w=2
    
    Signed-off-by: Russell King <rmk+kernel at arm.linux.org.uk>
    Tested-by: Santosh Shilimkar <santosh.shilimkar at ti.com>
    Acked-by: Tony Lindgren <tony at atomide.com>
    Signed-off-by: Samuel Ortiz <sameo at linux.intel.com>

commit f26542600e605482a1231c44ddb2966d69bd09b0
Author: Ingo Molnar <mingo at elte.hu>
Date:   Mon Jun 29 10:40:20 2009 +0200

    perf_counter: Set the CONFIG_PERF_COUNTERS default to y if CONFIG_PROFILING=y
    
    If user has already enabled profiling support in the kernel
    (for oprofile, old-style profiling of ftrace) then offer up
    perfcounters with a y default in interactive kconfig sessions.
    
    Still keep it off by default otherwise.
    
    Cc: Peter Zijlstra <peterz at infradead.org>
    Cc: Linus Torvalds <torvalds at linux-foundation.org>
    Signed-off-by: Ingo Molnar <mingo at elte.hu>

commit dc731fbbadf5d65c98fcd6c86472aa286c16458a
Author: Subrata Modak <subrata at linux.vnet.ibm.com>
Date:   Tue Jul 21 08:02:27 2009 +0530

    x86: Work around compilation warning in arch/x86/kernel/apm_32.c
    
    The following fix was initially inspired by David Howells fix
    few days back:
    
      http://lkml.org/lkml/2009/7/9/109
    
    However, Ingo disapproves such fixes as it's dangerous (it can
    hide future, relevant warnings) - in something as
    performance-uncritical.
    
    So, initialize 'err' to '0' to work around a GCC false positive
    warning:
    
      http://lkml.org/lkml/2009/7/18/89
    
    Signed-off-by: Subrata Modak<subrata at linux.vnet.ibm.com>
    Cc: Sachin P Sant <sachinp at linux.vnet.ibm.com>
    Cc: David Howells <dhowells at redhat.com>
    Cc: Balbir Singh <balbir at linux.vnet.ibm.com>
    Cc: Stephen Rothwell <sfr at canb.auug.org.au>
    LKML-Reference: <20090721023226.31855.67236.sendpatchset at subratamodak.linux.ibm.com>
    Signed-off-by: Ingo Molnar <mingo at elte.hu>

commit 2a5ef41661b56cf4eee042a6967c4e14b63e8eac
Author: Jack Steiner <steiner at sgi.com>
Date:   Mon Jul 20 09:28:41 2009 -0500

    x86, UV: Complete IRQ interrupt migration in arch_enable_uv_irq()
    
    In uv_setup_irq(), the call to create_irq() initially assigns
    IRQ vectors to cpu 0. The subsequent call to
    assign_irq_vector() in arch_enable_uv_irq() migrates the IRQ to
    another cpu and frees the cpu 0 vector - at least it will be
    freed as soon as the "IRQ move" completes.
    
    arch_enable_uv_irq() needs to send a cleanup IPI to complete
    the IRQ move. Otherwise, assignment of GRU interrupts on large
    systems (>200 cpus) will exhaust the cpu 0 interrupt vectors
    and initialization of the GRU driver will fail.
    
    Signed-off-by: Jack Steiner <steiner at sgi.com>
    LKML-Reference: <20090720142840.GA8885 at sgi.com>
    Signed-off-by: Ingo Molnar <mingo at elte.hu>

commit 6abf65510944d33b47575d151c6b318993c8d2b5
Author: Jan Beulich <JBeulich at novell.com>
Date:   Thu Jul 30 16:49:30 2009 +0100

    x86, 32-bit: Fix double accounting in reserve_top_address()
    
    With VMALLOC_END included in the calculation of MAXMEM (as of
    2.6.28) it is no longer correct to also bump __VMALLOC_RESERVE
    in reserve_top_address(). Doing so results in needlessly small
    lowmem.
    
    Signed-off-by: Jan Beulich <jbeulich at novell.com>
    LKML-Reference: <4A71DD2A020000780000D482 at vpn.id2.novell.com>
    Signed-off-by: Ingo Molnar <mingo at elte.hu>

commit d8c7eb34c2db6268909ae8c3958be63bde254292
Author: Yinghai Lu <yinghai at kernel.org>
Date:   Sat Jul 25 03:23:09 2009 -0700

    x86: Don't use current_cpu_data in x2apic phys_pkg_id
    
    One system has socket 1 come up as BSP.
    
    kexeced kernel reports BSP as:
    
    [    1.524550] Initializing cgroup subsys cpuacct
    [    1.536064] initial_apicid:20
    [    1.537135] ht_mask_width:1
    [    1.538128] core_select_mask:f
    [    1.539126] core_plus_mask_width:5
    [    1.558479] CPU: Physical Processor ID: 0
    [    1.559501] CPU: Processor Core ID: 0
    [    1.560539] CPU: L1 I cache: 32K, L1 D cache: 32K
    [    1.579098] CPU: L2 cache: 256K
    [    1.580085] CPU: L3 cache: 24576K
    [    1.581108] CPU 0/0x20 -> Node 0
    [    1.596193] CPU 0 microcode level: 0xffff0008
    
    It doesn't have correct physical processor id and will get an
    error:
    
    [   38.840859] CPU0 attaching sched-domain:
    [   38.848287]  domain 0: span 0,8,72 level SIBLING
    [   38.851151]   groups: 0 8 72
    [   38.858137]   domain 1: span 0,8-15,72-79 level MC
    [   38.868944]    groups: 0,8,72 9,73 10,74 11,75 12,76 13,77 14,78 15,79
    [   38.881383] ERROR: parent span is not a superset of domain->span
    [   38.890724]    domain 2: span 0-7,64-71 level CPU
    [   38.899237] ERROR: domain->groups does not contain CPU0
    [   38.909229]     groups: 8-15,72-79
    [   38.912547] ERROR: groups don't span domain->span
    [   38.919665]     domain 3: span 0-127 level NODE
    [   38.930739]      groups: 0-7,64-71 8-15,72-79 16-23,80-87 24-31,88-95 32-39,96-103 40-47,104-111 48-55,112-119 56-63,120-127
    
    it turns out: we can not use current_cpu_data in phys_pgd_id
    for x2apic.
    
    identify_boot_cpu() is called by check_bugs() before
    smp_prepare_cpus() and till smp_prepare_cpus() current_cpu_data
    for bsp is assigned with boot_cpu_data.
    
    Just make phys_pkg_id for x2apic is aligned to xapic.
    
    Signed-off-by: Yinghai Lu <yinghai at kernel.org>
    Acked-by: Suresh Siddha <suresh.b.siddha at intel.com>
    Cc: Andrew Morton <akpm at linux-foundation.org>
    LKML-Reference: <4A6ADD0D.10002 at kernel.org>
    Signed-off-by: Ingo Molnar <mingo at elte.hu>

commit c5997fa8d7aca3c9876a6ff71bacf27c41095ce9
Author: Jack Steiner <steiner at sgi.com>
Date:   Mon Jul 27 09:38:56 2009 -0500

    x86, UV: Fix UV apic mode
    
    Change SGI UV default apicid mode to "physical". This is
    required to match settings in the UV hub chip.
    
    Signed-off-by: Jack Steiner <steiner at sgi.com>
    LKML-Reference: <20090727143856.GA8905 at sgi.com>
    Signed-off-by: Ingo Molnar <mingo at elte.hu>

commit 67e83f309ed0baaf01a2c956b5174905bcdc1242
Author: Jack Steiner <steiner at sgi.com>
Date:   Mon Jul 27 09:38:08 2009 -0500

    x86, UV: Fix macros for accessing large node numbers
    
    The UV chipset automatically supplies the upper bits on nodes
    being referenced by MMR accesses. These bit can be deleted from
    the hub addressing macros.
    
    Signed-off-by: Jack Steiner <steiner at sgi.com>
    LKML-Reference: <20090727143808.GA8076 at sgi.com>
    Signed-off-by: Ingo Molnar <mingo at elte.hu>

commit cc5e4fa1bd4d2f56da07f9092281afdcd2374ab9
Author: Jack Steiner <steiner at sgi.com>
Date:   Mon Jul 27 09:36:56 2009 -0500

    x86, UV: Delete mapping of MMR rangs mapped by BIOS
    
    The UV BIOS has added additional MMR ranges that are mapped via
    EFI virtual mode mappings. These ranges should be deleted from
    ranges mapped by uv_system_init().
    
    Signed-off-by: Jack Steiner <steiner at sgi.com>
    Cc: linux-mm at kvack.org
    LKML-Reference: <20090727143656.GA7698 at sgi.com>
    Signed-off-by: Ingo Molnar <mingo at elte.hu>

commit 6c7184b77464261b7d55583a48accbd1350923a3
Author: Jack Steiner <steiner at sgi.com>
Date:   Mon Jul 27 09:35:07 2009 -0500

    x86, UV: Handle missing blade-local memory correctly
    
    UV blades may not have any blade-local memory. Add a field
    (nid) to the UV blade structure to indicates whether the node
    has local memory. This is needed by the GRU driver (pushed
    separately).
    
    Signed-off-by: Jack Steiner <steiner at sgi.com>
    Cc: linux-mm at kvack.org
    LKML-Reference: <20090727143507.GA7006 at sgi.com>
    Signed-off-by: Ingo Molnar <mingo at elte.hu>

commit e16852cfc5580b88cb327413ab8c89375f380592
Merge: bdff78707f3ce47e891f3201c9666122a70556ce 74e7ff8c50b6b022e6ffaa736b16a4dc161d3eaf
Author: Ingo Molnar <mingo at elte.hu>
Date:   Tue Aug 4 13:58:28 2009 +0200

    Merge branch 'tracing/fixes' of git://git.kernel.org/pub/scm/linux/kernel/git/frederic/random-tracing into tracing/urgent

commit 57ca7deb062abf56168d15f000c16e25f88a9cf3
Author: Anders Grafström <grfstrm at users.sourceforge.net>
Date:   Tue Aug 4 13:11:47 2009 +0200

    jffs2: Fix return value from jffs2_do_readpage_nolock()
    
    This fixes "kernel BUG at fs/jffs2/file.c:251!".
    This pseudocode hopefully illustrates the scenario that triggers it:
    
    jffs2_write_begin {
         jffs2_do_readpage_nolock {
             jffs2_read_inode_range {
                 jffs2_read_dnode {
                     Data CRC 33c102e9 != calculated CRC 0ef77e7b for node at 005d42e4
                     return -EIO;
                 }
             }
             ClearPageUptodate(pg);
             return 0;
         }
    }
    
    jffs2_write_end {
         BUG_ON(!PageUptodate(pg));
    }
    
    Signed-off-by: Anders Grafström <grfstrm at users.sourceforge.net>
    Signed-off-by: David Woodhouse <David.Woodhouse at intel.com>

commit c2718348b41a8e7646516d9af8bb0231c6a44374
Author: Doug Thompson <dougthompson at xmission.com>
Date:   Tue Aug 4 12:02:20 2009 +0200

    amd64_edac: print debug statements only on error
    
    Add forgotten return calls for the successful cases.
    
    Signed-off-by: Doug Thompson <dougthompson at xmission.com>
    Signed-off-by: Borislav Petkov <borislav.petkov at amd.com>

commit 7e030655dda5b5efc4305e2a8f46c4967d32eb3d
Author: Roel Kluin <roel.kluin at gmail.com>
Date:   Sun Aug 2 13:43:11 2009 +0200

    perf: Fix read buffer overflow
    
    Check whether index is within bounds before testing the element.
    
    Signed-off-by: Roel Kluin <roel.kluin at gmail.com>
    Cc: a.p.zijlstra at chello.nl
    Cc: Andrew Morton <akpm at linux-foundation.org>
    LKML-Reference: <4A757BCF.40101 at gmail.com>
    Signed-off-by: Ingo Molnar <mingo at elte.hu>

commit 70d715fd0597f18528f389b5ac59102263067744
Author: Hiroshi Shimamoto <h-shimamoto at ct.jp.nec.com>
Date:   Mon Aug 3 11:48:19 2009 +0900

    posix-timers: Fix oops in clock_nanosleep() with CLOCK_MONOTONIC_RAW
    
    Prevent calling do_nanosleep() with clockid
    CLOCK_MONOTONIC_RAW, it may cause oops, such as NULL pointer
    dereference.
    
    Signed-off-by: Hiroshi Shimamoto <h-shimamoto at ct.jp.nec.com>
    Cc: Andrew Morton <akpm at linux-foundation.org>
    Cc: Thomas Gleixner <tglx at linutronix.de>
    Cc: John Stultz <johnstul at us.ibm.com>
    Cc: <stable at kernel.org>
    LKML-Reference: <4A764FF3.50607 at ct.jp.nec.com>
    Signed-off-by: Ingo Molnar <mingo at elte.hu>

commit 0cb13536c3382004bd9b833565e2af33f26ed1fb
Author: Jean Delvare <khali at linux-fr.org>
Date:   Mon Aug 3 21:10:01 2009 -0700

    3c59x: Fix build failure with gcc 3.2
    
    Fix the following build failure with gcc 3.2:
    
      CC [M]  drivers/net/3c59x.o
    drivers/net/3c59x.c:2726:1: directives may not be used inside a macro argument
    drivers/net/3c59x.c:2725:59: unterminated argument list invoking macro "pr_err"
    drivers/net/3c59x.c: In function `dump_tx_ring':
    drivers/net/3c59x.c:2727: implicit declaration of function `pr_err'
    drivers/net/3c59x.c:2731: syntax error before ')' token
    
    Apparently gcc 3.2 doesn't like #if interleaved with a macro call.
    
    Signed-off-by: Jean Delvare <khali at linux-fr.org>
    Signed-off-by: David S. Miller <davem at davemloft.net>

commit d098564f3b2b5d555e51bca765a6a9e0dda8f2cd
Author: Steve French <sfrench at us.ibm.com>
Date:   Tue Aug 4 03:53:28 2009 +0000

    [CIFS] Update readme to reflect forceuid mount parms
    
    Signed-off-by: Steve French <sfrench at us.ibm.com>

commit c96e7c7a3a79931446ecf9494a8415e4d164ebd8
Author: Roel Kluin <roel.kluin at gmail.com>
Date:   Mon Aug 3 14:22:53 2009 +0200

    drm/ttm: Read buffer overflow
    
    Check whether index is within bounds before grabbing the element.
    
    Signed-off-by: Roel Kluin <roel.kluin at gmail.com>
    Signed-off-by: Dave Airlie <airlied at redhat.com>

commit fa99239cb73dbf419bea9f334b85ba94ac88a532
Author: Roel Kluin <roel.kluin at gmail.com>
Date:   Mon Aug 3 14:20:32 2009 +0200

    drm/radeon: Read buffer overflow
    
    Check whether index is within bounds before grabbing the element.
    
    Signed-off-by: Roel Kluin <roel.kluin at gmail.com>
    Signed-off-by: Dave Airlie <airlied at redhat.com>

commit fee280d3fd9bc5247bef9f4ab35a4693bfffdcfd
Author: Thomas Hellstrom <thellstrom at vmware.com>
Date:   Mon Aug 3 12:39:06 2009 +0200

    drm/ttm: Fix a sync object leak.
    
    If there are multiple simultaneous waiters for the same buffer object,
    a temporary reference to its sync object may be leaked.
    
    Signed-off-by: Thomas Hellstrom <thellstrom at vmware.com>
    Signed-off-by: Dave Airlie <airlied at redhat.com>

commit c9b7fb54f0a51e587fa09be3a85666b43d36a850
Author: Xiaotian Feng <dfeng at redhat.com>
Date:   Wed Jul 29 21:28:24 2009 +0800

    drm/radeon/kms: fix memory leak in radeon_driver_load_kms
    
    This patch fixes following kmemleak report:
    unreferenced object 0xffff88022cb53000 (size 4096):
      comm "work_for_cpu", pid 97, jiffies 4294672345
      backtrace:
        [<ffffffff810eb222>] create_object+0x19f/0x2a0
        [<ffffffff810eb422>] kmemleak_alloc+0x26/0x4c
        [<ffffffff810e363f>] __kmalloc+0x187/0x1b0
        [<ffffffffa005f3db>] kzalloc.clone.0+0x13/0x15 [radeon]
        [<ffffffffa005f403>] radeon_driver_load_kms+0x26/0xe1 [radeon]
        [<ffffffffa0017432>] drm_get_dev+0x37f/0x480 [drm]
        [<ffffffffa007f424>] radeon_pci_probe+0x15/0x269 [radeon]
        [<ffffffff811f8779>] local_pci_probe+0x17/0x1b
        [<ffffffff8105ffbb>] do_work_for_cpu+0x18/0x2a
        [<ffffffff81063c38>] kthread+0x8a/0x92
        [<ffffffff81012cba>] child_rip+0xa/0x20
        [<ffffffffffffffff>] 0xffffffffffffffff
    
    Signed-off-by: Xiaotian Feng <dfeng at redhat.com>
    Signed-off-by: Dave Airlie <airlied at redhat.com>

commit de05065ff5d6878523317ff4a0b48a1239f80f73
Author: Dave Airlie <airlied at redhat.com>
Date:   Mon Aug 3 12:05:34 2009 +1000

    drm/radeon/kms: fix nomodeset.
    
    The ordering was wrong to get the nomodeset parameter to work.
    
    Signed-off-by: Dave Airlie <airlied at redhat.com>

commit 6d0897ba58139523d37e97855ee0fe2d78629da6
Author: Thomas Hellstrom <thellstrom at vmware.com>
Date:   Fri Jul 31 10:47:51 2009 +0200

    drm/ttm: Fix a potential comparison of structs.
    
    On some architectures the comparison may cause a compilation failure.
    
    Original partial fix Signed-off-by: Thomas Hellstrom <thellstrom at vmware.com>
    
    Signed-off-by: Pekka Paalanen <pq at iki.fi>
    Signed-off-by: Dave Airlie <airlied at redhat.com>

commit 0924d942256ac470c5f7b4ebaf7fe0415fc6fa59
Author: Dave Airlie <airlied at redhat.com>
Date:   Mon Aug 3 12:03:03 2009 +1000

    drm/radeon/kms: fix rv515 VRAM initialisation.
    
    This got missed in the VRAM init re-workings.
    
    Signed-of-by: Dave Airlie <airlied at redhat.com>

commit 7320700df1864b601cef5adbddce8654a0e3f78b
Author: Alex Deucher <alexdeucher at gmail.com>
Date:   Mon Aug 3 17:01:53 2009 -0400

    drm/radeon: add some new r7xx pci ids
    
    Signed-off-by: Alex Deucher <alexdeucher at gmail.com>
    Signed-off-by: Dave Airlie <airlied at redhat.com>

commit 4cb72b1727140f131b2df5f37c2e54f5965f98c2
Author: Jakob Bornecrantz <jakob at vmware.com>
Date:   Mon Aug 3 13:43:59 2009 +0100

    drm: Catch stop possible NULL pointer reference
    
    This was caught by Weiss. Also added some comments to the
    fb_changed and mode_changed variables to explain what they do.
    
    Signed-off-by: Jakob Bornecrantz <jakob at vmware.com>
    Tested-by: Thomas White <taw at bitwiz.org.uk>
    Signed-off-by: Dave Airlie <airlied at redhat.com>

commit 7781de74568bddfefbd2d32a934a8c791a2420cd
Author: Jakob Bornecrantz <jakob at vmware.com>
Date:   Mon Aug 3 13:43:58 2009 +0100

    drm: Small logic fix in drm_mode_setcrtc
    
    Match the logic to the comments in the debug message
    
    Signed-off-by: Jakob Bornecrantz <jakob at vmware.com>
    Signed-off-by: Dave Airlie <airlied at redhat.com>

commit eca4c3d2dd66d0230140c9af05dee591df6f0e42
Merge: f6caa14aa0b126d4a2933907d1519611b2a8524a 99f1b01562b7dcae75b043114f76163fbf84fcab
Author: David S. Miller <davem at davemloft.net>
Date:   Mon Aug 3 19:05:50 2009 -0700

    Merge branch 'master' of git://git.kernel.org/pub/scm/linux/kernel/git/linville/wireless-2.6

commit f6caa14aa0b126d4a2933907d1519611b2a8524a
Author: Mike McCormack <mikem at ring3k.org>
Date:   Fri Jul 31 01:57:42 2009 +0000

    sky2: Avoid transmits during sky2_down()
    
    This patch supersedes my previous patch "sky2: Avoid transmitting
    during sky2_restart".
    
    I have reworked the patch to avoid crashes during both sky2_restart()
    and sky2_set_ringparam().
    
    Without this patch, the sky2 driver can be crashed by doing:
    
    # pktgen eth1 &    (transmit many packets on eth1)
    # ethtool -G eth1 tx 510
    
    I am aware you object to storing extra state, but I can't see a way
    around this. Without remembering that we're restarting,
    netif_wake_queue() is called in the ISR from sky2_tx_complete(), and
    netif_tx_lock() is used in sky2_tx_done().  If anybody can see a way
    around this, please let me know.
    
    Signed-off-by: Mike McCormack <mikem at ring3k.org>
    Signed-off-by: David S. Miller <davem at davemloft.net>

commit f1f029c7bfbf4ee1918b90a431ab823bed812504
Author: H. Peter Anvin <hpa at zytor.com>
Date:   Mon Aug 3 16:33:40 2009 -0700

    x86: fix assembly constraints in native_save_fl()
    
    From Gabe Black in bugzilla 13888:
    
    native_save_fl is implemented as follows:
    
      11static inline unsigned long native_save_fl(void)
      12{
      13        unsigned long flags;
      14
      15        asm volatile("# __raw_save_flags\n\t"
      16                     "pushf ; pop %0"
      17                     : "=g" (flags)
      18                     : /* no input */
      19                     : "memory");
      20
      21        return flags;
      22}
    
    If gcc chooses to put flags on the stack, for instance because this is
    inlined into a larger function with more register pressure, the offset
    of the flags variable from the stack pointer will change when the
    pushf is performed. gcc doesn't attempt to understand that fact, and
    address used for pop will still be the same. It will write to
    somewhere near flags on the stack but not actually into it and
    overwrite some other value.
    
    I saw this happen in the ide_device_add_all function when running in a
    simulator I work on. I'm assuming that some quirk of how the simulated
    hardware is set up caused the code path this is on to be executed when
    it normally wouldn't.
    
    A simple fix might be to change "=g" to "=r".
    
    Reported-by: Gabe Black <spamforgabe at umich.edu>
    Signed-off-by: H. Peter Anvin <hpa at zytor.com>
    Cc: Stable Team <stable at kernel.org>

commit bab9a3da93bfe09c609407dedae5708b07a7ac56
Author: Borislav Petkov <borislav.petkov at amd.com>
Date:   Thu Jul 30 11:10:01 2009 +0200

    x86, msr: execute on the correct CPU subset
    
    Make rdmsr_on_cpus/wrmsr_on_cpus execute on the current CPU only if it
    is in the supplied bitmask.
    
    Signed-off-by: Borislav Petkov <borislav.petkov at amd.com>
    Signed-off-by: H. Peter Anvin <hpa at zytor.com>

commit d2ba8b211bb8abc29aa627dbd4dce08cfbc8082b
Author: H. Peter Anvin <hpa at zytor.com>
Date:   Mon Aug 3 14:44:54 2009 -0700

    x86: Fix assert syntax in vmlinux.lds.S
    
    Older versions of binutils did not accept the naked "ASSERT" syntax;
    it is considered an expression whose value needs to be assigned to
    something.
    
    Reported-tested-and-fixed-by: Jean Delvare <khali at linux-fr.org>
    Signed-off-by: H. Peter Anvin <hpa at zytor.com>

commit 24e2fb615fd6b624c320cec9ea9d91a75dad902e
Author: Roel Kluin <roel.kluin at gmail.com>
Date:   Sun Aug 2 13:00:18 2009 +0200

    cifs: Read buffer overflow
    
    Check whether index is within bounds before testing the element.
    
    Acked-by: Jeff Layton <jlayton at redhat.com>
    Signed-off-by: Roel Kluin <roel.kluin at gmail.com>
    Signed-off-by: Steve French <sfrench at us.ibm.com>

commit 4486d6ede16b362f89b29845af6fe1a26ae78a54
Author: Jeff Layton <jlayton at redhat.com>
Date:   Mon Aug 3 12:45:10 2009 -0400

    cifs: show noforceuid/noforcegid mount options (try #2)
    
    Since forceuid is the default, we now need to show when it's disabled.
    
    Signed-off-by: Jeff Layton <jlayton at redhat.com>
    Signed-off-by: Steve French <sfrench at us.ibm.com>

commit 6a7bbd57ed50bb62c9a81ae5f2e202ca689e5964
Author: Paul Mackerras <paulus at samba.org>
Date:   Mon Aug 3 22:38:10 2009 +1000

    x86: Make 64-bit efi_ioremap use ioremap on MMIO regions
    
    Booting current 64-bit x86 kernels on the latest Apple MacBook
    (MacBook5,2) via EFI gives the following warning:
    
    [    0.182209] ------------[ cut here ]------------
    [    0.182222] WARNING: at arch/x86/mm/pageattr.c:581 __cpa_process_fault+0x44/0xa0()
    [    0.182227] Hardware name: MacBook5,2
    [    0.182231] CPA: called for zero pte. vaddr = ffff8800ffe00000 cpa->vaddr = ffff8800ffe00000
    [    0.182236] Modules linked in:
    [    0.182242] Pid: 0, comm: swapper Not tainted 2.6.31-rc4 #6
    [    0.182246] Call Trace:
    [    0.182254]  [<ffffffff8102c754>] ? __cpa_process_fault+0x44/0xa0
    [    0.182261]  [<ffffffff81048668>] warn_slowpath_common+0x78/0xd0
    [    0.182266]  [<ffffffff81048744>] warn_slowpath_fmt+0x64/0x70
    [    0.182272]  [<ffffffff8102c7ec>] ? update_page_count+0x3c/0x50
    [    0.182280]  [<ffffffff818d25c5>] ? phys_pmd_init+0x140/0x22e
    [    0.182286]  [<ffffffff8102c754>] __cpa_process_fault+0x44/0xa0
    [    0.182292]  [<ffffffff8102ce60>] __change_page_attr_set_clr+0x5f0/0xb40
    [    0.182301]  [<ffffffff810d1035>] ? vm_unmap_aliases+0x175/0x190
    [    0.182307]  [<ffffffff8102d4ae>] change_page_attr_set_clr+0xfe/0x3d0
    [    0.182314]  [<ffffffff8102dcca>] _set_memory_uc+0x2a/0x30
    [    0.182319]  [<ffffffff8102dd4b>] set_memory_uc+0x7b/0xb0
    [    0.182327]  [<ffffffff818afe31>] efi_enter_virtual_mode+0x2ad/0x2c9
    [    0.182334]  [<ffffffff818a1c66>] start_kernel+0x2db/0x3f4
    [    0.182340]  [<ffffffff818a1289>] x86_64_start_reservations+0x99/0xb9
    [    0.182345]  [<ffffffff818a1389>] x86_64_start_kernel+0xe0/0xf2
    [    0.182357] ---[ end trace 4eaa2a86a8e2da22 ]---
    [    0.182982] init_memory_mapping: 00000000ffffc000-0000000100000000
    [    0.182993]  00ffffc000 - 0100000000 page 4k
    
    This happens because the 64-bit version of efi_ioremap calls
    init_memory_mapping for all addresses, regardless of whether they are
    RAM or MMIO.  The EFI tables on this machine ask for runtime access to
    some MMIO regions:
    
    [    0.000000] EFI: mem195: type=11, attr=0x8000000000000000, range=[0x0000000093400000-0x0000000093401000) (0MB)
    [    0.000000] EFI: mem196: type=11, attr=0x8000000000000000, range=[0x00000000ffc00000-0x00000000ffc40000) (0MB)
    [    0.000000] EFI: mem197: type=11, attr=0x8000000000000000, range=[0x00000000ffc40000-0x00000000ffc80000) (0MB)
    [    0.000000] EFI: mem198: type=11, attr=0x8000000000000000, range=[0x00000000ffc80000-0x00000000ffca4000) (0MB)
    [    0.000000] EFI: mem199: type=11, attr=0x8000000000000000, range=[0x00000000ffca4000-0x00000000ffcb4000) (0MB)
    [    0.000000] EFI: mem200: type=11, attr=0x8000000000000000, range=[0x00000000ffcb4000-0x00000000ffffc000) (3MB)
    [    0.000000] EFI: mem201: type=11, attr=0x8000000000000000, range=[0x00000000ffffc000-0x0000000100000000) (0MB)
    
    This arranges to pass the EFI memory type through to efi_ioremap, and
    makes efi_ioremap use ioremap rather than init_memory_mapping if the
    type is EFI_MEMORY_MAPPED_IO.  With this, the above warning goes away.
    
    Signed-off-by: Paul Mackerras <paulus at samba.org>
    LKML-Reference: <19062.55858.533494.471153 at cargo.ozlabs.ibm.com>
    Cc: Huang Ying <ying.huang at intel.com>
    Signed-off-by: H. Peter Anvin <hpa at zytor.com>

commit 6c6c51e4cc11a5456fb1172008f7c69d955af9f6
Author: Paul Mackerras <paulus at samba.org>
Date:   Mon Aug 3 22:47:32 2009 +1000

    x86: Add quirk to make Apple MacBook5,2 use reboot=pci
    
    The latest Apple MacBook (MacBook5,2) doesn't reboot successfully
    under Linux; neither the EFI reboot method nor the default method
    using the keyboard controller works (the system just hangs and doesn't
    reset).  However, the method using the "PCI reset register" at 0xcf9
    does work.
    
    This adds a quirk to detect this machine via DMI and force the
    reboot_type to BOOT_CF9.  With this it reboots successfully without
    requiring a command-line option.  Note that the EFI code forces
    reboot_type to BOOT_EFI when the machine is booted via EFI, but this
    overrides that since the core_initcall runs after the EFI
    initialization code.
    
    Signed-off-by: Paul Mackerras <paulus at samba.org>
    LKML-Reference: <19062.56420.501516.316181 at cargo.ozlabs.ibm.com>
    Signed-off-by: H. Peter Anvin <hpa at zytor.com>

commit 99f1b01562b7dcae75b043114f76163fbf84fcab
Author: Reinette Chatre <reinette.chatre at intel.com>
Date:   Mon Aug 3 12:10:16 2009 -0700

    iwlagn: do not send key clear commands when rfkill enabled
    
    Do all key clearing except sending sommands to device when rfkill
    enabled. When rfkill enabled the interface is brought down and will
    be brought back up correctly after rfkill is enabled again.
    
    Same change is not needed for iwl3945 as it ignores return code when
    sending key clearing command to device.
    
    This fixes http://bugzilla.kernel.org/show_bug.cgi?id=13742
    
    Signed-off-by: Reinette Chatre <reinette.chatre at intel.com>
    Tested-by: Frans Pop <elendil at planet.nl>
    Signed-off-by: John W. Linville <linville at tuxdriver.com>

commit b929c633b4067be18a335d278a66fd5deef3cabe
Author: Roel Kluin <roel.kluin at gmail.com>
Date:   Sun Aug 2 09:44:12 2009 +0200

    libertas: Read buffer overflow
    
    Check whether index is within bounds before testing the element.
    
    Signed-off-by: Roel Kluin <roel.kluin at gmail.com>
    Signed-off-by: John W. Linville <linville at tuxdriver.com>

commit 9f9857bb5e147b977b9878c46e3dd87c9e8caf50
Author: Julia Lawall <julia at diku.dk>
Date:   Sat Aug 1 10:55:53 2009 +0200

    drivers/net/wireless: introduce missing kfree
    
    Error handling code following a kzalloc 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,f1,l;
    position p1,p2;
    expression *ptr != NULL;
    @@
    
    x at p1 = \(kmalloc\|kzalloc\|kcalloc\)(...);
    ...
    if (x == NULL) S
    <... when != x
         when != if (...) { <+...x...+> }
    (
    x->f1 = E
    |
     (x->f1 == NULL || ...)
    |
     f(...,x->f1,...)
    )
    ...>
    (
     return \(0\|<+...x...+>\|ptr\);
    |
     return at 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 at diku.dk>
    Signed-off-by: John W. Linville <linville at tuxdriver.com>

commit c37457e69ffd7d3c94cbfcc1c39be9a45dd7ad21
Author: Julia Lawall <julia at diku.dk>
Date:   Mon Aug 3 11:11:45 2009 +0200

    drivers/net/wireless/iwlwifi: introduce missing kfree
    
    Move orthogonal error handling code up before a kzalloc, so that it
    doesn't have to 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,f1,l;
    position p1,p2;
    expression *ptr != NULL;
    @@
    
    x at p1 = \(kmalloc\|kzalloc\|kcalloc\)(...);
    ...
    if (x == NULL) S
    <... when != x
         when != if (...) { <+...x...+> }
    (
    x->f1 = E
    |
     (x->f1 == NULL || ...)
    |
     f(...,x->f1,...)
    )
    ...>
    (
     return \(0\|<+...x...+>\|ptr\);
    |
     return at 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 at diku.dk>
    Acked-by: Zhu Yi <yi.zhu at intel.com>
    Signed-off-by: John W. Linville <linville at tuxdriver.com>

commit dbc1eec485625228895ded6baf6bd01ce2475410
Author: Patrick Simmons <linuxrocks123 at netscape.net>
Date:   Sun Aug 2 02:46:28 2009 -0600

    zd1211rw: fix unaligned access in zd_mac_rx
    
    Fix an unaligned memory access in the zd_mac_rx function of zd1211rw
    that causes problems on SPARC64.
    
    Signed-off-by: Patrick Simmons <linuxrocks123 at netscape.net>
    Signed-off-by: John W. Linville <linville at tuxdriver.com>

commit 371842448c05b42d11a4be1c8e4e81d62ecc7534
Author: Luis R. Rodriguez <lrodriguez at atheros.com>
Date:   Thu Jul 30 17:43:48 2009 -0700

    cfg80211: fix regression on beacon world roaming feature
    
    A regression was added through patch a4ed90d6:
    
    "cfg80211: respect API on orig_flags on channel for beacon hint"
    
    We did indeed respect _orig flags but the intention was not clearly
    stated in the commit log. This patch fixes firmware issues picked
    up by iwlwifi when we lift passive scan of beaconing restrictions
    on channels its EEPROM has been configured to always enable.
    
    By doing so though we also disallowed beacon hints on devices
    registering their wiphy with custom world regulatory domains
    enabled, this happens to be currently ath5k, ath9k and ar9170.
    The passive scan and beacon restrictions on those devices would
    never be lifted even if we did find a beacon and the hardware did
    support such enhancements when world roaming.
    
    Since Johannes indicates iwlwifi firmware cannot be changed to
    allow beacon hinting we set up a flag now to specifically allow
    drivers to disable beacon hints for devices which cannot use them.
    
    We enable the flag on iwlwifi to disable beacon hints and by default
    enable it for all other drivers. It should be noted beacon hints lift
    passive scan flags and beacon restrictions when we receive a beacon from
    an AP on any 5 GHz non-DFS channels, and channels 12-14 on the 2.4 GHz
    band. We don't bother with channels 1-11 as those channels are allowed
    world wide.
    
    This should fix world roaming for ath5k, ath9k and ar9170, thereby
    improving scan time when we receive the first beacon from any AP,
    and also enabling beaconing operation (AP/IBSS/Mesh) on cards which
    would otherwise not be allowed to do so. Drivers not using custom
    regulatory stuff (wiphy_apply_custom_regulatory()) were not affected
    by this as the orig_flags for the channels would have been cleared
    upon wiphy registration.
    
    I tested this with a world roaming ath5k card.
    
    Cc: Jouni Malinen <jouni.malinen at atheros.com>
    Signed-off-by: Luis R. Rodriguez <lrodriguez at atheros.com>
    Reviewed-by: Johannes Berg <johannes at sipsolutions.net>
    Signed-off-by: John W. Linville <linville at tuxdriver.com>

commit cd3468bad96c00b5a512f551674f36776129520e
Author: Johannes Berg <johannes at sipsolutions.net>
Date:   Wed Jul 29 22:07:44 2009 +0200

    cfg80211: add two missing NULL pointer checks
    
    These pointers can be NULL, the is_mesh() case isn't
    ever hit in the current kernel, but cmp_ies() can be
    hit under certain conditions.
    
    Signed-off-by: Johannes Berg <johannes at sipsolutions.net>
    Cc: stable at kernel.org [2.6.29, 2.6.30]
    Signed-off-by: John W. Linville <linville at tuxdriver.com>

commit 202ff1ec8e53d5dd36e1a5bd4b0a7ed7dbd45087
Author: Mallikarjuna R Chilakala <mallikarjuna.chilakala at intel.com>
Date:   Mon Aug 3 07:20:38 2009 +0000

    ixgbe: Patch to modify 82598 PCIe completion timeout values
    
    The default completion timeout values for 82598 should be in the
    range of 50us to 50ms, however the hardware default for these
    parts is 500us to 1ms which is less than the 10ms recommended by
    the pcie spec. To address this we need to increase the value to
    either 10ms to 250ms for capability version 1 configuration, or
    16ms to 55ms for version 2.
    
    Signed-off-by: Mallikarjuna R Chilakala <mallikarjuna.chilakala at intel.com>
    Signed-off-by: Jeff Kirsher <jeffrey.t.kirsher at intel.com>
    Signed-off-by: David S. Miller <davem at davemloft.net>

commit af0d3b103bcfa877343ee338de12002cd50c9ee5
Author: Dave Young <hidave.darkstar at gmail.com>
Date:   Mon Aug 3 04:26:16 2009 +0000

    bluetooth: rfcomm_init bug fix
    
    rfcomm tty may be used before rfcomm_tty_driver initilized,
    The problem is that now socket layer init before tty layer, if userspace
    program do socket callback right here then oops will happen.
    
    reporting in:
    http://marc.info/?l=linux-bluetooth&m=124404919324542&w=2
    
    make 3 changes:
    1. remove #ifdef in rfcomm/core.c,
    make it blank function when rfcomm tty not selected in rfcomm.h
    
    2. tune the rfcomm_init error patch to ensure
    tty driver initilized before rfcomm socket usage.
    
    3. remove __exit for rfcomm_cleanup_sockets
    because above change need call it in a __init function.
    
    Reported-by: Oliver Hartkopp <oliver at hartkopp.net>
    Tested-by: Oliver Hartkopp <oliver at hartkopp.net>
    Signed-off-by: Dave Young <hidave.darkstar at gmail.com>
    Signed-off-by: David S. Miller <davem at davemloft.net>

commit 8523acfe40efc1a8d3da8f473ca67cb195b06f0c
Author: Thomas Hellstrom <thellstrom at vmware.com>
Date:   Mon Aug 3 09:25:45 2009 +0200

    x86: Fix CPA memtype reserving in the set_pages_array*() cases
    
    The code was incorrectly reserving memtypes using the page
    virtual address instead of the physical address. Furthermore,
    the code was not ignoring highmem pages as it ought to.
    
    ( upstream does not pass in highmem pages yet - but upcoming
      graphics code will do it and there's no reason to not handle
      this properly in the CPA APIs.)
    
    Fixes: http://bugzilla.kernel.org/show_bug.cgi?id=13884
    
    Signed-off-by: Thomas Hellstrom <thellstrom at vmware.com>
    Acked-by: Suresh Siddha <suresh.b.siddha at intel.com>
    Cc: <stable at kernel.org>
    Cc: dri-devel at lists.sourceforge.net
    Cc: venkatesh.pallipadi at intel.com
    LKML-Reference: <1249284345-7654-1-git-send-email-thellstrom at vmware.com>
    Signed-off-by: Ingo Molnar <mingo at elte.hu>

commit 38a6fe8c013e72c402b37a7ea400387120f460d8
Merge: 320145fac91955ee35a6af7e1c2b42388a17b3d8 909db80297ba65699a77d877f7bf618ba960f6fc
Author: Russell King <rmk at dyn-67.arm.linux.org.uk>
Date:   Mon Aug 3 17:58:02 2009 +0100

    Merge branch 's3c-fixes-rc4-2' of git://aeryn.fluff.org.uk/bjdooks/linux

commit 54822de7793bf9aa56d79cc173281cdb23b37f9f
Author: Ralf Baechle <ralf at linux-mips.org>
Date:   Mon Aug 3 17:27:19 2009 +0100

    MIPS: Wire up accept4 syscall.
    
    Signed-off-by: Ralf Baechle <ralf at linux-mips.org>

commit ce21f4e86f89d352efecd044958db1917033b49b
Author: Ralf Baechle <ralf at linux-mips.org>
Date:   Mon Aug 3 12:57:52 2009 +0100

    MIPS: VPE: Delete unused function get_tc_unused().
    
    Signed-off-by: Ralf Baechle <ralf at linux-mips.org>

commit 349c4229ed305146a558008d393c622d715cd11d
Author: Ralf Baechle <ralf at linux-mips.org>
Date:   Mon Aug 3 12:56:39 2009 +0100

    MIPS: VPE: Fix bogus indentation.
    
    Signed-off-by: Ralf Baechle <ralf at linux-mips.org>

commit f18b51cc1f97ca290256e8f94127f6856a42d605
Author: Ralf Baechle <ralf at linux-mips.org>
Date:   Mon Aug 3 12:54:35 2009 +0100

    MIPS: VPE: Make various functions static.
    
    None of these is used outside the VPE loader.
    
    Signed-off-by: Ralf Baechle <ralf at linux-mips.org>

commit 477c4b07406357ad93d0e32788dbf3ee814eadaa
Author: Ralf Baechle <ralf at linux-mips.org>
Date:   Mon Aug 3 12:26:40 2009 +0100

    MIPS: VPE: Free relocation chain on error.
    
    This may happen if a bad sequence of relocations is being encountered.
    
    Signed-off-by: Ralf Baechle <ralf at linux-mips.org>

commit e2a9cf96a0af24f33206b4bb98cc3a12242260c1
Author: Raghu Gandham <raghu at mips.com>
Date:   Fri Jul 10 02:01:32 2009 -0700

    MIPS: VPE: Fix compiler warning.
    
    Signed-off-by: Raghu Gandham <raghu at mips.com>
    Signed-off-by: Ralf Baechle <ralf at linux-mips.org>

commit 6f9fdeb6761a46ded6bf4b799993a3f235ab853d
Author: Ralf Baechle <ralf at linux-mips.org>
Date:   Mon Aug 3 10:50:19 2009 +0100

    MIPS: Module: Make error messages unique.
    
    There were three different errors resulting in a "dangerous relocation"
    message.  Add the relocation type to the messgages to make them more
    useful.
    
    Signed-off-by: Ralf Baechle <ralf at linux-mips.org>

commit 39b3d44624e9c54e7406274beaf569fe33af2b96
Author: David Daney <ddaney at caviumnetworks.com>
Date:   Fri Jul 31 14:30:07 2009 -0700

    MIPS: Octeon: Run IPI code with interrupts disabled.
    
    In mm/slab.c the function do_ccupdate_local requires that interrupts be
    disabled.  If they are not, we panic with CONFIG_DEBUG_SLAB.
    
    So we disable interrupts while processing IPIs.  Also these are not shared
    irqs, so get rid of the IRQF_SHARED flag.
    
    Signed-off-by: David Daney <ddaney at caviumnetworks.com>
    Signed-off-by: Ralf Baechle <ralf at linux-mips.org>

commit 3d4656d68bad84604f5b01f93e066cd02f77154b
Author: Roel Kluin <roel.kluin at gmail.com>
Date:   Fri Jul 31 14:52:51 2009 +0200

    MIPS: Jazz: Fix read buffer overflow
    
    Check whether index is within bounds before testing the element.
    
    Signed-off-by: Roel Kluin <roel.kluin at gmail.com>
    Signed-off-by: Ralf Baechle <ralf at linux-mips.org>

commit 64f1815507f207ec54ee6b9ae69c48bd153e83b4
Author: Julia Lawall <julia at diku.dk>
Date:   Sun Aug 2 10:48:08 2009 +0200

    MIPS: Use DIV_ROUND_CLOSEST
    
    The kernel.h macro DIV_ROUND_CLOSEST performs the computation (x + d/2)/d
    but is perhaps more readable.
    
    The semantic patch that makes this change is as follows:
    (http://www.emn.fr/x-info/coccinelle/)
    
    // <smpl>
    @haskernel@
    @@
    
    #include <linux/kernel.h>
    
    @depends on haskernel@
    expression x,__divisor;
    @@
    
    - (((x) + ((__divisor) / 2)) / (__divisor))
    + DIV_ROUND_CLOSEST(x,__divisor)
    // </smpl>
    
    Signed-off-by: Julia Lawall <julia at diku.dk>
    Signed-off-by: Ralf Baechle <ralf at linux-mips.org>

commit a1b021d3992d9be03b0abec1a7ed78e713b94206
Author: Florian Fainelli <florian at openwrt.org>
Date:   Sat Aug 1 23:51:20 2009 +0200

    MIPS: MTX-1: Request button GPIO before setting its direction
    
    This patch fixes the following warning at boot time:
    WARNING: at drivers/gpio/gpiolib.c:83 0x8021d5e0()
    autorequest GPIO-207
    Modules linked in:
    Call Trace:[<8011e0ec>] 0x8011e0ec
    [<80110a28>] 0x80110a28
    [<80110a28>] 0x80110a28
    [..snip..]
    
    The current code does not request the GPIO and attempts
    to set its direction, which is a violation of the GPIO API.
    This patch also unhardcode the GPIO we request and use
    the one we defined in the button driver.
    
    Signed-off-by: Florian Fainelli <florian at openwrt.org>
    Signed-off-by: Ralf Baechle <ralf at linux-mips.org>

commit 619e22632ea3110323b1851a7fecb52bf8505fd2
Author: Florian Fainelli <florian at openwrt.org>
Date:   Fri Jul 24 13:19:10 2009 +0200

    MIPS: AR7: Override CFLAGS with -Werror
    
    Now that we have removed all warnings from the ar7 board code we can use
    -Werror like on other MIPS boards.
    
    Signed-off-by: Florian Fainelli <florian at openwrt.org>
    Signed-off-by: Ralf Baechle <ralf at linux-mips.org>

commit e5b3837a52c7fe5c7086590bed902f0fac5f9ec0
Author: Florian Fainelli <florian at openwrt.org>
Date:   Fri Jul 24 13:18:42 2009 +0200

    MIPS: AR7: Remove unused tnetd7200_get_clock function
    
    Signed-off-by: Florian Fainelli <florian at openwrt.org>
    Signed-off-by: Ralf Baechle <ralf at linux-mips.org>

commit 8e84c1480d2e7d98d487b567100717b9cc9dcfd7
Author: Florian Fainelli <florian at openwrt.org>
Date:   Fri Jul 24 13:18:16 2009 +0200

    MIPS: AR7: Use DMA_BIT_MASK(nn) instead of deprecated DMA_nnBIT_MASK
    
    Signed-off-by: Florian Fainelli <florian at openwrt.org>
    Signed-off-by: Ralf Baechle <ralf at linux-mips.org>

commit 50ca961912be315035cb0f3508e35c974851da2a
Author: Florian Fainelli <florian at openwrt.org>
Date:   Fri Jul 24 13:24:15 2009 +0200

    MIPS: AR7: Fix build failures when CONFIG_SERIAL_8250 is not enabled
    
    This patch fixes the following build failure when CONFIG_SERIAL_8250
    is not enabled in the kernel configuration:
    arch/mips/ar7/built-in.o: In function 'ar7_register_devices':
    platform.c:(.init.text+0x61c): undefined reference to 'early_serial_setup'
    platform.c:(.init.text+0x61c): relocation truncated to fit: R_MIPS_26 against 'early_serial_setup'
    platform.c:(.init.text+0x68c): undefined reference to 'early_serial_setup'
    platform.c:(.init.text+0x68c): relocation truncated to fit: R_MIPS_26 against 'early_serial_setup'
    
    Signed-off-by: Florian Fainelli <florian at openwrt.org>
    Signed-off-by: Ralf Baechle <ralf at linux-mips.org>

commit ea85a0e4cc870d2bb92e3b2007007901209bb7de
Author: Roel Kluin <roel.kluin at gmail.com>
Date:   Wed Jul 29 22:02:53 2009 +0200

    MIPS: Fix read buffer overflow
    
    Signed-off-by: Roel Kluin <roel.kluin at gmail.com>
    Signed-off-by: Ralf Baechle <ralf at linux-mips.org>

commit dd34b5a82feadfaee4f8dea83a694d9349f94a28
Author: Florian Fainelli <florian at openwrt.org>
Date:   Tue Jul 21 12:38:10 2009 +0200

    MIPS: AR7: Fix build warning on memory.c
    
    This patch fixes the following build warning:
    arch/mips/ar7/memory.c: In function 'memsize':
    arch/mips/ar7/memory.c:55: warning: passing argument 1 of 'writel' makes integer from pointer without a cast
    
    Signed-off-by: Florian Fainelli <florian at openwrt.org>
    Signed-off-by: Ralf Baechle <ralf at linux-mips.org>

commit 838c05705ef8c110037a713526bb18762db0a241
Author: David Daney <ddaney at caviumnetworks.com>
Date:   Tue Jul 14 18:16:50 2009 -0700

    MIPS: Octeon PCIe: Make hardware and software bus numbers match.
    
    Some SiliconImage PCIe SATA controlers are not detected when the bus
    numbers differ.
    
    Signed-off-by: David Daney <ddaney at caviumnetworks.com>
    Signed-off-by: Ralf Baechle <ralf at linux-mips.org>

commit 3e6e92183118d26d856e8efb549987164d1b49b4
Author: Atsushi Nemoto <anemo at mba.ocn.ne.jp>
Date:   Wed Jul 15 22:03:56 2009 +0900

    MIPS: RBTX4939: Fix IOC pin-enable register updating
    
    The rbtx4939_update_ioc_pen() expects txx9_ce_res[] already initialized.
    Call it after tx4939_setup().
    
    Signed-off-by: Atsushi Nemoto <anemo at mba.ocn.ne.jp>
    Signed-off-by: Ralf Baechle <ralf at linux-mips.org>

commit 0ca71737fee65521ede964afbd2d5484976ed0ed
Author: Shane McDonald <mcdonald.shane at gmail.com>
Date:   Sun Jul 12 10:42:06 2009 -0600

    MIPS: Simplify and correct interrupt handling for MSP4200
    
    The current interrupt handling code for the MSP4200 always masks an
    interrupt before acknowledging it.  This is not required, as that will be
    handled by the level interrupt handler.  This change simplifies the MSP4200
    code to remove the masking in the ack routine, and makes sure that the
    minimum required operation is performed for masking and acking, rather
    than always both masking and acking the interrupt.
    
    Signed-off-by: Shane McDonald <mcdonald.shane at gmail.com>
    Signed-off-by: Ralf Baechle <ralf at linux-mips.org>

commit 6577890fd68c2671850214663dd9ae97feacbc47
Author: Florian Fainelli <florian at openwrt.org>
Date:   Mon Apr 27 16:47:23 2009 +0200

    MIPS: MSPxxxx: define MIPS34K_MISSED_ITLB_WAR for other PMC-Sierra SoC
    
    Trying to build a PMC-Sierra MSP4200 VoIP gateway defconfig will not work
    since MIPS34K_MISSED_ITLB_WAR is not defined for all boards supported
    within pmc-serria/msp71xx. This patch defines MIPS34K_MISSED_ITLB_WAR to
    prevent such build failures:
    
      CHK     include/linux/version.h
      CHK     include/linux/utsrelease.h
      SYMLINK include/asm -> include/asm-mips
      CC      arch/mips/kernel/asm-offsets.s
    In file included fromlinux-msp71xx/linux-2.6.29/arch/mips/include/asm/bitops.h:24,
                     from include/linux/bitops.h:17,
                     from include/linux/kernel.h:15,
                     from include/linux/sched.h:52,
                     from arch/mips/kernel/asm-offsets.c:13:
    linux-msp71xx/linux-2.6.29/arch/mips/include/asm/war.h:241:2: error: #error Check setting of MIPS34K_MISSED_ITLB_WAR for your
    platform
    
    This fixes a compile error when building for the MSP4200 boards.  Identical
    patches to fix this were send by
    
      Florian Fainelli <florian at openwrt.org>
      Shane McDonald <mcdonald.shane at gmail.com>
    
    Signed-off-by: Florian Fainelli <florian at openwrt.org>
    Signed-off-by: Ralf Baechle <ralf at linux-mips.org>

commit 4824f20c8b3adcbc5067c1bdd88408ee68da6bb2
Author: Florian Fainelli <florian at openwrt.org>
Date:   Mon Apr 27 16:59:48 2009 +0200

    MIPS: MSP71xx: fix build failures on msp_irq_slp.c
    
    Trying to build MSP4200 VoIP defconfig also fails on msp_irq_slp.c with a
    non-existing reference to mask_slp_irq, which is in turn mask_msp_slp_irq.
    Passed that, we will also miss a comma when calling
    set_irq_chip_and_handler. This patch fixes both issues.
    
    Signed-off-by: Florian Fainelli <florian at openwrt.org>
    Acked-by: Shane McDonald <mcdonald.shane at gmail.com>
    Signed-off-by: Ralf Baechle <ralf at linux-mips.org>

commit 0e66fff883ef1b6e4c5031e8add8827cd0e2a195
Author: Gabor Juhos <juhosg at openwrt.org>
Date:   Mon Jul 13 11:14:24 2009 +0200

    MIPS: Fix loading of modules with unresolved weak symbols
    
    Loading of modules with unresolved weak symbols fails on MIPS
    since '88173507e4fc1e7ecd111b0565e8cba0cb7dae6d'.
    
    Modules: handle symbols that have a zero value
    
    The module subsystem cannot handle symbols that are zero.  If symbols
    are present that have a zero value then the module resolver prints out a
    message that these symbols are unresolved.
    
    We have to use IS_ERR_VALUE() to check that a symbol has been resolved
    or not.
    
    Signed-off-by: Gabor Juhos <juhosg at openwrt.org>
    Signed-off-by: Ralf Baechle <ralf at linux-mips.org>

commit d8e5f9fe5dab0e07985f2456cb6cc57788f53131
Author: Kurt Martin <kurt at mips.com>
Date:   Wed Jul 8 19:22:35 2009 -0700

    MIPS: SMTC: Move cross VPE writes to after a TC is assigned to VPE.
    
    Signed-off-by: Chris Dearman <chris at mips.com>
    Signed-off-by: Raghu Gandham <raghu at mips.com>
    Signed-off-by: Ralf Baechle <ralf at linux-mips.org>

commit 008ee96f1204225503934cb57ac38c49f519c7ab
Author: Raghu Gandham <raghu at mips.com>
Date:   Wed Jul 8 17:00:44 2009 -0700

    [PATCH] MIPS: SMTC: Fix compile error
    
    Commit fc03bc1715ca0ad4ccfe97aab16bcc9e7129c1a4 breaks when SMTC support
    is enabled on Malta.
    
    Signed-off-by: Raghu Gandham <raghu at mips.com>
    Signed-off-by: Ralf Baechle <ralf at linux-mips.org>

commit 484889fc85a223ef56edc31828b86751b2296b7c
Author: David Daney <ddaney at caviumnetworks.com>
Date:   Wed Jul 8 10:07:50 2009 -0700

    MIPS: Avoid clobbering struct pt_regs in kthreads
    
    The resume() implementation octeon_switch.S examines the saved cp0_status
    register.  We were clobbering the entire pt_regs structure in kernel
    threads leading to random crashes.
    
    When switching away from a kernel thread, the saved cp0_status is examined
    and if bit 30 is set it is cleared and the CP2 state saved into the pt_regs
    structure.  Since the kernel thread stack overlaid the pt_regs structure
    this resulted in a corrupt stack.  When the kthread with the corrupt stack
    was resumed, it could crash if it used any of the data in the stack that was
    clobbered.
    
    We fix it by moving the kernel thread stack down so it doesn't overlay
    pt_regs.
    
    Signed-off-by: David Daney <ddaney at caviumnetworks.com>
    Signed-off-by: Ralf Baechle <ralf at linux-mips.org>

commit 1de010a2702eb21d90883b83bf8c737d5e69d234
Author: Huang Weiyi <weiyi.huang at gmail.com>
Date:   Thu Jul 9 06:14:37 2009 +0800

    MIPS: AR7: Remove unused inclusions of <linux/version.h>.
    
    Signed-off-by: Huang Weiyi <weiyi.huang at gmail.com>
    Signed-off-by: Ralf Baechle <ralf at linux-mips.org>

commit 78fe01a5a80da4621321a1dc199c3a0875e2fbb0
Author: Yoichi Yuasa <yuasa at linux-mips.org>
Date:   Wed Jul 8 15:08:19 2009 +0900

    MIPS: MIPSsim: Fix unbalance brace in mipssim get_c0_compare_int()
    
    cc1: warnings being treated as errors
    arch/mips/mipssim/sim_time.c: In function 'get_c0_compare_int':
    arch/mips/mipssim/sim_time.c:103: warning: ISO C90 forbids mixed declarations and code
    arch/mips/mipssim/sim_time.c:116: error: expected declaration or statement at end of input
    make[1]: *** [arch/mips/mipssim/sim_time.o] Error 1
    
    Signed-off-by: Yoichi Yuasa <yuasa at linux-mips.org>
    Signed-off-by: Ralf Baechle <ralf at linux-mips.org>

commit 7d35cdc07dd26eb6667f66f8e2f43f833a926ecf
Author: Alexander Clouter <alex at digriz.org.uk>
Date:   Sun Jul 5 12:00:55 2009 +0100

    MIPS: Fix compile for !CONFIG_SMP
    
    Commit fc03bc1715ca0ad4ccfe97aab16bcc9e7129c1a4 breaks compiling MIPS
    with SMP disabled.  This patch fixes that.
    
    Signed-off-by: Alexander Clouter <alex at digriz.org.uk>
    Signed-off-by: Ralf Baechle <ralf at linux-mips.org>

commit a887b4dada2f23b2ff2aa725e0509c92dc652597
Author: Akinobu Mita <akinobu.mita at gmail.com>
Date:   Sat Jul 4 01:33:09 2009 +0900

    MIPS: Drop mmap_sem in pagefault oom path
    
    Fix the pagefault oom path which does not drop mm->mmap_sem.
    This was introduced by commit c7c1e3846bac1e4b8a8941f6a194812e28b0a519
    
    Signed-off-by: Akinobu Mita <akinobu.mita at gmail.com>
    Signed-off-by: Ralf Baechle <ralf at linux-mips.org>

commit 49316cbf0a9875f102f98dc8b7c80cfa142e33cf
Author: Ralf Baechle <ralf at linux-mips.org>
Date:   Mon Jul 6 09:13:17 2009 +0100

    MIPS: Eleminate filenames from comments
    
    They tend to get not updated when files are moved around or copied and
    lack any obvious use.  While at it zap some only too obvious comments and
    as per Shinya's suggestion, add a copyright header to extable.c.
    
    Signed-off-by: Ralf Baechle <ralf at linux-mips.org>
    Acked-by: Shinya Kuribayashi <shinya.kuribayashi at necel.com>
    Acked-by: Thadeu Lima de Souza Cascardo <cascardo at holoscopio.com>

commit 1c1a90d866c5fb029099b9f0f40534e01b7c4d91
Author: Ralf Baechle <ralf at linux-mips.org>
Date:   Sun Jul 5 19:23:30 2009 +0100

    [PATCH] MIPS: Cavium: Move swapped comments to their rightful place.
    
    Signed-off-by: Ralf Baechle <ralf at linux-mips.org>

commit 126b67b8d26f6623d199aa59279f2e3243f2144c
Author: Doug Thompson <dougthompson at xmission.com>
Date:   Mon Aug 3 12:37:06 2009 +0200

    amd64_edac: fix ECC checking
    
    On the good path of BIOS enabled ECC and no override, the value returned
    is 1 by omission and thus is deemed failing by the probe-function.
    
    Allow proper module initialization by clearing the retval explicitly.
    
    Signed-off-by: Doug Thompson <dougthompson at xmission.com>
    Signed-off-by: Borislav Petkov <borislav.petkov at amd.com>

commit d676c11727815761e41a81b00c054b4bec452ae5
Author: Matthias Kaehlcke <matthias at kaehlcke.net>
Date:   Tue Jul 14 22:04:29 2009 +0200

    mtd: mtdblock: introduce mtdblks_lock
    
    The mtdblks array and its content are prone to race conditions. Introduce
    the mutex mtdblks_lock in order to solve this.
    
    [Amended by Artem Bityutskiy]
    
    Signed-off-by: Matthias Kaehlcke <matthias at kaehlcke.net>
    Signed-off-by: Artem Bityutskiy <Artem.Bityutskiy at nokia.com>
    Signed-off-by: David Woodhouse <David.Woodhouse at intel.com>

commit 2bf961b7ccd69e108ac435c67e2b0522b403c578
Author: Subrata Modak <subrata at linux.vnet.ibm.com>
Date:   Wed Jul 1 19:22:47 2009 +0530

    mtd: remove 'SBC8240 Wind River' Device Driver Code
    
    This driver is causing build errors and is no longer needed -- it is obsoleted
    by physmap_of.
    
    Signed-off-by: Subrata Modak <subrata at linux.vnet.ibm.com>
    Tested-on-PPC64-by: Subrata Modak <subrata at linux.vnet.ibm.com>
    Signed-off-by: Artem Bityutskiy <Artem.Bityutskiy at nokia.com>
    Signed-off-by: David Woodhouse <David.Woodhouse at intel.com>

commit 3cae1cc149c40c14424162496eb5a7c8db1cd4fb
Author: Mika Korhonen <ext-mika.2.korhonen at nokia.com>
Date:   Thu Jun 25 15:32:19 2009 +0300

    mtd: OneNAND: OMAP2/3: free GPMC CS on module removal
    
    GPMC CS was not freed in omap2_onenand_remove() preventing the module
    from reloading after removal.
    
    Signed-off-by: Mika Korhonen <ext-mika.2.korhonen at nokia.com>
    Signed-off-by: Artem Bityutskiy <Artem.Bityutskiy at nokia.com>
    Signed-off-by: David Woodhouse <David.Woodhouse at intel.com>

commit 00acf4a80779611a7ea77ff5b5ffab886ed5cc42
Author: Mika Korhonen <mika.j.korhonen at gmail.com>
Date:   Thu Jun 11 14:05:07 2009 +0300

    mtd: OneNAND: fix incorrect bufferram offset
    
    Fixes the case where CONFIG_MTD_ONENAND_2X_PROGRAM is set and
    the real page size differs from mtd_info.writesize.
    
    Signed-off-by: Mika Korhonen <mika.j.korhonen at gmail.com>
    Acked-by: Kyungmin Park <kyungmin.park at samsung.com>
    Signed-off-by: Artem Bityutskiy <Artem.Bityutskiy at nokia.com>
    Signed-off-by: David Woodhouse <David.Woodhouse at intel.com>

commit 8022c13c27b822cf22f13df10b42aae89cd56bf0
Author: Artem Bityutskiy <Artem.Bityutskiy at nokia.com>
Date:   Fri Jul 10 17:02:17 2009 +0300

    mtd: blkdevs: do not forget to get MTD devices
    
    Nowadays MTD devices have to be "get" before they can be
    used. This has to be done with 'get_mtd_device()'. The
    'blktrans_open()' function did not do this and instead
    used 'try_module_get()'. Fix this.
    
    Since 'get_mtd_device()' already gets the module, extra
    'try_module_get()' is not needed.
    
    This fixes oops when one tries to use mtdblock on top of
    gluebi.
    
    Reported-by: Holger Brunck <holger.brunck at keymile.com>
    Signed-off-by: Artem Bityutskiy <Artem.Bityutskiy at nokia.com>
    Signed-off-by: David Woodhouse <David.Woodhouse at intel.com>

commit 6afc4fdb3e94ba60cd566cb878b60c6c01979277
Author: Saeed Bishara <saeed at marvell.com>
Date:   Tue Jul 28 04:56:43 2009 -0700

    mtd: fix the conversion from dev to mtd_info
    
    The patch fixes a bug when converting dev to mtd_info by using the
    drvdata of the dev, the previous code used
    container_of(dev, struct mtd_info, dev), but won't work for the mtdXro
    devices as they created without being contained inside mtd_info structure.
    
    Signed-off-by: Saeed Bishara <saeed at marvell.com>
    Signed-off-by: David Woodhouse <David.Woodhouse at intel.com>

commit 7699ad35ed06044c4fc1be162553880f98658616
Author: Nicolas Pitre <nico at cam.org>
Date:   Mon Jun 15 01:10:18 2009 -0400

    mtd: let include/linux/mtd/partitions.h stand on its own
    
    When declaring static MTD partitions in board specific code, only
    including <include/linux/mtd/partitions.h> should suffice without
    gcc nagging us with:
    
    In file included from arch/arm/mach-kirkwood/sheevaplug-setup.c:14:
    include/linux/mtd/partitions.h:50: warning: 'struct mtd_info' declared inside parameter list
    include/linux/mtd/partitions.h:50: warning: its scope is only this definition or declaration, which is probably not what you want
    include/linux/mtd/partitions.h:51: warning: 'struct mtd_info' declared inside parameter list
    include/linux/mtd/partitions.h:61: warning: 'struct mtd_info' declared inside parameter list
    include/linux/mtd/partitions.h:67: warning: 'struct mtd_info' declared inside parameter list
    
    Signed-off-by: Nicolas Pitre <nico at marvell.com>
    Signed-off-by: Artem Bityutskiy <Artem.Bityutskiy at nokia.com>
    Signed-off-by: David Woodhouse <David.Woodhouse at intel.com>

commit 4b35d2ca2307d40ccb6b3b6f9cc25ac9178b2a6c
Author: Roel Kluin <roel.kluin at gmail.com>
Date:   Sun Aug 2 13:30:45 2009 +0200

    ALSA: hda - Read buffer overflow
    
    Check whether index is within bounds before testing the element.
    
    Signed-off-by: Roel Kluin <roel.kluin at gmail.com>
    Signed-off-by: Takashi Iwai <tiwai at suse.de>

commit 84d3dc200fc8b878acf7c1840b238e6a0450e4d0
Author: Chengu Wang <wangchengu at gmail.com>
Date:   Thu Jul 30 19:43:55 2009 +0800

    ALSA: hda: Correct EAPD for Dell Inspiron 1525
    
    The commit 24918b61b55c21e09a3e07cd82e1b3a8154782dc statically changes
    the model from dell-bios to dell-3stack to solve the sound decreasing
    regression (http://lkml.org/lkml/2008/9/12/203), however it leads to another
    problem that the 2nd headphone jack doesn't work
    (https://bugtrack.alsa-project.org/alsa-bug/view.php?id=3987). So I think
    the commit 249**2dc is just a workaround. I would like to give a true solution
    here.
    
    The datasheet for STAC9228 says, GPIO2 is the same pin as VOL DOWN, and
    the EAPD pin is GPIO0. This is why the sound decreases if we set EAPD as
    GPIO2. This patch changes EAPD to GPIO0 to solve the problem.
    
    Signed-off-by: Chengu Wang <wangchengu at gmail.com>
    Signed-off-by: Takashi Iwai <tiwai at suse.de>

commit e310bb0646e57a4f9182865115c5780931456c65
Author: Wu Fengguang <fengguang.wu at intel.com>
Date:   Sat Aug 1 19:18:45 2009 +0800

    ALSA: hda: warn on spurious response
    
    To help disclose hardware bugs.
    
    Signed-off-by: Wu Fengguang <fengguang.wu at intel.com>
    Signed-off-by: Takashi Iwai <tiwai at suse.de>

commit feb273404f15d86098cb0e81e46330d5c1e22b1b
Author: Wu Fengguang <fengguang.wu at intel.com>
Date:   Sat Aug 1 19:17:14 2009 +0800

    ALSA: hda: remember last command for each codec
    
    Signed-off-by: Wu Fengguang <fengguang.wu at intel.com>
    Signed-off-by: Takashi Iwai <tiwai at suse.de>

commit c32649feb4573b31f0a2bfdf35cbe1351256c764
Author: Wu Fengguang <fengguang.wu at intel.com>
Date:   Sat Aug 1 18:48:12 2009 +0800

    ALSA: hda: read CORBWP inside reg_lock
    
    This converts the last CORBWP access outside of reg_lock.
    
    Signed-off-by: Wu Fengguang <fengguang.wu at intel.com>
    Signed-off-by: Takashi Iwai <tiwai at suse.de>

commit cdb1fbf23181c133fb24f12ad14ccea7dc399599
Author: Wu Fengguang <fengguang.wu at intel.com>
Date:   Sat Aug 1 18:47:41 2009 +0800

    ALSA: hda: take reg_lock in azx_init_cmd_io/azx_free_cmd_io
    
    Just for safety.  azx_init_cmd_io() and azx_free_cmd_io() may be
    called when switching to single command mode.
    
    Signed-off-by: Wu Fengguang <fengguang.wu at intel.com>
    Signed-off-by: Takashi Iwai <tiwai at suse.de>

commit a678cdee25a387c8fc3b2754974695412baf1d85
Author: Wu Fengguang <fengguang.wu at intel.com>
Date:   Sat Aug 1 18:46:46 2009 +0800

    ALSA: hda: take cmd_mutex in probe_codec()
    
    Now that each codec will have its own module, it is possible
    for the user to load one codec while another one is running.
    
    So cmd_mutex would be a safe addition to probe_codec().
    
    Signed-off-by: Wu Fengguang <fengguang.wu at intel.com>
    Signed-off-by: Takashi Iwai <tiwai at suse.de>

commit deadff1665491afce124a8ff83f00f784161f660
Author: Wu Fengguang <fengguang.wu at intel.com>
Date:   Sat Aug 1 18:45:16 2009 +0800

    ALSA: hda: track CIRB/CORB command/response states for each codec
    
    Recently we hit a bug in our dev board, whose HDMI codec#3 may emit
    redundant/spurious responses, which were then taken as responses to
    command for another onboard Realtek codec#2, and mess up both codecs.
    
    Extend the azx_rb.cmds and azx_rb.res to array and track each codec's
    commands/responses separately. This helps keep good codec safe from
    broken ones.
    
    Signed-off-by: Wu Fengguang <fengguang.wu at intel.com>
    Signed-off-by: Takashi Iwai <tiwai at suse.de>

commit ce577e8cf5ddb4216553c9d563a9835d6de70ffa
Author: Takashi Iwai <tiwai at suse.de>
Date:   Mon Aug 3 08:23:52 2009 +0200

    ALSA: hda - Fix quirk for Toshiba Satellite A135-S4527
    
    Use model=lenovo instead of model=dallas for Toshiba Satellite A135-S4527
    with ALC861-VD codec.
    
    Reference: Novell bnc#526325
    	https://bugzilla.novell.com/show_bug.cgi?id=526325
    
    Signed-off-by: Takashi Iwai <tiwai at suse.de>

commit a33a052f19a21d727847391c8c1aff3fb221c472
Merge: 4905f92ed752d49ebe9cce4fe78a4bc39e710523 449aad3e25358812c43afc60918c5ad3819488e7
Author: Linus Torvalds <torvalds at linux-foundation.org>
Date:   Sun Aug 2 21:31:40 2009 -0700

    Merge branch 'for-linus' of git://neil.brown.name/md
    
    * 'for-linus' of git://neil.brown.name/md:
      md: Use revalidate_disk to effect changes in size of device.
      md: allow raid5_quiesce to work properly when reshape is happening.
      md/raid5: set reshape_position correctly when reshape starts.
      md: Handle growth of v1.x metadata correctly.
      md: avoid array overflow with bad v1.x metadata
      md: when a level change reduces the number of devices, remove the excess.
      md: Push down data integrity code to personalities.
      md/raid6: release spare page at ->stop()

commit eb4ad826419ab5b1260bc1625249114767d36bea
Author: Yevgeny Petrilin <yevgenyp at mellanox.co.il>
Date:   Sun Aug 2 20:22:18 2009 -0700

    mlx4_en: Fix double pci unmapping.
    
    In cases of fragmented skb, with the data pointers being wrapped around
    the TX buffer, the completion handling code would not forward the data
    pointer and the firs fragment was unmapped several times, while others
    were not unmapped at all.
    
    Signed-off-by: Yevgeny Petrilin <yevgenyp at mellanox.co.il>
    Signed-off-by: David S. Miller <davem at davemloft.net>

commit a923c28fc538a4161b15e9b5d7d48248d73d3e6f
Author: David S. Miller <davem at davemloft.net>
Date:   Sun Aug 2 19:17:15 2009 -0700

    sparc: Use page_fault_out_of_memory() for VM_FAULT_OOM.
    
    As noted by Nick Piggin.
    
    Signed-off-by: David S. Miller <davem at davemloft.net>

commit 449aad3e25358812c43afc60918c5ad3819488e7
Author: NeilBrown <neilb at suse.de>
Date:   Mon Aug 3 10:59:58 2009 +1000

    md: Use revalidate_disk to effect changes in size of device.
    
    As revalidate_disk calls check_disk_size_change, it will cause
    any capacity change of a gendisk to be propagated to the blockdev
    inode.  So use that instead of mucking about with locks and
    i_size_write.
    
    Also add a call to revalidate_disk in do_md_run and a few other places
    where the gendisk capacity is changed.
    
    Signed-off-by: NeilBrown <neilb at suse.de>

commit 64bd660b51b2da92e99a5e97349f6558349f11c5
Author: NeilBrown <neilb at suse.de>
Date:   Mon Aug 3 10:59:58 2009 +1000

    md: allow raid5_quiesce to work properly when reshape is happening.
    
    The ->quiesce method is not supposed to stop resync/recovery/reshape,
    just normal IO.
    But in raid5 we don't have a way to know which stripes are being
    used for normal IO and which for resync etc, so we need to wait for
    all stripes to be idle to be sure that all writes have completed.
    
    However reshape keeps at least some stripe busy for an extended period
    of time, so a call to raid5_quiesce can block for several seconds
    needlessly.
    So arrange for reshape etc to pause briefly while raid5_quiesce is
    trying to quiesce the array so that the active_stripes count can
    drop to zero.
    
    Signed-off-by: NeilBrown <neilb at suse.de>

commit e516402c0d4fc02be4af9fa8c18954d4f9deb44e
Author: NeilBrown <neilb at suse.de>
Date:   Mon Aug 3 10:59:57 2009 +1000

    md/raid5: set reshape_position correctly when reshape starts.
    
    As the internal reshape_progress counter is the main driver
    for reshape, the fact that reshape_position sometimes starts with the
    wrong value has minimal effect.  It is visible in sysfs and that
    is all.
    
    Signed-off-by: NeilBrown <neilb at suse.de>

commit 70471dafe3390243c598a3165dfb86b8b8b3f4fe
Author: NeilBrown <neilb at suse.de>
Date:   Mon Aug 3 10:59:57 2009 +1000

    md: Handle growth of v1.x metadata correctly.
    
    The v1.x metadata does not have a fixed size and can grow
    when devices are added.
    If it grows enough to require an extra sector of storage,
    we need to update the 'sb_size' to match.
    
    Without this, md can write out an incomplete superblock with a
    bad checksum, which will be rejected when trying to re-assemble
    the array.
    
    Cc: stable at kernel.org
    Signed-off-by: NeilBrown <neilb at suse.de>

commit 3673f305faf1bc66ead751344f8262ace851ff44
Author: NeilBrown <neilb at suse.de>
Date:   Mon Aug 3 10:59:56 2009 +1000

    md: avoid array overflow with bad v1.x metadata
    
    We trust the 'desc_nr' field in v1.x metadata enough to use it
    as an index in an array.  This isn't really safe.
    So range-check the value first.
    
    Signed-off-by: NeilBrown <neilb at suse.de>

commit 3a981b03f38dc3b8a69b77cbc679e66c1318a44a
Author: NeilBrown <neilb at suse.de>
Date:   Mon Aug 3 10:59:55 2009 +1000

    md: when a level change reduces the number of devices, remove the excess.
    
    When an array is changed from RAID6 to RAID5, fewer drives are
    needed.  So any device that is made superfluous by the level
    conversion must be marked as not-active.
    For the RAID6->RAID5 conversion, this will be a drive which only
    has 'Q' blocks on it.
    
    Cc: stable at kernel.org
    Signed-off-by: NeilBrown <neilb at suse.de>

commit ac5e7113e74872928844d00085bd47c988f12728
Author: Andre Noll <maan at systemlinux.org>
Date:   Mon Aug 3 10:59:47 2009 +1000

    md: Push down data integrity code to personalities.
    
    This patch replaces md_integrity_check() by two new public functions:
    md_integrity_register() and md_integrity_add_rdev() which are both
    personality-independent.
    
    md_integrity_register() is called from the ->run and ->hot_remove
    methods of all personalities that support data integrity.  The
    function iterates over the component devices of the array and
    determines if all active devices are integrity capable and if their
    profiles match. If this is the case, the common profile is registered
    for the mddev via blk_integrity_register().
    
    The second new function, md_integrity_add_rdev() is called from the
    ->hot_add_disk methods, i.e. whenever a new device is being added
    to a raid array. If the new device does not support data integrity,
    or has a profile different from the one already registered, data
    integrity for the mddev is disabled.
    
    For raid0 and linear, only the call to md_integrity_register() from
    the ->run method is necessary.
    
    Signed-off-by: Andre Noll <maan at systemlinux.org>
    Signed-off-by: NeilBrown <neilb at suse.de>

commit 4905f92ed752d49ebe9cce4fe78a4bc39e710523
Merge: 0ce166b7b46122bf91a4766e20c85a6485448765 5973bee46fe66db94fab198979dec87f263fc2a8
Author: Linus Torvalds <torvalds at linux-foundation.org>
Date:   Sun Aug 2 14:15:46 2009 -0700

    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] Fix COH 901 327 watchdog enablement

commit 0ce166b7b46122bf91a4766e20c85a6485448765
Merge: 57d7f282271a83fe4ca4bd15eee79be577210210 3be4ee5199ba20475749d768bf29c8399c755a69
Author: Linus Torvalds <torvalds at linux-foundation.org>
Date:   Sun Aug 2 14:15:27 2009 -0700

    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:
      eeepc-laptop: fix hot-unplug on resume
      ACPI: Ingore the memory block with zero block size in course of memory hotplug
      ACPI: Don't treat generic error as ACPI error code in acpi memory hotplug driver
      ACPI: bind workqueues to CPU 0 to avoid SMI corruption
      ACPI: root-only read protection on /sys/firmware/acpi/tables/*
      thinkpad-acpi: fix incorrect use of TPACPI_BRGHT_MODE_ECNVRAM
      thinkpad-acpi: restrict procfs count value to sane upper limit
      thinkpad-acpi: remove dock and bay subdrivers
      thinkpad-acpi: disable broken bay and dock subdrivers
      hp-wmi: check that an input device exists in resume handler
      Revert "ACPICA: Remove obsolete acpi_os_validate_address interface"

commit 57d7f282271a83fe4ca4bd15eee79be577210210
Author: Greg Kroah-Hartman <gregkh at suse.de>
Date:   Fri Jul 31 21:28:16 2009 -0700

    TTY: Maintainer change
    
    Clearly, I am a glutton for punishment.  I'll see if I can see Alan's
    changes through to the end, otherwise I'll be fending off a lot of bug
    reports for usb-serial devices.
    
    Cc: Alan Cox <alan at lxorguk.ukuu.org.uk>
    Signed-off-by: Greg Kroah-Hartman <gregkh at suse.de>
    Signed-off-by: Linus Torvalds <torvalds at linux-foundation.org>

commit 79896cf42f6a96d7e14f2dc3473443d68d74031d
Author: Linus Torvalds <torvalds at linux-foundation.org>
Date:   Sun Aug 2 14:04:19 2009 -0700

    Make pci_claim_resource() use request_resource() rather than insert_resource()
    
    This function has traditionally used "insert_resource()", because before
    commit cebd78a8c5 ("Fix pci_claim_resource") it used to just insert the
    resource into whatever root resource tree that was indicated by
    "pcibios_select_root()".
    
    So there Matthew fixed it to actually look up the proper parent
    resource, which means that now it's actively wrong to then traverse the
    resource tree any more: we already know exactly where the new resource
    should go.
    
    And when we then did commit a76117dfd6 ("x86: Use pci_claim_resource"),
    which changed the x86 PCI code from the open-coded
    
    	pr = pci_find_parent_resource(dev, r);
    	if (!pr || request_resource(pr, r) < 0) {
    
    to using
    
    	if (pci_claim_resource(dev, idx) < 0) {
    
    that "insert_resource()" now suddenly became a problem, and causes a
    regression covered by
    
    	http://bugzilla.kernel.org/show_bug.cgi?id=13891
    
    which this fixes.
    
    Reported-and-tested-by: Rafael J. Wysocki <rjw at sisk.pl>
    Cc: Matthew Wilcox <willy at linux.intel.com>
    Cc: Andrew Patterson <andrew.patterson at hp.com>
    Cc: Linux PCI <linux-pci at vger.kernel.org>
    Signed-off-by: Linus Torvalds <torvalds at linux-foundation.org>

commit b564afcfb82fe3e63a7ce05a944eb5e11244d7cb
Author: Andreas Eversberg <andreas at eversberg.eu>
Date:   Mon Jul 27 07:24:04 2009 +0000

    mISDN: Fix handling of receive buffer size in L1oIP
    
    The size of receive buffer pointer was used to get size of
    receive buffer instead of recvbuf_size itself, so only 4/8
    bytes could be transfered.
    
    This is a regression to 2.6.30 introduced by commit 8c90e11e3543d7de612194a042a148caeaab5f1d
    mISDN: Use kernel_{send,recv}msg instead of open coding
    
    Signed-off-by: Andreas Eversberg <andreas at eversberg.eu>
    Signed-off-by: Karsten Keil <keil at b1-systems.de>
    Signed-off-by: David S. Miller <davem at davemloft.net>

commit 5973bee46fe66db94fab198979dec87f263fc2a8
Author: Linus Walleij <linus.walleij at stericsson.com>
Date:   Tue Jul 21 00:40:46 2009 +0200

    [WATCHDOG] Fix COH 901 327 watchdog enablement
    
    Since the COH 901 327 found in U300 is clocked at 32 kHz we need
    to wait for the interrupt clearing flag to propagate through
    hardware in order not to accidentally fire off any interrupts
    when we enable them.
    
    Signed-off-by: Linus Walleij <linus.walleij at stericsson.com>
    Signed-off-by: Wim Van Sebroeck <wim at iguana.be>

commit 63097b3ad85788a64c75091bff351ecc850761b2
Author: Don Fry <pcnet32 at verizon.net>
Date:   Fri Jul 31 08:45:29 2009 +0000

    pcnet32: VLB support fixes
    
    VLB support has been broken since at least 2004-2005 period as some
    changes introduced back then assumed that ->pci_dev is always valid,
    lets try to fix it:
    
    - remove duplicated SET_NETDEV_DEV() call
    
    - call SET_NETDEV_DEV() only for PCI devices
    
    - check for ->pci_dev validity in pcnet32_open()
    
    [ Alternatively we may consider removing VLB support but there would not
      be much gain in it since an extra driver code needed for VLB support is
      minimal and quite simple. ]
    
    This takes care of the following entry from Dan's list:
    
    drivers/net/pcnet32.c +1889 pcnet32_probe1(298) warning: variable derefenced before check 'pdev'
    
    Reported-by: Dan Carpenter <error27 at gmail.com>
    Signed-off-by: Bartlomiej Zolnierkiewicz <bzolnier at gmail.com>
    Acked-by:  Don Fry <pcnet32 at verizon.net>
    Signed-off-by: David S. Miller <davem at davemloft.net>

commit df4e7f72f5156ef16a918da8a575ba90ec27ab77
Author: Don Fry <pcnet32 at verizon.net>
Date:   Fri Jul 31 08:40:06 2009 +0000

    pcnet32: remove superfluous NULL pointer check in pcnet32_probe1()
    
    Move the debug printk() into the proper place and remove superfluous
    NULL pointer check in pcnet32_probe1().
    
    This takes care of the following entry from Dan's list:
    
    drivers/net/pcnet32.c +1889 pcnet32_probe1(298) warning: variable derefenced before check 'pdev'
    
    Reported-by: Dan Carpenter <error27 at gmail.com>
    Signed-off-by: Bartlomiej Zolnierkiewicz <bzolnier at gmail.com>
    Acked-by:  Don Fry <pcnet32 at verizon.net>
    Signed-off-by: David S. Miller <davem at davemloft.net>

commit a6ac65db2329e7685299666f5f7b6093c7b0f3a0
Author: Jiri Pirko <jpirko at redhat.com>
Date:   Thu Jul 30 01:06:12 2009 +0000

    net: restore the original spinlock to protect unicast list
    
    There is a path when an assetion in dev_unicast_sync() appears.
    
    igmp6_group_added -> dev_mc_add -> __dev_set_rx_mode ->
    -> vlan_dev_set_rx_mode -> dev_unicast_sync
    
    Therefore we cannot protect this list with rtnl. This patch restores the
    original protecting this list with spinlock.
    
    Signed-off-by: Jiri Pirko <jpirko at redhat.com>
    Tested-by: Meelis Roos <mroos at linux.ee>
    Signed-off-by: David S. Miller <davem at davemloft.net>

commit 50c643e7652458e649955408685a16e88ea6dbae
Author: Dhananjay Phadke <dhananjay at netxen.com>
Date:   Sat Aug 1 21:36:16 2009 +0000

    netxen: fix coherent dma mask setting
    
    Change default dma mask for NX3031 to 39 bit with ability
    to update it to 64-bit (if firmware indicates support). Old
    code was restricting it under 4GB (32-bit), sometimes causing
    failure to allocate descriptor rings on heavily populated
    system. NX2031 based NICs will still get 32-bit coherent mask.
    
    Signed-off-by: Dhananjay Phadke <dhananjay at netxen.com>
    Signed-off-by: David S. Miller <davem at davemloft.net>

commit 9bfdac94c78faf68ce038d5c45a385927f2667ce
Author: roel kluin <roel.kluin at gmail.com>
Date:   Fri Jul 31 03:43:59 2009 +0000

    mISDN: Read buffer overflow
    
    Check whether index is within bounds before testing the element.
    
    Signed-off-by: Roel Kluin <roel.kluin at gmail.com>
    Acked-by: Karsten Keil <keil at b1-systems.de>
    Signed-off-by: David S. Miller <davem at davemloft.net>

commit 54706d99051582993037be5a076aa543fd7f1c38
Author: roel kluin <roel.kluin at gmail.com>
Date:   Sat Aug 1 20:20:13 2009 +0000

    s6gmac: Read buffer overflow
    
    Check whether index is within bounds before testing the element.
    In the last iteration i is PHY_MAX_ADDR. the condition
    `!(p = pd->mii.bus->phy_map[PHY_MAX_ADDR])' is undefined and may
    evaluate to false, which leads to a dereference of this invalid
    phy_map in the phy_connect() below.
    
    Signed-off-by: Roel Kluin <roel.kluin at gmail.com>
    Signed-off-by: David S. Miller <davem at davemloft.net>

commit 1b994b5a1b3cb5395598a08ef3bb0ac118d75c1b
Author: roel kluin <roel.kluin at gmail.com>
Date:   Sat Aug 1 20:26:52 2009 +0000

    tulip: Read buffer overflow
    
    Check whether index is within bounds before testing the element.
    
    Signed-off-by: Roel Kluin <roel.kluin at gmail.com>
    Signed-off-by: David S. Miller <davem at davemloft.net>

commit 144586301f6af5ae5943a002f030d8c626fa4fdd
Author: Eric Dumazet <eric.dumazet at gmail.com>
Date:   Tue Jul 28 02:36:15 2009 +0000

    net: net_assign_generic() fix
    
    memcpy() should take into account size of pointers,
    not only number of pointers to copy.
    
    Signed-off-by: Eric Dumazet <eric.dumazet at gmail.com>
    Acked-by: Pavel Emelyanov <xemul at openvz.org>
    Signed-off-by: David S. Miller <davem at davemloft.net>

commit 446e72f30eca76d6f9a1a54adf84d2c6ba2831f8
Author: Eric Dumazet <eric.dumazet at gmail.com>
Date:   Tue Jul 28 03:47:39 2009 +0000

    pppol2tp: calls unregister_pernet_gen_device() at unload time
    
    Failure to call unregister_pernet_gen_device() can exhaust memory
    if module is loaded/unloaded many times.
    
    Signed-off-by: Eric Dumazet <eric.dumazet at gmail.com>
    Acked-by: Cyrill Gorcunov <gorcunov at openvz.org>
    Signed-off-by: David S. Miller <davem at davemloft.net>

commit a53a8b56827cc429c6d9f861ad558beeb5f6103f
Author: Ben McKeegan <ben at netservers.co.uk>
Date:   Tue Jul 28 07:43:57 2009 +0000

    ppp: fix lost fragments in ppp_mp_explode() (resubmit)
    
    This patch fixes the corner cases where the sum of MTU of the free
    channels (adjusted for fragmentation overheads) is less than the MTU
    of PPP link.  There are at least 3 situations where this case might
    arise:
    
    - some of the channels are busy
    
    - the multilink session is running in a degraded state (i.e. with less
    than its full complement of active channels)
    
    - by design, where multilink protocol is being used to artificially
    increase the effective link MTU of a single link.
    
    Without this patch, at most 1 fragment is ever sent per free channel
    for a given PPP frame and any remaining part of the PPP frame that
    does not fit into those fragments is silently discarded.
    
    This patch restores the original behaviour which was broken by commit
    9c705260feea6ae329bc6b6d5f6d2ef0227eda0a 'ppp:ppp_mp_explode()
    redesign'.  Once all 'free' channels have been given a fragment, an
    additional fragment is queued to each available channel in turn, as many
    times as necessary, until the entire PPP frame has been consumed.
    
    Signed-off-by: Ben McKeegan <ben at netservers.co.uk>
    Signed-off-by: David S. Miller <davem at davemloft.net>

commit 3be4ee5199ba20475749d768bf29c8399c755a69
Merge: 95452a6ce17244059e184fe5f722bff66a2b52bf d0006f3281c920fbfead0f5035c62ec8053f980a
Author: Len Brown <len.brown at intel.com>
Date:   Sun Aug 2 12:55:51 2009 -0400

    Merge branch 'misc-2.6.31' into release

commit 95452a6ce17244059e184fe5f722bff66a2b52bf
Merge: a571a79a7e6b614f26d6bcc25b2ad48fd63fb829 7334546a52c6764df120459509b1f803a073eacc
Author: Len Brown <len.brown at intel.com>
Date:   Sun Aug 2 12:36:01 2009 -0400

    Merge branch 'bugzilla-13825' into release

commit 7334546a52c6764df120459509b1f803a073eacc
Author: Alan Jenkins <alan-jenkins at tuffmail.co.uk>
Date:   Mon Jun 29 09:40:07 2009 +0100

    eeepc-laptop: fix hot-unplug on resume
    
    OOPS on resume when the wireless adaptor is disabled during suspend was
    introduced by "eeepc-laptop: read rfkill soft-blocked state on resume".
    
    Unable to handle kernel NULL pointer dereference
    
    Process s2disk
    Tainted: G W
    IP: klist_put
    
    Call trace:
    ? klist_del
    ? device_del
    ? device_unregister
    ? pci_stop_dev
    ? pci_stop_bus
    ? pci_remove_device
    ? eeepc_rfkill_hotplug [eeepc_laptop]
    ? eeepc_hotk_resume [eeepc_laptop]
    ? acpi_device_resume
    ? device_resume
    ? hibernation_snapshot
    
    It appears the PCI device is removed twice.  The eeepc_rfkill_hotplug()
    call from the resume handler is racing against the call from the ACPI
    notifier callback.  The ACPI notification is triggered by the resume
    handler when it refreshes the value of CM_ASL_WLAN.
    
    The fix is to serialize hotplug calls using a workqueue.
    
    http://bugzilla.kernel.org/show_bug.cgi?id=13825
    
    Signed-off-by: Alan Jenkins <alan-jenkins at tuffmail.co.uk>
    Acked-by: Corentin Chary <corentin.chary at gmail.com>
    Signed-off-by: Len Brown <len.brown at intel.com>

commit a571a79a7e6b614f26d6bcc25b2ad48fd63fb829
Merge: 6a61487791a8b8f85542c51132e8c7ed9bc7fd0b 5d2619fca753d270e63e76c9e18437b0d9bc8d75
Author: Len Brown <len.brown at intel.com>
Date:   Sun Aug 2 12:27:26 2009 -0400

    Merge branch 'memhotplug-crash' into release

commit 5d2619fca753d270e63e76c9e18437b0d9bc8d75
Author: Zhao Yakui <yakui.zhao at intel.com>
Date:   Tue Jul 7 10:56:11 2009 +0800

    ACPI: Ingore the memory block with zero block size in course of memory hotplug
    
    If the memory block size is zero, ignore it and don't do the memory hotplug
    flowchart. Otherwise it will complain the following warning message:
      >System RAM resource 0 - ffffffffffffffff cannot be added
    
    Signed-off-by: Zhao Yakui <yakui.zhao at intel.com>
    Signed-off-by: Len Brown <len.brown at intel.com>

commit aa7b2b2e973874df99a45b31adbed5978b46be1f
Author: Zhao Yakui <yakui.zhao at intel.com>
Date:   Fri Jul 3 10:49:03 2009 +0800

    ACPI: Don't treat generic error as ACPI error code in acpi memory hotplug driver
    
    Don't treat the generic error as ACPI error code. Otherwise when the generic
    code is returned, it will complain the following warning messag:
       >ACPI Exception (acpi_memhotplug-0171): UNKNOWN_STATUS_CODE,
    		Cannot get acpi bus device [20080609]
       >ACPI: Cannot find driver data
       > ACPI Error (utglobal-0127): Unknown exception code: 0xFFFFFFED [20080609]
       > Pid: 85, comm: kacpi_notify Not tainted 2.6.27.19-5-default #1
         Call Trace:
         [<ffffffff8020da29>] show_trace_log_lvl+0x41/0x58
         [<ffffffff8049a3da>] dump_stack+0x69/0x6f
        .....
    
    At the same time when the generic error code is returned, the ACPI_EXCEPTION
    is replaced by the printk.
    
    Signed-off-by: Zhao Yakui <yakui.zhao at intel.com>
    Signed-off-by: Len Brown <len.brown at intel.com>

commit 6a61487791a8b8f85542c51132e8c7ed9bc7fd0b
Merge: f63440eff06265fc56e73044f8727b12641b33f1 74b5820808215f65b70b05a099d6d3c969b82689
Author: Len Brown <len.brown at intel.com>
Date:   Sun Aug 2 12:10:02 2009 -0400

    Merge branch 'bugzilla-13751' into release

commit 74b5820808215f65b70b05a099d6d3c969b82689
Author: Bjorn Helgaas <bjorn.helgaas at hp.com>
Date:   Wed Jul 29 15:54:25 2009 -0600

    ACPI: bind workqueues to CPU 0 to avoid SMI corruption
    
    On some machines, a software-initiated SMI causes corruption unless the
    SMI runs on CPU 0.  An SMI can be initiated by any AML, but typically it's
    done in GPE-related methods that are run via workqueues, so we can avoid
    the known corruption cases by binding the workqueues to CPU 0.
    
    References:
        http://bugzilla.kernel.org/show_bug.cgi?id=13751
        https://bugs.launchpad.net/bugs/157171
        https://bugs.launchpad.net/bugs/157691
    
    Signed-off-by: Bjorn Helgaas <bjorn.helgaas at hp.com>
    Signed-off-by: Len Brown <len.brown at intel.com>

commit f63440eff06265fc56e73044f8727b12641b33f1
Merge: 437f8c8ab99e7b6eed8e0d6d9cf46085c8de2e36 59fe4fe34d7afdf63208124f313be9056feaa2f4
Author: Len Brown <len.brown at intel.com>
Date:   Sun Aug 2 11:34:24 2009 -0400

    Merge branch 'thinkpad' into release

commit 437f8c8ab99e7b6eed8e0d6d9cf46085c8de2e36
Merge: b8a848ed7ffda36ed069f63de085a9411d2aa39f daed953721850381673687c59f3a0df553eb6626
Author: Len Brown <len.brown at intel.com>
Date:   Sun Aug 2 11:33:01 2009 -0400

    Merge branch 'bugzilla-13865' into release

commit b8a848ed7ffda36ed069f63de085a9411d2aa39f
Merge: ed680c4ad478d0fee9740f7d029087f181346564 7cb7f45c7feef43c8f71f5cfedfc0b19be2142f7
Author: Len Brown <len.brown at intel.com>
Date:   Sun Aug 2 11:31:32 2009 -0400

    Merge branch 'bugzilla-13620-revert' into release

commit d0006f3281c920fbfead0f5035c62ec8053f980a
Author: Len Brown <len.brown at intel.com>
Date:   Thu Jul 30 16:00:53 2009 -0400

    ACPI: root-only read protection on /sys/firmware/acpi/tables/*
    
    they were world readable.
    
    Signed-off-by: Len Brown <len.brown at intel.com>

commit cae5a39f34d52c46ca49edfc3f297656a0fd60b7
Author: Helge Deller <deller at gmx.de>
Date:   Sun Aug 2 15:42:39 2009 +0200

    parisc: hppb.c - fix printk format strings
    
    Fix those warnings:
    drivers/parisc/hppb.c: In function 'hppb_probe':
    drivers/parisc/hppb.c:65: warning: format '%x' expects type 'unsigned int', but argument 2 has type 'resource_size_t'
    drivers/parisc/hppb.c:77: warning: format '%08x' expects type 'unsigned int', but argument 3 has type 'resource_size_t'
    drivers/parisc/hppb.c:77: warning: format '%08x' expects type 'unsigned int', but argument 4 has type 'resource_size_t'
    
    Signed-off-by: Helge Deller <deller at gmx.de>

commit c43962321e8af5309dd3ffcd78743c89581265e5
Author: Helge Deller <deller at gmx.de>
Date:   Sun Aug 2 15:35:43 2009 +0200

    parisc: parisc-agp.c - use correct page_mask function
    
    Fix those compiler warnings, which indeed point to a bug:
    drivers/char/agp/parisc-agp.c:228: warning: initialization from incompatible pointer type
    drivers/char/agp/parisc-agp.c:201: warning: 'parisc_agp_page_mask_memory' defined but not used
    
    Signed-off-by: Helge Deller <deller at gmx.de>

commit 1a1dba32412c15c51d5fc0b9efadd2ea310356d7
Author: Helge Deller <deller at gmx.de>
Date:   Sun Aug 2 15:26:51 2009 +0200

    parisc: sticore.c - check return values
    
    Signed-off-by: Helge Deller <deller at gmx.de>

commit 01a261e09a21e0ba342d3907a79cf5c78ee3f37a
Author: Ryusuke Konishi <konishi.ryusuke at lab.ntt.co.jp>
Date:   Sun Aug 2 17:45:55 2009 +0900

    nilfs2: fix missing unlock in error path of nilfs_mdt_write_page
    
    This adds a missing unlock of nilfs->ns_writer_mutex in
    nilfs_mdt_write_page() function.
    
    Signed-off-by: Ryusuke Konishi <konishi.ryusuke at lab.ntt.co.jp>

commit 1e0deabd35f210f22c03cc734a0335c07ae71ff3
Author: Helge Deller <deller at gmx.de>
Date:   Sun Aug 2 15:17:37 2009 +0200

    parisc: dino.c - check return value of pci_assign_resource()
    
    Signed-off-by: Helge Deller <deller at gmx.de>

commit c6fe6b0783a8fd923d11dd0388cbd561ff15bdf1
Author: Helge Deller <deller at gmx.de>
Date:   Sun Aug 2 15:13:29 2009 +0200

    parisc: hp_sdc_mlc.c - check return value of down_trylock()
    
    Signed-off-by: Helge Deller <deller at gmx.de>

commit 07903af152b0597d94e9b0030746b63c4664e787
Author: Gregory Haskins <ghaskins at novell.com>
Date:   Thu Jul 30 10:57:28 2009 -0400

    sched: Fix race in cpupri introduced by cpumask_var changes
    
    Background:
    
    Several race conditions in the scheduler have cropped up
    recently, which Steven and I have tracked down using ftrace.
    The most recent one turns out to be a race in how the scheduler
    determines a suitable migration target for RT tasks, introduced
    recently with commit:
    
        commit 68e74568fbe5854952355e942acca51f138096d9
        Date:   Tue Nov 25 02:35:13 2008 +1030
    
            sched: convert struct cpupri_vec cpumask_var_t.
    
    The original design of cpupri allowed lockless readers to
    quickly determine a best-estimate target.  Races between the
    pri_active bitmap and the vec->mask were handled in the
    original code because we would detect and return "0" when this
    occured.  The design was predicated on the *effective*
    atomicity (*) of caching the result of cpus_and() between the
    cpus_allowed and the vec->mask.
    
    Commit 68e74568 changed the behavior such that vec->mask is
    accessed multiple times.  This introduces a subtle race, the
    result of which means we can have a result that returns "1",
    but with an empty bitmap.
    
    *) yes, we know cpus_and() is not a locked operator across the
       entire composite array, but it is implicitly atomic on a
       per-word basis which is all the design required to work.
    
    Implementation:
    
    Rather than forgoing the lockless design, or reverting to a
    stack-based cpumask_t, we simply check for when the race has
    been encountered and continue processing in the event that the
    race is hit.  This renders the removal race as if the priority
    bit had been atomically cleared as well, and allows the
    algorithm to execute correctly.
    
    Signed-off-by: Gregory Haskins <ghaskins at novell.com>
    CC: Rusty Russell <rusty at rustcorp.com.au>
    CC: Steven Rostedt <srostedt at redhat.com>
    Signed-off-by: Peter Zijlstra <a.p.zijlstra at chello.nl>
    LKML-Reference: <20090730145728.25226.92769.stgit at dev.haskins.net>
    Signed-off-by: Ingo Molnar <mingo at elte.hu>

commit e414314cce7539788dd5d2c35decad11782dd858
Author: Peter Zijlstra <a.p.zijlstra at chello.nl>
Date:   Thu Jul 23 20:13:26 2009 +0200

    sched: Fix latencytop and sleep profiling vs group scheduling
    
    The latencytop and sleep accounting code assumes that any
    scheduler entity represents a task, this is not so.
    
    Cc: Arjan van de Ven <arjan at linux.intel.com>
    Signed-off-by: Peter Zijlstra <a.p.zijlstra at chello.nl>
    Signed-off-by: Ingo Molnar <mingo at elte.hu>

commit 59b9005692d4c8b5d73cfc41aa7229f47be163a9
Author: Arnaldo Carvalho de Melo <acme at redhat.com>
Date:   Sun Jul 26 19:06:19 2009 -0300

    perf top: Add mwait_idle_with_hints to skip_symbols[]
    
    We skip the display of idle routine related symbols because
    they are typically rather erratic and confusing: they depend
    on the IRQ rate or sometimes they dominate the profile if
    they are polling based.
    
    Add mwait_idle_with_hints too, this is one of the idle
    routines on x86.
    
    Signed-off-by: Arnaldo Carvalho de Melo <acme at redhat.com>
    Signed-off-by: Ingo Molnar <mingo at elte.hu>

commit 9b30a26bf3d2c56dcb1c3afaca28b73fcd6ed405
Author: Stoyan Gaydarov <sgayda2 at uiuc.edu>
Date:   Thu Jul 30 05:25:29 2009 -0500

    perf tools: Fix faulty check
    
    This patch fixes a spelling error that has resulted from copy
    and pasting. The location of the error was found using a
    semantic patch but the semantic patch was not trying to find
    these errors. After looking things over it seemed logical that
    this change was needed. Please review it and then include the
    patch if it is in fact the correct change.
    
    Signed-off-by: Stoyan Gaydarov <sgayda2 at uiuc.edu>
    Signed-off-by: Peter Zijlstra <a.p.zijlstra at chello.nl>
    Cc: Mike Galbraith <efault at gmx.de>
    Cc: Paul Mackerras <paulus at samba.org>
    Cc: Arnaldo Carvalho de Melo <acme at redhat.com>
    Cc: Frederic Weisbecker <fweisbec at gmail.com>
    LKML-Reference: <1248949529-20891-1-git-send-email-sgayda2 at uiuc.edu>
    Signed-off-by: Ingo Molnar <mingo at elte.hu>

commit 27d028de64bd7e1f8e72bdeae6b0586939574fcb
Author: Peter Zijlstra <a.p.zijlstra at chello.nl>
Date:   Thu Jul 23 16:52:41 2009 +0200

    perf report: Update for the new FORK/EXIT events
    
    Since FORK is now also issued for threads, detect those by
    comparing the parent and child PID.
    
    Teach it about EXIT events and ignore them.
    
    Signed-off-by: Peter Zijlstra <a.p.zijlstra at chello.nl>
    Cc: Paul Mackerras <paulus at samba.org>
    Signed-off-by: Ingo Molnar <mingo at elte.hu>

commit 9f498cc5be7e013d8d6e4c616980ed0ffc8680d2
Author: Peter Zijlstra <a.p.zijlstra at chello.nl>
Date:   Thu Jul 23 14:46:33 2009 +0200

    perf_counter: Full task tracing
    
    In order to be able to distinguish between no samples due to
    inactivity and no samples due to task ended, Arjan asked for
    PERF_EVENT_EXIT events. This is useful to the boot delay
    instrumentation (bootchart) app.
    
    This patch changes the PERF_EVENT_FORK to be emitted on every
    clone, and adds PERF_EVENT_EXIT to be emitted on task exit,
    after the task's counters have been closed.
    
    This task tracing is controlled through: attr.comm || attr.mmap
    and through the new attr.task field.
    
    Suggested-by: Arjan van de Ven <arjan at linux.intel.com>
    Cc: Paul Mackerras <paulus at samba.org>
    Cc: Anton Blanchard <anton at samba.org>
    Signed-off-by: Peter Zijlstra <a.p.zijlstra at chello.nl>
    [ cleaned up perf_counter.h a bit ]
    Signed-off-by: Ingo Molnar <mingo at elte.hu>

commit e53c0994709166b111fbe9162d1a16ece7dfc45b
Author: Peter Zijlstra <a.p.zijlstra at chello.nl>
Date:   Fri Jul 24 14:42:10 2009 +0200

    perf_counter: Collapse inherit on read()
    
    Currently the counter value returned by read() is the value of
    the parent counter, to which child counters are only fed back
    on child exit.
    
    Thus read() can return rather erratic (and meaningless) numbers
    depending on the state of the child processes.
    
    Change this by always iterating the full child hierarchy on
    read() and sum all counters.
    
    Suggested-by: Corey Ashford <cjashfor at linux.vnet.ibm.com>
    Signed-off-by: Peter Zijlstra <a.p.zijlstra at chello.nl>
    LKML-Reference: <new-submission>
    Signed-off-by: Ingo Molnar <mingo at elte.hu>

commit 470a1396c25c27b4aff08b14d5c9cd9b3da15e09
Author: Peter Zijlstra <a.p.zijlstra at chello.nl>
Date:   Wed Jul 29 10:50:09 2009 +0200

    tracing, perf_counter: Add help text to CONFIG_EVENT_PROFILE
    
    Explain what tracepoint profiling sources are about.
    
    Signed-off-by: Peter Zijlstra <a.p.zijlstra at chello.nl>
    Acked-by: Jeff Garzik <jeff at garzik.org>
    LKML-Reference: <1248856508.6987.3041.camel at twins>
    Signed-off-by: Ingo Molnar <mingo at elte.hu>

commit b10ff54f9f58adfb708b53e6e56ed3d7804ade74
Author: Jaswinder Singh Rajput <jaswinder at kernel.org>
Date:   Wed Jul 8 15:27:20 2009 +0000

    parisc: includecheck fix for ccio-dma.c
    
    fix the following 'make includecheck' warning:
    
      drivers/parisc/ccio-dma.c: linux/proc_fs.h is included more than once.
    
    Signed-off-by: Jaswinder Singh Rajput <jaswinderrajput at gmail.com>
    Signed-off-by: Helge Deller <deller at gmx.de>

commit 2678251b207394aa8b9d92c653c05a8b3449f1f5
Author: John David Anglin <dave at hiauly1.hia.nrc.ca>
Date:   Mon Jul 13 01:44:37 2009 +0000

    parisc: Set correct bit in protection flags
    
    Signed-off-by: John David Anglin <dave at hiauly1.hia.nrc.ca>
    Signed-off-by: Helge Deller <deller at gmx.de>

commit 6b4dbcd86a9d464057fcc7abe4d0574093071fcc
Author: Michael Buesch <mb at bu3sch.de>
Date:   Mon Jul 20 22:58:44 2009 +0000

    parisc: isa-eeprom - Fix loff_t usage
    
    loff_t is a signed type. If userspace passes a negative ppos, the "count"
    range check is weakened. "count"s bigger than HPEE_MAX_LENGTH will pass the check.
    Also, if ppos is negative, the readb(eisa_eeprom_addr + *ppos) will poke in random
    memory.
    
    Signed-off-by: Michael Buesch <mb at bu3sch.de>
    Cc: stable at kernel.org
    Signed-off-by: Helge Deller <deller at gmx.de>

commit 450d6e306b4717bfae11218a02648509baf04ce1
Author: Stoyan Gaydarov <sgayda2 at uiuc.edu>
Date:   Thu Jul 30 10:25:19 2009 +0000

    parisc: fixed faulty check in lba_pci
    
    This patche fixes a spelling error that has resulted from copy and pasting.
    The location of the error was found using a semantic patch but the semantic
    patch was not trying to find these errors. After looking things over it
    seemed logical that this change was needed.
    
    Signed-off-by: Stoyan Gaydarov <sgayda2 at uiuc.edu>
    Signed-off-by: Helge Deller <deller at gmx.de>

commit 447c233da4d109c6194fefd69e5185cbc93cc062
Author: Roel Kluin <roel.kluin at gmail.com>
Date:   Sun Aug 2 08:02:28 2009 +0000

    parisc: Fix read buffer overflow in pdc_stable driver
    
    Check whether index is within bounds before testing the element.
    
    Signed-off-by: Roel Kluin <roel.kluin at gmail.com>
    Signed-off-by: Helge Deller <deller at gmx.de>

commit b4f2e2ad5348063ef94aa623f6f09b52ecaf0990
Author: John David Anglin <dave.anglin at nrc-cnrc.gc.ca>
Date:   Sun Aug 2 12:34:08 2009 +0200

    parisc: Fix GOT overflow during module load on 64bit kernel
    
    Signed-off-by: John David Anglin <dave.anglin at nrc-cnrc.gc.ca>
    Signed-off-by: Helge Deller <deller at gmx.de>

commit 59fe4fe34d7afdf63208124f313be9056feaa2f4
Author: Henrique de Moraes Holschuh <hmh at hmh.eng.br>
Date:   Sat Aug 1 12:04:20 2009 -0300

    thinkpad-acpi: fix incorrect use of TPACPI_BRGHT_MODE_ECNVRAM
    
    HBRV-based default selection of backlight control strategy didn't work
    well, at least the X41 defines it but doesn't use it and I don't think
    it will stop there.
    
    Switch to a white/blacklist.  All models that have HBRV defined have
    been included in the list, and initially all ATI GPUs will get
    ECNVRAM, and the Intel GPUs will get UCMS_STEP.
    
    Symptoms of incorrect backlight mode selection are:
    
    1. Non-working backlight control through sysfs;
    
    2. Backlight gets reset to the lowest level at every shutdown, reboot
       and when thinkpad-acpi gets unloaded;
    
    This fixes a regression in 2.6.30, bugzilla #13826
    
    Signed-off-by: Henrique de Moraes Holschuh <hmh at hmh.eng.br>
    Reported-by: Tobias Diedrich <ranma+kernel at tdiedrich.de>
    Cc: stable at kernel.org
    Signed-off-by: Len Brown <len.brown at intel.com>

commit 5b05d4696d38c3172e79e855cc1e2ed044589508
Author: Michael Buesch <mb at bu3sch.de>
Date:   Sat Aug 1 12:04:19 2009 -0300

    thinkpad-acpi: restrict procfs count value to sane upper limit
    
    Signed-off-by: Michael Buesch <mb at bu3sch.de>
    Acked-by: Henrique de Moraes Holschuh <hmh at hmh.eng.br>
    Signed-off-by: Len Brown <len.brown at intel.com>

commit 9b9d6b2434fe942895c341b9a982f158529788ec
Author: Jeff Layton <jlayton at redhat.com>
Date:   Fri Jul 31 06:56:09 2009 -0400

    cifs: reinstate original behavior when uid=/gid= options are specified
    
    This patch fixes the regression reported here:
    
    http://bugzilla.kernel.org/show_bug.cgi?id=13861
    
    commit 4ae1507f6d266d0cc3dd36e474d83aad70fec9e4 changed the default
    behavior when the uid= or gid= option was specified for a mount. The
    existing behavior was to always clobber the ownership information
    provided by the server when these options were specified. The above
    commit changed this behavior so that these options simply provided
    defaults when the server did not provide this information (unless
    "forceuid" or "forcegid" were specified)
    
    This patch reverts this change so that the default behavior is restored.
    It also adds "noforceuid" and "noforcegid" options to make it so that
    ownership information from the server is preserved, even when the mount
    has uid= or gid= options specified.
    
    It also adds a couple of printk notices that pop up when forceuid or
    forcegid options are specified without a uid= or gid= option.
    
    Reported-by: Tom Chiverton <bugzilla.kernel.org at falkensweb.com>
    Reviewed-by: Shirish Pargaonkar <shirishp at us.ibm.com>
    Signed-off-by: Jeff Layton <jlayton at redhat.com>
    Signed-off-by: Steve French <sfrench at us.ibm.com>

commit 1f6fc2de9525e34ee93bd392fa046369a8cfbf1e
Author: Henrique de Moraes Holschuh <hmh at hmh.eng.br>
Date:   Sat Aug 1 12:04:18 2009 -0300

    thinkpad-acpi: remove dock and bay subdrivers
    
    The standard ACPI dock driver can handle the hotplug bays and docks of
    the ThinkPads just fine (including batteries) as of 2.6.27, and the
    code in thinkpad-acpi for the dock and bay subdrivers is currently
    broken anyway...
    
    Userspace needs some love to support the two-stage ejection nicely,
    but it is simple enough to do through udev rules (you don't even need
    HAL) so this wouldn't justify fixing the dock and bay subdrivers,
    either.
    
    That leaves warm-swap bays (_EJ3) support for thinkpad-acpi, as well
    as support for the weird dock of the model 570, but since such support
    has never left the "experimental" stage, it is also not a strong
    enough reason to find a way to fix this code.
    
    Users of ThinkPads with warm-swap bays are urged to request that _EJ3
    support be added to the regular ACPI dock driver, if such feature is
    indeed useful for them.
    
    Signed-off-by: Henrique de Moraes Holschuh <hmh at hmh.eng.br>
    Signed-off-by: Len Brown <len.brown at intel.com>

commit 550e7fd8afb7664ae7cedb398c407694e2bf7d3c
Author: Henrique de Moraes Holschuh <hmh at hmh.eng.br>
Date:   Sat Aug 1 12:04:17 2009 -0300

    thinkpad-acpi: disable broken bay and dock subdrivers
    
    Currently, the ThinkPad-ACPI bay and dock drivers are completely
    broken, and cause a NULL pointer derreference in kernel mode (and,
    therefore, an OOPS) when they try to issue events (i.e. on dock,
    undock, bay ejection, etc).
    
    OTOH, the standard ACPI dock driver can handle the hotplug bays and
    docks of the ThinkPads just fine (including batteries) as of 2.6.27.
    In fact, it does a much better job of it than thinkpad-acpi ever did.
    
    It is just not worth the hassle to find a way to fix this crap without
    breaking the (deprecated) thinkpad-acpi dock/bay ABI.  This is old,
    deprecated code that sees little testing or use.
    
    As a quick fix suitable for -stable backports, mark the thinkpad-acpi
    bay and dock subdrivers as BROKEN in Kconfig.  The dead code will be
    removed by a later patch.
    
    This fixes bugzilla #13669, and should be applied to 2.6.27 and later.
    
    Signed-off-by: Henrique de Moraes Holschuh <hmh at hmh.eng.br>
    Reported-by: Joerg Platte <jplatte at naasa.net>
    Cc: stable at kernel.org
    Signed-off-by: Len Brown <len.brown at intel.com>

commit 0dd8486b5cfe8048e0613334659d9252ecd1b08a
Author: Linus Torvalds <torvalds at linux-foundation.org>
Date:   Sat Aug 1 11:18:56 2009 -0700

    do_sigaltstack: small cleanups
    
    The previous commit ("do_sigaltstack: avoid copying 'stack_t' as a
    structure to user space") fixed a real bug.  This one just cleans up the
    copy from user space to that gcc can generate better code for it (and so
    that it looks the same as the later copy back to user space).
    
    Signed-off-by: Linus Torvalds <torvalds at linux-foundation.org>

commit 0083fc2c50e6c5127c2802ad323adf8143ab7856
Author: Linus Torvalds <torvalds at linux-foundation.org>
Date:   Sat Aug 1 10:34:56 2009 -0700

    do_sigaltstack: avoid copying 'stack_t' as a structure to user space
    
    Ulrich Drepper correctly points out that there is generally padding in
    the structure on 64-bit hosts, and that copying the structure from
    kernel to user space can leak information from the kernel stack in those
    padding bytes.
    
    Avoid the whole issue by just copying the three members one by one
    instead, which also means that the function also can avoid the need for
    a stack frame.  This also happens to match how we copy the new structure
    from user space, so it all even makes sense.
    
    [ The obvious solution of adding a memset() generates horrid code, gcc
      does really stupid things. ]
    
    Reported-by: Ulrich Drepper <drepper at redhat.com>
    Signed-off-by: Linus Torvalds <torvalds at linux-foundation.org>

commit a97778457f22181e8c38c4cd7d7e528378738a98
Author: Ryusuke Konishi <konishi.ryusuke at lab.ntt.co.jp>
Date:   Tue Jul 28 17:55:29 2009 +0900

    nilfs2: fix oops due to inconsistent state in page with discrete b-tree nodes
    
    Andrea Gelmini gave me a report that a kernel oops hit on a nilfs
    filesystem with a 1KB block size when doing rsync.
    
    This turned out to be caused by an inconsistency of dirty state
    between a page and its buffers storing b-tree node blocks.
    
    If the page had multiple buffers split over multiple logs, and if the
    logs were written at a time, a dirty flag remained in the page even
    every dirty flag in the buffers was cleared.
    
    This will fix the failure by dropping the dirty flag properly for
    pages with the discrete multiple b-tree nodes.
    
    Reported-by: Andrea Gelmini <andrea.gelmini at gmail.com>
    Signed-off-by: Ryusuke Konishi <konishi.ryusuke at lab.ntt.co.jp>
    Tested-by: Andrea Gelmini <andrea.gelmini at gmail.com>
    Cc: stable at kernel.org

commit 2d1b6949d2c855f195de0f5146625015ecca3944
Author: Ingo Molnar <mingo at elte.hu>
Date:   Sat Aug 1 13:15:36 2009 +0200

    perf_counter tools: Fix link errors with older toolchains
    
    On older distros (F8 for example) the perf build could fail
    with such missing symbols:
    
        LINK perf
    /usr/lib/gcc/x86_64-redhat-linux/4.3.2/../../../../lib64/libbfd.a(bfd.o): In function `bfd_demangle':
    (.text+0x2b3): undefined reference to `cplus_demangle'
    /usr/lib/gcc/x86_64-redhat-linux/4.3.2/../../../../lib64/libbfd.a(bfd.o): In function `bfd_demangle':
    
    Link in -liberty too.
    
    Cc: Peter Zijlstra <a.p.zijlstra at chello.nl>
    Cc: Mike Galbraith <efault at gmx.de>
    Cc: Paul Mackerras <paulus at samba.org>
    Cc: Arnaldo Carvalho de Melo <acme at redhat.com>
    Cc: Frederic Weisbecker <fweisbec at gmail.com>
    LKML-Reference: <new-submission>
    Signed-off-by: Ingo Molnar <mingo at elte.hu>

commit 7e5f5fb09e6fc657f21816b5a18ba645a913368e
Author: Martin K. Petersen <martin.petersen at oracle.com>
Date:   Fri Jul 31 11:49:13 2009 -0400

    block: Update topology documentation
    
    Update topology comments and sysfs documentation based upon discussions
    with Neil Brown.
    
    Signed-off-by: Martin K. Petersen <martin.petersen at oracle.com>
    Signed-off-by: Jens Axboe <jens.axboe at oracle.com>

commit 70dd5bf3b99964d52862ad2810c24cc32a553535
Author: Martin K. Petersen <martin.petersen at oracle.com>
Date:   Fri Jul 31 11:49:12 2009 -0400

    block: Stack optimal I/O size
    
    When stacking block devices ensure that optimal I/O size is scaled
    accordingly.
    
    Signed-off-by: Martin K. Petersen <martin.petersen at oracle.com>
    Reviewed-by: Mike Snitzer <snitzer at redhat.com>
    Signed-off-by: Jens Axboe <jens.axboe at oracle.com>

commit 7c958e32649e0c35801762878fb0b6da8c55a515
Author: Martin K. Petersen <martin.petersen at oracle.com>
Date:   Fri Jul 31 11:49:11 2009 -0400

    block: Add a wrapper for setting minimum request size without a queue
    
    Introduce blk_limits_io_min() and make blk_queue_io_min() call it.
    
    Signed-off-by: Mike Snitzer <snitzer at redhat.com>
    Signed-off-by: Martin K. Petersen <martin.petersen at oracle.com>
    Signed-off-by: Jens Axboe <jens.axboe at oracle.com>

commit fef246672b009cf3f7a74e2fc9a76932ef2eeed2
Author: Martin K. Petersen <martin.petersen at oracle.com>
Date:   Fri Jul 31 11:49:10 2009 -0400

    block: Make blk_queue_stack_limits use the new stacking interface
    
    blk_queue_stack_limits() has been superceded by blk_stack_limits() and
    disk_stack_limits().  Wrap the function call for now, we'll deprecate it
    later.
    
    Signed-off-by: Martin K. Petersen <martin.petersen at oracle.com>
    Signed-off-by: Jens Axboe <jens.axboe at oracle.com>

commit ed680c4ad478d0fee9740f7d029087f181346564
Author: Linus Torvalds <torvalds at linux-foundation.org>
Date:   Fri Jul 31 17:40:45 2009 -0700

    Linux 2.6.31-rc5

commit ab57a40827d99e2d8e59066a56b93bf6c844c916
Author: Goldwyn Rodrigues <rgoldwyn at gmail.com>
Date:   Fri Jul 31 14:28:02 2009 -0500

    ocfs2: Remove redundant BUG_ON in __dlm_queue_ast()
    
    We BUG_ON() the same thing twice.
    
    Signed-off-by: Goldwyn Rodrigues <rgoldwyn at suse.de>
    Signed-off-by: Joel Becker <joel.becker at oracle.com>

commit f5266cbd2fca04dbd0387a67f550b6667ffa4ed2
Merge: a5bc92cdf2ab27a15732976004b3755c40740f57 c8a4051c3731b6db224482218cfd535ab9393ff8
Author: Linus Torvalds <torvalds at linux-foundation.org>
Date:   Fri Jul 31 12:17:37 2009 -0700

    Merge branch 'for-linus' of git://oss.sgi.com/xfs/xfs
    
    * 'for-linus' of git://oss.sgi.com/xfs/xfs:
      xfs: bump up nr_to_write in xfs_vm_writepage
      xfs: reduce bmv_count in xfs_vn_fiemap

commit a5bc92cdf2ab27a15732976004b3755c40740f57
Merge: 6eb80e00bff341dd09a7ec8b9dba6da8410448bf cbb4f2646d77b536ed2b1500ef6641083228ed8f
Author: Linus Torvalds <torvalds at linux-foundation.org>
Date:   Fri Jul 31 12:10:26 2009 -0700

    Merge branch 'for-linus' of git://git.kernel.dk/linux-2.6-block
    
    * 'for-linus' of git://git.kernel.dk/linux-2.6-block:
      io context: fix ref counting
      block: make the end_io functions be non-GPL exports
      block: fix improper kobject release in blk_integrity_unregister
      block: always assign default lock to queues
      mg_disk: Add missing ready status check on mg_write()
      mg_disk: fix issue with data integrity on error in mg_write()
      mg_disk: fix reading invalid status when use polling driver
      mg_disk: remove prohibited sleep operation

commit 6eb80e00bff341dd09a7ec8b9dba6da8410448bf
Merge: d27d4e2a660939f1bdf74f0e24c4c109f90cd98d c7121843685de2bf7f3afd3ae1d6a146010bf1fc
Author: Linus Torvalds <torvalds at linux-foundation.org>
Date:   Fri Jul 31 12:09:57 2009 -0700

    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:
      clocksource: Save mult_orig in clocksource_disable()

commit d27d4e2a660939f1bdf74f0e24c4c109f90cd98d
Merge: dbe63a2cde07f4bccb2b2e4b35241491d8e096f6 3822a0e38c329a598cb6f5baa16be7504e0db8d9
Author: Linus Torvalds <torvalds at linux-foundation.org>
Date:   Fri Jul 31 12:09:22 2009 -0700

    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:
      mmc: orphan subsystem
      imxmmc: Remove unnecessary semicolons
      cb710: use SG_MITER_TO_SG/SG_MITER_FROM_SG
      sdhci: use SG_MITER_TO_SG/SG_MITER_FROM_SG
      lib/scatterlist: add a flags to signalize mapping direction

commit dbe63a2cde07f4bccb2b2e4b35241491d8e096f6
Merge: b592972493c38665efd7d429a01b23fcb21e331a ec86fe5209ef991e93b5d391e74954ea9d827c50
Author: Linus Torvalds <torvalds at linux-foundation.org>
Date:   Fri Jul 31 12:09:02 2009 -0700

    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:
      ALSA: sound/aoa: Add kmalloc NULL tests
      ALSA: hda - Increase PCM stream name buf in patch_realtek.c
      sound: mpu401.c: Buffer overflow
      sound: aedsp16: Buffer overflow
      ALSA: hda: fix out-of-bound hdmi_eld.sad[] write
      ALSA: hda - Add quirk for Dell Studio 1555

commit 013f1b12f4fc479f697acae2f31bad220162cd03
Author: Chris Mason <chris.mason at oracle.com>
Date:   Fri Jul 31 14:57:55 2009 -0400

    Btrfs: make sure the async caching thread advances the key
    
    The async caching thread can end up looping forever if a given
    search puts it at the last key in a leaf.  It will end up calling
    btrfs_next_leaf and then checking if it needs to politely drop
    the read semaphore.
    
    Most of the time this looping isn't noticed because it is able to
    make progress the next time around.  But, during log replay,
    we wait on the async caching thread to finish, and the async thread
    is waiting on the commit, and no progress is really made.
    
    The fix used here is to copy the key out of the next leaf,
    that way our search lands there properly.
    
    Signed-off-by: Chris Mason <chris.mason at oracle.com>

commit 6606bb97e146a387932efee263745b7240a11193
Author: Josef Bacik <josef at redhat.com>
Date:   Fri Jul 31 11:03:58 2009 -0400

    Btrfs: fix btrfs_remove_from_free_space corner case
    
    Yan Zheng hit a problem where we tried to remove some free space but failed
    because we couldn't find the free space entry.  This is because the free space
    was held within a bitmap that had a starting offset well before the actual
    offset of the free space, and there were free space extents that were in the
    same range as that offset, so tree_search_offset returned with NULL because we
    couldn't find a free space extent that had that offset.  This is fixed by
    making sure that if we fail to find the entry, we re-search again with
    bitmap_only set to 1 and do an offset_to_bitmap so we can get the appropriate
    bitmap.  A similar problem happens in btrfs_alloc_from_bitmap for the
    clustering code, but that is not as bad since we will just go and redo our
    cluster allocation.
    
    Also this adds some debugging checks to make sure that the free space we are
    trying to remove from the bitmap is in fact there.  This can probably go away
    after a while, but since this code is only used by the tree-logging stuff it
    would be nice to run with it for a while to make sure there are no problems.
    
    Signed-off-by: Josef Bacik <jbacik at redhat.com>
    Signed-off-by: Chris Mason <chris.mason at oracle.com>

commit ff46a474ca2566d79e8d7454442b56d82bce37c1
Author: Guennadi Liakhovetski <g.liakhovetski at gmx.de>
Date:   Fri Jul 31 15:42:09 2009 +0200

    mx3: Fix double pin allocation in pcm037_eet.c
    
    SPI pins are now allocated in pcm037.c, remove them from EET.
    
    Signed-off-by: Guennadi Liakhovetski <g.liakhovetski at gmx.de>
    Signed-off-by: Sascha Hauer <s.hauer at pengutronix.de>

commit c7121843685de2bf7f3afd3ae1d6a146010bf1fc
Author: Magnus Damm <magnus.damm at gmail.com>
Date:   Tue Jul 28 14:09:55 2009 -0700

    clocksource: Save mult_orig in clocksource_disable()
    
    To fix the common case where ->enable() does not set up
    mult, make sure mult_orig is saved in mult on disable.
    
    Also add comments to explain why we do this.
    
    Signed-off-by: Magnus Damm <damm at igel.co.jp>
    Cc: johnstul at us.ibm.com
    Cc: lethal at linux-sh.org
    Cc: akpm at linux-foundation.org
    LKML-Reference: <20090618152432.10136.9932.sendpatchset at rx1.opensource.se>
    Signed-off-by: Thomas Gleixner <tglx at linutronix.de>

commit 3822a0e38c329a598cb6f5baa16be7504e0db8d9
Author: Pierre Ossman <pierre at ossman.eu>
Date:   Fri Jul 31 12:27:28 2009 +0200

    mmc: orphan subsystem
    
    I do not have the time to take care of this, so remove myself as
    maintainer.
    
    Signed-off-by: Pierre Ossman <pierre at ossman.eu>

commit a9239d750d9991f2feee78fc5669a4613abc1adb
Author: Joe Perches <joe at perches.com>
Date:   Sun Jun 28 09:26:31 2009 -0700

    imxmmc: Remove unnecessary semicolons
    
    Signed-off-by: Joe Perches <joe at perches.com>
    Acked-by: Pavel Pisa <pisa at cmp.felk.cvut.cz>
    Signed-off-by: Pierre Ossman <pierre at ossman.eu>

commit 4b2a108cd0d34880fe9d932258ca5b2ccebcd05e
Author: Sebastian Andrzej Siewior <sebastian at breakpoint.cc>
Date:   Mon Jun 22 09:18:05 2009 +0200

    cb710: use SG_MITER_TO_SG/SG_MITER_FROM_SG
    
    the code allready uses flush_kernel_dcache_page(). This patch updates the
    driver to the recent sg API changes which require that either SG_MITER_TO_SG
    or SG_MITER_FROM_SG is set. SG_MITER_TO_SG calls flush_kernel_dcache_page()
    in sg_mitter_stop()
    
    Signed-off-by: Sebastian Andrzej Siewior <sebastian at breakpoint.cc>
    Acked-by: Michał Mirosław <mirq-linux at rere.qmqm.pl>
    Signed-off-by: Pierre Ossman <pierre at ossman.eu>

commit da60a91d012bcb10bc5bcd86d585c4281742832c
Author: Sebastian Andrzej Siewior <sebastian at breakpoint.cc>
Date:   Thu Jun 18 09:33:32 2009 +0200

    sdhci: use SG_MITER_TO_SG/SG_MITER_FROM_SG
    
    so the page will be flushed on unmap on ARCH which need it.
    
    Signed-off-by: Sebastian Andrzej Siewior <sebastian at breakpoint.cc>
    Signed-off-by: Pierre Ossman <pierre at ossman.eu>

commit 6de7e356faf54aa75de5b624bbce28a5b776dfa8
Author: Sebastian Andrzej Siewior <sebastian at breakpoint.cc>
Date:   Thu Jun 18 10:19:12 2009 +0200

    lib/scatterlist: add a flags to signalize mapping direction
    
    sg_miter_start() is currently unaware of the direction of the copy
    process (to or from the scatter list). It is important to know the
    direction because the page has to be flushed in case the data written
    is seen on a different mapping in user land on cache incoherent
    architectures.
    
    Signed-off-by: Sebastian Andrzej Siewior <sebastian at breakpoint.cc>
    Acked-by: FUJITA Tomonori <fujita.tomonori at lab.ntt.co.jp>
    Acked-by: Tejun Heo <tj at kernel.org>
    Signed-off-by: Pierre Ossman <pierre at ossman.eu>

commit ec86fe5209ef991e93b5d391e74954ea9d827c50
Merge: d62e345f142ba271d9dab2b2e6cb5070cae94754 a987004fbcf163b100d227284999602f83044d7e
Author: Takashi Iwai <tiwai at suse.de>
Date:   Fri Jul 31 10:17:45 2009 +0200

    Merge branch 'fix/oss' into for-linus
    
    * fix/oss:
      sound: mpu401.c: Buffer overflow
      sound: aedsp16: Buffer overflow

commit d62e345f142ba271d9dab2b2e6cb5070cae94754
Merge: 6280b61af50ef3086816a9e753af355690fa78db f065fabc864f4c98857bf67caa2365e9f8545751
Author: Takashi Iwai <tiwai at suse.de>
Date:   Fri Jul 31 10:17:44 2009 +0200

    Merge branch 'fix/misc' into for-linus
    
    * fix/misc:
      ALSA: sound/aoa: Add kmalloc NULL tests

commit 6280b61af50ef3086816a9e753af355690fa78db
Merge: 57e4a5c4f8cfb4b198830c5400f9fc9eb7b75091 aa563af763373a7e67a7b8fdb427d2a2fcbeab3b
Author: Takashi Iwai <tiwai at suse.de>
Date:   Fri Jul 31 10:17:42 2009 +0200

    Merge branch 'fix/hda' into for-linus
    
    * fix/hda:
      ALSA: hda - Increase PCM stream name buf in patch_realtek.c
      ALSA: hda: fix out-of-bound hdmi_eld.sad[] write
      ALSA: hda - Add quirk for Dell Studio 1555

commit f065fabc864f4c98857bf67caa2365e9f8545751
Author: Julia Lawall <julia at diku.dk>
Date:   Fri Jul 31 08:32:03 2009 +0200

    ALSA: sound/aoa: Add kmalloc NULL tests
    
    Check that the result of kzalloc is not NULL before a dereference.
    
    The semantic match that finds this problem is as follows:
    (http://www.emn.fr/x-info/coccinelle/)
    
    // <smpl>
    @@
    expression *x;
    identifier f;
    constant char *C;
    @@
    
    x = \(kmalloc\|kcalloc\|kzalloc\)(...);
    ... when != x == NULL
        when != x != NULL
        when != (x || ...)
    (
    kfree(x)
    |
    f(...,C,...,x,...)
    |
    *f(...,x,...)
    |
    *x->f
    )
    // </smpl>
    
    Signed-off-by: Julia Lawall <julia at diku.dk>
    Signed-off-by: Takashi Iwai <tiwai at suse.de>

commit aa563af763373a7e67a7b8fdb427d2a2fcbeab3b
Author: Takashi Iwai <tiwai at suse.de>
Date:   Fri Jul 31 10:05:11 2009 +0200

    ALSA: hda - Increase PCM stream name buf in patch_realtek.c
    
    The name buf with size 16 is too short for some codec names, e.g.
    truncated like "ALC861-VD Analo".  Now the size is doubled.
    
    Signed-off-by: Takashi Iwai <tiwai at suse.de>

commit cbb4f2646d77b536ed2b1500ef6641083228ed8f
Author: Li Zefan <lizf at cn.fujitsu.com>
Date:   Fri Jul 31 08:55:48 2009 +0200

    io context: fix ref counting
    
    Commit d9c7d394a8ebacb60097b192939ae9f15235225e
    ("block: prevent possible io_context->refcount overflow") mistakenly
    changed atomic_inc(&ioc->nr_tasks) to atomic_long_inc(&ioc->refcount).
    
    Signed-off-by: Li Zefan <lizf at cn.fujitsu.com>
    Acked-by: Nikanth Karthikesan <knikanth at suse.de>
    Signed-off-by: Jens Axboe <jens.axboe at oracle.com>

commit c8a4051c3731b6db224482218cfd535ab9393ff8
Author: Eric Sandeen <sandeen at sandeen.net>
Date:   Fri Jul 31 00:02:17 2009 -0500

    xfs: bump up nr_to_write in xfs_vm_writepage
    
    VM calculation for nr_to_write seems off.  Bump it way
    up, this gets simple streaming writes zippy again.
    To be reviewed again after Jens' writeback changes.
    
    Signed-off-by: Christoph Hellwig <hch at infradead.org>
    Signed-off-by: Eric Sandeen <sandeen at sandeen.net>
    Cc: Chris Mason <chris.mason at oracle.com>
    Reviewed-by: Felix Blyakher <felixb at sgi.com>
    Signed-off-by: Felix Blyakher <felixb at sgi.com>

commit 97db39a1f6f69e906e98118392400de5217aa33a
Author: Eric Sandeen <sandeen at sandeen.net>
Date:   Sun Jul 26 21:52:01 2009 -0500

    xfs: reduce bmv_count in xfs_vn_fiemap
    
    commit 6321e3ed2acf3ee9643cdd403e1c88605d7944ba caused
    the full bmv_count's worth of getbmapx structures to get
    allocated; telling it to do MAXEXTNUM was a bit insane,
    resulting in ENOMEM every time.
    
    Chop it down to something reasonable, the number of slots
    in the caller's input buffer.  If this is too large the
    caller may get ENOMEM but the reason should not be a
    mystery, and they can try again with something smaller.
    
    We add 1 to the value because in the normal getbmap
    world, bmv_count includes the header and xfs_getbmap does:
    
            nex = bmv->bmv_count - 1;
            if (nex <= 0)
                    return XFS_ERROR(EINVAL);
    
    Signed-off-by: Eric Sandeen <sandeen at sandeen.net>
    Reviewed-by: Olaf Weber <olaf at sgi.com>
    Reviewed-by: Christoph Hellwig <hch at lst.de>
    Signed-off-by: Felix Blyakher <felixb at sgi.com>

commit 95fc17aac45300f45968aacd97a536ddd8db8101
Author: Dan Williams <dan.j.williams at intel.com>
Date:   Fri Jul 31 12:39:15 2009 +1000

    md/raid6: release spare page at ->stop()
    
    Add missing call to safe_put_page from stop() by unifying open coded
    raid5_conf_t de-allocation under free_conf().
    
    Cc: <stable at kernel.org>
    Signed-off-by: Dan Williams <dan.j.williams at intel.com>
    Signed-off-by: NeilBrown <neilb at suse.de>

commit 0a924578bc4a2823a95c151f56975c71f5c156bb
Author: Peter P Waskiewicz Jr <peter.p.waskiewicz.jr at intel.com>
Date:   Thu Jul 30 12:26:00 2009 +0000

    ixgbe: Fix RSC completion delay causing Rx interrupts to stop
    
    When a user disables interrupt throttling with ethtool on 82599 devices,
    the interrupt timer may not be re-enabled if hardware RSC is running.  The
    RSC completions in hardware don't complete before the next ITR event tries
    to fire, so the ITR timer never gets re-armed.  This patch increases the
    amount of time between interrupts when throttling is disabled (rx-usecs =
    0) when the hardware RSC deature is enabled.
    
    Signed-off-by: Peter P Waskiewicz Jr <peter.p.waskiewicz.jr at intel.com>
    Signed-off-by: Jeff Kirsher <jeffrey.t.kirsher at intel.com>
    Signed-off-by: David S. Miller <davem at davemloft.net>

commit 0c19d6af9253f19b41821c29b9c49c2214f19425
Author: Peter P Waskiewicz Jr <peter.p.waskiewicz.jr at intel.com>
Date:   Thu Jul 30 12:25:28 2009 +0000

    ixgbe: Fix usage of second flags bitmap when using LRO/RSC
    
    A second set of feature flag bits was added, and the hardware RSC engine
    flags were moved there.  However, the code itself didn't make the move
    completely to use the new bitmap.
    
    Signed-off-by: Peter P Waskiewicz Jr <peter.p.waskiewicz.jr at intel.com>
    Acked-by: Mallikarjuna R Chilakala <mallikarjuna.chilakala at intel.com>
    Signed-off-by: Jeff Kirsher <jeffrey.t.kirsher at intel.com>
    Signed-off-by: David S. Miller <davem at davemloft.net>

commit 8f9a71673d9f397a365f4d18c307e91141b8fe92
Author: Peter P Waskiewicz Jr <peter.p.waskiewicz.jr at intel.com>
Date:   Thu Jul 30 12:25:09 2009 +0000

    ixgbe: Fix netpoll to be properly multiqueue aware
    
    Our ndo_poll_controller callback is broken for anything but non-multiqueue
    setups.  This fixes that issue.
    
    Signed-off-by: Peter P Waskiewicz Jr <peter.p.waskiewicz.jr at intel.com>
    Signed-off-by: Jeff Kirsher <jeffrey.t.kirsher at intel.com>
    Signed-off-by: David S. Miller <davem at davemloft.net>

commit bdc6340f4eb68295b1e7c0ade2356b56dca93d93
Author: Pallipadi, Venkatesh <venkatesh.pallipadi at intel.com>
Date:   Thu Jul 30 14:43:19 2009 -0700

    x86, pat: Fix set_memory_wc related corruption
    
    Changeset 3869c4aa18835c8c61b44bd0f3ace36e9d3b5bd0
    that went in after 2.6.30-rc1 was a seemingly small change to _set_memory_wc()
    to make it complaint with SDM requirements. But, introduced a nasty bug, which
    can result in crash and/or strange corruptions when set_memory_wc is used.
    One such crash reported here
    http://lkml.org/lkml/2009/7/30/94
    
    Actually, that changeset introduced two bugs.
    * change_page_attr_set() takes &addr as first argument and can the addr value
      might have changed on return, even for single page change_page_attr_set()
      call. That will make the second change_page_attr_set() in this routine
      operate on unrelated addr, that can eventually cause strange corruptions
      and bad page state crash.
    * The second change_page_attr_set() call, before setting _PAGE_CACHE_WC, should
      clear the earlier _PAGE_CACHE_UC_MINUS, as otherwise cache attribute will not
      be WC (will be UC instead).
    
    The patch below fixes both these problems. Sending a single patch to fix both
    the problems, as the change is to the same line of code. The change to have a
    addr_copy is not very clean. But, it is simpler than making more changes
    through various routines in pageattr.c.
    
    A huge thanks to Jerome for reporting this problem and providing a simple test
    case that helped us root cause the problem.
    
    Reported-by: Jerome Glisse <glisse at freedesktop.org>
    Signed-off-by: Venkatesh Pallipadi <venkatesh.pallipadi at intel.com>
    Signed-off-by: Suresh Siddha <suresh.b.siddha at intel.com>
    LKML-Reference: <20090730214319.GA1889 at linux-os.sc.intel.com>
    Acked-by: Dave Airlie <airlied at redhat.com>
    Signed-off-by: H. Peter Anvin <hpa at zytor.com>

commit b592972493c38665efd7d429a01b23fcb21e331a
Merge: ec6a8679fa8ce977c8b7f86238455b494699de74 636eacee3b0c76915151db37203cc624becb6d7b
Author: Linus Torvalds <torvalds at linux-foundation.org>
Date:   Thu Jul 30 16:46:58 2009 -0700

    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/stat: Fix seqfile memory leak
      function-graph: Fix seqfile memory leak
      trace_stack: Fix seqfile memory leak
      profile: Suppress warning about large allocations when profile=1 is specified

commit ec6a8679fa8ce977c8b7f86238455b494699de74
Merge: db06816cb9ceb21a2bf24122407b7b4fe419c3fc f36f3042eae238bdaefe7c79310afe573bfc3622
Author: Linus Torvalds <torvalds at linux-foundation.org>
Date:   Thu Jul 30 16:46:48 2009 -0700

    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: be more polite in the async caching threads
      Btrfs: preserve commit_root for async caching

commit db06816cb9ceb21a2bf24122407b7b4fe419c3fc
Merge: 784b1d6b21cb25791b68276af27a7c2321d5a86f 808347f6a31792079e345ec865e9cfcb6e8ae6b2
Author: Linus Torvalds <torvalds at linux-foundation.org>
Date:   Thu Jul 30 16:46:31 2009 -0700

    Merge branch 'next' of git://git.kernel.org/pub/scm/linux/kernel/git/djbw/async_tx
    
    * 'next' of git://git.kernel.org/pub/scm/linux/kernel/git/djbw/async_tx:
      dmaengine: at_hdmac: add DMA slave transfers
      dmaengine: at_hdmac: new driver for the Atmel AHB DMA Controller
      dmaengine: dmatest: correct thread_count while using multiple thread per channel
      dmaengine: dmatest: add a maximum number of test iterations
      drivers/dma: Remove unnecessary semicolons
      drivers/dma/fsldma.c: Remove unnecessary semicolons
      dmaengine: move HIGHMEM64G restriction to ASYNC_TX_DMA
      fsldma: do not clear bandwidth control bits on the 83xx controller
      fsldma: enable external start for the 83xx controller
      fsldma: use PCI Read Multiple command

commit 784b1d6b21cb25791b68276af27a7c2321d5a86f
Merge: 691c5f7374ee3d48fd2c838261820a06e4be9043 4bf17af0dbfe4cf20cb750e22e8e926273e7a7a4
Author: Linus Torvalds <torvalds at linux-foundation.org>
Date:   Thu Jul 30 16:46:17 2009 -0700

    Merge branch 'for_linus' of git://git.kernel.org/pub/scm/linux/kernel/git/jack/linux-udf-2.6
    
    * 'for_linus' of git://git.kernel.org/pub/scm/linux/kernel/git/jack/linux-udf-2.6:
      udf: Fix loading of VAT inode when drive wrongly reports number of recorded blocks

commit 691c5f7374ee3d48fd2c838261820a06e4be9043
Merge: fbdbf8389976b9f40d36f21985be28a0f438f779 dee865656f2d8b866f8ac22c60d6363b914e9f12
Author: Linus Torvalds <torvalds at linux-foundation.org>
Date:   Thu Jul 30 16:46:06 2009 -0700

    Merge branch 'for_linus' of git://git.kernel.org/pub/scm/linux/kernel/git/jack/linux-quota-2.6
    
    * 'for_linus' of git://git.kernel.org/pub/scm/linux/kernel/git/jack/linux-quota-2.6:
      quota: Silence lockdep on quota_on

commit fbdbf8389976b9f40d36f21985be28a0f438f779
Merge: 79af3133174da620171eea82bb505a5a5cb7c6f4 bfdb46ce8494eae30dbaae65c81e684e6db6228b
Author: Linus Torvalds <torvalds at linux-foundation.org>
Date:   Thu Jul 30 16:45:53 2009 -0700

    Merge git://git.infradead.org/users/cbou/battery-2.6.31
    
    * git://git.infradead.org/users/cbou/battery-2.6.31:
      Add ds2782 battery gas gauge driver
      olpc_battery: Ensure that the TRICKLE bit is checked
      olpc_battery: Fix up eeprom read function

commit 79af3133174da620171eea82bb505a5a5cb7c6f4
Merge: e1ca4aed112b270162302d389281b6cefac60a12 b94a170e96dc416828af9d350ae2e34b70ae7347
Author: Linus Torvalds <torvalds at linux-foundation.org>
Date:   Thu Jul 30 16:45:37 2009 -0700

    Merge git://git.kernel.org/pub/scm/linux/kernel/git/steve/gfs2-2.6-fixes
    
    * git://git.kernel.org/pub/scm/linux/kernel/git/steve/gfs2-2.6-fixes:
      GFS2: remove dcache entries for remote deleted inodes
      GFS2: Fix incorrent statfs consistency check
      GFS2: Don't put unlikely reclaim candidates on the reclaim list.
      GFS2: Don't try and dealloc own inode
      GFS2: Fix panic in glock memory shrinker
      GFS2: keep statfs info in sync on grows
      GFS2: Shrink the shrinker

commit e1ca4aed112b270162302d389281b6cefac60a12
Merge: 6ae7d6f0195a0ec7e5d07821e62c79898cd33fdc 34466c5be4dd1490acf98e6d2ff8f3728d8ca5c1
Author: Linus Torvalds <torvalds at linux-foundation.org>
Date:   Thu Jul 30 16:45:20 2009 -0700

    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: Update defconfigs for embedded 6xx/7xxx, 8xx, 8{3,5,6}xxx
      powerpc/86xx: Update GE Fanuc sbc310 default configuration
      powerpc/86xx: Update defconfig for GE Fanuc's PPC9A
      cpm_uart: Don't use alloc_bootmem in cpm_uart_cpm2.c
      powerpc/83xx: Fix PCI IO base address on MPC837xE-RDB boards
      powerpc/85xx: Don't scan for TBI PHY addresses on MPC8569E-MDS boards
      powerpc/85xx: Fix ethernet link detection on MPC8569E-MDS boards
      powerpc/mm: Fix SMP issue with MMU context handling code

commit 6ae7d6f0195a0ec7e5d07821e62c79898cd33fdc
Merge: ec30c5f3a18722f8fcf8c83146a10b03ac4d9ff1 1842f23c05b6a866be831aa60bc8a8731c58ddd0
Author: Linus Torvalds <torvalds at linux-foundation.org>
Date:   Thu Jul 30 16:45:03 2009 -0700

    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:
      lguest and virtio: cleanup struct definitions to Linux style.
      lguest: update commentry
      lguest: fix comment style
      virtio: refactor find_vqs
      virtio: delete vq from list
      virtio: fix memory leak on device removal
      lguest: fix descriptor corruption in example launcher
      lguest: dereferencing freed mem in add_eventfd()

commit ec30c5f3a18722f8fcf8c83146a10b03ac4d9ff1
Author: Masami Hiramatsu <mhiramat at redhat.com>
Date:   Tue Jul 28 19:47:23 2009 -0400

    kprobes: Use kernel_text_address() for checking probe address
    
    Use kernel_text_address() for checking probe address instead of
    __kernel_text_address(), because __kernel_text_address() returns true
    for init functions even after relaseing those functions.
    
    That will hit a BUG() in text_poke().
    
    Signed-off-by: Masami Hiramatsu <mhiramat at redhat.com>
    Cc: Ananth N Mavinakayanahalli <ananth at in.ibm.com>
    Cc: Jim Keniston <jkenisto at us.ibm.com>
    Signed-off-by: Linus Torvalds <torvalds at linux-foundation.org>

commit 90a09c9cf78344d18e2438c3b87363b949629fa3
Author: Linus Torvalds <torvalds at linux-foundation.org>
Date:   Thu Jul 30 16:40:37 2009 -0700

    Alan doesn't want to maintain tty code any more
    
    Not that anybody can blame him.  It's a morass.  But hey, it's way
    better than it _used_ to be, though, so thanks for all the fish.
    
    Signed-off-by: Linus Torvalds <torvalds at linux-foundation.org>

commit 909db80297ba65699a77d877f7bf618ba960f6fc
Author: Ramax Lo <ramaxlo at gmail.com>
Date:   Fri Jul 10 19:30:56 2009 +0800

    ARM: S3C64XX: serial: Fix section mismatch warning
    
    Rename the structure to avoid the following warning:
    
    WARNING: vmlinux.o(.data+0x11ef4): Section mismatch in reference from the variable
    s3c6400_serial_drv to the function .devexit.text:s3c24xx_serial_remove()
    The variable s3c6400_serial_drv references
    the function __devexit s3c24xx_serial_remove()
    If the reference is valid then annotate the
    variable with __exit* (see linux/init.h) or name the variable:
    *driver, *_template, *_timer, *_sht, *_ops, *_probe, *_probe_one, *_console,
    
    Signed-off-by: Ramax Lo <ramaxlo at gmail.com>
    Signed-off-by: Ben Dooks <ben-linux at fluff.org>

commit 8fe70a5f7167e02bbc18086970f0e92a5e55b80d
Author: Ramax Lo <ramaxlo at gmail.com>
Date:   Thu Jul 9 16:28:33 2009 +0800

    ARM: S3C24XX: serial: Fix section mismatch warnings
    
    During kernel build process, the following warning was found:
    
    WARNING: drivers/serial/built-in.o(.data+0x304): Section mismatch in reference from
    the variable s3c2440_serial_drv to the function .devexit.text:s3c24xx_serial_remove()
    The variable s3c2440_serial_drv references the function __devexit s3c24xx_serial_remove()
    If the reference is valid then annotate the variable with
    __exit* (see linux/init.h) or name the variable:
    *driver, *_template, *_timer, *_sht, *_ops, *_probe, *_probe_one, *_console,
    
    The same warning happened for s3c241x platform. We rename variables to avoid
    these warnings. These changes also apply to s3c2400 & s3c24a0 for consistency.
    
    Signed-off-by: Ramax Lo <ramaxlo at gmail.com>
    Signed-off-by: Ben Dooks <ben-linux at fluff.org>

commit 165f5f64199f972a21f21effc125d89ed2488e58
Author: Peter Korsgaard <jacmet at sunsite.dk>
Date:   Wed Jul 1 17:47:08 2009 +0200

    ARM: S3C: PWM fix for low duty cycle
    
    The pwm hardware only checks the compare register after a decrement,
    so the pin never toggles if tcmp = tcnt.
    
    This happens when a very low duty cycle is requested. Fix it by always
    ensuring that tcmp < tcnt.
    
    Signed-off-by: Peter Korsgaard <jacmet at sunsite.dk>
    Signed-off-by: Ben Dooks <ben-linux at fluff.org>

commit accff95c2500c7bce671c1f722de6f8810fe550d
Author: Jiajun Wu <b06378 at freescale.com>
Date:   Thu Jul 30 14:20:42 2009 -0700

    gianfar: fix coalescing setup in ethtool support
    
    Parameter order for using mk_ic_value(count, time) was reversed,
    the patch fixes this.
    
    Signed-off-by: Jiajun Wu <b06378 at freescale.com>
    Signed-off-by: Li Yang <leoli at freescale.com>
    Signed-off-by: David S. Miller <davem at davemloft.net>

commit 72fc939789dbe7ca091b50b686d45ac0df15417a
Author: Eric Dumazet <eric.dumazet at gmail.com>
Date:   Tue Jul 28 23:43:08 2009 +0000

    pppoe: fix /proc/net/pppoe
    
    If a socket is hashed in last slot of pppoe hash table (PPPOE_HASH_SIZE-1)
    we report it many times (up to filling seq buffer)
    (Only the last socket of last slot)
    
    Signed-off-by: Eric Dumazet <eric.dumazet at gmail.com>
    Signed-off-by: David S. Miller <davem at davemloft.net>

commit daed953721850381673687c59f3a0df553eb6626
Author: Frans Pop <elendil at planet.nl>
Date:   Thu Jul 30 17:16:05 2009 -0400

    hp-wmi: check that an input device exists in resume handler
    
    Some systems may not support input events, or registering the input
    handler may have failed. So check that an input device exists before
    trying to set the docking and tablet mode state during resume.
    
    Fixes: http://bugzilla.kernel.org/show_bug.cgi?id=13865
    
    Reported-and-tested-by: Cédric Godin <cedric at belbone.be>
    Signed-off-by: Frans Pop <elendil at planet.nl>
    Acked-by: Matthew Garrett <mjg59 at srcf.ucam.org>
    Signed-off-by: Len Brown <len.brown at intel.com>

commit f0c5b35c6c93c89a9d8ccab19b0b4842f5dfddc5
Author: roel kluin <roel.kluin at gmail.com>
Date:   Wed Jul 29 03:18:56 2009 +0000

    eexpress: Read buffer overflow
    
    start_code is 69 words, but the code always writes a multiple of 16 words,
    so the last 11 words written are outside the array.
    
    Signed-off-by: Roel Kluin <roel.kluin at gmail.com>
    Signed-off-by: David S. Miller <davem at davemloft.net>

commit a3e8ee682003685b8b9c98c89340a42e48c3e813
Author: roel kluin <roel.kluin at gmail.com>
Date:   Wed Jul 29 23:46:59 2009 +0000

    ipv4: ARP neigh procfs buffer overflow
    
    If arp_format_neigh_entry() can be called with n->dev->addr_len == 0, then a
    write to hbuffer[-1] occurs.
    
    Signed-off-by: Roel Kluin <roel.kluin at gmail.com>
    Signed-off-by: David S. Miller <davem at davemloft.net>

commit 3d54015b750e5d5e950a1dcee2735387fd4b6e1a
Author: roel kluin <roel.kluin at gmail.com>
Date:   Thu Jul 30 00:26:32 2009 +0000

    3c515: Write outside array bounds
    
    if dev_alloc_skb() fails on the first iteration, a write to
    cp->rx_ring[-1] occurs.
    
    Signed-off-by: Roel Kluin <roel.kluin at gmail.com>
    Signed-off-by: David S. Miller <davem at davemloft.net>

commit 2a8aaacda5097fa92a39948da1b4c6614b6e150e
Author: Tobias Klauser <tklauser at distanz.ch>
Date:   Thu Jul 30 13:10:50 2009 -0700

    docbook: fix printk of ip address
    
    Use the %pI4 format string instead of %d.%d.%d.%d and NIPQUAD.
    
    Signed-off-by: Tobias Klauser <tklauser at distanz.ch>
    Signed-off-by: Randy Dunlap <randy.dunlap at oracle.com>
    Signed-off-by: David S. Miller <davem at davemloft.net>

commit e9956fae7dbce6ac770e7a00436c496ddbbd3215
Author: Tao Ma <tao.ma at oracle.com>
Date:   Thu Jul 30 16:07:10 2009 +0800

    ocfs2/quota: Release lock for error in ocfs2_quota_write.
    
    ocfs2_quota_write needs to release the lock if it fails to
    read quota block. So use "goto out" instead of "return err".
    
    Signed-off-by: Tao Ma <tao.ma at oracle.com>
    Acked-by: Jan Kara <jack at suse.cz>
    Signed-off-by: Joel Becker <joel.becker at oracle.com>

commit a541f8401d8e9113a89ee902cb8d8e412d6d3569
Author: Michael Chan <mchan at broadcom.com>
Date:   Wed Jul 29 08:49:52 2009 +0000

    iscsi: Use GFP_ATOMIC in iscsi_offload_mesg().
    
    Changing to GFP_ATOMIC because the only caller in cnic/bnx2i may
    be calling this function while holding spin_lock.
    
    This problem was discovered by Mike Christie.
    
    Signed-off-by: Michael Chan <mchan at broadcom.com>
    Acked-by: Mike Christie <michaelc at cs.wisc.edu>
    Signed-off-by: David S. Miller <davem at davemloft.net>

commit ca7daea612b480ecf0fc5bd1630b88447fe73fc5
Author: Julia Lawall <julia at diku.dk>
Date:   Thu Jul 30 04:38:19 2009 +0000

    net/netlabel: Add kmalloc NULL tests
    
    The test on map4 should be a test on map6.
    
    The semantic match that finds this problem is as follows:
    (http://www.emn.fr/x-info/coccinelle/)
    
    // <smpl>
    @@
    expression *x;
    identifier f;
    constant char *C;
    @@
    
    x = \(kmalloc\|kcalloc\|kzalloc\)(...);
    ... when != x == NULL
        when != x != NULL
        when != (x || ...)
    (
    kfree(x)
    |
    f(...,C,...,x,...)
    |
    *f(...,x,...)
    |
    *x->f
    )
    // </smpl>
    
    Signed-off-by: Julia Lawall <julia at diku.dk>
    Acked-by: Paul Moore <paul.moore at hp.com>
    Signed-off-by: David S. Miller <davem at davemloft.net>

commit a1b97440eec0ea3e53183cde8fe82ff8c1ffb091
Merge: 27fed4175acf81ddd91d9a4ee2fd298981f60295 89c3a8aca28e6d57f2ae945d97858a372d624b81
Author: David S. Miller <davem at davemloft.net>
Date:   Thu Jul 30 10:35:45 2009 -0700

    Merge branch 'master' of git://git.kernel.org/pub/scm/linux/kernel/git/linville/wireless-2.6

commit 0c2e39525b3b53a97a0202c5f35058147e53977e
Author: ling.ma at intel.com <ling.ma at intel.com>
Date:   Fri Jul 17 11:44:30 2009 +0800

    drm/i915: Add support for dual-channel LVDS on 8xx.
    
    This corresponds to a fix to UMS back in 2007.  Fixes fd.o bug #20115.
    
    Signed-off-by: Ma Ling <ling.ma at intel.com>
    Signed-off-by: Eric Anholt <eric at anholt.net>

commit 2b8d33f714477d1719f96459370037993520de84
Author: ling.ma at intel.com <ling.ma at intel.com>
Date:   Wed Jul 29 11:31:18 2009 +0800

    drm/i915: Return disconnected for SDVO DVI when there's no digital EDID.
    
    The patch fixed a bug on MP965-D.  When VGA is connected to a DVI-I connector,
    it incorrectly shows sdvo dvi as connected.
    
    Signed-off-by: Ma Ling <ling.ma at intel.com>
    [anholt: hand-resolved against previous commit and fixed up commit message]
    Signed-off-by: Eric Anholt <eric at anholt.net>

commit ffd4bc2a984fab40ed969163efdff321490e8032
Author: Martin K. Petersen <martin.petersen at oracle.com>
Date:   Wed Jul 29 14:06:53 2009 -0400

    [SCSI] sd: Avoid sending extended inquiry to legacy devices
    
    Some USB devices crash when we send them an inquiry with the EVPD bit
    set, regardless of page requested (i.e. including page 0).
    
    We only need the extended inquiry to gain access to VPD pages 0xB0 and
    0xB1.  These appeared in SBC2 and SBC3 respectively, so we can restrict
    sending the extended inquiry to devices reporting SPC3 or higher.
    
    This fixes bugzilla.kernel.org #13657.
    
    Signed-off-by: Martin K. Petersen <martin.petersen at oracle.com>
    [jejb: added comment]
    Signed-off-by: James Bottomley <James.Bottomley at HansenPartnership.com>

commit dee865656f2d8b866f8ac22c60d6363b914e9f12
Author: Jan Kara <jack at suse.cz>
Date:   Wed Jul 22 18:12:17 2009 +0200

    quota: Silence lockdep on quota_on
    
    Commit d01730d74d2b0155da50d44555001706294014f7 didn't completely fix
    the problem since we still take dqio_mutex and i_mutex in the wrong
    order. Move taking of i_mutex further down (luckily it's needed only
    for updating inode flags) below where dqio_mutex is taken.
    
    Tested-by: Valdis Kletnieks <valdis.kletnieks at vt.edu>
    Signed-off-by: Jan Kara <jack at suse.cz>

commit 4bf17af0dbfe4cf20cb750e22e8e926273e7a7a4
Author: Jan Kara <jack at suse.cz>
Date:   Tue Jul 14 19:30:23 2009 +0200

    udf: Fix loading of VAT inode when drive wrongly reports number of recorded blocks
    
    VAT inode is located in the last block recorded block of the medium. When the
    drive errorneously reports number of recorded blocks, we failed to load the VAT
    inode and thus mount the medium. This patch makes kernel try to read VAT inode
    from the last block of the device if it is different from the last recorded
    block.
    
    Signed-off-by: Jan Kara <jack at suse.cz>

commit 19252de6818ced0def0551d64a0a2975f52a523d
Author: Tom Peng <tom_peng at usish.com>
Date:   Fri Jul 17 16:02:04 2009 +0800

    [SCSI] libsas: fix wide port hotplug issues
    
    Hotplug of phys which form wide ports simply does not work at the moment.  Fix
    this by adding checks at the hotplug points to see if the attached sas address
    of the phy already exists (in which case it's part of a wide port) and act
    accordingly.
    
    Signed-off-by: Tom Peng <tom_peng at usish.com>
    Signed-off-by: Jack Wang <jack_wang at usish.com>
    Signed-off-by: Lindar Liu <lindar_liu at usish.com>
    Signed-off-by: Kevin Ao <aoqingyun at usish.com>
    [jejb: tidied up coding, fixed an error case and made TRUE/FALSE lower
     case to fix a ppc64 compile error in linux-next]
    Signed-off-by: James Bottomley <James.Bottomley at HansenPartnership.com>

commit f36f3042eae238bdaefe7c79310afe573bfc3622
Author: Chris Mason <chris.mason at oracle.com>
Date:   Thu Jul 30 10:04:48 2009 -0400

    Btrfs: be more polite in the async caching threads
    
    The semaphore used by the async caching threads can prevent a
    transaction commit, which can make the FS appear to stall.  This
    releases the semaphore more often when a transaction commit is
    in progress.
    
    Signed-off-by: Chris Mason <chris.mason at oracle.com>

commit a0cc1ecc098e31d03b3265712a3e280a7fabf438
Author: Vasu Dev <vasu.dev at intel.com>
Date:   Tue Jul 28 17:33:37 2009 -0700

    [SCSI] libfc: fix a circular locking warning during sending RRQ
    
    Currently the fc_exch_rrq is called with fc_exch's ex_lock held.
    The fc_exch_rrq allocates new exch and that requires taking
    ex_lock again after EM lock. This locking order causes warning,
    see more details on this warning at :-
    
     http://www.open-fcoe.org/pipermail/devel/2009-July/003251.html
    
    This patch fixes this by dropping the ex_lock before calling
    fc_exch_rrq().
    
    The fc_exch_rrq needs to grab ex_lock lock again to schedule
    RRQ retry and in the meanwhile fc_exch_reset could occur before
    ex_lock is grabbed inside fc_exch_rrq. So to handle this case,
    this patch adds additional check to detect fc_exch_reset after
    ex_lock acquired and in case the fc_exch_reset occurred then
    abandons the RRQ retry and releases the exch.
    
    Signed-off-by: Vasu Dev <vasu.dev at intel.com>
    Signed-off-by: Robert Love <robert.w.love at intel.com>
    Signed-off-by: James Bottomley <James.Bottomley at HansenPartnership.com>

commit 16ed55f9de6743ceece9bf528362cadff10f1c5c
Author: Karen Higgins <karen.higgins at qlogic.com>
Date:   Wed Jul 15 15:03:02 2009 -0500

    [SCSI] qla4xxx: Remove hiwat code so scsi eh does not get escalated when we can make progress
    
    Removed unnecessary hiwat code to free up the number available IOCBs.
    Eliminates unnecessary eh_ escalations due to inability to obtain IOCB
    pkt for marker.
    
    v2.
    - Remove define not used anymore and fix req_q_coun accounting.
    
    Signed-off-by: Karen Higgins <karen.higgins at qlogic.com>
    [michaelc: ported patch from qlogic.com driver to upstream]
    Signed-off-by: Mike Christie <michaelc at cs.wisc.edu>
    Signed-off-by: James Bottomley <James.Bottomley at HansenPartnership.com>

commit 612f73488785829d4f34aad00bfe30b904c94c9e
Author: Karen Higgins <karen.higgins at qlogic.com>
Date:   Wed Jul 15 15:03:01 2009 -0500

    [SCSI] qla4xxx: Fix srb lookup in qla4xxx_eh_device_reset
    
    eh_device_reset may be called from scsi error handler or sg_reset, etc.
    When called from sg_reset, there will not be an associated srb.  The
    driver should lookup the corresponding device handle given information
    from the supplied cmd structure and should not assume that there exists
    an srb.
    
    Signed-off-by: Karen Higgins <karen.higgins at qlogic.com>
    Signed-off-by: Mike Christie <michaelc at cs.wisc.edu>
    Signed-off-by: James Bottomley <James.Bottomley at HansenPartnership.com>

commit dca05c4c07c48da0509708d9e562578d269e90e5
Author: Karen Higgins <karen.higgins at qlogic.com>
Date:   Wed Jul 15 15:03:00 2009 -0500

    [SCSI] qla4xxx: Fix Driver Fault Recovery Completion
    
    Fixed driver bug where adapter recovery did not complete if there were
    outstanding commands detected on that host adapter.
    
    Signed-off-by: Karen Higgins <karen.higgins at qlogic.com>
    Signed-off-by: Mike Christie <michaelc at cs.wisc.edu>
    Signed-off-by: James Bottomley <James.Bottomley at HansenPartnership.com>

commit 5c656af7e4edfe44c85034d6fa7002909f9c3c59
Author: Mike Christie <michaelc at cs.wisc.edu>
Date:   Wed Jul 15 15:02:59 2009 -0500

    [SCSI] qla4xxx: add timeout handler
    
    Recently dm-multipath began calling blk_abort_queue. This causes all the
    commands/request running on the path to have the timeout function called.
    If a path does go down, and the LLD returns DID_*, dm-multpiath will eventually
    get this error and begin to call the cmd timeout handler. qla4xxx currently
    does not set a timed out handler and so the default one could return
    BLK_EH_NOT_HANDLED and end up firing the scsi eh and stopping IO to all
    paths on the host when only one path is affected.
    
    For software and offload iscsi we have a timed out handler already.
    This patch adds a driver specific one to qla4xxx because there
    are some ddb->state and session->state and command completion races
    that are better handled in the LLD.
    
    This also handles the problem where if the session is down,
    we do not need the scsi eh to run until the transport code
    has tried to reconnect us.
    
    Signed-off-by: Mike Christie <michaelc at cs.wisc.edu>
    Signed-off-by: James Bottomley <James.Bottomley at HansenPartnership.com>

commit 94bced3c1b371014cbd187f2df5539b13a0e3b90
Author: Karen Higgins <karen.higgins at qlogic.com>
Date:   Wed Jul 15 15:02:58 2009 -0500

    [SCSI] qla4xxx: Correct Extended Sense Data Errors
    
    Fixed sense data errors occurring above the first 32 bytes,
    as required by some third party applications.  Sense data
    in the first 32 bytes has always been correct.
    
    Patch updated to use srb data variables instead of scsi command
    scratchpad data area, as scratchpad area is already used.
    
    Also, corrected debug print alignment bug in dump_buffer routine.
    Changed KERN_DEBUG to KERN_INFO in printk statements in this routine.
    
    Changed version number to 5.01.00-k9
    
    Signed-off-by: Karen Higgins <karen.higgins at qlogic.com>
    [michaelc: fixed checkpath.pl errors]
    Signed-off-by: Mike Christie <michaelc at cs.wisc.edu>
    Signed-off-by: James Bottomley <James.Bottomley at HansenPartnership.com>

commit 6187c242089d334102be76427a5a020240e6c19a
Author: Mike Christie <michaelc at cs.wisc.edu>
Date:   Wed Jul 15 15:02:57 2009 -0500

    [SCSI] libiscsi: disable bh in and abort handler.
    
    The session lock can be held in the scsi eh thread or the completion
    paths run from the net softirq. This disables bhs in iscsi_eh_abort when
    taking the session lock.
    
    Signed-off-by: Mike Christie <michaelc at cs.wisc.edu>
    Signed-off-by: James Bottomley <James.Bottomley at HansenPartnership.com>

commit a11a52be115889a5d1f738ed2e154807bceed4ee
Author: Christof Schmitt <christof.schmitt at de.ibm.com>
Date:   Mon Jul 13 15:06:14 2009 +0200

    [SCSI] zfcp: Fix tracing of request id for abort requests
    
    The trace record for SCSI abort requests has a field for the request
    id of the request to be aborted. Put the real request id instead of
    zero.
    
    Reviewed-by: Swen Schillig <swen at vnet.ibm.com>
    Signed-off-by: Christof Schmitt <christof.schmitt at de.ibm.com>
    Signed-off-by: James Bottomley <James.Bottomley at HansenPartnership.com>

commit 27f492ccec94b6acd8440c83bfe0515ce4db0af0
Author: Swen Schillig <swen at vnet.ibm.com>
Date:   Mon Jul 13 15:06:13 2009 +0200

    [SCSI] zfcp: Fix wka port processing
    
    Under certain conditions it is possible that a WKA port ist not opened
    within the expected timeframe of half a second. In this situation
    the WKA port remains in the state OPENING preventing any succeding
    request to open the port. This led to unrecoverable remote ports.
    Fixing this by always setting an appropriate WKA port status before
    leaving the function and removing the timeout value here since it's
    not needed here because the general timeout processing would deal
    with it if required.
    
    Signed-off-by: Swen Schillig <swen at vnet.ibm.com>
    Signed-off-by: Christof Schmitt <christof.schmitt at de.ibm.com>
    Signed-off-by: James Bottomley <James.Bottomley at HansenPartnership.com>

commit 17a093ef018481ee1760da19568bad3c11da395d
Author: Swen Schillig <swen at vnet.ibm.com>
Date:   Mon Jul 13 15:06:12 2009 +0200

    [SCSI] zfcp: avoid double notify in lowmem scenario
    
    In a LOWMEM condition an ERP notification would have been sent twice
    causing an unpredictable behaviour of the ERP.
    
    Signed-off-by: Swen Schillig <swen at vnet.ibm.com>
    Signed-off-by: Christof Schmitt <christof.schmitt at de.ibm.com>
    Signed-off-by: James Bottomley <James.Bottomley at HansenPartnership.com>

commit 379d6bf6573ee6541a38bbe9140c1f0b94e3feae
Author: Christof Schmitt <christof.schmitt at de.ibm.com>
Date:   Mon Jul 13 15:06:11 2009 +0200

    [SCSI] zfcp: Add port only once to FC transport class
    
    When calling fc_remote_port_add make sure to not call it again before
    fc_remote_port_delete has been called. In other words, ensure to
    create a new fc_rport, then delete it, then create a new one again.
    
    Reviewed-by: Swen Schillig <swen at vnet.ibm.com>
    Signed-off-by: Christof Schmitt <christof.schmitt at de.ibm.com>
    Signed-off-by: James Bottomley <James.Bottomley at HansenPartnership.com>

commit cbf1ed0264da104573458aedc220ebfcd02567f6
Author: Christof Schmitt <christof.schmitt at de.ibm.com>
Date:   Mon Jul 13 15:06:10 2009 +0200

    [SCSI] zfcp: Recover from stalled outbound queue
    
    Depending on interruptions on some storage systems, the complete
    channel can stall which looks like an outbound queue stall to Linux.
    When trying to acquire a free SBAL for a non-SCSI command, zfcp waits
    for 5 seconds for a free slot to appear. This is the right place to
    detect a queue stall: If the wait times out, we assume a stalled queue
    and try to recover this.
    
    The overall strategy should be to trigger the erp from specific
    events, and not try an overall escalation from one failed port to a
    full-blown queue recovery. If we manage to send a command, the status
    codes for this command or a timeout will trigger the right follow-on
    actions.
    
    Reviewed-by: Swen Schillig <swen at vnet.ibm.com>
    Signed-off-by: Christof Schmitt <christof.schmitt at de.ibm.com>
    Signed-off-by: James Bottomley <James.Bottomley at HansenPartnership.com>

commit 85600f7f8370fe5b4be0debd8b401de7986b52ae
Author: Christof Schmitt <christof.schmitt at de.ibm.com>
Date:   Mon Jul 13 15:06:09 2009 +0200

    [SCSI] zfcp: Fix erp escalation procedure
    
    If an action fails, retry it until the erp count exceeds the
    threshold. If there is something fundamentally wrong, the FSF layer
    will trigger a more appropriate action depending on the FSF status
    codes.
    
    The followup for successful actions is a different followup than
    retrying failed actions, so split the code two functions to make this
    clear.
    
    Reviewed-by: Swen Schillig <swen at vnet.ibm.com>
    Signed-off-by: Christof Schmitt <christof.schmitt at de.ibm.com>
    Signed-off-by: James Bottomley <James.Bottomley at HansenPartnership.com>

commit ddb3e0c111fed0a8bf74884dc918274acec2b618
Author: Christof Schmitt <christof.schmitt at de.ibm.com>
Date:   Mon Jul 13 15:06:08 2009 +0200

    [SCSI] zfcp: Fix logic for physical port close
    
    After closing the port, we want it to be "not open" to consider the
    action to be successful.
    
    Reviewed-by: Swen Schillig <swen at vnet.ibm.com>
    Signed-off-by: Christof Schmitt <christof.schmitt at de.ibm.com>
    Signed-off-by: James Bottomley <James.Bottomley at HansenPartnership.com>

commit 9072df4dc6e8fd569d583815edb0198af4b688b8
Author: Christof Schmitt <christof.schmitt at de.ibm.com>
Date:   Mon Jul 13 15:06:07 2009 +0200

    [SCSI] zfcp: Use -EIO for SBAL allocation failures
    
    -ENOMEM is for memory allocation problems, -EIO for queue/SBAL
    allocation problems.
    
    Reviewed-by: Swen Schillig <swen at vnet.ibm.com>
    Signed-off-by: Christof Schmitt <christof.schmitt at de.ibm.com>
    Signed-off-by: James Bottomley <James.Bottomley at HansenPartnership.com>

commit 426f6059b0eb66cec139f4b9066168ab72b85774
Author: Christof Schmitt <christof.schmitt at de.ibm.com>
Date:   Mon Jul 13 15:06:06 2009 +0200

    [SCSI] zfcp: Use unchained mode for small ct and els requests
    
    The ELS ADISC and the GID_PN requests sent from zfcp fit into
    unchained FSF requests. Change the FSF allocation logic to use
    unchained requests whenever possible where everything fits in one
    SBAL. This avoids acquiring more SBALs than necessary, especially
    during zfcp recovery when things might be stalled.
    
    Reviewed-by: Swen Schillig <swen at vnet.ibm.com>
    Signed-off-by: Christof Schmitt <christof.schmitt at de.ibm.com>
    Signed-off-by: James Bottomley <James.Bottomley at HansenPartnership.com>

commit 688a1820bde27749f22b18b94ef1c9bc179b1b29
Author: Christof Schmitt <christof.schmitt at de.ibm.com>
Date:   Mon Jul 13 15:06:05 2009 +0200

    [SCSI] zfcp: Use correct flags for zfcp_erp_notify
    
    zfcp_erp_notify uses the ZFCP_ERP_STATUS_* flags, so it is
    ZFCP_STATUS_ERP_LOWMEM instead of ZFCP_ERP_NOMEM. Signalling
    ZFCP_ERP_FAILED is not necessary, the missing d_id will show that the
    nameserver did not return the d_id.
    
    Reviewed-by: Swen Schillig <swen at vnet.ibm.com>
    Signed-off-by: Christof Schmitt <christof.schmitt at de.ibm.com>
    Signed-off-by: James Bottomley <James.Bottomley at HansenPartnership.com>

commit 1e9b16430ff4fd09408a74342d6b8338228e2f70
Author: Christof Schmitt <christof.schmitt at de.ibm.com>
Date:   Mon Jul 13 15:06:04 2009 +0200

    [SCSI] zfcp: Return -ENOMEM for allocation failures in zfcp_fsf
    
    When a fsf_req or a qtcb cannot be allocated return -ENOMEM instead of
    -EIO.
    
    Reviewed-by: Swen Schillig <swen at vnet.ibm.com>
    Signed-off-by: Christof Schmitt <christof.schmitt at de.ibm.com>
    Signed-off-by: James Bottomley <James.Bottomley at HansenPartnership.com>

commit acf7b86150701de105aa8307b4b3f9dc533c45bb
Author: Christof Schmitt <christof.schmitt at de.ibm.com>
Date:   Mon Jul 13 15:06:03 2009 +0200

    [SCSI] zfcp: Acquire qdio_stat_lock when reading the queue utilization
    
    req_q_util is not atomic, so the qdio_stat_lock must be held when
    reading this variable.
    
    Reviewed-by: Swen Schillig <swen at vnet.ibm.com>
    Signed-off-by: Christof Schmitt <christof.schmitt at de.ibm.com>
    Signed-off-by: James Bottomley <James.Bottomley at HansenPartnership.com>

commit dfb3cf00e402686f671db697adbd8b9f4c219268
Author: Swen Schillig <swen at vnet.ibm.com>
Date:   Mon Jul 13 15:06:02 2009 +0200

    [SCSI] zfcp: Fix invalid command order
    
    We should not modify the port status after triggering an ERP action
    for the port. It is not guaranteed which status is finally active
    when the ERP action is performed. This can lead to situations which
    are unwanted and hard to debug in case of a failure.
    
    Signed-off-by: Swen Schillig <swen at vnet.ibm.com>
    Signed-off-by: Christof Schmitt <christof.schmitt at de.ibm.com>
    Signed-off-by: James Bottomley <James.Bottomley at HansenPartnership.com>

commit 276e680d192a67d222fcea51af37b056feffb665
Author: Yan Zheng <zheng.yan at oracle.com>
Date:   Thu Jul 30 09:40:40 2009 -0400

    Btrfs: preserve commit_root for async caching
    
    The async block group caching code uses the commit_root pointer
    to get a stable version of the extent allocation tree for scanning.
    This copy of the tree root isn't going to change and it significantly
    reduces the complexity of the scanning code.
    
    During a commit, we have a loop where we update the extent allocation
    tree root.  We need to loop because updating the root pointer in
    the tree of tree roots may allocate blocks which may change the
    extent allocation tree.
    
    Right now the commit_root pointer is changed inside this loop.  It
    is more correct to change the commit_root pointer only after all the
    looping is done.
    
    Signed-off-by: Yan Zheng <zheng.yan at oracle.com>
    Signed-off-by: Chris Mason <chris.mason at oracle.com>

commit b94a170e96dc416828af9d350ae2e34b70ae7347
Author: Benjamin Marzinski <bmarzins at redhat.com>
Date:   Thu Jul 23 18:52:34 2009 -0500

    GFS2: remove dcache entries for remote deleted inodes
    
    When a file is deleted from a gfs2 filesystem on one node, a dcache
    entry for it may still exist on other nodes in the cluster. If this
    happens, gfs2 will be unable to free this file on disk. Because of this,
    it's possible to have a gfs2 filesystem with no files on it and no free
    space. With this patch, when a node receives a callback notifying it
    that the file is being deleted on another node, it schedules a new
    workqueue thread to remove the file's dcache entry.
    
    Signed-off-by: Benjamin Marzinski <bmarzins at redhat.com>
    Signed-off-by: Steven Whitehouse <swhiteho at redhat.com>

commit 6b94617024bd6810cde1d0d491202c30d5a38d91
Author: Benjamin Marzinski <bmarzins at redhat.com>
Date:   Fri Jul 10 18:13:26 2009 -0500

    GFS2: Fix incorrent statfs consistency check
    
    Since both linked and unlinked inodes are counted by rgd->rd_dinodes, It
    makes no sense to count them with the used data blocks (first check that
    I changed), it makes sense to count them with the linked inodes (second
    check), and it makes no sense to care if there are more unlinked inodes
    than linked ones. This fixes these errors.
    
    Signed-off-by: Benjamin Marzinski <bmarzins at redhat.com>
    Signed-off-by: Steven Whitehouse <swhiteho at redhat.com>

commit 8ff22a6f9bdaac87c0eeb1d56c736181f11b4221
Author: Benjamin Marzinski <bmarzins at redhat.com>
Date:   Fri Jul 10 18:04:24 2009 -0500

    GFS2: Don't put unlikely reclaim candidates on the reclaim list.
    
    GFS2 was placing far too many glocks on the reclaim list that were not good
    candidates for freeing up from cache.  These locks would sit there and
    repeatedly get scanned to see if they could be reclaimed, wasting a lot
    of time when there was memory pressure. This fix does more checks on the
    locks to see if they are actually likely to be removable from cache.
    
    Signed-off-by: Benjamin Marzinski <bmarzins at redhat.com>
    Signed-off-by: Steven Whitehouse <swhiteho at redhat.com>

commit 1e19a19584b332eb92a573b66b7342fb97e67507
Author: Steven Whitehouse <swhiteho at redhat.com>
Date:   Fri Jul 10 21:13:38 2009 +0100

    GFS2: Don't try and dealloc own inode
    
    When searching for unlinked, but still allocated inodes during block
    allocation, avoid the block relating to the inode that is doing the
    allocation. This fixes a hang caused when an unlinked, but still
    open, inode tries to allocate some more blocks and lands up
    finding itself during the search for deallocatable inodes.
    
    Signed-off-by: Steven Whitehouse <swhiteho at redhat.com>

commit a51b56fff3f04fc5aa66b21a2a6d693ee9862d66
Author: Benjamin Marzinski <bmarzins at redhat.com>
Date:   Tue Jun 30 13:51:11 2009 -0500

    GFS2: Fix panic in glock memory shrinker
    
    It is possible for gfs2_shrink_glock_memory() to check a glock for
    demotion
    that's in the process of being freed by gfs2_glock_put().  In this case,
    gfs2_shrink_glock_memory() will acquire a new reference to this glock,
    and
    then try to free the glock itself when it drops the refernce.  To solve
    this, gfs2_shrink_glock_memory() just needs to check if the glock is in
    the process of being freed, and if so skip it without ever unlocking the
    lru_lock.
    
    Signed-off-by: Benjamin Marzinski <bmarzins at redhat.com>
    Acked-by: Bob Peterson <rpeterso at redhat.com>
    Signed-off-by: Steven Whitehouse <swhiteho at redhat.com>

commit 1946f70ab5e4eb8b54a8eaaedba2293a3750ab7e
Author: Benjamin Marzinski <bmarzins at redhat.com>
Date:   Thu Jun 25 15:09:51 2009 -0500

    GFS2: keep statfs info in sync on grows
    
    GFS2 wasn't syncing its statfs info on grows.  This causes a problem
    when you grow the filesystem on multiple nodes.  GFS2 would calculate
    the new space based on the resource groups (which are always current),
    and then assume that the filesystem had grown the from the existing
    statfs size.  If you grew the filesystem on two different nodes in a
    short time, the second node wouldn't see the statfs size change from the
    first node, and would assume that it was grown by a larger amount than
    it was.  When all these changes were synced out, the total fileystem
    size would be incorrect (the first grow would be counted twice).
    
    This patch syncs makes GFS2 read in the statfs changes from disk before
    a grow, and write them out after the grow, while the master statfs inode
    is locked.
    
    Signed-off-by: Benjamin Marzinski <bmarzins at redhat.com>
    Signed-off-by: Steven Whitehouse <swhiteho at redhat.com>

commit 2163b1e616c41c286f5ab79912671cd4bf52057c
Author: Steven Whitehouse <swhiteho at redhat.com>
Date:   Thu Jun 25 16:30:26 2009 +0100

    GFS2: Shrink the shrinker
    
    This patch removes some of the special cases that the shrinker
    was trying to deal with. As a result we leave fewer items on
    the list and none at all which cannot be demoted. This makes
    the list scanning more efficient and solves some issues seen
    with large numbers of inodes.
    
    Signed-off-by: Steven Whitehouse <swhiteho at redhat.com>

commit 320145fac91955ee35a6af7e1c2b42388a17b3d8
Author: Yegor Yefremov <yegorslists at googlemail.com>
Date:   Thu Jul 9 08:48:03 2009 +0100

    ARM: 5597/1: [PCI] reset all internal hardware prior PCI initialization
    
    Make software reset to avoid freeze if PCI bus was messed up
    
    Signed-off-by: Yegor Yefremov <yegorslists at googlemail.com>
    Acked-by: Andrew Victor <linux at maxim.org.za>
    Signed-off-by: Russell King <rmk+kernel at arm.linux.org.uk>

commit 0a52ac8d181e938d640c2da70cad6d1301abe775
Merge: e81b795d44ba04beab7714de65ed2e377823bd37 9b71de49b030ad8fd4d13d38571b5c42dc9ed8dd
Author: Russell King <rmk at dyn-67.arm.linux.org.uk>
Date:   Thu Jul 30 10:47:55 2009 +0100

    Merge branch 's3c-fixes-rc4' of git://aeryn.fluff.org.uk/bjdooks/linux

commit e81b795d44ba04beab7714de65ed2e377823bd37
Merge: 5dbc80f69e131ecca42a5958b7785a57851c80d7 42469ff014812880d7324285d165841f4b1814e7
Author: Russell King <rmk at dyn-67.arm.linux.org.uk>
Date:   Thu Jul 30 10:47:09 2009 +0100

    Merge branch 'mxc-defconfig-updates' of git://git.pengutronix.de/git/imx/linux-2.6

commit 5dbc80f69e131ecca42a5958b7785a57851c80d7
Merge: 3ef7143d2287b21e09e00a25a8cb4fbdcf0c6c4c 1d3e216f1d303878d7204de94dee251bc2702175
Author: Russell King <rmk at dyn-67.arm.linux.org.uk>
Date:   Thu Jul 30 10:46:12 2009 +0100

    Merge branch 'fix' of git://git.kernel.org/pub/scm/linux/kernel/git/ycmiao/pxa-linux-2.6

commit 3ef7143d2287b21e09e00a25a8cb4fbdcf0c6c4c
Author: Uwe Kleine-König <u.kleine-koenig at pengutronix.de>
Date:   Wed Jul 29 19:31:30 2009 +0100

    ARM: 5627/1: Fix restoring of lr at the end of mcount
    
    After ftrace_trace_function is called r1 is probably clobbered so don't
    try to use its value for restoring.
    
    This was introduced in v2.6.29~38^2~7
    
    Signed-off-by: Uwe Kleine-König <u.kleine-koenig at pengutronix.de>
    Signed-off-by: Russell King <rmk+kernel at arm.linux.org.uk>

commit e624859e7eb6ae2930df3923af73406dc6ccdad8
Author: Linus Walleij <linus.walleij at stericsson.com>
Date:   Mon Jul 27 22:11:59 2009 +0100

    ARM: 5624/1: Document cache aliasing region
    
    Augment the memory.txt file for ARM to list the cache aliasing
    region ffff4000-fffffff.
    
    Signed-off-by: Linus Walleij <linus.walleij at stericsson.com>
    Signed-off-by: Russell King <rmk+kernel at arm.linux.org.uk>

commit 1842f23c05b6a866be831aa60bc8a8731c58ddd0
Author: Rusty Russell <rusty at rustcorp.com.au>
Date:   Thu Jul 30 16:03:46 2009 -0600

    lguest and virtio: cleanup struct definitions to Linux style.
    
    I've been doing this for years, and akpm picked me up on it about 12
    months ago.  lguest partly serves as example code, so let's do it Right.
    
    Also, remove two unused fields in struct vblk_info in the example launcher.
    
    Signed-off-by: Rusty Russell <rusty at rustcorp.com.au>
    Cc: Ingo Molnar <mingo at redhat.com>

commit a91d74a3c4de8115295ee87350c13a329164aaaf
Author: Rusty Russell <rusty at rustcorp.com.au>
Date:   Thu Jul 30 16:03:45 2009 -0600

    lguest: update commentry
    
    Every so often, after code shuffles, I need to go through and unbitrot
    the Lguest Journey (see drivers/lguest/README).  Since we now use RCU in
    a simple form in one place I took the opportunity to expand that explanation.
    
    Signed-off-by: Rusty Russell <rusty at rustcorp.com.au>
    Cc: Ingo Molnar <mingo at redhat.com>
    Cc: Paul McKenney <paulmck at linux.vnet.ibm.com>

commit 2e04ef76916d1e29a077ea9d0f2003c8fd86724d
Author: Rusty Russell <rusty at rustcorp.com.au>
Date:   Thu Jul 30 16:03:45 2009 -0600

    lguest: fix comment style
    
    I don't really notice it (except to begrudge the extra vertical
    space), but Ingo does.  And he pointed out that one excuse of lguest
    is as a teaching tool, it should set a good example.
    
    Signed-off-by: Rusty Russell <rusty at rustcorp.com.au>
    Cc: Ingo Molnar <mingo at redhat.com>

commit e969fed542cae08cb11d666efac4f7c5d624d09f
Author: Michael S. Tsirkin <mst at redhat.com>
Date:   Sun Jul 26 15:48:08 2009 +0300

    virtio: refactor find_vqs
    
    This refactors find_vqs, making it more readable and robust, and fixing
    two regressions from 2.6.30:
    - double free_irq causing BUG_ON on device removal
    - probe failure when vq can't be assigned to msi-x vector
      (reported on old host kernels)
    
    Tested-by: Amit Shah <amit.shah at redhat.com>
    Signed-off-by: Michael S. Tsirkin <mst at redhat.com>
    Signed-off-by: Rusty Russell <rusty at rustcorp.com.au>

commit f6c82507030d61e15928d5cad946d3eac1c4a384
Author: Michael S. Tsirkin <mst at redhat.com>
Date:   Sun Jul 26 15:48:01 2009 +0300

    virtio: delete vq from list
    
    This makes delete vq the reverse of find vq.
    This is required to make it possible to retry find_vqs
    after a failure, otherwise the list gets corrupted.
    
    Signed-off-by: Michael S. Tsirkin <mst at redhat.com>
    Signed-off-by: Rusty Russell <rusty at rustcorp.com.au>

commit ff52c3fc7188855ede75d87b022271f0da309e5b
Author: Michael S. Tsirkin <mst at redhat.com>
Date:   Thu Jul 23 14:57:37 2009 +0300

    virtio: fix memory leak on device removal
    
    Make vp_free_vectors do the reverse of vq_request_vectors.
    
    Signed-off-by: Michael S. Tsirkin <mst at redhat.com>
    Signed-off-by: Rusty Russell <rusty at rustcorp.com.au>

commit 8ef562d112c82ec539775698f8b63ac5ec1bd766
Author: Rusty Russell <rusty at rustcorp.com.au>
Date:   Thu Jul 30 16:03:43 2009 -0600

    lguest: fix descriptor corruption in example launcher
    
    1d589bb16b825b3a7b4edd34d997f1f1f953033d "Add serial number support
    for virtio_blk, V4a" extended 'struct virtio_blk_config' to 536 bytes.
    Lguest and S/390 both use an 8 bit value for the feature length, and
    this change broke them (if the code is naive).
    
    Signed-off-by: Rusty Russell <rusty at rustcorp.com.au>
    Cc: John Cooper <john.cooper at redhat.com>
    Cc: Christian Borntraeger <borntraeger at de.ibm.com>

commit f294526279cda8934b0313ebd02184a16ba888c9
Author: Dan Carpenter <error27 at gmail.com>
Date:   Sun Jul 19 14:46:09 2009 +0300

    lguest: dereferencing freed mem in add_eventfd()
    
    "new" was freed and then dereferenced.  Also the return value wasn't being
    used so I modified the caller as well.
    
    Compile tested only.  Found by smatch (http://repo.or.cz/w/smatch.git).
    
    regards,
    dan carpenter
    
    Signed-off-by: Dan Carpenter <error27 at gmail.com>
    Signed-off-by: Rusty Russell <rusty at rustcorp.com.au>

commit 34466c5be4dd1490acf98e6d2ff8f3728d8ca5c1
Author: Kumar Gala <galak at kernel.crashing.org>
Date:   Wed Jul 29 23:34:01 2009 -0500

    powerpc: Update defconfigs for embedded 6xx/7xxx, 8xx, 8{3,5,6}xxx
    
    Signed-off-by: Kumar Gala <galak at kernel.crashing.org>

commit 083e268c8b78606658f2e4524168ff45825d879e
Author: Martyn Welch <martyn.welch at gefanuc.com>
Date:   Thu Jul 2 15:18:44 2009 +0100

    powerpc/86xx: Update GE Fanuc sbc310 default configuration
    
    General update of defconfig including the following notable changes:
     - Enable Highmem support.
     - Support for PCMCIA based daughter card.
    
    Signed-off-by: Martyn Welch <martyn.welch at gefanuc.com>
    Signed-off-by: Kumar Gala <galak at kernel.crashing.org>

commit f27d4d47dcf8906c8a22908dc1d32ec641e9fbe0
Author: Martyn Welch <martyn.welch at gefanuc.com>
Date:   Thu Jul 2 15:18:35 2009 +0100

    powerpc/86xx: Update defconfig for GE Fanuc's PPC9A
    
    General update of defconfig including the following notable changes:
     - Enable GPIO access via sysfs on GE Fanuc's PPC9A.
     - Enable Highmem support.
     - Support for PCMCIA based daughter card.
    
    Signed-off-by: Martyn Welch <martyn.welch at gefanuc.com>
    Signed-off-by: Kumar Gala <galak at kernel.crashing.org>

commit 6e900de3fff01e84c96632409359a84825c54b28
Author: Mark Ware <mware at elphinstone.net>
Date:   Mon Jul 20 21:51:03 2009 +1000

    cpm_uart: Don't use alloc_bootmem in cpm_uart_cpm2.c
    
    This is another alloc_bootmem() -> kzalloc() change, this time to
    fix the non-fatal badness caused when booting with a cpm2_uart console.
    
    Signed-off-by: Mark Ware <mware at elphinstone.net>
    Signed-off-by: Kumar Gala <galak at kernel.crashing.org>

commit 1333c3d6d35bdb109ddbd4b7086cbf066a27b156
Author: Anton Vorontsov <avorontsov at ru.mvista.com>
Date:   Tue Jul 21 01:36:43 2009 +0400

    powerpc/83xx: Fix PCI IO base address on MPC837xE-RDB boards
    
    U-Boot maps PCI IO at 0xe0300000, while current dts files specify
    0xe2000000. This leads to the following oops with CONFIG_8139TOO_PIO=y.
    
    8139too Fast Ethernet driver 0.9.28
    Machine check in kernel mode.
    Caused by (from SRR1=41000): Transfer error ack signal
    Oops: Machine check, sig: 7 [#1]
    MPC837x RDB
    [...]
    NIP [00000900] 0x900
    LR [c0439df8] rtl8139_init_board+0x238/0x524
    Call Trace:
    [cf831d90] [c0439dcc] rtl8139_init_board+0x20c/0x524 (unreliable)
    [cf831de0] [c043a15c] rtl8139_init_one+0x78/0x65c
    [cf831e40] [c0235250] pci_call_probe+0x20/0x30
    [...]
    
    This patch fixes the issue by specifying the correct PCI IO base
    address.
    
    Signed-off-by: Anton Vorontsov <avorontsov at ru.mvista.com>
    Signed-off-by: Kumar Gala <galak at kernel.crashing.org>

commit 8a0b177f367a8fd03dc5ba1f5a4494d1424471aa
Author: Anton Vorontsov <cbouatmailru at gmail.com>
Date:   Wed Jul 1 21:39:25 2009 +0400

    powerpc/85xx: Don't scan for TBI PHY addresses on MPC8569E-MDS boards
    
    Sometimes (e.g. when there are no UEMs attached to a board)
    fsl_pq_mdio_find_free() fails to find a spare address for a TBI PHY,
    this is because get_phy_id() returns bogus 0x0000ffff values
    (0xffffffff is expected), and therefore mdio bus probing fails with
    the following message:
    
      fsl-pq_mdio: probe of e0082120.mdio failed with error -16
    
    And obviously ethernet doesn't work after this.
    
    This patch solves the problem by adding tbi-phy node into mdio node,
    so that we won't scan for spare addresses, we'll just use a fixed one.
    
    Signed-off-by: Anton Vorontsov <avorontsov at ru.mvista.com>
    Signed-off-by: Kumar Gala <galak at kernel.crashing.org>

commit c4673f9a32d7b02bcd2057763d3d368efe5809c3
Author: Anton Vorontsov <avorontsov at ru.mvista.com>
Date:   Wed Jun 24 20:30:28 2009 +0400

    powerpc/85xx: Fix ethernet link detection on MPC8569E-MDS boards
    
    Linux isn't able to detect link changes on ethernet ports that were
    used by U-Boot. This is because U-Boot wrongly clears interrupt
    polarity bit (INTPOL, 0x400) in the extended status register (EXT_SR,
    0x1b) of Marvell PHYs.
    
    There is no easy way for PHY drivers to know IRQ line polarity (we
    could extract it from the device tree and pass it to phydevs, but
    that'll be quite a lot of work), so for now just reset the PHYs to
    their default states.
    
    Signed-off-by: Anton Vorontsov <avorontsov at ru.mvista.com>
    Signed-off-by: Kumar Gala <galak at kernel.crashing.org>

commit 5156ddce6c0a152ee7ccab2c976c6a8abc8a49b5
Author: Kumar Gala <galak at kernel.crashing.org>
Date:   Wed Jul 29 23:04:25 2009 -0500

    powerpc/mm: Fix SMP issue with MMU context handling code
    
    In switch_mmu_context() if we call steal_context_smp() to get a context
    to use we shouldn't fall through and than call steal_context_up().  Doing
    so can be problematic in that the 'mm' that steal_context_up() ends up
    using will not get marked dirty in the stale_map[] for other CPUs that
    might have used that mm.  Thus we could end up with stale TLB entries in
    the other CPUs that can cause all kinda of havoc.
    
    Signed-off-by: Kumar Gala <galak at kernel.crashing.org>

commit 658874f05d040ca96eb5ba9b1c30ce0ff287d762
Merge: 91a5698d1f253d30f53f0c58d2504eaec481b854 cd086d3aa6f7f7bf4d4e1f9fa09af0f0b6bb99ec
Author: Linus Torvalds <torvalds at linux-foundation.org>
Date:   Wed Jul 29 19:39:22 2009 -0700

    Merge branch 'i2c-fixes-rc4' of git://aeryn.fluff.org.uk/bjdooks/linux
    
    * 'i2c-fixes-rc4' of git://aeryn.fluff.org.uk/bjdooks/linux:
      i2c-omap: OMAP3430 Silicon Errata 1.153
      i2c-omap: In case of a NACK|ARDY|AL return from the ISR
      i2c-omap: Bug in reading the RXSTAT/TXSTAT values from the I2C_BUFFSTAT register
      i2c-sh_mobile: change module_init() to subsys_initcall()
      i2c: strncpy does not null terminate string
      i2c-s3c2410: s3c24xx_i2c_init: don't clobber IICLC value

commit 5bd9052d79daa4c8beb45436c408b6de672adb82
Author: Steve French <sfrench at us.ibm.com>
Date:   Thu Jul 30 02:26:14 2009 +0000

    [CIFS] Updates fs/cifs/CHANGES
    
    Signed-off-by: Steve French <sfrench at us.ibm.com>

commit 91a5698d1f253d30f53f0c58d2504eaec481b854
Merge: 084bad91afd0f40ff4db9ceb56e29234c314d8d1 dddac6a7b445de95515f64fdf82fe5dc36c02f26
Author: Linus Torvalds <torvalds at linux-foundation.org>
Date:   Wed Jul 29 19:15:18 2009 -0700

    Merge branch 'pm-fixes' of git://git.kernel.org/pub/scm/linux/kernel/git/rafael/suspend-2.6
    
    * 'pm-fixes' of git://git.kernel.org/pub/scm/linux/kernel/git/rafael/suspend-2.6:
      PM / Hibernate: Replace bdget call with simple atomic_inc of i_count
      PM / ACPI: HP G7000 Notebook needs a SCI_EN resume quirk

commit 084bad91afd0f40ff4db9ceb56e29234c314d8d1
Author: Kristoffer Ericson <kristoffer.ericson at gmail.com>
Date:   Wed Jul 29 15:04:32 2009 -0700

    MAINTAINERS: update HP Jornada 700-series and Epson s1d13xxxfb support
    
    Add the relevant git repositories and affected files to the maintainership
    of HP Jornada 700-series and Epson s1d13xxxfb support.
    
    Signed-off-by: Kristoffer Ericson <kristoffer.ericson at gmail.com>
    Signed-off-by: Andrew Morton <akpm at linux-foundation.org>
    Signed-off-by: Linus Torvalds <torvalds at linux-foundation.org>

commit 2bed6eeb8cb0b5198d8f93e415ee595704bc3534
Author: Joe Perches <joe at perches.com>
Date:   Wed Jul 29 15:04:32 2009 -0700

    MAINTAINERS: finish off the email address coalescing
    
    Add some touchups to the sample record.
    
    Signed-off-by: Joe Perches <joe at perches.com>
    Signed-off-by: Andrew Morton <akpm at linux-foundation.org>
    Signed-off-by: Linus Torvalds <torvalds at linux-foundation.org>

commit 8b58be884a9fd650abb7f7adf3f885fb9cecd79d
Author: Joe Perches <joe at perches.com>
Date:   Wed Jul 29 15:04:30 2009 -0700

    MAINTAINERS: coalesce name and email address lines
    
    Switch the MAINTAINERS email address format from
    
    P:	Linus Torvalds
    M:	torvalds at linux-foundation.org
    
    to
    
    M:	Linus Torvalds <torvalds at linux-foundation.org>
    
    Mainly to ease the copy-n-pasting of maitnainer addresses into email clients.
    
    The script to perform this operation:
    
    #! /bin/sh
    #
    # Change MAINTAINERS from
    #	P: name
    #	M: address
    # to:
    #	M: name <address>
    #
    # Integrate P: and M: lines
    #
    perl -i -e 'local $/; while(<>) { s at P:	([^\n]+)\nM:	([^\n]+)\n at M:	\1 <\2>\n at g; print; }' MAINTAINERS
    #
    # Quote names with periods, commas and parentheses
    #
    sed -r -i -e "s/^M:	(.+)([\.,'\(])(.*) </M:	\"\1\2\3\" </g" MAINTAINERS
    
    Signed-off-by: Joe Perches <joe at perches.com>
    Acked-by: Pavel Machek <pavel at ucw.cz>
    Acked-by: Randy Dunlap <randy.dunlap at oracle.com>
    Signed-off-by: Andrew Morton <akpm at linux-foundation.org>
    Signed-off-by: Linus Torvalds <torvalds at linux-foundation.org>

commit 3d202aeb7b7b33d5a5b2040ee5af5b309782941c
Author: Joe Perches <joe at perches.com>
Date:   Wed Jul 29 15:04:29 2009 -0700

    get_maintainerpl-add-git-min-percent-option-fix
    
    Allow an option to control the minimum percentage of sign-offs required
    before being considered a maintainer.
    
    git-min-percent has a default value of 5
    
    Signed-off-by: Joe Perches <joe at perches.com>
    Signed-off-by: Andrew Morton <akpm at linux-foundation.org>
    Signed-off-by: Linus Torvalds <torvalds at linux-foundation.org>

commit afa81ee13033de791c41c1d9333853504653939b
Author: Joe Perches <joe at perches.com>
Date:   Wed Jul 29 15:04:28 2009 -0700

    get_maintainer.pl: Add git-min-percent option
    
    Allow an option to control the minimum percentage of sign-offs required
    before being considered a maintainer.
    
    git-min-percent has a default value of 5
    
    Signed-off-by: Joe Perches <joe at perches.com>
    Signed-off-by: Andrew Morton <akpm at linux-foundation.org>
    Signed-off-by: Linus Torvalds <torvalds at linux-foundation.org>

commit 870020f93af2323a81f179091a0780dc1d5b916b
Author: Joe Perches <joe at perches.com>
Date:   Wed Jul 29 15:04:28 2009 -0700

    scripts/get_maintainer.pl: Add -f directory use
    
    Don't require a specific file in a directory to be tested.
    
    Also Arnd Bergmann pointed out that the MAINTAINERS pattern requirement
    that directory patterns have a trailing slash was unnecessary and was
    likely to be error prone.  Removed that requirement.
    
    Signed-off-by: Joe Perches <joe at perches.com>
    Signed-off-by: Andrew Morton <akpm at linux-foundation.org>
    Signed-off-by: Linus Torvalds <torvalds at linux-foundation.org>

commit 82c4dfc76200055bd2ae600a08404c10df5f4ff6
Author: Joe Perches <joe at perches.com>
Date:   Wed Jul 29 15:04:27 2009 -0700

    MAINTAINERS: Scott Murray is no longer with SomaNetworks
    
    Signed-off-by: Joe Perches <joe at perches.com>
    Signed-off-by: Andrew Morton <akpm at linux-foundation.org>
    Signed-off-by: Linus Torvalds <torvalds at linux-foundation.org>

commit 2bd1944899354b6f1328fe84886fa8f4d5918aef
Author: Joe Perches <joe at perches.com>
Date:   Wed Jul 29 15:04:27 2009 -0700

    MAINTAINERS: QLOGIC QLA3XXX - Add Ron Mercer email address
    
    Signed-off-by: Joe Perches <joe at perches.com>
    Signed-off-by: Andrew Morton <akpm at linux-foundation.org>
    Signed-off-by: Linus Torvalds <torvalds at linux-foundation.org>

commit edf4b0a980bf481bbcef0977e2c7369f13f3428f
Author: Joe Perches <joe at perches.com>
Date:   Wed Jul 29 15:04:26 2009 -0700

    MAINTAINERS: QLOGIC QLA2XXX - add Andrew Vasquez email address
    
    Signed-off-by: Joe Perches <joe at perches.com>
    Signed-off-by: Andrew Morton <akpm at linux-foundation.org>
    Signed-off-by: Linus Torvalds <torvalds at linux-foundation.org>

commit 9ae9a7f119a8def8e68d7f5ab0d96b3aba80accb
Author: Joe Perches <joe at perches.com>
Date:   Wed Jul 29 15:04:26 2009 -0700

    MAINTAINERS: Remove CS461x sound card section
    
    Thomas Woller's email address bounces
    Nils Faerber isn't active
    
    Added Thomas Woller to CREDITS, Nils already has an entry
    
    Signed-off-by: Joe Perches <joe at perches.com>
    Signed-off-by: Andrew Morton <akpm at linux-foundation.org>
    Signed-off-by: Linus Torvalds <torvalds at linux-foundation.org>

commit 5bee73ff71e17f5a807376e29653998755211ceb
Author: Joe Perches <joe at perches.com>
Date:   Wed Jul 29 15:04:25 2009 -0700

    MAINTAINERS: INPUT: Add Dmitry's name to his email address
    
    Signed-off-by: Joe Perches <joe at perches.com>
    Signed-off-by: Andrew Morton <akpm at linux-foundation.org>
    Signed-off-by: Linus Torvalds <torvalds at linux-foundation.org>

commit a72f8024f4c9b06ff35d0bf6df479ea7fae4e2f8
Author: Joe Perches <joe at perches.com>
Date:   Wed Jul 29 15:04:25 2009 -0700

    MAINTAINERS: USB Serial Digi Acceleport: use separate P: for Al Borchers
    
    Signed-off-by: Joe Perches <joe at perches.com>
    Signed-off-by: Andrew Morton <akpm at linux-foundation.org>
    Signed-off-by: Linus Torvalds <torvalds at linux-foundation.org>

commit cabaaf415cc9820cfbf2bc86308b94b78e31fe3e
Author: Joe Perches <joe at perches.com>
Date:   Wed Jul 29 15:04:24 2009 -0700

    MAINTAINERS: Add PPS patterns
    
    Signed-off-by: Joe Perches <joe at perches.com>
    Signed-off-by: Andrew Morton <akpm at linux-foundation.org>
    Signed-off-by: Linus Torvalds <torvalds at linux-foundation.org>

commit 24725d1ecf26ba05d74c1cc3ae7467b61a900421
Author: Joe Perches <joe at perches.com>
Date:   Wed Jul 29 15:04:24 2009 -0700

    MAINTAINERS: Update KERNEL JANITORS
    
    Signed-off-by: Joe Perches <joe at perches.com>
    Signed-off-by: Andrew Morton <akpm at linux-foundation.org>
    Signed-off-by: Linus Torvalds <torvalds at linux-foundation.org>

commit eb51b0349df8efccc37fc06aa25aecbd4d39551b
Author: Joe Perches <joe at perches.com>
Date:   Wed Jul 29 15:04:23 2009 -0700

    MAINTAINERS: Move ARPD to CREDITS
    
    Jonathan Layes is hard to find.
    
    Signed-off-by: Joe Perches <joe at perches.com>
    Signed-off-by: Andrew Morton <akpm at linux-foundation.org>
    Signed-off-by: Linus Torvalds <torvalds at linux-foundation.org>

commit 5daa2963f8bd51c161d5b244e439e0c9fdec358b
Author: Joe Perches <joe at perches.com>
Date:   Wed Jul 29 15:04:23 2009 -0700

    MAINTAINERS: Remove L: linux-kernel at vger.kernel.org
    
    from sections that should not have them.
    
    Signed-off-by: Joe Perches <joe at perches.com>
    Signed-off-by: Andrew Morton <akpm at linux-foundation.org>
    Signed-off-by: Linus Torvalds <torvalds at linux-foundation.org>

commit 4fc26e36acce714ca26b576e3e6862887fa130d3
Author: Joe Perches <joe at perches.com>
Date:   Wed Jul 29 15:04:22 2009 -0700

    MAINTAINERS: Use tabs in ACER ASPIRE ONE
    
    Signed-off-by: Joe Perches <joe at perches.com>
    Signed-off-by: Andrew Morton <akpm at linux-foundation.org>
    Signed-off-by: Linus Torvalds <torvalds at linux-foundation.org>

commit 4cbfbe256dc0b0491351bc5bea89f229cfae2284
Author: Joe Perches <joe at perches.com>
Date:   Wed Jul 29 15:04:21 2009 -0700

    MAINTAINERS: QLGE 10Gb ETHERNET - pair P:/M: entries properly
    
    Signed-off-by: Joe Perches <joe at perches.com>
    Signed-off-by: Andrew Morton <akpm at linux-foundation.org>
    Signed-off-by: Linus Torvalds <torvalds at linux-foundation.org>

commit 30e10993512c94daf0ab5cb4b512979aa1c85daf
Author: Joe Perches <joe at perches.com>
Date:   Wed Jul 29 15:04:21 2009 -0700

    MAINTAINERS: Remove ivtv-user lists, add CX18 url
    
    Signed-off-by: Joe Perches <joe at perches.com>
    Signed-off-by: Andrew Morton <akpm at linux-foundation.org>
    Signed-off-by: Linus Torvalds <torvalds at linux-foundation.org>

commit 56d44f05177e69b757a01987827db8ef79fb759c
Author: Joe Perches <joe at perches.com>
Date:   Wed Jul 29 15:04:20 2009 -0700

    MAINTAINERS: IA64 - pair P:/M: entries properly
    
    Signed-off-by: Joe Perches <joe at perches.com>
    Signed-off-by: Andrew Morton <akpm at linux-foundation.org>
    Signed-off-by: Linus Torvalds <torvalds at linux-foundation.org>

commit 812ed032cdc8138b7546eecc996879756b92d801
Author: Jiri Slaby <jirislaby at gmail.com>
Date:   Wed Jul 29 15:04:19 2009 -0700

    uio: mark uio.h functions __KERNEL__ only
    
    To avoid userspace build failures such as:
    
    .../linux/uio.h:37: error: expected `=', `,', `;', `asm' or `__attribute__' before `iov_length'
    .../linux/uio.h:47: error: expected declaration specifiers or `...' before `size_t'
    
    move uio functions inside a __KERNEL__ block.
    
    Signed-off-by: Jiri Slaby <jirislaby at gmail.com>
    Acked-by: Sam Ravnborg <sam at ravnborg.org>
    Cc: Alexander Viro <viro at zeniv.linux.org.uk>
    Cc: Christoph Hellwig <hch at infradead.org>
    Signed-off-by: Andrew Morton <akpm at linux-foundation.org>
    Signed-off-by: Linus Torvalds <torvalds at linux-foundation.org>

commit 8da14b5fc32368f582df09fe9c0bec2507868583
Author: Albin Tonnerre <albin.tonnerre at gmail.com>
Date:   Wed Jul 29 15:04:18 2009 -0700

    drivers/serial/atmel_serial.c: fix compile when CONFIG_SERIAL_ATMEL=Y and CONFIG_SERIAL_ATMEL_CONSOLE=N
    
    When SERIAL_ATMEL_CONSOLE is disabled, ATMEL_CONSOLE_DEVICE is set to
    NULL, and trying to access ATMEL_CONSOLE_DEVICE->flags in
    atmel_serial_probe makes the compile fail.  This fixes the issue by only
    accessing it if CONFIG_SERIAL_ATMEL_CONSOLE is defined
    
    Signed-off-by: Albin Tonnerre <albin.tonnerre at free-electrons.com>
    Signed-off-by: Haavard Skinnemoen <haavard.skinnemoen at atmel.com>
    Cc: Nicolas Ferre <nicolas.ferre at atmel.com>
    Signed-off-by: Andrew Morton <akpm at linux-foundation.org>
    Signed-off-by: Linus Torvalds <torvalds at linux-foundation.org>

commit 534acc057b5a08ec33fa57cdd2f5a09ef124e7f2
Author: Dave Hansen <dave at linux.vnet.ibm.com>
Date:   Wed Jul 29 15:04:18 2009 -0700

    lib: flexible array implementation
    
    Once a structure goes over PAGE_SIZE*2, we see occasional allocation
    failures.  Some people have chosen to switch over to things like vmalloc()
    that will let them keep array-like access to such a large structures.
    But, vmalloc() has plenty of downsides.
    
    Here's an alternative.  I think it's what Andrew was suggesting here:
    
    	http://lkml.org/lkml/2009/7/2/518
    
    I call it a flexible array.  It does all of its work in PAGE_SIZE bits, so
    never does an order>0 allocation.  The base level has
    PAGE_SIZE-2*sizeof(int) bytes of storage for pointers to the second level.
     So, with a 32-bit arch, you get about 4MB (4183112 bytes) of total
    storage when the objects pack nicely into a page.  It is half that on
    64-bit because the pointers are twice the size.  There's a table detailing
    this in the code.
    
    There are kerneldocs for the functions, but here's an
    overview:
    
    flex_array_alloc() - dynamically allocate a base structure
    flex_array_free() - free the array and all of the
    		    second-level pages
    flex_array_free_parts() - free the second-level pages, but
    			  not the base (for static bases)
    flex_array_put() - copy into the array at the given index
    flex_array_get() - copy out of the array at the given index
    flex_array_prealloc() - preallocate the second-level pages
    			between the given indexes to
    			guarantee no allocs will occur at
    			put() time.
    
    We could also potentially just pass the "element_size" into each of the
    API functions instead of storing it internally.  That would get us one
    more base pointer on 32-bit.
    
    I've been testing this by running it in userspace.  The header and patch
    that I've been using are here, as well as the little script I'm using to
    generate the size table which goes in the kerneldocs.
    
    	http://sr71.net/~dave/linux/flexarray/
    
    [akpm at linux-foundation.org: coding-style fixes]
    Signed-off-by: Dave Hansen <dave at linux.vnet.ibm.com>
    Reviewed-by: KAMEZAWA Hiroyuki <kamezawa.hiroyu at jp.fujitsu.com>
    Signed-off-by: Andrew Morton <akpm at linux-foundation.org>
    Signed-off-by: Linus Torvalds <torvalds at linux-foundation.org>

commit a9e58f25734e153b8c6516d904e2398fb8b0b23d
Author: Anton Vorontsov <avorontsov at ru.mvista.com>
Date:   Wed Jul 29 15:04:16 2009 -0700

    sdhci: get rid of "frequency too high" flood when using eSDHC
    
    Since commit 8dfd0374be84793360db7fff2e635d2cd3bbcb21 ("MMC core: limit
    minimum initialization frequency to 400kHz") MMC core checks for minimum
    frequency, and that causes following messages flood when using eSDHC
    controllers:
    
      ...
      mmc0: Minimum clock frequency too high for identification mode
      mmc0: Minimum clock frequency too high for identification mode
      ...
    
    The warnings are legitimate, since if we'd use 133 MHz clocks for standard
    SDHCI controllers, we'd not able to scale frequency down to 400 kHz.
    
    But eSDHC controllers have a non-standard SD clock management, so we can
    divide clock by 256 * 16, not just 256.
    
    This patch introduces get_min_clock() callback for sdhci core and
    implements it for sdhci-of driver, and thus fixes the issue.
    
    Signed-off-by: Anton Vorontsov <avorontsov at ru.mvista.com>
    Cc: Matt Fleming <matt at console-pimps.org>
    Cc: Ian Molton <ian at mnementh.co.uk>
    Cc: "Roberto A. Foglietta" <roberto.foglietta at gmail.com>
    Cc: Pierre Ossman <drzeus at drzeus.cx>
    Signed-off-by: Andrew Morton <akpm at linux-foundation.org>
    Signed-off-by: Linus Torvalds <torvalds at linux-foundation.org>

commit cab8bd3410d448279e3bd0fbf96d31db0bf770fa
Author: Hidetoshi Seto <seto.hidetoshi at jp.fujitsu.com>
Date:   Wed Jul 29 15:04:14 2009 -0700

    sysrq, kdump: make sysrq-c consistent
    
    commit d6580a9f15238b87e618310c862231ae3f352d2d ("kexec: sysrq: simplify
    sysrq-c handler") changed the behavior of sysrq-c to unconditional
    dereference of NULL pointer.  So in cases with CONFIG_KEXEC, where
    crash_kexec() was directly called from sysrq-c before, now it can be said
    that a step of "real oops" was inserted before starting kdump.
    
    However, in contrast to oops via SysRq-c from keyboard which results in
    panic due to in_interrupt(), oops via "echo c > /proc/sysrq-trigger" will
    not become panic unless panic_on_oops=1.  It means that even if dump is
    properly configured to be taken on panic, the sysrq-c from proc interface
    might not start crashdump while the sysrq-c from keyboard can start
    crashdump.  This confuses traditional users of kdump, i.e.  people who
    expect sysrq-c to do common behavior in both of the keyboard and proc
    interface.
    
    This patch brings the keyboard and proc interface behavior of sysrq-c in
    line, by forcing panic_on_oops=1 before oops in sysrq-c handler.
    
    And some updates in documentation are included, to clarify that there is
    no longer dependency with CONFIG_KEXEC, and that now the system can just
    crash by sysrq-c if no dump mechanism is configured.
    
    Signed-off-by: Hidetoshi Seto <seto.hidetoshi at jp.fujitsu.com>
    Cc: Lai Jiangshan <laijs at cn.fujitsu.com>
    Cc: Ken'ichi Ohmichi <oomichi at mxs.nes.nec.co.jp>
    Acked-by: Neil Horman <nhorman at tuxdriver.com>
    Acked-by: Vivek Goyal <vgoyal at redhat.com>
    Cc: Brayan Arraes <brayan at yack.com.br>
    Cc: Eric W. Biederman <ebiederm at xmission.com>
    Signed-off-by: Andrew Morton <akpm at linux-foundation.org>
    Signed-off-by: Linus Torvalds <torvalds at linux-foundation.org>

commit f5a55efa140f5e9c9dd0f398fef54f20cdb74ec9
Author: Dave Jones <davej at redhat.com>
Date:   Wed Jul 29 15:04:12 2009 -0700

    pps.h needs <linux/types.h>
    
    Found with make headers_check
    
    /usr/include/linux/pps.h:52: found __[us]{8,16,32,64} type without #include <linux/types.h>
    
    Signed-off-by: Dave Jones <davej at redhat.com>
    Cc: Rodolfo Giometti <giometti at linux.it>
    Signed-off-by: Andrew Morton <akpm at linux-foundation.org>
    Signed-off-by: Linus Torvalds <torvalds at linux-foundation.org>

commit 5c8053652328693d10551131432ef3573e77ed2d
Author: Catalin Marinas <catalin.marinas at arm.com>
Date:   Wed Jul 29 15:04:11 2009 -0700

    fs/ramfs/file-nommu.c needs include/linux/sched.h
    
    This file makes use of various macros defined in files like asm/current.h
    or asm-generic/resource.h.  All these files can be included via sched.h.
    The building of the !MMU ARM kernel (with additional patches) fails
    without this change.
    
    Signed-off-by: Catalin Marinas <catalin.marinas at arm.com>
    Acked-by: David Howells <dhowells at redhat.com>
    Signed-off-by: Andrew Morton <akpm at linux-foundation.org>
    Signed-off-by: Linus Torvalds <torvalds at linux-foundation.org>

commit 1c29b3ff4f2d847464f7be3a0e179c6dfc69bd02
Author: Mel Gorman <mel at csn.ul.ie>
Date:   Wed Jul 29 15:04:10 2009 -0700

    net-dccp: suppress warning about large allocations from DCCP
    
    The DCCP protocol tries to allocate some large hash tables during
    initialisation using the largest size possible.  This can be larger than
    what the page allocator can provide so it prints a warning.  However, the
    caller is able to handle the situation so this patch suppresses the
    warning.
    
    Signed-off-by: Mel Gorman <mel at csn.ul.ie>
    Acked-by: Arnaldo Carvalho de Melo <acme at redhat.com>
    Cc: "David S. Miller" <davem at davemloft.net>
    Cc: "Rafael J. Wysocki" <rjw at sisk.pl>
    Signed-off-by: Andrew Morton <akpm at linux-foundation.org>
    Signed-off-by: Linus Torvalds <torvalds at linux-foundation.org>

commit b62f495dad04fa94b5083aec638ff3072bccaaca
Author: Mel Gorman <mel at csn.ul.ie>
Date:   Wed Jul 29 15:04:09 2009 -0700

    profile: suppress warning about large allocations when profile=1 is specified
    
    When profile= is used, a large buffer is allocated early at boot.  This
    can be larger than what the page allocator can provide so it prints a
    warning.  However, the caller is able to handle the situation so this
    patch suppresses the warning.
    
    Signed-off-by: Mel Gorman <mel at csn.ul.ie>
    Cc: "Rafael J. Wysocki" <rjw at sisk.pl>
    Signed-off-by: Andrew Morton <akpm at linux-foundation.org>
    Signed-off-by: Linus Torvalds <torvalds at linux-foundation.org>

commit 1fc28b70fe2dbf87e061b6ce5091a1f8e4e5d4e7
Author: Mel Gorman <mel at csn.ul.ie>
Date:   Wed Jul 29 15:04:08 2009 -0700

    page-allocator: allow too high-order warning messages to be suppressed with __GFP_NOWARN
    
    The page allocator warns once when an order >= MAX_ORDER is specified.
    This is to catch callers of the allocator that are always falling back to
    their worst-case when it was not expected.  However, there are cases where
    the caller is behaving correctly but cannot suppress the warning.  This
    patch allows the warning to be suppressed by the callers by specifying
    __GFP_NOWARN.
    
    Signed-off-by: Mel Gorman <mel at csn.ul.ie>
    Acked-by: David Rientjes <rientjes at google.com>
    Cc: Arnaldo Carvalho de Melo <acme at redhat.com>
    Cc: "David S. Miller" <davem at davemloft.net>
    Cc: "Rafael J. Wysocki" <rjw at sisk.pl>
    Signed-off-by: Andrew Morton <akpm at linux-foundation.org>
    Signed-off-by: Linus Torvalds <torvalds at linux-foundation.org>

commit 887032670d47366a8c8f25396ea7c14b7b2cc620
Author: KAMEZAWA Hiroyuki <kamezawa.hiroyu at jp.fujitsu.com>
Date:   Wed Jul 29 15:04:06 2009 -0700

    cgroup avoid permanent sleep at rmdir
    
    After commit ec64f51545fffbc4cb968f0cea56341a4b07e85a ("cgroup: fix
    frequent -EBUSY at rmdir"), cgroup's rmdir (especially against memcg)
    doesn't return -EBUSY by temporary ref counts.  That commit expects all
    refs after pre_destroy() is temporary but...it wasn't.  Then, rmdir can
    wait permanently.  This patch tries to fix that and change followings.
    
     - set CGRP_WAIT_ON_RMDIR flag before pre_destroy().
     - clear CGRP_WAIT_ON_RMDIR flag when the subsys finds racy case.
       if there are sleeping ones, wakes them up.
     - rmdir() sleeps only when CGRP_WAIT_ON_RMDIR flag is set.
    
    Tested-by: Daisuke Nishimura <nishimura at mxp.nes.nec.co.jp>
    Reported-by: Daisuke Nishimura <nishimura at mxp.nes.nec.co.jp>
    Reviewed-by: Paul Menage <menage at google.com>
    Acked-by: Balbir Sigh <balbir at linux.vnet.ibm.com>
    Signed-off-by: KAMEZAWA Hiroyuki <kamezawa.hiroyu at jp.fujitsu.com>
    Signed-off-by: Andrew Morton <akpm at linux-foundation.org>
    Signed-off-by: Linus Torvalds <torvalds at linux-foundation.org>

commit f0d83679a8d471dc8b646919f70595d6fe8c9606
Author: Sebastian Heutling <heutling at who-ing.de>
Date:   Wed Jul 29 15:04:05 2009 -0700

    eeprom/at25: bugfix "not ready" timeout after write
    
    Under certain circumstances msleep(1) within the loop, which waits for the
    EEPROM to be finished, might take longer than the timeout.  On the next
    loop the status register might now return to be ready and therefore the
    loop finishes.  The following check now tests if a timeout occurred and if
    so returns an error although the device reported it was ready.
    
    This fix replaces testing the occurrence of the timeout by testing the
    "not ready" bit in the status register.
    
    Signed-off-by: Sebastian Heutling <heutling at who-ing.de>
    Signed-off-by: David Brownell <dbrownell at users.sourceforge.net>
    Signed-off-by: Andrew Morton <akpm at linux-foundation.org>
    Signed-off-by: Linus Torvalds <torvalds at linux-foundation.org>

commit 096b7fe012d66ed55e98bc8022405ede0cc80e96
Author: Li Zefan <lizf at cn.fujitsu.com>
Date:   Wed Jul 29 15:04:04 2009 -0700

    cgroups: fix pid namespace bug
    
    The bug was introduced by commit cc31edceee04a7b87f2be48f9489ebb72d264844
    ("cgroups: convert tasks file to use a seq_file with shared pid array").
    
    We cache a pid array for all threads that are opening the same "tasks"
    file, but the pids in the array are always from the namespace of the
    last process that opened the file, so all other threads will read pids
    from that namespace instead of their own namespaces.
    
    To fix it, we maintain a list of pid arrays, which is keyed by pid_ns.
    The list will be of length 1 at most time.
    
    Reported-by: Paul Menage <menage at google.com>
    Idea-by: Paul Menage <menage at google.com>
    Signed-off-by: Li Zefan <lizf at cn.fujitsu.com>
    Reviewed-by: Serge Hallyn <serue at us.ibm.com>
    Cc: Balbir Singh <balbir at in.ibm.com>
    Signed-off-by: Andrew Morton <akpm at linux-foundation.org>
    Signed-off-by: Linus Torvalds <torvalds at linux-foundation.org>

commit b317c833211b7fbf902163de766f09554090e0bf
Author: Kristoffer Ericson <kristoffer.ericson at gmail.com>
Date:   Wed Jul 29 15:04:03 2009 -0700

    drivers/video/backlight/jornada720_bl.c: fix build
    
    Signed-off-by: Kristoffer Ericson <kristoffer.ericson at gmail.com>
    Cc: Richard Purdie <rpurdie at rpsys.net>
    Signed-off-by: Andrew Morton <akpm at linux-foundation.org>
    Signed-off-by: Linus Torvalds <torvalds at linux-foundation.org>

commit 3fc7b4b220c7e830a5b3ce0ea5f85a635e0c50f0
Author: Roland Dreier <rdreier at cisco.com>
Date:   Wed Jul 29 15:04:02 2009 -0700

    lib: export generic atomic64_t functions
    
    The generic atomic64_t implementation in lib/ did not export the functions
    it defined, which means that modules that use atomic64_t would not link on
    platforms (such as 32-bit powerpc).  For example, trying to build a kernel
    with CONFIG_NET_RDS on such a platform would fail with:
    
        ERROR: "atomic64_read" [net/rds/rds.ko] undefined!
        ERROR: "atomic64_set" [net/rds/rds.ko] undefined!
    
    Fix this by exporting the atomic64_t functions to modules.  (I export the
    entire API even if it's not all currently used by in-tree modules to avoid
    having to continue fixing this in dribs and drabs)
    
    Signed-off-by: Roland Dreier <rolandd at cisco.com>
    Acked-by: Paul Mackerras <paulus at samba.org>
    Signed-off-by: Andrew Morton <akpm at linux-foundation.org>
    Signed-off-by: Linus Torvalds <torvalds at linux-foundation.org>

commit e4c6f8bed01f9f9a5c607bd689bf67e7b8a36bd8
Author: Eric Sandeen <sandeen at sandeen.net>
Date:   Wed Jul 29 15:02:16 2009 -0700

    hugetlbfs: fix i_blocks accounting
    
    As reported in Red Hat bz #509671, i_blocks for files on hugetlbfs get
    accounting wrong when doing something like:
    
       $ > foo
       $ date  > foo
       date: write error: Invalid argument
       $ /usr/bin/stat foo
         File: `foo'
         Size: 0          Blocks: 18446744073709547520 IO Block: 2097152 regular
    ...
    
    This is because hugetlb_unreserve_pages() is unconditionally removing
    blocks_per_huge_page(h) on each call rather than using the freed amount.
    If there were 0 blocks, it goes negative, resulting in the above.
    
    This is a regression from commit a5516438959d90b071ff0a484ce4f3f523dc3152
    ("hugetlb: modular state for hugetlb page size")
    
    which did:
    
    -	inode->i_blocks -= BLOCKS_PER_HUGEPAGE * freed;
    +	inode->i_blocks -= blocks_per_huge_page(h);
    
    so just put back the freed multiplier, and it's all happy again.
    
    Signed-off-by: Eric Sandeen <sandeen at redhat.com>
    Acked-by: Andi Kleen <andi at firstfloor.org>
    Cc: William Lee Irwin III <wli at holomorphy.com>
    Cc: <stable at kernel.org>
    Signed-off-by: Andrew Morton <akpm at linux-foundation.org>
    Signed-off-by: Linus Torvalds <torvalds at linux-foundation.org>

commit 659098141d02eb8e3545be8969d262e02d2f3f98
Author: Thadeu Lima de Souza Cascardo <cascardo at holoscopio.com>
Date:   Wed Jul 29 15:02:13 2009 -0700

    rtc: mark if rtc-cmos drivers were successfully registered
    
    rtc-cmos has two drivers, one PNP and one platform.  When PNP has not
    succeeded probing, platform is registered.  However, it tries to
    unregister both drivers unconditionally, instead of only unregistering
    those that were successfully registered.  This causes runtime warnings to
    be emitted from the driver core code.
    
    Fix this with a boolean variable for each driver indicating whether
    registering was successful.
    
    Signed-off-by: Thadeu Lima de Souza Cascardo <cascardo at holoscopio.com>
    Cc: David Brownell <david-b at pacbell.net>
    Cc: Bjorn Helgaas <bjorn.helgaas at hp.com>
    Cc: Alessandro Zummo <alessandro.zummo at towertech.it>
    Cc: Ingo Molnar <mingo at elte.hu>
    Cc: David Brownell <david-b at pacbell.net>
    Cc: Kay Sievers <kay.sievers at vrfy.org>
    Cc: Greg KH <greg at kroah.com>
    Cc: Ozan Caglayan <ozan at pardus.org.tr>
    Signed-off-by: Andrew Morton <akpm at linux-foundation.org>
    Signed-off-by: Linus Torvalds <torvalds at linux-foundation.org>

commit 57c5c28dbc835c67a9c23912bab56b7f165e7715
Author: Eero Nurkkala <ext-eero.nurkkala at nokia.com>
Date:   Wed Jul 29 15:02:12 2009 -0700

    spi: omap2_mcspi rxdma bugfix
    
    When data is read through DMA, the last element must be read separately
    through the RX register.  It cannot be transferred by the DMA.  For
    further details see e.g.  OMAP35x TRM (table 19-16).
    
    Without the fix the driver causes extra clocks to be clocked to the bus
    after DMA RX operations.  This can cause interesting behaviour with some
    devices.
    
    Signed-off-by: Juuso Oikarinen <juuso.oikarinen at nokia.com>
    Signed-off-by: Eero Nurkkala <ext-eero.nurkkala at nokia.com>
    [aaro.koskinen at nokia.com: Simplified the patch while keeping the idea.]
    Signed-off-by: Aaro Koskinen <aaro.koskinen at nokia.com>
    Signed-off-by: David Brownell <dbrownell at users.sourceforge.net>
    Signed-off-by: Andrew Morton <akpm at linux-foundation.org>
    Signed-off-by: Linus Torvalds <torvalds at linux-foundation.org>

commit ddb22195cb3dc5175ba3aac5e957d0e34cd2ee73
Author: Jouni Hogander <jouni.hogander at nokia.com>
Date:   Wed Jul 29 15:02:11 2009 -0700

    spi: omap2_mcspi supports wake events
    
    Currently mcspi wake-ups are not enabled.  This might cause cases where
    OMAP is not waking up on mcspi events.
    
    Signed-off-by: Jouni Hogander <jouni.hogander at nokia.com>
    Signed-off-by: Tony Lindgren <tony at atomide.com>
    Signed-off-by: David Brownell <dbrownell at users.sourceforge.net>
    Signed-off-by: Andrew Morton <akpm at linux-foundation.org>
    Signed-off-by: Linus Torvalds <torvalds at linux-foundation.org>

commit c42b110caeb128819104d057acdaa1ae564b7c8d
Author: Pawel Osciak <p.osciak at samsung.com>
Date:   Wed Jul 29 15:02:10 2009 -0700

    s3c-fb: fix off-by-one bug in loop indexes
    
    Fixed off-by-one bug in loop indexes - some elements beyond windows' array
    were accessed, which might result in memory access violations when
    removing/suspending the device.
    
    Signed-off-by: Pawel Osciak <p.osciak at samsung.com>
    Reviewed-by: Kyungmin Park <kyungmin.park at samsung.com>
    Signed-off-by: Marek Szyprowski <m.szyprowski at samsung.com>
    Cc: Krzysztof Helt <krzysztof.h1 at poczta.fm>
    Cc: Ben Dooks <ben-linux at fluff.org>
    Cc: Russell King <rmk at arm.linux.org.uk>
    Signed-off-by: Andrew Morton <akpm at linux-foundation.org>
    Signed-off-by: Linus Torvalds <torvalds at linux-foundation.org>

commit 3d768213a6c34a27fac1804143da8cf18b8b175f
Author: Lu Zhihe <tombowfly at gmail.com>
Date:   Wed Jul 29 15:02:09 2009 -0700

    edac: x38 fix mchbar high register addr
    
    Intel X38 MCHBAR is a 64bits register, base from 0x48, so its higher base
    is 0x4C.
    
    Signed-off-by: Lu Zhihe <tombowfly at gmail.com>
    Signed-off-by: Doug Thompson <dougthompson at xmission.com>
    Cc: <stable at kernel.org>		[2.6.30.x]
    Signed-off-by: Andrew Morton <akpm at linux-foundation.org>
    Signed-off-by: Linus Torvalds <torvalds at linux-foundation.org>

commit 11c7da4b0ca76a57f51c996c883c480e203cf5a9
Author: Hidetoshi Seto <seto.hidetoshi at jp.fujitsu.com>
Date:   Wed Jul 29 15:02:08 2009 -0700

    kexec: fix omitting offset in extended crashkernel syntax
    
    Setting
     "crashkernel=512M-2G:64M,2G-:128M"
    does not work but it turns to work if it has a trailing-whitespace,
    like
     "crashkernel=512M-2G:64M,2G-:128M ".
    
    It was because of a bug in the parser, running over the cmdline.
    
    This patch adds a check of the termination.
    
    Reported-by: Jin Dongming <jin.dongming at np.css.fujitsu.com>
    Signed-off-by: Hidetoshi Seto <seto.hidetoshi at jp.fujitsu.com>
    Tested-by: Jin Dongming <jin.dongming at np.css.fujitsu.com>
    Signed-off-by: Andrew Morton <akpm at linux-foundation.org>
    Signed-off-by: Linus Torvalds <torvalds at linux-foundation.org>

commit 933b787b57ca8bdc0fc8fb2cbf67b5e6d21beb84
Author: Rik van Riel <riel at redhat.com>
Date:   Wed Jul 29 15:02:07 2009 -0700

    mm: copy over oom_adj value at fork time
    
    Fix a post-2.6.31 regression which was introduced by
    2ff05b2b4eac2e63d345fc731ea151a060247f53 ("oom: move oom_adj value from
    task_struct to mm_struct").
    
    After moving the oom_adj value from the task struct to the mm_struct, the
    oom_adj value was no longer properly inherited by child processes.
    
    Copying over the oom_adj value at fork time fixes that bug.
    
    [kosaki.motohiro at jp.fujitsu.com: test for current->mm before dereferencing it]
    Signed-off-by: Rik van Riel <riel at redhat.com>
    Reported-by: Paul Menage <manage at google.com>
    Cc: KOSAKI Motohiro <kosaki.motohiro at jp.fujitsu.com>
    Acked-by: David Rientjes <rientjes at google.com>
    Signed-off-by: Andrew Morton <akpm at linux-foundation.org>
    Signed-off-by: Linus Torvalds <torvalds at linux-foundation.org>

commit 6583bb64fc370842b32a87c67750c26f6d559af0
Author: David Rientjes <rientjes at google.com>
Date:   Wed Jul 29 15:02:06 2009 -0700

    mm: avoid endless looping for oom killed tasks
    
    If a task is oom killed and still cannot find memory when trying with
    no watermarks, it's better to fail the allocation attempt than to loop
    endlessly.  Direct reclaim has already failed and the oom killer will
    be a no-op since current has yet to die, so there is no other
    alternative for allocations that are not __GFP_NOFAIL.
    
    Acked-by: Mel Gorman <mel at csn.ul.ie>
    Signed-off-by: David Rientjes <rientjes at google.com>
    Acked-by: Hugh Dickins <hugh.dickins at tiscali.co.uk>
    Signed-off-by: Andrew Morton <akpm at linux-foundation.org>
    Signed-off-by: Linus Torvalds <torvalds at linux-foundation.org>

commit e084b2d95e48b31aa45f9c49ffc6cdae8bdb21d4
Author: Mel Gorman <mel at csn.ul.ie>
Date:   Wed Jul 29 15:02:04 2009 -0700

    page-allocator: preserve PFN ordering when __GFP_COLD is set
    
    Fix a post-2.6.24 performace regression caused by
    3dfa5721f12c3d5a441448086bee156887daa961 ("page-allocator: preserve PFN
    ordering when __GFP_COLD is set").
    
    Narayanan reports "The regression is around 15%.  There is no disk controller
    as our setup is based on Samsung OneNAND used as a memory mapped device on a
    OMAP2430 based board."
    
    The page allocator tries to preserve contiguous PFN ordering when returning
    pages such that repeated callers to the allocator have a strong chance of
    getting physically contiguous pages, particularly when external fragmentation
    is low.  However, of the bulk of the allocations have __GFP_COLD set as they
    are due to aio_read() for example, then the PFNs are in reverse PFN order.
    This can cause performance degration when used with IO controllers that could
    have merged the requests.
    
    This patch attempts to preserve the contiguous ordering of PFNs for users of
    __GFP_COLD.
    
    Signed-off-by: Mel Gorman <mel at csn.ul.ie>
    Reported-by: Narayananu Gopalakrishnan <narayanan.g at samsung.com>
    Tested-by: Narayanan Gopalakrishnan <narayanan.g at samsung.com>
    Cc: KAMEZAWA Hiroyuki <kamezawa.hiroyu at jp.fujitsu.com>
    Cc: <stable at kernel.org>
    Signed-off-by: Andrew Morton <akpm at linux-foundation.org>
    Signed-off-by: Linus Torvalds <torvalds at linux-foundation.org>

commit 51fbb4bab6c8710eb897ab3fb06efbbc921f3a8d
Author: Matthew Wilcox <matthew at wil.cx>
Date:   Wed Jul 29 15:02:03 2009 -0700

    markup_oops: fix it with 32-bit userspace on a 64-bit kernel
    
    A 32-bit perl can't handle 64-bit addresses without using the BigInt
    package.
    
    Signed-off-by: Matthew Wilcox <willy at linux.intel.com>
    Acked-by: Arjan van de Ven <arjan at linux.intel.com>
    Signed-off-by: Andrew Morton <akpm at linux-foundation.org>
    Signed-off-by: Linus Torvalds <torvalds at linux-foundation.org>

commit cd086d3aa6f7f7bf4d4e1f9fa09af0f0b6bb99ec
Author: Sonasath, Moiz <m-sonasath at ti.com>
Date:   Tue Jul 21 10:15:12 2009 -0500

    i2c-omap: OMAP3430 Silicon Errata 1.153
    
    When an XRDY/XDR is hit, wait for XUDF before writing data to DATA_REG.
    Otherwise some data bytes can be lost while transferring them from the
    memory to the I2C interface.
    
    Do a Busy-wait for XUDF, before writing data to DATA_REG. While waiting
    if there is NACK | AL, set the appropriate error flags, ack the pending
    interrupts and return from the ISR.
    
    Signed-off-by: Moiz Sonasath <m-sonasath at ti.com>
    Signed-off-by: Vikram pandita <vikram.pandita at ti.com>
    [ben-linux at fluff.org: fixed mail format and added i2c-omap to subject]
    Signed-off-by: Ben Dooks <ben-linux at fluff.org>

commit 04c688dd7a65935568b44629bfaa122eddf76e94
Author: Sonasath, Moiz <m-sonasath at ti.com>
Date:   Tue Jul 21 10:14:40 2009 -0500

    i2c-omap: In case of a NACK|ARDY|AL return from the ISR
    
    In case of a NACK or ARDY or AL interrupt, complete the request.
    There is no need to service the RRDY/RDR or XRDY/XDR interrupts.
    
    Refer TRM SWPU114: Figure 18-31.I2C Master Transmitter Mode, Interrupt Method,
    in F/S and HS Modes
    
    http://focus.ti.com/pdfs/wtbu/SWPU114T_PrelimFinalEPDF_06_25_2009.pdf
    
    Signed-off-by: Moiz Sonasath <m-sonasath at ti.com>
    Signed-off-by: Vikram pandita <vikram.pandita at ti.com>
    [ben-linux at fluff.org: fixed mail format and added i2c-omap to subject]
    Signed-off-by: Ben Dooks <ben-linux at fluff.org>

commit bfb6b6588af5ff762222cee79152d2be738ccc06
Author: Sonasath, Moiz <m-sonasath at ti.com>
Date:   Tue Jul 21 10:14:06 2009 -0500

    i2c-omap: Bug in reading the RXSTAT/TXSTAT values from the I2C_BUFFSTAT register
    
    Fix bug in reading the I2C_BUFFSTAT register for getting byte count on RX/TX interrupt.
    
    On Interrupt: I2C_STAT[RDR],
    	read 'RXSTAT' from I2C_BUFFSTAT[8-13]
    On Interrupt: I2C_STAT[XDR]
    	read 'TXSTAT' from I2C_BUFFSTAT[0-5]
    
    Signed-off-by: Jagadeesh Pakaravoor <j-pakaravoor at ti.com>
    Signed-off-by: Moiz Sonasath <m-sonasath at ti.com>
    Signed-off-by: Vikram pandita <vikram.pandita at ti.com>
    [ben-linux at fluff.org: fixed mail format and added i2c-omap to subject]
    Signed-off-by: Ben Dooks <ben-linux at fluff.org>

commit ccb3bc16b4891a82649d4bccbeefe60b1d9a62e2
Author: Magnus Damm <damm at igel.co.jp>
Date:   Wed Jul 22 23:58:39 2009 +0900

    i2c-sh_mobile: change module_init() to subsys_initcall()
    
    Convert the i2c-sh_mobile i2c bus driver to use
    subsys_initcall() instead of module_init().
    
    This change makes the driver register a bit earlier which
    together with earlier platform data moves the time for probe().
    The earlier probe() makes it possible to use i2c_get_adapter()
    and i2c_transfer() from device_initcall().
    
    The same strategy is used by other i2c bus drivers such as
    i2c-pxa.c and i2c-s3c2410.c.
    
    Signed-off-by: Magnus Damm <damm at igel.co.jp>
    [ben-linux at fluff.org: minor subject updaye]
    Signed-off-by: Ben Dooks <ben-linux at fluff.org>

commit 783fd6fa4c144e3f6913e6fed89de10a6dd715a5
Author: Roel Kluin <roel.kluin at gmail.com>
Date:   Fri Jul 17 15:24:00 2009 +0200

    i2c: strncpy does not null terminate string
    
    strlcpy() will always null terminate the string.
    
    Signed-off-by: Roel Kluin <roel.kluin at gmail.com>
    Signed-off-by: Ben Dooks <ben-linux at fluff.org>

commit 0e014e92ba93d905bcb39881dce2d38807b90c34
Author: Peter Korsgaard <jacmet at sunsite.dk>
Date:   Fri Jul 17 22:33:37 2009 +0200

    i2c-s3c2410: s3c24xx_i2c_init: don't clobber IICLC value
    
    s3c24xx_i2c_init() was overwriting the IICLC value set just above in
    s3c24xx_i2c_clockrate() with zero, effectively disabling the platform
    line control setting.
    
    Signed-off-by: Peter Korsgaard <jacmet at sunsite.dk>
    Signed-off-by: Ben Dooks <ben-linux at fluff.org>

commit 9b71de49b030ad8fd4d13d38571b5c42dc9ed8dd
Author: Mark Brown <broonie at opensource.wolfsonmicro.com>
Date:   Wed Jul 15 13:03:35 2009 +0100

    S3C64XX: Fix ARMCLK configuration
    
    The value of armclk_mask needs to be inverted for use as a mask on
    the register value when updating ARM_RATIO.
    
    This is critical for cpufreq support, without it attempts to scale
    the frequency of the core trash pretty much the entire clock tree.
    
    Signed-off-by: Mark Brown <broonie at opensource.wolfsonmicro.com>
    Signed-off-by: Ben Dooks <ben-linux at fluff.org>

commit 1d91e1a296244690461a7c36d71710dfbabbc219
Author: Mark Brown <broonie at opensource.wolfsonmicro.com>
Date:   Wed Jul 15 13:03:34 2009 +0100

    S3C64XX: Fix get_rate() for ARMCLK
    
    If the requested clock is faster than the parent clock then the
    parent clock is the closest we can get to the request so we need
    to return that instead of the requested clock.
    
    Signed-off-by: Mark Brown <broonie at opensource.wolfsonmicro.com>
    Signed-off-by: Ben Dooks <ben-linux at fluff.org>

commit 0c997c0eaac8c68fa23719617484dae29bddaedd
Author: Lars-Peter Clausen <lars at metafoo.de>
Date:   Wed Jul 22 00:33:06 2009 +0200

    S3C24XX: GPIO: Fix pin range check in s3c_gpiolib_getchip
    
    In the s3c_gpiolib_getchip implementation for s3c24xx the check whether a pin is
    in the gpio banks range is reversed. Thus the function returns NULL for valid
    pins and the gpio chip if its not valid.
    
    As a result gpio states are not saved/restored properly during suspend/resume.
    
    Signed-off-by: Ben Dooks <ben-linux at fluff.org>

commit fb7a46f3cc7d7dcf7c5edb3a38c84e3f730d7adb
Author: ling.ma at intel.com <ling.ma at intel.com>
Date:   Thu Jul 23 17:11:34 2009 +0800

    drm/i915: Choose real sdvo output according to result from detection
    
    Baed on Eric's idea in order to handle multiple sdvo encoders
    we implement another approach to dynamically chose real one
    encoder after detection, which is contrasted with patch -
    drm/i915:Construct all possible sdvo outputs for sdvo encoder.
    
    Signed-off-by: Ma Ling <ling.ma at intel.com>
    Signed-off-by: Eric Anholt <eric at anholt.net>

commit bcae2ca81c4a085e3e0e8941b7c64f9aeb6fc05c
Author: ling.ma at intel.com <ling.ma at intel.com>
Date:   Mon Jul 20 13:20:23 2009 +0800

    drm/i915: Set preferred mode for integrated TV according to TV format
    
    In order to get best possible quality image we chose 640x480 for
    NTSC, PAL and 480p, 1280x720 for 720p, 1920x1080 for 1080i/p
    TV format respectively.
    
    Signed-off-by: Ma Ling <ling.ma at intel.com>
    Signed-off-by: Eric Anholt <eric at anholt.net>

commit f360132626b11d0dc60814033873ca0e3111677c
Author: Jesse Barnes <jbarnes at virtuousgeek.org>
Date:   Wed Jul 22 12:54:59 2009 -0700

    drm/i915: fix 845G FIFO size & burst length
    
    I had one report of flicker due to FIFO underruns on 845G.  Scott was
    kind enough to test a few patches and report success with this one.
    Looks like 845G measures FIFO size slightly differently than other
    chips, and we were also clobbering the FIFO burst length.  Fixing both
    of those issues gives him a healthy machine again.
    
    Note that we still only adjust plane A's watermark in the 830/845
    case.  If someone is willing to test we could support a bigger variety
    of dual-head 830/845 configurations with a bit more code.
    
    Fixes fdo bug #19304 (again).
    
    Reported-by: Scott Hansen <scottandchrystie at comcast.net>
    Tested-by: Scott Hansen <scottandchrystie at comcast.net>
    Signed-off-by: Jesse Barnes <jbarnes at virtuousgeek.org>
    Signed-off-by: Eric Anholt <eric at anholt.net>

commit 67941da28d59cca6817d35823fcb1e3e4eed030e
Author: Zhenyu Wang <zhenyuw at linux.intel.com>
Date:   Fri Jul 24 01:00:33 2009 +0800

    drm/i915: fix VGA detect on IGDNG
    
    Check FORCE_DETECT bit to be clear for the finish
    of hotplug detect process. Also check possible mono
    monitor which should also be marked as connected.
    
    Signed-off-by: Zhenyu Wang <zhenyuw at linux.intel.com>
    Signed-off-by: Eric Anholt <eric at anholt.net>

commit 32f9d658aee5be09ebdd28fc730630e61d0b46db
Author: Zhenyu Wang <zhenyuw at linux.intel.com>
Date:   Fri Jul 24 01:00:32 2009 +0800

    drm/i915: Add eDP support on IGDNG mobile chip
    
    This adds embedded DisplayPort support on next mobile chip which
    aims to replace origin LVDS port. VBT's driver feature block has
    been used to determine the type of current internal panel for eDP
    or LVDS.
    
    Currently no panel fitting support for eDP and backlight control
    would be added in future.
    
    Signed-off-by: Zhenyu Wang <zhenyuw at linux.intel.com>
    Signed-off-by: Eric Anholt <eric at anholt.net>

commit 5eb08b69f510fadaba77eb9a1bda0f7299c4ebcc
Author: Zhenyu Wang <zhenyuw at linux.intel.com>
Date:   Fri Jul 24 01:00:31 2009 +0800

    drm/i915: enable DisplayPort support on IGDNG
    
    Signed-off-by: Zhenyu Wang <zhenyuw at linux.intel.com>
    Signed-off-by: Eric Anholt <eric at anholt.net>

commit eebc863e469cd91d96c4e3636450596ae29f0502
Author: Zhenyu Wang <zhenyuw at linux.intel.com>
Date:   Fri Jul 24 01:00:30 2009 +0800

    drm/i915: Fix channel ending action for DP aux transaction
    
    We should use current channel 'status' bits to clear DP aux channel's
    done and error bits, instead of using the channel setting bits, that
    will set send/busy bit again to initiate new transaction.
    
    This also includes also some minor cleanup.
    
    Signed-off-by: Zhenyu Wang <zhenyuw at linux.intel.com>
    Signed-off-by: Eric Anholt <eric at anholt.net>

commit 249c0e64c24bf455a4e4815f72750f2b16cedd94
Author: Zhenyu Wang <zhenyuw at linux.intel.com>
Date:   Fri Jul 24 01:00:29 2009 +0800

    drm/i915: fix issue in display pipe setup on IGDNG
    
    During pipe DPMS off, instead of busy waiting pipe off, insert
    delays during wait and don't loop after enough tries which matches
    spec requirement. Also try to match DPMS on path by disable FDI TX
    PLL in DPMS off. Disable PF by writing PF_WIN_SZ which really trigger
    the update.
    
    Signed-off-by: Zhenyu Wang <zhenyuw at linux.intel.com>
    Signed-off-by: Eric Anholt <eric at anholt.net>

commit 24f119c769bacac5729297b682fec7811a983cc6
Author: Zhenyu Wang <zhenyuw at linux.intel.com>
Date:   Fri Jul 24 01:00:28 2009 +0800

    drm/i915: disable VGA plane reliably
    
    This does VGA disable like DDX driver. SR01 bit 5 should be set
    before VGA plane disable through control register, otherwise we
    might get random crash and lockups.
    
    Signed-off-by: Zhenyu Wang <zhenyuw at linux.intel.com>
    Signed-off-by: Eric Anholt <eric at anholt.net>

commit cdaa052b05e26d96a990af5d253fd2af5db2b1fc
Author: Zhao Yakui <yakui.zhao at intel.com>
Date:   Tue Jul 28 10:54:13 2009 +0800

    drm/I915: Fix offset to DVO timings in LVDS data
    
    Now the DVO timing in LVDS data entry is obtained by using the
    following step:
        a. get the entry size for every LVDS panel data
        b. Get the LVDS fp entry for the preferred panel type
        c. get the DVO timing by using entry->dvo_timing
    
    In our driver the entry->dvo_timing is related with the size of
    lvds_fp_timing. For example: the size is 46.
    
    But it seems that the size of lvds_fp_timing varies on the differnt
    platform. In such case we will get the incorrect DVO timing entry
    because of the incorrect DVO offset in LVDS panel data entry.
    This also removes a hack on new IGDNG to get proper DVO timing.
    
    Calculate the DVO timing offset in LVDS data entry to get the DVO timing
        a. get the DVO timing offset in the LVDS fp data entry by using the
    pointer definition in LVDS data ptr
        b. get the LVDS data entry
        c. get the DVO timing by adding the DVO timing offset to data entry
    
    https://bugs.freedesktop.org/show_bug.cgi?id=22787
    
    Signed-off-by: Zhao Yakui <yakui.zhao at intel.com>
    Tested-by: Zhenyu Wang <zhenyuw at linux.intel.com>
    Acked-by: Jesse Barnes <jbarnes at virtuousgeek.org>
    Signed-off-by: Eric Anholt <eric at anholt.net>

commit f5886c7f96f2542382d3a983c5f13e03d7fc5259
Author: Catalin Marinas <catalin.marinas at arm.com>
Date:   Wed Jul 29 16:26:57 2009 +0100

    kmemleak: Protect the seq start/next/stop sequence by rcu_read_lock()
    
    Objects passed to kmemleak_seq_next() have an incremented reference
    count (hence not freed) but they may point via object_list.next to
    other freed objects. To avoid this, the whole start/next/stop sequence
    must be protected by rcu_read_lock().
    
    Signed-off-by: Catalin Marinas <catalin.marinas at arm.com>
    Signed-off-by: Linus Torvalds <torvalds at linux-foundation.org>

commit 84210aeb4a6a77de8a3067b121026bad630cd3da
Merge: 7d4dd028b022ddf8631b4530ed8d7777526f545e ed8f0d9e708a1a7c9222e7d0a35d97521e904223
Author: Linus Torvalds <torvalds at linux-foundation.org>
Date:   Wed Jul 29 12:31:59 2009 -0700

    Merge branch 'drm-radeon-kms' of git://git.kernel.org/pub/scm/linux/kernel/git/airlied/drm-2.6
    
    * 'drm-radeon-kms' of git://git.kernel.org/pub/scm/linux/kernel/git/airlied/drm-2.6: (35 commits)
      drm/radeon: set fb aperture sizes for framebuffer handoff.
      drm/ttm: fix highuser vs dma32 confusion.
      drm/radeon: Fix size used for benchmarking BO copies.
      drm/radeon: Add radeon.test parameter for running BO GPU copy tests.
      drm/radeon/kms: allow interruptible waits for objects.
      drm/ttm: powerpc: Fix Highmem cache flushing.
      x86: Export kmap_atomic_prot() needed for TTM.
      drm/ttm: Fix ttm in-kernel copying of pages with non-standard caching attributes.
      drm/ttm: Fix an oops and sync object leak.
      drm/radeon/kms: vram sizing on certain r100 chips needs workaround.
      drm/radeon: Pay more attention to object placement requested by userspace.
      drm/radeon: Fall back to evicting BOs with memcpy if necessary.
      drm/radeon: Don't unreserve twice on failure to validate.
      drm/radeon/kms: fix bandwidth computation on avivo hardware
      drm/radeon/kms: add initial colortiling support.
      drm/radeon/kms: fix hotspot handling on pre-avivo chips
      drm/radeon/kms: enable frac fb divs on rs600/rs690/rs740
      drm/radeon/kms: add PLL flag to prefer frequencies <= the target freq
      drm/radeon/kms: block RN50 from using 3D engine.
      drm/radeon/kms: fix VRAM sizing like DDX does it.
      ...

commit 7d4dd028b022ddf8631b4530ed8d7777526f545e
Merge: 2e13e5f03538cfded0c463fd60eddd0c8e2cd959 68dbcb726e372b3c8ef60b79b5aff4174dd2bdf0
Author: Linus Torvalds <torvalds at linux-foundation.org>
Date:   Wed Jul 29 12:30:54 2009 -0700

    Merge branch 'zero-length' of git://git.kernel.org/pub/scm/linux/kernel/git/jgarzik/misc-2.6
    
    * 'zero-length' of git://git.kernel.org/pub/scm/linux/kernel/git/jgarzik/misc-2.6:
      Remove zero-length file drivers/char/vr41xx_giu.c

commit 2e13e5f03538cfded0c463fd60eddd0c8e2cd959
Merge: ccf5675a82a72bc1599b9b29cf33f7e391658485 5920dadfb4aec6c1372c5570e71bcd3b4837e63c
Author: Linus Torvalds <torvalds at linux-foundation.org>
Date:   Wed Jul 29 12:29:39 2009 -0700

    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:
      libata: accept late unlocking of HPA
      libata: Updates and fixes for pata_at91 driver
      ata_piix: Add new short cable ID
      ata_piix: Add new laptop short cable IDs
      ahci: add device IDs for Ibex Peak ahci controllers
      libata: remove superfluous NULL pointer checks
      libata: add missing NULL pointer check to ata_eh_reset()
      pata_pcmcia: add CNF-CDROM-ID

commit ccf5675a82a72bc1599b9b29cf33f7e391658485
Merge: b7ebbb77f183061eb34dd210372d016c04371c26 a39ea210ec8c8f6ed381f8dafbe755c57b8f30c3
Author: Linus Torvalds <torvalds at linux-foundation.org>
Date:   Wed Jul 29 12:29:08 2009 -0700

    Merge git://git.kernel.org/pub/scm/linux/kernel/git/gregkh/driver-core-2.6
    
    * git://git.kernel.org/pub/scm/linux/kernel/git/gregkh/driver-core-2.6:
      driver core: documentation: make it clear that sysfs is optional
      driver core: sysdev: do not send KOBJ_ADD uevent if kobject_init_and_add fails
      Dynamic debug: fix typo: -/->
      driver core: firmware_class:fix memory leak of page pointers array
      sysfs: fix hardlink count on device_move

commit b7ebbb77f183061eb34dd210372d016c04371c26
Merge: 7de8b9261d6abbb2bd71aab6a5ac0981696dcd2c fb29900217bd89370974870d47cab07bad3e5ac4
Author: Linus Torvalds <torvalds at linux-foundation.org>
Date:   Wed Jul 29 12:28:49 2009 -0700

    Merge git://git.kernel.org/pub/scm/linux/kernel/git/gregkh/staging-2.6
    
    * git://git.kernel.org/pub/scm/linux/kernel/git/gregkh/staging-2.6:
      staging: udlfb: Add vmalloc.h include
      staging: remove aten2011 driver
      Staging: android: lowmemorykiller.c: fix it for "oom: move oom_adj value from task_struct to mm_struct"
      Staging: serqt_usb2: fix memory leak in error case
      Staging: serqt_usb2: add missing calls to tty_kref_put()

commit 7de8b9261d6abbb2bd71aab6a5ac0981696dcd2c
Merge: e043e42bdb66885b3ac10d27a01ccb9972e2b0a3 c92bcfa7b4038d8ffe1f02e21269f18eb0b64144
Author: Linus Torvalds <torvalds at linux-foundation.org>
Date:   Wed Jul 29 12:28:23 2009 -0700

    Merge git://git.kernel.org/pub/scm/linux/kernel/git/gregkh/usb-2.6
    
    * git://git.kernel.org/pub/scm/linux/kernel/git/gregkh/usb-2.6: (34 commits)
      USB: xhci: Stall handling bug fixes.
      USB: xhci: Support for 64-byte contexts
      USB: xhci: Always align output device contexts to 64 bytes.
      USB: xhci: Scratchpad buffer allocation
      USB: Fix parsing of SuperSpeed Endpoint Companion descriptor.
      USB: xhci: Fail gracefully if there's no SS ep companion descriptor.
      USB: xhci: Handle babble errors on transfers.
      USB: xhci: Setup HW retries correctly.
      USB: xhci: Check if the host controller died in IRQ handler.
      USB: xhci: Don't oops if the host doesn't halt.
      USB: xhci: Make debugging more verbose.
      USB: xhci: Correct Event Handler Busy flag usage.
      USB: xhci: Handle short control packets correctly.
      USB: xhci: Represent 64-bit addresses with one u64.
      USB: xhci: Use GFP_ATOMIC while holding spinlocks.
      USB: xhci: Deal with stalled endpoints.
      USB: xhci: Set TD size in transfer TRB.
      USB: xhci: fix less- and greater than confusion
      USB: usbtest: no need for USB_DEVICEFS
      USB: musb: fix CONFIGDATA register read issue
      ...

commit e043e42bdb66885b3ac10d27a01ccb9972e2b0a3
Author: OGAWA Hirofumi <hirofumi at mail.parknet.co.jp>
Date:   Wed Jul 29 12:15:56 2009 -0700

    pty: avoid forcing 'low_latency' tty flag
    
    We really don't want to mark the pty as a low-latency device, because as
    Alan points out, the ->write method can be called from an IRQ (ppp?),
    and that means we can't use ->low_latency=1 as we take mutexes in the
    low_latency case.
    
    So rather than using low_latency to force the written data to be pushed
    to the ldisc handling at 'write()' time, just make the reader side (or
    the poll function) do the flush when it checks whether there is data to
    be had.
    
    This also fixes the problem with lost data in an emacs compile buffer
    (bugzilla 13815), and we can thus revert the low_latency pty hack
    (commit 3a54297478e6578f96fd54bf4daa1751130aca86: "pty: quickfix for the
    pty ENXIO timing problems").
    
    Signed-off-by: OGAWA Hirofumi <hirofumi at mail.parknet.co.jp>
    Tested-by: Aneesh Kumar K.V <aneesh.kumar at linux.vnet.ibm.com>
    [ Modified to do the tty_flush_to_ldisc() inside input_available_p() so
      that it triggers for both read and poll()  - Linus]
    Signed-off-by: Linus Torvalds <torvalds at linux-foundation.org>

commit dddac6a7b445de95515f64fdf82fe5dc36c02f26
Author: Alan Jenkins <alan-jenkins at tuffmail.co.uk>
Date:   Wed Jul 29 21:07:55 2009 +0200

    PM / Hibernate: Replace bdget call with simple atomic_inc of i_count
    
    Create bdgrab().  This function copies an existing reference to a
    block_device.  It is safe to call from any context.
    
    Hibernation code wishes to copy a reference to the active swap device.
    Right now it calls bdget() under a spinlock, but this is wrong because
    bdget() can sleep.  It doesn't need a full bdget() because we already
    hold a reference to active swap devices (and the spinlock protects
    against swapoff).
    
    Fixes http://bugzilla.kernel.org/show_bug.cgi?id=13827
    
    Signed-off-by: Alan Jenkins <alan-jenkins at tuffmail.co.uk>
    Signed-off-by: Rafael J. Wysocki <rjw at sisk.pl>

commit ec79be26875f6c1468784876cb99192b7f41c7a5
Author: Bartlomiej Zolnierkiewicz <bzolnier at gmail.com>
Date:   Wed Jul 29 21:07:47 2009 +0200

    PM / ACPI: HP G7000 Notebook needs a SCI_EN resume quirk
    
    This fixes regression (battery "vanishing" on resume) introduced by
    commit d0c71fe7ebc180f1b7bc7da1d39a07fc19eec768 ("ACPI Suspend: Enable
    ACPI during resume if SCI_EN is not set") and also the issue with
    the "screaming" IRQ 9.
    
    Fixes http://bugzilla.kernel.org/show_bug.cgi?id=13745
    
    Reported-and-tested-by: Alan Jenkins <alan-jenkins at tuffmail.co.uk>
    Cc: stable at kernel.org
    Signed-off-by: Bartlomiej Zolnierkiewicz <bzolnier at gmail.com>
    Acked-by: Len Brown <lenb at kernel.org>
    Signed-off-by: Rafael J. Wysocki <rjw at sisk.pl>

commit 89c3a8aca28e6d57f2ae945d97858a372d624b81
Author: Johannes Berg <johannes at sipsolutions.net>
Date:   Tue Jul 28 18:10:17 2009 +0200

    mac80211: fix suspend
    
    Jan reported that his b43-based laptop hangs during suspend.
    The problem turned out to be mac80211 asking the driver to
    stop the hardware before removing interfaces, and interface
    removal caused b43 to touch the hardware (while down, which
    causes the hang).
    
    This patch fixes mac80211 to do reorder these operations to
    have them in the correct order -- first remove interfaces
    and then stop the hardware. Some more code is necessary to
    be able to do so in a race-free manner, in particular it is
    necessary to not process frames received during quiescing.
    
    Fixes http://bugzilla.kernel.org/show_bug.cgi?id=13337.
    
    Reported-by: Jan Scholz <scholz at fias.uni-frankfurt.de>
    Signed-off-by: Johannes Berg <johannes at sipsolutions.net>
    Signed-off-by: John W. Linville <linville at tuxdriver.com>

commit 57921c312e8cef72ba35a4cfe870b376da0b1b87
Author: Roel Kluin <roel.kluin at gmail.com>
Date:   Tue Jul 28 12:05:00 2009 +0200

    libertas: Read buffer overflow
    
    Several arrays were read before checking whether the index was within
    bounds. ARRAY_SIZE() should be used to determine the size of arrays.
    
    rates->rates has an arraysize of 1, so calling get_common_rates()
    with a rates_size of MAX_RATES (14) was causing reads out of bounds.
    
    tmp_size can increment at most to (ARRAY_SIZE(lbs_bg_rates) - 1) *
    (*rates_size - 1), so that should be the number of elements of tmp[].
    
    A goto can be eliminated: ret was already set upon its declaration.
    
    Signed-off-by: Roel Kluin <roel.kluin at gmail.com>
    Signed-off-by: John W. Linville <linville at tuxdriver.com>

commit 430453fc2a5f3f2c1d98ebc3c3d4c54f3060e3c3
Author: Roel Kluin <roel.kluin at gmail.com>
Date:   Tue Jul 28 09:59:47 2009 +0200

    libertas: Read outside array bounds
    
    reads bss->rates[j] before checking bounds of index, and should use
    ARRAY_SIZE to determine the size of the array.
    
    Signed-off-by: Roel Kluin <roel.kluin at gmail.com>
    Acked-by: Holger Schurig <hs4233 at mail.mn-solutions.de>
    Acked-by: Dan Williams <dcbw at redhat.com>
    Signed-off-by: John W. Linville <linville at tuxdriver.com>

commit a987004fbcf163b100d227284999602f83044d7e
Author: Roel Kluin <roel.kluin at gmail.com>
Date:   Wed Jul 29 12:12:09 2009 +0200

    sound: mpu401.c: Buffer overflow
    
    mpu_synth_info[m].name is a char[30], and the minimum length of the data
    written by sprintf is 31 bytes including terminating null.
    
    Signed-off-by: Roel Kluin <roel.kluin at gmail.com>
    Signed-off-by: Takashi Iwai <tiwai at suse.de>

commit c45ec06c74512265969aef40b00f320c6afb7a90
Author: Roel Kluin <roel.kluin at gmail.com>
Date:   Wed Jul 29 11:46:59 2009 +0200

    sound: aedsp16: Buffer overflow
    
    DSPVersion is declared as char[3], but the sprintf writes at least 4 bytes
    including terminating null.
    
    Signed-off-by: Roel Kluin <roel.kluin at gmail.com>
    Signed-off-by: Takashi Iwai <tiwai at suse.de>

commit 78735cffc2d9ab0dec32f1ba7cbc1d84b45bbf29
Author: Roel Kluin <roel.kluin at gmail.com>
Date:   Wed Jul 29 14:35:20 2009 +0200

    ALSA: hda: fix out-of-bound hdmi_eld.sad[] write
    
    e->sad[] is declared with size ELD_MAX_SAD=16, but the guard
    allows range 0-31.
    
    Signed-off-by: Roel Kluin <roel.kluin at gmail.com>
    Signed-off-by: Wu Fengguang <fengguang.wu at intel.com>
    Signed-off-by: Takashi Iwai <tiwai at suse.de>

commit ed8f0d9e708a1a7c9222e7d0a35d97521e904223
Author: Dave Airlie <airlied at redhat.com>
Date:   Wed Jul 29 17:07:38 2009 +1000

    drm/radeon: set fb aperture sizes for framebuffer handoff.
    
    This will allow efi/vesa to handoff to radeon.
    
    Signed-off-by: Dave Airlie <airlied at redhat.com>

commit b42db2b12df7b4f7b2ace581a7726cb5bcb2d658
Author: Dave Airlie <airlied at redhat.com>
Date:   Wed Jul 29 16:56:52 2009 +1000

    drm/ttm: fix highuser vs dma32 confusion.
    
    DMA32 and highmem are sort of exclusive.
    
    Noticed by AndrewR on #radeon.
    
    Signed-off-by: Dave Airlie <airlied at redhat.com>

commit ea3c13bd8c2ed1d3670bd72e60f562a427355fdf
Author: Michel Dänzer <daenzer at vmware.com>
Date:   Mon Jul 20 01:44:03 2009 +0200

    drm/radeon: Fix size used for benchmarking BO copies.
    
    The incorrect size caused benchmark results to be inflated by a factor of 4.
    
    Signed-off-by: Michel Dänzer <daenzer at vmware.com>
    Signed-off-by: Dave Airlie <airlied at redhat.com>

commit ecc0b32645bf19a3a240e72be3022ab3b46ad3d0
Author: Michel Dänzer <daenzer at vmware.com>
Date:   Tue Jul 21 11:23:57 2009 +0200

    drm/radeon: Add radeon.test parameter for running BO GPU copy tests.
    
    If enabled, during initialization BO GTT->VRAM and VRAM->GTT GPU copies are
    tested across the whole GTT aperture.
    
    This has helped uncover the benchmark copy size bug and verify the maximum
    aperture size supported by the AGP bridge in my PowerBook.
    
    Signed-off-by: Michel Dänzer <daenzer at vmware.com>
    Signed-off-by: Dave Airlie <airlied at redhat.com>

commit 3b170c3b2e688665fbc2845ba5bb4304bf38a119
Author: Dave Airlie <airlied at redhat.com>
Date:   Fri Jul 24 13:47:45 2009 +1000

    drm/radeon/kms: allow interruptible waits for objects.
    
    Blocking here isn't something the X server mouse appreciates,
    avoid the block and let userspace retry the waits.
    
    libdrm_radeon userspace library is also expecting EBUSY not ERESTART
    
    Signed-off-by: Dave Airlie <airlied at redhat.com>

commit f121ecfebbea1452a17d57c656def7d1537440f7
Author: Thomas Hellstrom <thellstrom at vmware.com>
Date:   Fri Jul 24 10:22:36 2009 +0200

    drm/ttm: powerpc: Fix Highmem cache flushing.
    
    Temporarily maps highmem pages while flushing to get a valid virtual
    address to flush.
    
    Signed-off-by: Thomas Hellstrom <thellstrom at vmware.com>
    Signed-off-by: Dave Airlie <airlied at redhat.com>

commit 73ba651fc246fcc3e446da4155e0425b4219d2c4
Author: Thomas Hellstrom <thellstrom at vmware.com>
Date:   Fri Jul 24 09:57:33 2009 +0200

    x86: Export kmap_atomic_prot() needed for TTM.
    
    This functionality is needed to kmap_atomic() highmem pages that may
    potentially have or are about to set up other mappings with
    non-standard caching attributes.
    
    Signed-off-by: Thomas Hellstrom <thellstrom at vmware.com>
    Signed-off-by: Dave Airlie <airlied at redhat.com>

commit 542c6f6df51327dbb180cf4d9b34827e147efe17
Author: Thomas Hellstrom <thellstrom at vmware.com>
Date:   Fri Jul 24 09:57:34 2009 +0200

    drm/ttm: Fix ttm in-kernel copying of pages with non-standard caching attributes.
    
    For x86 this affected highmem pages only, since they were always kmapped
    cache-coherent, and this is fixed using kmap_atomic_prot().
    
    For other architectures that may not modify the linear kernel map we
    resort to vmap() for now, since kmap_atomic_prot() generally uses the
    linear kernel map for lowmem pages. This of course comes with a
    performance impact and should be optimized when possible.
    
    Signed-off-by: Thomas Hellstrom <thellstrom at vmware.com>
    Signed-off-by: Dave Airlie <airlied at redhat.com>

commit 4677f15c60421d48566c48c3149474e64977f071
Author: Thomas Hellstrom <thellstrom at vmware.com>
Date:   Tue Jul 21 17:45:13 2009 +0200

    drm/ttm: Fix an oops and sync object leak.
    
    The code was potentially dereferencig a NULL sync object pointer.
    At the same time a sync object reference was potentially leaked.
    
    Signed-off-by: Thomas Hellstrom <thellstrom at vmware.com>
    Signed-off-by: Dave Airlie <airlied at redhat.com>

commit 7a50f01a4ab89d5c05eb2cf62e206ac0bfc61d2c
Author: Dave Airlie <airlied at redhat.com>
Date:   Tue Jul 21 20:39:30 2009 +1000

    drm/radeon/kms: vram sizing on certain r100 chips needs workaround.
    
    If an rn50/r100/m6/m7 GPU has < 64MB RAM, i.e. 8/16/32, the
    aperture used to calculate the MC_FB_LOCATION needs to be worked
    out from the CONFIG_APER_SIZE register, and not the actual vram size.
    
    TTM VRAM size was also being initialised wrong, use actual vram size
    to initialise it.
    
    Signed-off-by: Dave Airlie <airlied at redhat.com>

commit 664f86590295217b2319edf88830e87b800f6c4a
Author: Michel Dänzer <daenzer at vmware.com>
Date:   Tue Jul 28 12:30:57 2009 +0200

    drm/radeon: Pay more attention to object placement requested by userspace.
    
    Previously we were basically always setting the GTT and VRAM flags regardless of
    what userspace requested.
    
    Signed-off-by: Michel Dänzer <daenzer at vmware.com>
    Signed-off-by: Dave Airlie <airlied at redhat.com>

commit 1ab2e1059916b917af19e4137a4222988bd7a169
Author: Michel Dänzer <daenzer at vmware.com>
Date:   Tue Jul 28 12:30:56 2009 +0200

    drm/radeon: Fall back to evicting BOs with memcpy if necessary.
    
    Otherwise if there's no GTT space we would fail the eviction, leading to
    cascaded failure.
    
    Signed-off-by: Michel Dänzer <daenzer at vmware.com>
    Signed-off-by: Dave Airlie <airlied at redhat.com>

commit e46074effd5510e7a8fe34b93828d98a50835da2
Author: Michel Dänzer <daenzer at vmware.com>
Date:   Tue Jul 28 12:30:55 2009 +0200

    drm/radeon: Don't unreserve twice on failure to validate.
    
    This is done later in radeon_object_list_unvalidate(). Doing it twice triggers
    a BUG in TTM, rendering X on KMS unusable until reboot.
    
    Signed-off-by: Michel Dänzer <daenzer at vmware.com>
    Signed-off-by: Dave Airlie <airlied at redhat.com>

commit c93bb85b5cba3e3a06f2cad8e9bc5c23d3d10aac
Author: Jerome Glisse <jglisse at redhat.com>
Date:   Mon Jul 13 21:04:08 2009 +0200

    drm/radeon/kms: fix bandwidth computation on avivo hardware
    
    Fix bandwidth computation and crtc priority in memory controller
    so that crtc memory request are fullfill in time to avoid display
    artifact.
    
    Signed-off-by: Jerome Glisse <jglisse at redhat.com>
    Signed-off-by: Dave Airlie <airlied at redhat.com>

commit e024e11070a0a0dc7163ce1ec2da354a638bdbed
Author: Dave Airlie <airlied at redhat.com>
Date:   Wed Jun 24 09:48:08 2009 +1000

    drm/radeon/kms: add initial colortiling support.
    
    This adds new set/get tiling interfaces where the pitch
    and macro/micro tiling enables can be set. Along with
    a flag to decide if this object should have a surface when mapped.
    
    The only thing we need to allocate with a mapped surface should be
    the frontbuffer. Note rotate scanout shouldn't require one, and
    back/depth shouldn't either, though mesa needs some fixes.
    
    It fixes the TTM interfaces along Thomas's suggestions, and I've tested
    the surface stealing code with two X servers and not seen any lockdep issues.
    
    I've stopped tiling the fbcon frontbuffer, as I don't see there being
    any advantage other than testing, I've left the testing commands in there,
    just flip the fb_tiled to true in radeon_fb.c
    
    Open: Can we integrate endian swapping in with this?
    
    Future features:
    texture tiling - need to relocate texture registers TXOFFSET* with tiling info.
    
    This also merges Michel's cleanup surfaces regs at init time patch
    even though it makes sense on its own, this patch really relies on it.
    
    Some PowerMac firmwares set up a tiling surface at the beginning of VRAM
    which messes us up otherwise.
    that patch is:
    Signed-off-by: Michel Dänzer <daenzer at vmware.com>
    
    Signed-off-by: Dave Airlie <airlied at redhat.com>

commit 68dbcb726e372b3c8ef60b79b5aff4174dd2bdf0
Author: Jeff Garzik <jeff at garzik.org>
Date:   Tue Jul 28 22:36:59 2009 -0400

    Remove zero-length file drivers/char/vr41xx_giu.c
    
    Signed-off-by: Jeff Garzik <jgarzik at redhat.com>

commit 5920dadfb4aec6c1372c5570e71bcd3b4837e63c
Author: Tejun Heo <tj at kernel.org>
Date:   Wed Jul 15 17:11:41 2009 +0900

    libata: accept late unlocking of HPA
    
    On certain configurations, HPA isn't or can't be unlocked during
    probing but it somehow ends up unlocked afterwards.  In the following
    thread, the problem can be reliably reproduced after resuming from
    STR.  The BIOS turns on HPA during boot but forgets to do it during
    resume.
    
      http://thread.gmane.org/gmane.linux.kernel/858310
    
    This patch updates libata revalidation such that it considers native
    n_sectors.  If the device size has increased to match native
    n_sectors, it's assumed that HPA has been unlocked involuntarily and
    the device is recognized as the same one.  This should be fairly safe
    while nicely working around the problem.
    
    Signed-off-by: Tejun Heo <tj at kernel.org>
    Reported-by: Christof Warlich <christof at warlich.name>
    Signed-off-by: Jeff Garzik <jgarzik at redhat.com>

commit 7d084d96fdf1d791cb171da57efc1ca89d68dd6c
Author: Sergey Matyukevich <geomatsi at gmail.com>
Date:   Thu Jul 16 22:38:55 2009 +0400

    libata: Updates and fixes for pata_at91 driver
    
    Please consider the following updates and fixes for pata_at91 driver.
    
    * Removed extra headers
    	Here we need only static memory controller properties, which are
    	contained in generic header at91sam9_smc.h.
    	No need to include any specific headers for at91sam9260 SoC.
    
    * No harsh BUG_ON for get_clk in set_smc_timing function
            get_clk is now performed in driver probing function,
    	        probing fails if master clock is not available
    
    * Fixed uint/ulong mess in calc_mck_cycles function
    
    Signed-off-by: Sergey Matyukevich <geomatsi at gmail.com>
    Signed-off-by: Jeff Garzik <jgarzik at redhat.com>

commit 760cdb7760be928e85a021552253eb1b39acdf37
Author: Steve Conklin <sconklin at canonical.com>
Date:   Thu Jul 16 16:31:10 2009 -0500

    ata_piix: Add new short cable ID
    
    OriginalAuthor: Tony Espy <espy at canonical.com>
    Signed-off-by: Steve Conklin <sconklin at canonical.com>
    Signed-off-by: Jeff Garzik <jgarzik at redhat.com>

commit 6034734d333c1bd01119a5b480b34a507a3adf56
Author: Steve Conklin <sconklin at canonical.com>
Date:   Thu Jul 16 16:27:56 2009 -0500

    ata_piix: Add new laptop short cable IDs
    
    OriginalAuthor: Michael Frey <michael.frey at canonical.com>
    Signed-off-by: Steve Conklin <sconklin at canonical.com>
    Signed-off-by: Jeff Garzik <jgarzik at redhat.com>

commit c1f57d9b9846e7366c328f916d1a82d03ba4312c
Author: David Milburn <dmilburn at redhat.com>
Date:   Wed Jul 22 15:15:56 2009 -0500

    ahci: add device IDs for Ibex Peak ahci controllers
    
    Add device IDS for Ibex Peak SATA AHCI Controllers
    
    Signed-off-by: Jaroslav Kysela <jkysela at redhat.com>
    Signed-off-by: David Milburn <dmilburn at redhat.com>
    Signed-off-by: Jeff Garzik <jgarzik at redhat.com>

commit c9abde12d6debe5b97f36fb43cf188c1b9cd477f
Author: Bartlomiej Zolnierkiewicz <bzolnier at gmail.com>
Date:   Sun Jul 26 16:05:13 2009 +0200

    libata: remove superfluous NULL pointer checks
    
    host->ports[] always contain pointers to valid port structures since
    a "dummy port" structure is used in case if there is no physical port.
    
    This patch takes care of two entries from Dan's list:
    
    drivers/ata/sata_sil.c +535 sil_interrupt(13) warning: variable derefenced before check 'ap'
    drivers/ata/sata_mv.c +2517 mv_unexpected_intr(6) warning: variable derefenced before check 'ap'
    
    and of another needless NULL pointer check in pata_octeon_cf.c.
    
    Reported-by: Dan Carpenter <error27 at gmail.com>
    Cc: corbet at lwn.net
    Cc: eteo at redhat.com
    Signed-off-by: Bartlomiej Zolnierkiewicz <bzolnier at gmail.com>
    Signed-off-by: Jeff Garzik <jgarzik at redhat.com>

commit 705d201414382b0966d7c903d738dfdb9380e4af
Author: Bartlomiej Zolnierkiewicz <bzolnier at gmail.com>
Date:   Sun Jul 26 16:21:01 2009 +0200

    libata: add missing NULL pointer check to ata_eh_reset()
    
    drivers/ata/libata-eh.c +2403 ata_eh_reset(80) warning: variable derefenced before check 'slave'
    
    Please note that this is _not_ a real bug at the moment since ata_eh_context
    structure is embedded into ata_list structure and the code alwas checks for
    'slave' before accessing 'sehc'.
    
    Anyway lets add missing check and always have a valid 'sehc' pointer (which
    makes code easier to understand and prevents introducing some possible bugs
    in the future).
    
    Reported-by: Dan Carpenter <error27 at gmail.com>
    Cc: corbet at lwn.net
    Cc: eteo at redhat.com
    Signed-off-by: Bartlomiej Zolnierkiewicz <bzolnier at gmail.com>
    Signed-off-by: Jeff Garzik <jgarzik at redhat.com>

commit 044dcc824a167e3d39ba69a49e2b723dd10678f6
Author: Wolfram Sang <w.sang at pengutronix.de>
Date:   Sun Jul 26 18:27:29 2009 +0200

    pata_pcmcia: add CNF-CDROM-ID
    
    Fixes this report:
    http://article.gmane.org/gmane.linux.kernel.pcmcia.devel/2228/
    
    Reported-by: John McGrath <john at john-mcgrath.com>
    Signed-off-by: Wolfram Sang <w.sang at pengutronix.de>
    Signed-off-by: Jeff Garzik <jgarzik at redhat.com>

commit 7d3e91b8a1f5179d56a7412d4b499f2d5fc6b25d
Merge: ddb1d4ede9c8acd2e20ac99bf2b68146ae9f3553 8d282497cbf8124d6814d51a74fb13d69531c669
Author: Linus Torvalds <torvalds at linux-foundation.org>
Date:   Tue Jul 28 14:31:13 2009 -0700

    Merge branch 'hwmon-for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/jdelvare/staging
    
    * 'hwmon-for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/jdelvare/staging:
      hwmon: (asus_atk0110) Fix upper limit readings
      hwmon: (smsc47m1) Differentiate between LPC47M233 and LPC47M292

commit c92bcfa7b4038d8ffe1f02e21269f18eb0b64144
Author: Sarah Sharp <sarah.a.sharp at linux.intel.com>
Date:   Mon Jul 27 12:05:21 2009 -0700

    USB: xhci: Stall handling bug fixes.
    
    Correct the xHCI code to handle stalls on USB endpoints.  We need to move
    the endpoint ring's dequeue pointer past the stalled transfer, or the HW
    will try to restart the transfer the next time the doorbell is rung.
    
    Don't attempt to clear a halt on an endpoint if we haven't seen a stalled
    transfer for it.  The USB core will attempt to clear a halt on all
    endpoints when it selects a new configuration.
    
    Signed-off-by: Sarah Sharp <sarah.a.sharp at linux.intel.com>
    Signed-off-by: Greg Kroah-Hartman <gregkh at suse.de>

commit d115b04818e57bdbc7ccde4d0660b15e33013dc8
Author: John Youn <johnyoun at synopsys.com>
Date:   Mon Jul 27 12:05:15 2009 -0700

    USB: xhci: Support for 64-byte contexts
    
    Adds support for controllers that use 64-byte contexts.  The following context
    data structures are affected by this: Device, Input, Input Control, Endpoint,
    and Slot.  To accommodate the use of either 32 or 64-byte contexts, a Device or
    Input context can only be accessed through functions which look-up and return
    pointers to their contained contexts.
    
    Signed-off-by: John Youn <johnyoun at synopsys.com>
    Acked-by: Sarah Sharp <sarah.a.sharp at linux.intel.com>
    Signed-off-by: Greg Kroah-Hartman <gregkh at suse.de>

commit 28c2d2efb48dec2f0b050affae6d5787d6449e47
Author: Sarah Sharp <sarah.a.sharp at linux.intel.com>
Date:   Mon Jul 27 12:05:08 2009 -0700

    USB: xhci: Always align output device contexts to 64 bytes.
    
    Make sure the xHCI output device context is 64-byte aligned.  Previous
    code was using the same structure for both the output device context and
    the input control context.  Since the structure had 32 bytes of flags
    before the device context, the output device context wouldn't be 64-byte
    aligned.  Define a new structure to use for the output device context and
    clean up the debugging for these two structures.
    
    The copy of the device context in the input control context does *not*
    need to be 64-byte aligned.
    
    Signed-off-by: Sarah Sharp <sarah.a.sharp at linux.intel.com>
    Signed-off-by: Greg Kroah-Hartman <gregkh at suse.de>

commit 254c80a3a0eb811489f7410c3291f01a60e8e42f
Author: John Youn <johnyoun at synopsys.com>
Date:   Mon Jul 27 12:05:03 2009 -0700

    USB: xhci: Scratchpad buffer allocation
    
    Allocates and initializes the scratchpad buffer array (XHCI 4.20).  This is an
    array of 64-bit DMA addresses to scratch pages that the controller may use
    during operation.  The number of pages is specified in the "Max Scratchpad
    Buffers" field of HCSPARAMS2.  The DMA address of this array is written into
    slot 0 of the DCBAA.
    
    Signed-off-by: John Youn <johnyoun at synopsys.com>
    Acked-by: Sarah Sharp <sarah.a.sharp at linux.intel.com>
    Signed-off-by: Greg Kroah-Hartman <gregkh at suse.de>

commit 9f8e443816976edd68f415ea25c0223ea921e88c
Author: Sarah Sharp <sarah.a.sharp at linux.intel.com>
Date:   Mon Jul 27 12:04:52 2009 -0700

    USB: Fix parsing of SuperSpeed Endpoint Companion descriptor.
    
    usb_parse_ss_endpoint_companion() was supposed to allocate a structure to
    hold the SuperSpeed Endpoint Companion descriptor, and either copy the
    values the device returned, or fill in default values if the device
    descriptor did not include the companion descriptor.
    
    However, the previous code would miss the last endpoint in a configuration
    with no descriptors after it.  Make usb_parse_endpoint() allocate the SS
    endpoint companion descriptor and fill it with default values, even if
    we've run out of buffer space in this configuration descriptor.
    
    Signed-off-by: Sarah Sharp <sarah.a.sharp at linux.intel.com>
    Signed-off-by: Greg Kroah-Hartman <gregkh at suse.de>

commit b7d6d99896a6cf38dc354d673afd3fbde10b86c2
Author: Sarah Sharp <sarah.a.sharp at linux.intel.com>
Date:   Mon Jul 27 12:04:38 2009 -0700

    USB: xhci: Fail gracefully if there's no SS ep companion descriptor.
    
    This is a work around for a bug in the SuperSpeed Endpoint Companion Descriptor
    parsing code.  It fails in some corner cases, which means ep->ss_ep_comp may be
    NULL.
    
    Signed-off-by: Sarah Sharp <sarah.a.sharp at linux.intel.com>
    Signed-off-by: Greg Kroah-Hartman <gregkh at suse.de>

commit 4a73143ced467868e92d7914d9f8bf797640927b
Author: Sarah Sharp <sarah.a.sharp at linux.intel.com>
Date:   Mon Jul 27 12:04:32 2009 -0700

    USB: xhci: Handle babble errors on transfers.
    
    Pass back a babble error when this error code is seen in the transfer event TRB.
    
    Signed-off-by: Sarah Sharp <sarah.a.sharp at linux.intel.com>
    Signed-off-by: Greg Kroah-Hartman <gregkh at suse.de>

commit 47692d179f7a88794bcd302e53ca7899d7592db9
Author: Sarah Sharp <sarah.a.sharp at linux.intel.com>
Date:   Mon Jul 27 12:04:27 2009 -0700

    USB: xhci: Setup HW retries correctly.
    
    The xHCI host controller can be programmed to retry a transfer a certain number
    of times per endpoint before it passes back an error condition to the host
    controller driver.  The xHC will return an error code when the error count
    transitions from 1 to 0.  Programming an error count of 3 means the xHC tries
    the transfer 3 times, programming it with a 1 means it tries to transfer once,
    and programming it with 0 means the HW tries the transfer infinitely.
    
    We want isochronous transfers to only be tried once, so set the error count to
    one.
    
    Signed-off-by: Sarah Sharp <sarah.a.sharp at linux.intel.com>
    Signed-off-by: Greg Kroah-Hartman <gregkh at suse.de>

commit fcf8f576beafb8c5db8aee8a73eb73763fa7b0ad
Author: Sarah Sharp <sarah.a.sharp at linux.intel.com>
Date:   Mon Jul 27 12:04:01 2009 -0700

    USB: xhci: Check if the host controller died in IRQ handler.
    
    Signed-off-by: Sarah Sharp <sarah.a.sharp at linux.intel.com>
    Signed-off-by: Greg Kroah-Hartman <gregkh at suse.de>

commit d3512f63494678dc58e44a20c56278718fd58969
Author: Sarah Sharp <sarah.a.sharp at linux.intel.com>
Date:   Mon Jul 27 12:03:50 2009 -0700

    USB: xhci: Don't oops if the host doesn't halt.
    
    Signed-off-by: Sarah Sharp <sarah.a.sharp at linux.intel.com>
    Signed-off-by: Greg Kroah-Hartman <gregkh at suse.de>

commit 66e49d8774fa03539713e8f91169c37c05df1e94
Author: Sarah Sharp <sarah.a.sharp at linux.intel.com>
Date:   Mon Jul 27 12:03:46 2009 -0700

    USB: xhci: Make debugging more verbose.
    
    Add more debugging to the irq handler, slot context initialization, ring
    operations, URB cancellation, and MMIO writes.
    
    Signed-off-by: Sarah Sharp <sarah.a.sharp at linux.intel.com>
    Signed-off-by: Greg Kroah-Hartman <gregkh at suse.de>

commit 2d83109be62edd9647c45d7ed2b916b03974a7ec
Author: Sarah Sharp <sarah.a.sharp at linux.intel.com>
Date:   Mon Jul 27 12:03:40 2009 -0700

    USB: xhci: Correct Event Handler Busy flag usage.
    
    The Event Handler Busy bit in the event ring dequeue pointer is write 1 to
    clear.  Fix the interrupt service routine to clear that bit after the
    event handler has run.
    
    xhci_set_hc_event_deq() is designed to update the event ring dequeue pointer
    without changing any of the four reserved bits in the lower nibble.  The event
    handler busy (EHB) bit is write one to clear, so the new value must always
    contain a zero in that bit in order to preserve the EHB value.
    
    Signed-off-by: Sarah Sharp <sarah.a.sharp at linux.intel.com>
    Signed-off-by: Greg Kroah-Hartman <gregkh at suse.de>

commit 62889610f5591005bed9517360e17531684f72d0
Author: Sarah Sharp <sarah.a.sharp at linux.intel.com>
Date:   Mon Jul 27 12:03:36 2009 -0700

    USB: xhci: Handle short control packets correctly.
    
    When there is a short packet on a control transfer, the xHCI host controller
    hardware will generate two events.  The first event will be for the data stage
    TD with a completion code for a short packet.  The second event will be for the
    status stage with a successful completion code.  Before this patch, the xHCI
    driver would giveback the short control URB when it received the event for the
    data stage TD.  Then it would become confused when it saw a status stage event
    for the endpoint for an URB it had already finished processing.
    
    Change the xHCI host controller driver to wait for the status stage event when
    it receives a short transfer completion code for a data stage TD.
    
    Signed-off-by: Sarah Sharp <sarah.a.sharp at linux.intel.com>
    Signed-off-by: Greg Kroah-Hartman <gregkh at suse.de>

commit 8e595a5d30a5ee4bb745d4da6439d73ed7d91054
Author: Sarah Sharp <sarah.a.sharp at linux.intel.com>
Date:   Mon Jul 27 12:03:31 2009 -0700

    USB: xhci: Represent 64-bit addresses with one u64.
    
    There are several xHCI data structures that use two 32-bit fields to
    represent a 64-bit address.  Since some architectures don't support 64-bit
    PCI writes, the fields need to be written in two 32-bit writes.  The xHCI
    specification says that if a platform is incapable of generating 64-bit
    writes, software must write the low 32-bits first, then the high 32-bits.
    Hardware that supports 64-bit addressing will wait for the high 32-bit
    write before reading the revised value, and hardware that only supports
    32-bit writes will ignore the high 32-bit write.
    
    Previous xHCI code represented 64-bit addresses with two u32 values.  This
    lead to buggy code that would write the 32-bits in the wrong order, or
    forget to write the upper 32-bits.  Change the two u32s to one u64 and
    create a function call to write all 64-bit addresses in the proper order.
    This new function could be modified in the future if all platforms support
    64-bit writes.
    
    Signed-off-by: Sarah Sharp <sarah.a.sharp at linux.intel.com>
    Signed-off-by: Greg Kroah-Hartman <gregkh at suse.de>

commit b11069f5f6ce6e359f853e908b0917303fcdec8f
Author: Sarah Sharp <sarah.a.sharp at linux.intel.com>
Date:   Mon Jul 27 12:03:23 2009 -0700

    USB: xhci: Use GFP_ATOMIC while holding spinlocks.
    
    The xHCI functions to queue an URB onto the hardware rings must be called
    with the xhci spinlock held.  Those functions will allocate memory, and
    take a gfp_t memory flags argument.  We must pass them the GFP_ATOMIC
    flag, since we don't want the memory allocation to attempt to sleep while
    waiting for more memory to become available.
    
    Signed-off-by: Sarah Sharp <sarah.a.sharp at linux.intel.com>
    Signed-off-by: Greg Kroah-Hartman <gregkh at suse.de>

commit a1587d97ce3e53816c88b513a2038f6c5e5babd7
Author: Sarah Sharp <sarah.a.sharp at linux.intel.com>
Date:   Mon Jul 27 12:03:15 2009 -0700

    USB: xhci: Deal with stalled endpoints.
    
    When an endpoint on a device under an xHCI host controller stalls, the
    host controller driver must let the hardware know that the USB core has
    successfully cleared the halt condition.  The HCD submits a Reset Endpoint
    Command, which will clear the toggle bit for USB 2.0 devices, and set the
    sequence number to zero for USB 3.0 devices.
    
    The xHCI urb_enqueue will accept new URBs while the endpoint is halted,
    and will queue them to the hardware rings.  However, the endpoint doorbell
    will not be rung until the Reset Endpoint Command completes.
    
    Don't queue a reset endpoint command for root hubs.  khubd clears halt
    conditions on the roothub during the initialization process, but the roothub
    isn't a real device, so the xHCI host controller doesn't need to know about the
    cleared halt.
    
    Signed-off-by: Sarah Sharp <sarah.a.sharp at linux.intel.com>
    Signed-off-by: Greg Kroah-Hartman <gregkh at suse.de>

commit f9dc68fe7ad390428c6bc5d7ff582cdb5d92fcb8
Author: Sarah Sharp <sarah.a.sharp at linux.intel.com>
Date:   Mon Jul 27 12:03:07 2009 -0700

    USB: xhci: Set TD size in transfer TRB.
    
    The 0.95 xHCI specification requires software to set the "TD size" field
    in each transaction request block (TRB).  This field gives the host
    controller an indication of how much data is remaining in the TD
    (including the buffer in the current TRB).  Set this field in bulk TRBs
    and data stage TRBs for control transfers.
    
    Signed-off-by: Sarah Sharp <sarah.a.sharp at linux.intel.com>
    Signed-off-by: Greg Kroah-Hartman <gregkh at suse.de>

commit d8f1a5ed52a81a953918d4aebe185ba008a7be34
Author: Roel Kluin <roel.kluin at gmail.com>
Date:   Mon Jul 13 00:23:47 2009 +0200

    USB: xhci: fix less- and greater than confusion
    
    Without this change the loops won't start
    
    Signed-off-by: Roel Kluin <roel.kluin at gmail.com>
    Cc: Sarah Sharp <sarah.a.sharp at linux.intel.com>
    Signed-off-by: Greg Kroah-Hartman <gregkh at suse.de>

commit 0f157ef3a1284f41d9804ecb87fdcc8ea946b9fa
Author: Alan Stern <stern at rowland.harvard.edu>
Date:   Tue Jul 28 11:56:17 2009 -0400

    USB: usbtest: no need for USB_DEVICEFS
    
    THis patch (as1270) allows the usbtest module to be built even when
    USB_DEVICEFS isn't configured.  Tests can be performed without
    USB_DEVICEFS, using the /dev/bus/usb/*/* device files.
    
    Signed-off-by: Alan Stern <stern at rowland.harvard.edu>
    Signed-off-by: Greg Kroah-Hartman <gregkh at suse.de>

commit 2bbff7b742d55b094ed1467702efe146cd60c64f
Author: Ajay Kumar Gupta <ajay.gupta at ti.com>
Date:   Mon Jul 27 14:32:15 2009 -0700

    USB: musb: fix CONFIGDATA register read issue
    
    INDEX register has to be set to '0' before reading
    CONFIGDATA register which is only present in TI musb
    platforms.
    
    Currently the default register access mode is set to
    FLAT_MODE thus INDEX register is not getting set
    properly with musb_ep_select() which is just a nop
    operation in FLAT_MODE.This invalid register read is
    causing module reinset failure.
    
    Fixing the issue by moving INDEX register write part to
    musb_read_configdata() function itself.
    
    Signed-off-by: Vikram Pandita <vikram.pandita at ti.com>
    Signed-off-by: Anand Gadiyar <gadiyar at ti.com>
    Signed-off-by: Ajay Kumar Gupta <ajay.gupta at ti.com>
    Acked-by: David Brownell <dbrownell at users.sourceforge.net>
    Signed-off-by: Greg Kroah-Hartman <gregkh at suse.de>

commit 3a9f5bd82dc986d496d8484ff54b107b4515f43f
Author: Amit Kucheria <amit.kucheria at canonical.com>
Date:   Mon Jul 27 12:03:19 2009 +0300

    USB: musb: Refer to musb_otg_timer_func under correct #ifdef
    
    musb_otg_timer_func() is defined under #ifdef CONFIG_USB_MUSB_OTG.
    Make sure any reference to it is also under the same #ifdef.
    
    Without this fix, the driver failes to compile when USB_OTG is defined
    but USB_MUSB_OTG isn't.
    
    Signed-off-by: Amit Kucheria <amit.kucheria at canonical.com>
    Cc: Felipe Balbi <felipe.balbi at nokia.com>
    Cc: David Brownell <dbrownell at users.sourceforge.net>
    Signed-off-by: Greg Kroah-Hartman <gregkh at suse.de>

commit f01b017d198486ee3553bee6841f788263cf2c23
Author: Sergei Shtylyov <sshtylyov at ru.mvista.com>
Date:   Fri Jul 17 17:30:03 2009 +0300

    USB: musb_gadget_ep0: fix typo in service_zero_data_request()
    
    This function uses wrong bit mask to prevent clearing RXCSR status
    bits when halting an endpoint -- which results in clearing SentStall
    and RxPktRdy bits (that the code actually tries to avoid); must be
    a result of cut-and-paste...
    
    Signed-off-by: Sergei Shtylyov <sshtylyov at ru.mvista.com>
    Acked-by: David Brownell <dbrownell at users.sourceforge.net>
    Signed-off-by: Greg Kroah-Hartman <gregkh at suse.de>

commit 48c348cc939aaa3a07d4938669f2f315152e895e
Author: Javier Martin <jmartinj at iname.com>
Date:   Thu Jul 23 04:03:43 2009 +0200

    USB: option.c to support Alcatel X060S/X200 broadband modems
    
    Added support for the Alcatel X060S/X200 broadband modems to the option
    driver. The device starts in cd-rom emulation mode (1bbb:f000) and
    requires the use of the usb_modeswitch tool to switch it to modem mode
    (1bbb:0000).
    
    Signed-off-by: Javier Martin <jmartinj at iname.com>
    Signed-off-by: Greg Kroah-Hartman <gregkh at suse.de>

commit 183791588efd416fc35a71819683b32dee92615b
Author: Peng Huang <shawn.p.huang at gmail.com>
Date:   Wed Jul 22 11:54:48 2009 +0200

    USB: serial: option: Add ZTE AC8710 usb modem device.
    
    Signed-off-by: Peng Huang <shawn.p.huang at gmail.com>
    Cc: Jiri Kosina <jkosina at suse.cz>
    Signed-off-by: Greg Kroah-Hartman <gregkh at suse.de>

commit 9d498beafc0a66ce333f0d9067af0aa5dedd4c8e
Author: Russell Lang <gsview at ghostgum.com.au>
Date:   Fri Jul 17 19:29:20 2009 +1000

    USB: aten uc2324 is really a moschip 7840
    
    I've opened up the case, and the chips in the ATEN UC2324 are:
    
    Moschip
    MCS7840CV-AA
    69507-6B1
    0650
    (USB to 4-port serial)
    
    (logo with AF kerned together)  0748
    24BC02
    SINGLP
    (unknown 8-pin chip)
    
    (logo looks like 3 or Z in circle)
    ZT3243LEEA    0752
    B7A16420.T
    (4 chips, so this will be RS232 line driver)
    (Probably equivalent of Sipex SP3243)
    
    So the ATEN 2324 (aten2011.c driver), is definitely the Moschip 7840,
    and should use the mos7840.c driver.  I expect you will remove the
    aten2011.c driver from the staging area.
    
    From the aten2011.c source code, the device ID for the UC2322 (2 port
    serial) is 0x7820, just like the Moschip evaluation board.  This value
    should be added to the device id table of mos7840.c.
    
    Here's a patch that adds these devices to the driver.
    
    
    From: Russell Lang <gsview at ghostgum.com.au>
    Signed-off-by: Greg Kroah-Hartman <gregkh at suse.de>

commit f1469fc3ef1d5a8a67146c1c72021f012a59dea6
Author: Tim Gardner <tim.gardner at canonical.com>
Date:   Fri Jul 17 07:55:36 2009 -0600

    USB: option: Add USB ID for Novatel MC727/U727/USB727 refresh
    
    BugLink: https://bugs.launchpad.net/bugs/365291
    
    Signed-off-by: Tim Gardner <tim.gardner at canonical.com>
    Signed-off-by: Greg Kroah-Hartman <gregkh at suse.de>

commit c420befde6b2747ebc2b8f015687a5dbd6e167ca
Author: Herton Ronaldo Krzesinski <herton at mandriva.com.br>
Date:   Wed Jul 15 17:10:26 2009 -0300

    USB: option: add ZTE device ids and remove ONDA ids
    
    Current listed Onda ids are ZTE devices. Replace them with ZTE id define
    and add more ZTE device ids. Also remove 19d2:2000, this is the id when
    device is first plugged in and is a CD-only device, before the switch
    using eject.
    
    These changes are based on a previous patch by Ming Zhao
    <zhao.ming9 at zte.com.cn>
    
    Signed-off-by: Herton Ronaldo Krzesinski <herton at mandriva.com.br>
    Cc: Ming Zhao <zhao.ming9 at zte.com.cn>
    Signed-off-by: Greg Kroah-Hartman <gregkh at suse.de>

commit bcfa4e68d8d0ea617bde4203b2b3848f5a49a423
Author: Simon Kagstrom <simon.kagstrom at netinsight.net>
Date:   Mon Jul 13 08:25:09 2009 +0200

    USB: ehci-orion: Call ehci_reset before ehci_halt
    
    I noticed that USB initialization didn't setup correctly on my kirkwood
    based board (OpenRD base) if I hadn't initialized USB in U-boot first.
    The error message looks like this:
    
      ehci_hcd: USB 2.0 'Enhanced' Host Controller (EHCI) Driver
      orion-ehci orion-ehci.0: Marvell Orion EHCI
      orion-ehci orion-ehci.0: new USB bus registered, assigned bus number 1
      orion-ehci orion-ehci.0: can't setup
      orion-ehci orion-ehci.0: USB bus 1 deregistered
      orion-ehci orion-ehci.0: init orion-ehci.0 fail, -110
      orion-ehci: probe of orion-ehci.0 failed with error -110
    
    which is caused by ehci_halt() timing out in the handshake() call. I
    noticed that U-boot does a reset before calling handshake(), so this
    patch does the same thing for Linux. USB now works for me.
    
    Signed-off-by: Simon Kagstrom <simon.kagstrom at netinsight.net>
    Acked-by: Nicolas Pitre <nico at marvell.com>
    Signed-off-by: Greg Kroah-Hartman <gregkh at suse.de>

commit 8bf16ba7c8ea9d067914e270764c14020a26232f
Author: Craig Shelley <craig at microtron.org.uk>
Date:   Sun Jul 12 21:52:33 2009 +0100

    USB: CP210x Add new device IDs
    
    Signed-off-by: Craig Shelley <craig at microtron.org.uk>
    Signed-off-by: Greg Kroah-Hartman <gregkh at suse.de>

commit fca4404c55ab44c7413769f1d9c66451103711a5
Author: Ville Sundberg <vsundber at gmail.com>
Date:   Wed Jul 15 00:27:28 2009 +0300

    USB: ftdi_sio: Add support for GN Otometrics Aurical USB Audiometer
    
    The patch adds support for the GN Otometrics Aurical USB Audiometer
    (FT232BM-based).
    A new VID and a new PID is added.
    
    Signed-off-by: Ville Sundberg <vsundber at gmail.com>
    Signed-off-by: Greg Kroah-Hartman <gregkh at suse.de>

commit 715bfc22ce952a14fac0b9200fd70d81c1951091
Author: Anand Gadiyar <gadiyar at ti.com>
Date:   Tue Jul 14 16:41:00 2009 +0530

    USB: OMAP: OHCI: hc_driver's stop method should call ohci_stop
    
    OMAP: OHCI: hc_driver's stop method should call ohci_stop
    
    Without this, the ohci-omap driver will not cleanup the debugfs
    nodes when the driver is unloaded. So the next insmod will fail,
    if CONFIG_DEBUG_FS and CONFIG_USB_DEBUG are both selected.
    
    Reported-by: vikram pandita <vikram.pandita at ti.com>
    Cc: David Brownell <dbrownell at users.sourceforge.net>
    Signed-off-by: Anand Gadiyar <gadiyar at ti.com>
    Signed-off-by: Greg Kroah-Hartman <gregkh at suse.de>

commit 7a777919bbeec3eac1d7904a728a60e9c2bb9c67
Author: Giacomo Lozito <james at develia.org>
Date:   Mon Jul 13 23:23:33 2009 +0200

    USB: storage: raise timeout in usb_stor_Bulk_max_lun
    
    Requests to get max LUN, for certain USB storage devices, require a
    longer timeout before a correct reply is returned. This happens for a
    Realtek USB Card Reader (0bda:0152), which has a max LUN of 3 but is set
    to 0, thus losing functionality, because of the timeout occurring too
    quickly.
    
    Raising the timeout value fixes the issue and might help other devices
    to return a correct max LUN value as well.
    
    Signed-off-by: Giacomo Lozito <james at develia.org>
    Acked-by: Alan Stern <stern at rowland.harvard.edu>
    Cc: stable <stable at kernel.org>
    Signed-off-by: Greg Kroah-Hartman <gregkh at suse.de>

commit 5f4fab91f2b12c12f0506b4da49ed199db8c64ed
Author: Oliver Neukum <oliver at neukum.org>
Date:   Mon Jul 13 23:24:10 2009 +0200

    USB: let the option driver compile without CONFIG_PM
    
    This is needed for compilation without CONFIG_PM.
    
    Signed-off-by: Oliver Neukum <oliver at neukum.org>
    Acked-by: Randy Dunlap <randy.dunlap at oracle.com>
    Signed-off-by: Greg Kroah-Hartman <gregkh at suse.de>

commit f99aa3f9b67ca8c29dc29ef3fc453f0343206c46
Author: Carlos R. Mafra <crmafra at aei.mpg.de>
Date:   Mon Jul 13 21:45:03 2009 +0200

    USB: option: Remove unused variable
    
    After commit f092c240494f2d807401d93f95f683909b90af96 ("USB: option:
    remove unnecessary and erroneous code") the variable 'serial' becomes
    unused, as gcc-4.3.2 points out:
    
    drivers/usb/serial/option.c: In function 'option_instat_callback':
    drivers/usb/serial/option.c:834: warning: unused variable 'serial'
    drivers/usb/serial/option.c: In function 'option_open':
    drivers/usb/serial/option.c:930: warning: unused variable 'serial'
    
    So I removed it.
    
    Signed-off-by: Carlos R. Mafra <crmafra at aei.mpg.de>
    Signed-off-by: Greg Kroah-Hartman <gregkh at suse.de>

commit ddb1d4ede9c8acd2e20ac99bf2b68146ae9f3553
Merge: 655c5d8fc110a9d4f90cc831bd009936f3e8df28 96f699ad09c8b3c55cd229506a9add0047838e3e
Author: Linus Torvalds <torvalds at linux-foundation.org>
Date:   Tue Jul 28 14:31:02 2009 -0700

    Merge branch 'i2c-for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/jdelvare/staging
    
    * 'i2c-for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/jdelvare/staging:
      i2c/tsl2550: Fix lux value in dark environment

commit 655c5d8fc110a9d4f90cc831bd009936f3e8df28
Merge: ce4adcc6e5320062e0d993eb75152d165aaabbe6 f25784b35f590c81d5fb8245a8cd45e1afb6f1b2
Author: Linus Torvalds <torvalds at linux-foundation.org>
Date:   Tue Jul 28 14:27:06 2009 -0700

    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: (22 commits)
      Btrfs: Fix async caching interaction with unmount
      Btrfs: change how we unpin extents
      Btrfs: Correct redundant test in add_inode_ref
      Btrfs: find smallest available device extent during chunk allocation
      Btrfs: clear all space_info->full after removing a block group
      Btrfs: make flushoncommit mount option correctly wait on ordered_extents
      Btrfs: Avoid delayed reference update looping
      Btrfs: Fix ordering of key field checks in btrfs_previous_item
      Btrfs: find_free_dev_extent doesn't handle holes at the start of the device
      Btrfs: Remove code duplication in comp_keys
      Btrfs: async block group caching
      Btrfs: use hybrid extents+bitmap rb tree for free space
      Btrfs: Fix crash on read failures at mount
      Btrfs: remove of redundant btrfs_header_level
      Btrfs: adjust NULL test
      Btrfs: Remove broken sanity check from btrfs_rmap_block()
      Btrfs: convert nested spin_lock_irqsave to spin_lock
      Btrfs: make sure all dirty blocks are written at commit time
      Btrfs: fix locking issue in btrfs_find_next_key
      Btrfs: fix double increment of path->slots[0] in btrfs_next_leaf
      ...

commit ce4adcc6e5320062e0d993eb75152d165aaabbe6
Author: Andreas Eversberg <andreas at eversberg.eu>
Date:   Mon Jul 27 19:24:04 2009 +0200

    mISDN: Fix handling of receive buffer size in L1oIP
    
    The size of receive buffer pointer was used to get size of
    receive buffer instead of recvbuf_size itself, so only 4/8
    bytes could be transfered.
    
    This is a regression to 2.6.30 introduced by commit
    8c90e11e3543d7de612194a042a148caeaab5f1d ("mISDN: Use
    kernel_{send,recv}msg instead of open coding")
    
    Signed-off-by: Andreas Eversberg <andreas at eversberg.eu>
    Signed-off-by: Karsten Keil <keil at b1-systems.de>
    Signed-off-by: Linus Torvalds <torvalds at linux-foundation.org>

commit f151cd2c54ddc7714e2f740681350476cda03a28
Author: Ramon de Carvalho Valle <ramon at risesecurity.org>
Date:   Tue Jul 28 13:58:22 2009 -0500

    eCryptfs: parse_tag_3_packet check tag 3 packet encrypted key size
    
    The parse_tag_3_packet function does not check if the tag 3 packet contains a
    encrypted key size larger than ECRYPTFS_MAX_ENCRYPTED_KEY_BYTES.
    
    Signed-off-by: Ramon de Carvalho Valle <ramon at risesecurity.org>
    [tyhicks at linux.vnet.ibm.com: Added printk newline and changed goto to out_free]
    Signed-off-by: Tyler Hicks <tyhicks at linux.vnet.ibm.com>
    Cc: stable at kernel.org (2.6.27 and 30)
    Signed-off-by: Linus Torvalds <torvalds at linux-foundation.org>

commit 6352a29305373ae6196491e6d4669f301e26492e
Author: Tyler Hicks <tyhicks at linux.vnet.ibm.com>
Date:   Tue Jul 28 13:57:01 2009 -0500

    eCryptfs: Check Tag 11 literal data buffer size
    
    Tag 11 packets are stored in the metadata section of an eCryptfs file to
    store the key signature(s) used to encrypt the file encryption key.
    After extracting the packet length field to determine the key signature
    length, a check is not performed to see if the length would exceed the
    key signature buffer size that was passed into parse_tag_11_packet().
    
    Thanks to Ramon de Carvalho Valle for finding this bug using fsfuzzer.
    
    Signed-off-by: Tyler Hicks <tyhicks at linux.vnet.ibm.com>
    Cc: stable at kernel.org (2.6.27 and 30)
    Signed-off-by: Linus Torvalds <torvalds at linux-foundation.org>

commit 74e7ff8c50b6b022e6ffaa736b16a4dc161d3eaf
Author: Lai Jiangshan <laijs at cn.fujitsu.com>
Date:   Tue Jul 28 20:17:22 2009 +0800

    tracing: Fix missing function_graph events when we splice_read from trace_pipe
    
    About a half events are missing when we splice_read
    from trace_pipe. They are unexpectedly consumed because we ignore
    the TRACE_TYPE_NO_CONSUME return value used by the function graph
    tracer when it needs to consume the events by itself to walk on
    the ring buffer.
    
    The same problem appears with ftrace_dump()
    
    Example of an output before this patch:
    
    1)               |      ktime_get_real() {
    1)   2.846 us    |          read_hpet();
    1)   4.558 us    |        }
    1)   6.195 us    |      }
    
    After this patch:
    
    0)               |      ktime_get_real() {
    0)               |        getnstimeofday() {
    0)   1.960 us    |          read_hpet();
    0)   3.597 us    |        }
    0)   5.196 us    |      }
    
    The fix also applies on 2.6.30
    
    Signed-off-by: Lai Jiangshan <laijs at cn.fujitsu.com>
    Cc: Steven Rostedt <rostedt at goodmis.org>
    Cc: stable at kernel.org
    LKML-Reference: <4A6EEC52.90704 at cn.fujitsu.com>
    Signed-off-by: Frederic Weisbecker <fweisbec at gmail.com>

commit 38ceb592fcac9110c6b3c87ea0a27bff68c43486
Author: Lai Jiangshan <laijs at cn.fujitsu.com>
Date:   Tue Jul 28 20:11:24 2009 +0800

    tracing: Fix invalid function_graph entry
    
    When print_graph_entry() computes a function call entry event, it needs
    to also check the next entry to guess if it matches the return event of
    the current function entry.
    In order to look at this next event, it needs to consume the current
    entry before going ahead in the ring buffer.
    
    However, if the current event that gets consumed is the last one in the
    ring buffer head page, the ring_buffer may reuse the page for writers.
    The consumed entry will then become invalid because of possible
    racy overwriting.
    
    Me must then handle this entry by making a copy of it.
    
    The fix also applies on 2.6.30
    
    Signed-off-by: Lai Jiangshan <laijs at cn.fujitsu.com>
    Cc: Steven Rostedt <rostedt at goodmis.org>
    Cc: stable at kernel.org
    LKML-Reference: <4A6EEAEC.3050508 at cn.fujitsu.com>
    Signed-off-by: Frederic Weisbecker <fweisbec at gmail.com>

commit fb29900217bd89370974870d47cab07bad3e5ac4
Author: Amit Kucheria <amit.kucheria at canonical.com>
Date:   Mon Jul 27 12:01:03 2009 +0300

    staging: udlfb: Add vmalloc.h include
    
    Required for vmalloc_32 and vfree declarations on non-x86 platforms.
    
    Signed-off-by: Amit Kucheria <amit.kucheria at canonical.com>
    Signed-off-by: Greg Kroah-Hartman <gregkh at suse.de>

commit 0bfc240575acb8769d0be78facedabd8e3d2c33a
Author: Greg Kroah-Hartman <gregkh at suse.de>
Date:   Sun Jul 19 23:37:32 2009 -0700

    staging: remove aten2011 driver
    
    This driver is not needed, as the existing mos7840 driver works
    properly for this device.
    
    Thanks to Russell Lang for doing the work to figure this out.
    
    Cc: Russell Lang <gsview at ghostgum.com.au>
    Signed-off-by: Greg Kroah-Hartman <gregkh at suse.de>

commit a6a9f81ccc9f5c86ccc22bbed1960a57d0316e8b
Author: David Rientjes <rientjes at google.com>
Date:   Tue Jun 16 16:42:53 2009 -0700

    Staging: android: lowmemorykiller.c: fix it for "oom: move oom_adj value from task_struct to mm_struct"
    
    I'm about to merge "oom: move oom_adj value from task_struct to
    mm_struct", and this fixup is needed to repair linux-next's
    drivers/staging/android/lowmemorykiller.c.
    
    Signed-off-by: Andrew Morton <akpm at linux-foundation.org>
    Signed-off-by: Greg Kroah-Hartman <gregkh at suse.de>

commit de8f8bd63334fe2014be7d9ab3a81ce9b96e5d19
Author: Oliver Neukum <oliver at neukum.org>
Date:   Mon Jul 13 10:46:57 2009 +0200

    Staging: serqt_usb2: fix memory leak in error case
    
    a standard memory leak, as later allocations may fail even if prior
    allocations did not. Then the prior allocations must be undone.
    
    Signed-off-by: Oliver Neukum <oliver at neukum.org>
    Signed-off-by: Greg Kroah-Hartman <gregkh at suse.de>

commit f3a756883ac028c536479e2eb283477fec80c828
Author: Bill Pemberton <wfp5p at virginia.edu>
Date:   Tue Jul 14 15:33:52 2009 -0400

    Staging: serqt_usb2: add missing calls to tty_kref_put()
    
    tty_port_tty_get() was called without a corresponding tty_kref_put()
    in qt_read_bulk_callback() and qt_close().
    
    Signed-off-by: Bill Pemberton <wfp5p at virginia.edu>
    Signed-off-by: Greg Kroah-Hartman <gregkh at suse.de>

commit a39ea210ec8c8f6ed381f8dafbe755c57b8f30c3
Author: Lucian Adrian Grijincu <lgrijincu at ixiacom.com>
Date:   Mon Jul 27 09:06:42 2009 -0700

    driver core: documentation: make it clear that sysfs is optional
    
    The original text suggested that sysfs is mandatory and always
    compiled in the kernel.
    
    Signed-off-by: Lucian Adrian Grijincu <lgrijincu at ixiacom.com>
    Signed-off-by: Randy Dunlap <randy.dunlap at oracle.com>
    Signed-off-by: Greg Kroah-Hartman <gregkh at suse.de>

commit 79f0313bfc67aa13abb931e8c12a1411f0161a68
Author: Xiaotian Feng <dfeng at redhat.com>
Date:   Fri Jul 24 17:31:41 2009 +0800

    driver core: sysdev: do not send KOBJ_ADD uevent if kobject_init_and_add fails
    
    If kobject_init_and_add fails, sysdev_register should not send KOBJ_ADD
    uevent to userspace.
    
    Signed-off-by: Xiaotian Feng <dfeng at redhat.com>
    Signed-off-by: Greg Kroah-Hartman <gregkh at suse.de>

commit 4df7b3e0370ab6161ea2f258f51dd7c43bef2bda
Author: Roel Kluin <roel.kluin at gmail.com>
Date:   Wed Jul 15 20:29:07 2009 +0200

    Dynamic debug: fix typo: -/->
    
    The member was intended, not the local variable.
    
    Signed-off-by: Roel Kluin <roel.kluin at gmail.com>
    Cc: Jason Baron <jbaron at redhat.com>
    Cc: Greg Banks <gnb at sgi.com>
    Signed-off-by: Andrew Morton <akpm at linux-foundation.org>
    Signed-off-by: Greg Kroah-Hartman <gregkh at suse.de>

commit 3b4418c67a70278964b063b5e1f56dcb3d0a41f3
Author: Ming Lei <tom.leiming at gmail.com>
Date:   Sat Jul 11 11:11:10 2009 +0800

    driver core: firmware_class:fix memory leak of page pointers array
    
    The page pointers array is allocated in fw_realloc_buffer() called by
    firmware_data_write(), and should be freed in release function of firmware
    device.
    
    Signed-off-by: Ming Lei <tom.leiming at gmail.com>
    Reported-by: Catalin Marinas <catalin.marinas at arm.com>
    Acked-by: David Woodhouse <David.Woodhouse at intel.com>
    Signed-off-by: Greg Kroah-Hartman <gregkh at suse.de>

commit 0f58b44582001c8bcdb75f36cf85ebbe5170e959
Author: Peter Oberparleiter <oberpar at linux.vnet.ibm.com>
Date:   Tue Jul 14 17:56:15 2009 +0200

    sysfs: fix hardlink count on device_move
    
    Update directory hardlink count when moving kobjects to a new parent.
    Fixes the following problem which occurs when several devices are
    moved to the same parent and then unregistered:
    
    > ls -laF /sys/devices/css0/defunct/
    > total 0
    > drwxr-xr-x 4294967295 root root    0 2009-07-14 17:02 ./
    > drwxr-xr-x        114 root root    0 2009-07-14 17:02 ../
    > drwxr-xr-x          2 root root    0 2009-07-14 17:01 power/
    > -rw-r--r--          1 root root 4096 2009-07-14 17:01 uevent
    
    Signed-off-by: Peter Oberparleiter <oberpar at linux.vnet.ibm.com>
    Cc: stable <stable at kernel.org>
    Signed-off-by: Greg Kroah-Hartman <gregkh at suse.de>

commit 56ad1740d9a8dc271e71fee234be662638c64458
Author: Jens Axboe <jens.axboe at oracle.com>
Date:   Tue Jul 28 22:11:24 2009 +0200

    block: make the end_io functions be non-GPL exports
    
    Prior to the change for more sane end_io functions, we exported
    the helpers with the normal EXPORT_SYMBOL(). That got changed
    to _GPL() for the new interface. Revert that particular change,
    on the basis that this is basic functionality and doesn't dip
    into internal structures. If these exports can't be non-GPL,
    then we may as well make EXPORT_SYMBOL() imply GPL for
    everything.
    
    Signed-off-by: Jens Axboe <jens.axboe at oracle.com>

commit 96f699ad09c8b3c55cd229506a9add0047838e3e
Author: Michele Jr De Candia <michele.decandia at valueteam.com>
Date:   Tue Jul 28 16:33:03 2009 +0200

    i2c/tsl2550: Fix lux value in dark environment
    
    I've tested TSL2550 driver and I've found a bug: when light is off,
    returned value from tsl2550_calculate_lux function is -1 when it should
    be 0 (sensor correctly read that light was off).
    
    I think the bug is that a zero c0 value (approximated value of ch0) is
    misinterpreted as an error.
    
    Signed-off-by: Michele Jr De Candia <michele.decandia at valueteam.com>
    Acked-by: Rodolfo Giometti <giometti at linux.it>
    Signed-off-by: Jean Delvare <khali at linux-fr.org>

commit 8d282497cbf8124d6814d51a74fb13d69531c669
Author: Luca Tettamanti <kronos.it at gmail.com>
Date:   Tue Jul 28 16:31:39 2009 +0200

    hwmon: (asus_atk0110) Fix upper limit readings
    
    On newer Asus boards the "upper" limit of a sensor is encoded as
    delta from the "lower" limit. Fix the driver to correctly handle
    this case.
    
    Signed-off-by: Luca Tettamanti <kronos.it at gmail.com>
    Tested-by: Alex Macfarlane Smith <nospam at archifishal.co.uk>
    Signed-off-by: Jean Delvare <khali at linux-fr.org>

commit 1b54ab450b180eaeeb0eee6f0f64349246a22c14
Author: Jean Delvare <khali at linux-fr.org>
Date:   Tue Jul 28 16:31:39 2009 +0200

    hwmon: (smsc47m1) Differentiate between LPC47M233 and LPC47M292
    
    The SMSC LPC47M233 and LPC47M292 chips have the same device ID but
    are not compatible.
    
    Signed-off-by: Jean Delvare <khali at linux-fr.org>
    Cc: Juerg Haefliger <juergh at gmail.com>
    Acked-by: Hans de Goede <hdegoede at redhat.com>

commit f25784b35f590c81d5fb8245a8cd45e1afb6f1b2
Author: Yan Zheng <zheng.yan at oracle.com>
Date:   Tue Jul 28 08:41:57 2009 -0400

    Btrfs: Fix async caching interaction with unmount
    
    - don't stop the caching thread until btrfs_commit_super return.
    
    - if caching is interrupted by umount, set last to (u64)-1.
      otherwise the un-scanned range of block group will be considered
      as free extent.
    
    Signed-off-by: Chris Mason <chris.mason at oracle.com>

commit 42469ff014812880d7324285d165841f4b1814e7
Author: Sascha Hauer <s.hauer at pengutronix.de>
Date:   Fri Jul 24 17:31:03 2009 +0200

    mx3 defconfig update
    
    - enable PCM043, MX31LILLY, ARMADILLO5X0 and MX35_3DS boards
    - enable MXC nand driver
    - enable UBI support
    - disable cs89x0 support which broke all boards which do not have this chip
    
    Signed-off-by: Sascha Hauer <s.hauer at pengutronix.de>

commit 8666f8deec75a8dce15edd35ec33d29ef79cdb08
Author: Sascha Hauer <s.hauer at pengutronix.de>
Date:   Fri Jul 24 17:30:50 2009 +0200

    mx27 defconfig update
    
    - enable MX27_3DS and MX27LITE Board
    - enable MXC nand driver
    - enable UBI support
    
    Signed-off-by: Sascha Hauer <s.hauer at pengutronix.de>

commit 3839e4b29b4385e4b31075e7805683e2aa2a8103
Author: Xiaotian Feng <dfeng at redhat.com>
Date:   Tue Jul 28 09:11:14 2009 +0200

    block: fix improper kobject release in blk_integrity_unregister
    
    blk_integrity_unregister should use kobject_put to release the kobject,
    otherwise after bi is freed, memory of bi->kobj->name is leaked.
    
    Signed-off-by: Xiaotian Feng <dfeng at redhat.com>
    Signed-off-by: Jens Axboe <jens.axboe at oracle.com>

commit a4e7d46407d73f35d217013b363b79a8f8eafcaa
Author: Jens Axboe <jens.axboe at oracle.com>
Date:   Tue Jul 28 09:07:29 2009 +0200

    block: always assign default lock to queues
    
    Move the assignment of a default lock below blk_init_queue() to
    blk_queue_make_request(), so we also get to set the default lock
    for ->make_request_fn() based drivers. This is important since the
    queue flag locking requires a lock to be in place.
    
    Signed-off-by: Jens Axboe <jens.axboe at oracle.com>

commit a85a00a699740f6f9863f88aef22060fe1534681
Author: unsik Kim <donari75 at gmail.com>
Date:   Tue Jul 28 08:57:33 2009 +0200

    mg_disk: Add missing ready status check on mg_write()
    
    When last sector is written, ready bit of status register should be
    checked.
    
    Signed-off-by: unsik Kim <donari75 at gmail.com>
    Acked-by: Bartlomiej Zolnierkiewicz <bzolnier at gmail.com>
    Signed-off-by: Jens Axboe <jens.axboe at oracle.com>

commit 394c6cc63c1d6900ad7498a3221a1d48fc00c4fa
Author: Bartlomiej Zolnierkiewicz <bzolnier at gmail.com>
Date:   Tue Jul 28 08:56:34 2009 +0200

    mg_disk: fix issue with data integrity on error in mg_write()
    
    We cannot acknowledge the sector write before checking its status
    (which is done on the next loop iteration) and we also need to do
    the final status register check after writing the last sector.
    
    Fix mg_write() to match mg_write_intr() in this regard.
    
    While at it:
    - add mg_read_one() and mg_write_one() helpers
    - always use MG_SECTOR_SIZE and remove MG_STORAGE_BUFFER_SIZE
    
    [bart: thanks to Tejun for porting the patch over recent block changes]
    
    Cc: unsik Kim <donari75 at gmail.com>
    Cc: Tejun Heo <tj at kernel.org>
    Signed-off-by: Bartlomiej Zolnierkiewicz <bzolnier at gmail.com>
    
    ===================================================================
    Signed-off-by: Jens Axboe <jens.axboe at oracle.com>

commit eb32baec15c38ae6f06cb898a9f791578c5f8c79
Author: unsik Kim <donari75 at gmail.com>
Date:   Tue Jul 28 08:52:07 2009 +0200

    mg_disk: fix reading invalid status when use polling driver
    
    When using polling driver, little delay is required to access
    status register. Without this, host might read invalid status.
    
    Signed-off-by: unsik Kim <donari75 at gmail.com>
    Signed-off-by: Jens Axboe <jens.axboe at oracle.com>

commit 48f5690d45b79ffeedc5ab24243b576056f1d2ff
Author: unsik Kim <donari75 at gmail.com>
Date:   Tue Jul 28 08:52:06 2009 +0200

    mg_disk: remove prohibited sleep operation
    
    mflash's polling driver operate in standard request_fn_proc's context,
    sleep in this isn't permitted.
    
    Signed-off-by: unsik Kim <donari75 at gmail.com>
    Signed-off-by: Jens Axboe <jens.axboe at oracle.com>

commit 27fed4175acf81ddd91d9a4ee2fd298981f60295
Author: Stephen Hemminger <shemminger at vyatta.com>
Date:   Mon Jul 27 18:39:45 2009 -0700

    ip: fix logic of reverse path filter sysctl
    
    Even though reverse path filter was changed from simple boolean to
    trinary control, the loose mode only works if both all and device are
    configured because of this logic error.
    
    Signed-off-by: Stephen Hemminger <shemminger at vyatta.com>
    Signed-off-by: David S. Miller <davem at davemloft.net>

commit 9a926d86b29a25456f1dd8c9df938e151b1c3978
Author: David S. Miller <davem at davemloft.net>
Date:   Mon Jul 27 18:10:28 2009 -0700

    sparc64: Sign extend length arg to truncate syscalls when compat.
    
    The first thing sys_truncate() and sys_ftruncate() do is sign extend
    the unsigned length arg to a signed type.
    
    Thanks to Benjamin Herrenschmidt for the tip.
    
    Signed-off-by: David S. Miller <davem at davemloft.net>

commit 7b91e2661addd8e2419cb45f6a322aa5dab9bcee
Author: Jeff Layton <jlayton at redhat.com>
Date:   Thu Jul 23 15:22:30 2009 -0400

    cifs: fix error handling in mount-time DFS referral chasing code
    
    If the referral is malformed or the hostname can't be resolved, then
    the current code generates an oops. Fix it to handle these errors
    gracefully.
    
    Reported-by: Sandro Mathys <sm at sandro-mathys.ch>
    Acked-by: Igor Mammedov <niallain at gmail.com>
    CC: Stable <stable at kernel.org>
    Signed-off-by: Jeff Layton <jlayton at redhat.com>
    Signed-off-by: Steve French <sfrench at us.ibm.com>

commit 4733fd328f14280900435d9dbae1487d110a4d56
Author: Benjamin Herrenschmidt <benh at kernel.crashing.org>
Date:   Tue Jul 28 10:16:48 2009 +1000

    mm: Remove duplicate definitions in MIPS and SH
    
    Those definitions are already provided by asm-generic
    
    Signed-off-by: Benjamin Herrenschmidt <benh at kernel.crashing.org>
    Acked-by: Paul Mundt <lethal at linux-sh.org>
    Signed-off-by: Linus Torvalds <torvalds at linux-foundation.org>

commit c56d300086140c93dc3390e5300fd17df802ec0e
Author: Alan Cox <alan at lxorguk.ukuu.org.uk>
Date:   Tue Jul 28 00:34:58 2009 +0100

    usb_serial: Fix remaining ref count/lock bugs
    
    This fixes
    - locking bug that was hidden by ecc2e05e739c30870c8e4f252b63a0c4041f2724
    - Regression #13821
    - Spurious warning when closing and blocking for data write out
    
    With these changes my PL2303 always ends up as ttyUSB0 when it should and
    the module refcounts stay correct.
    
    I'll do a more wholesale split & tidy of _open in the next release or two
    as we get a standard tty_port_open and port->ops->init port->ops->shutdown
    call backs.
    
    Copy sent to Alan Stern and Carlos Mafra just to confirm it fixes all the
    reports but it passes local testing with the same hardware as Alan Stern.
    
    Signed-off-by: Alan Cox <alan at linux.intel.com>
    Signed-off-by: Linus Torvalds <torvalds at linux-foundation.org>

commit 626f5cefc60b281a00db1402b82deff82080c70a
Author: Takashi Iwai <tiwai at suse.de>
Date:   Tue Jul 28 00:54:39 2009 +0200

    ALSA: hda - Add quirk for Dell Studio 1555
    
    Added a quirk entry for Dell Studio 1555.
    
    Reference: Novell bnc#525244
    	https://bugzilla.novell.com/show_bug.cgi?id=525244
    
    Signed-off-by: Takashi Iwai <tiwai at suse.de>

commit fc013a58859b7cf85e53a05804a74952fe0a4117
Merge: 3a54297478e6578f96fd54bf4daa1751130aca86 f44aebcc566d1d6275f7191867b9633dc11de2ee
Author: Linus Torvalds <torvalds at linux-foundation.org>
Date:   Mon Jul 27 15:54:10 2009 -0700

    Merge branch 'for-linus' of git://git.infradead.org/users/eparis/notify
    
    * 'for-linus' of git://git.infradead.org/users/eparis/notify:
      inotify: use GFP_NOFS under potential memory pressure
      fsnotify: fix inotify tail drop check with path entries
      inotify: check filename before dropping repeat events
      fsnotify: use def_bool in kconfig instead of letting the user choose
      inotify: fix error paths in inotify_update_watch
      inotify: do not leak inode marks in inotify_add_watch
      inotify: drop user watch count when a watch is removed

commit 3a54297478e6578f96fd54bf4daa1751130aca86
Author: Alan Cox <alan at linux.intel.com>
Date:   Mon Jul 27 22:17:51 2009 +0100

    pty: quickfix for the pty ENXIO timing problems
    
    This also makes close stall in the normal case which is apparently
    needed to fix emacs
    
    Signed-off-by: Alan Cox <alan at linux.intel.com>
    Signed-off-by: Linus Torvalds <torvalds at linux-foundation.org>

commit 7cb7f45c7feef43c8f71f5cfedfc0b19be2142f7
Author: Len Brown <len.brown at intel.com>
Date:   Mon Jul 27 18:42:38 2009 -0400

    Revert "ACPICA: Remove obsolete acpi_os_validate_address interface"
    
    This reverts commit f9ca058430333c9a24c5ca926aa445125f88df18.
    
    which caused a regression:
    
    http://bugzilla.kernel.org/show_bug.cgi?id=13620
    
    Signed-off-by: Lin Ming <ming.m.lin at intel.com>
    Signed-off-by: Len Brown <len.brown at intel.com>

commit 0e83815be719d3391bf5ea24b7fe696c07dbd417
Author: Robert Richter <robert.richter at amd.com>
Date:   Mon Jul 27 19:43:52 2009 +0200

    x86: fix section mismatch for i386 init code
    
    Startup code for i386 in arch/x86/kernel/head_32.S is using the
    reference variable initial_code that is located in the .cpuinit.data
    section. If CONFIG_HOTPLUG_CPU is enabled, startup code is not in an
    init section and can be called later too. In this case the reference
    initial_code must be kept too. This patch fixes this. See below for
    the section mismatch warning.
    
     WARNING: vmlinux.o(.cpuinit.data+0x0): Section mismatch in reference
     from the variable initial_code to the function
     .init.text:i386_start_kernel()
     The variable __cpuinitdata initial_code references
     a function __init i386_start_kernel().
     If i386_start_kernel is only used by initial_code then
     annotate i386_start_kernel with a matching annotation.
    
    Signed-off-by: Robert Richter <robert.richter at amd.com>
    LKML-Reference: <1248716632-26844-1-git-send-email-robert.richter at amd.com>
    Signed-off-by: H. Peter Anvin <hpa at zytor.com>

commit f1462147f15a954a1a0553390846c6fa3ca742b1
Merge: e00b95debb9a0f023b61abcd4b1e74f687276b47 6d7760a88c25057c2c2243e5dfe2d731064bd31d
Author: Linus Torvalds <torvalds at linux-foundation.org>
Date:   Mon Jul 27 13:42:47 2009 -0700

    Merge git://git.kernel.org/pub/scm/linux/kernel/git/davem/net-2.6
    
    * git://git.kernel.org/pub/scm/linux/kernel/git/davem/net-2.6: (45 commits)
      cnic: Fix ISCSI_KEVENT_IF_DOWN message handling.
      net: irda: init spinlock after memcpy
      ixgbe: fix for 82599 errata marking UDP checksum errors
      r8169: WakeOnLan fix for the 8168
      netxen: reset ring consumer during cleanup
      net/bridge: use kobject_put to release kobject in br_add_if error path
      smc91x.h: add config for Nomadik evaluation kit
      NET: ROSE: Don't use static buffer.
      eepro: Read buffer overflow
      tokenring: Read buffer overflow
      at1700: Read buffer overflow
      fealnx: Write outside array bounds
      ixgbe: remove unnecessary call to device_init_wakeup
      ixgbe: Don't priority tag control frames in DCB mode
      ixgbe: Enable FCoE offload when DCB is enabled for 82599
      net: Rework mdio-ofgpio driver to use of_mdio infrastructure
      register at91_ether using platform_driver_probe
      skge: Enable WoL by default if supported
      net: KS8851 needs to depend on MII
      be2net: Bug fix in the non-lro path. Size of received packet was not updated in statistics properly.
      ...

commit e00b95debb9a0f023b61abcd4b1e74f687276b47
Merge: b68f2fb9e73f46037fbeca5fbd4ae8a7ddd8ef6b 4afcd2dcc6d89da696fc9d469a909adafa9d3636
Author: Linus Torvalds <torvalds at linux-foundation.org>
Date:   Mon Jul 27 12:23:47 2009 -0700

    Merge branch 'for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/bp/bp
    
    * 'for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/bp/bp:
      amd64_edac: read the right F2 maskoffset reg

commit b68f2fb9e73f46037fbeca5fbd4ae8a7ddd8ef6b
Author: Alan Cox <alan at linux.intel.com>
Date:   Mon Jul 27 10:58:08 2009 +0100

    tty: Fix a USB serial crash/scribble
    
    The port lock is used to protect the port state. However the port structure
    is freed on a hangup, then the lock taken on a close. The right fix is to
    drop the port on tty->shutdown() but we can't yet do that due to sleep v
    non-sleeping rules. Instead do the next best thing and fix it up when we are
    not in -rc season.
    
    Reported-by: Daniel Mack <daniel at caiaq.de>
    Signed-off-by: Alan Cox <alan at linux.intel.com>
    Tested-by: Daniel Mack <daniel at caiaq.de>
    Signed-off-by: Linus Torvalds <torvalds at linux-foundation.org>

commit 78f1a8b758d57c2d2c9f3db7199cd30803854c82
Author: Luis R. Rodriguez <lrodriguez at atheros.com>
Date:   Mon Jul 27 08:38:25 2009 -0700

    mac80211: do not queue work after suspend in the dynamic ps timer
    
    Signed-off-by: Luis R. Rodriguez <lrodriguez at atheros.com>
    Signed-off-by: John W. Linville <linville at tuxdriver.com>

commit 082e708acc50a5b625b9bde0bb1af90dfdbd1942
Author: Roel Kluin <roel.kluin at gmail.com>
Date:   Sat Jul 25 23:34:31 2009 +0200

    iwlwifi: Read outside array bounds
    
    tid is bounded (above) by the size of default_tid_to_tx_fifo (17 elements), but
    the size of priv->stations[].tid[] is MAX_TID_COUNT (9) elements.
    
    Signed-off-by: Roel Kluin <roel.kluin at gmail.com>
    Signed-off-by: John W. Linville <linville at tuxdriver.com>

commit 008749fc9917b799c469478141ddd1a4c81d06ca
Author: Roel Kluin <roel.kluin at gmail.com>
Date:   Sat Jul 25 23:21:22 2009 +0200

    ath9k: Read outside array bounds
    
    Incorrect limits leads to reads outside array bounds.
    
    Signed-off-by: Roel Kluin <roel.kluin at gmail.com>
    Acked-by: Luis R. Rodriguez <lrodriguez at atheros.com>
    Signed-off-by: John W. Linville <linville at tuxdriver.com>

commit 3d0ccd021b23c18ea2d399fe4a43c955485c765c
Author: Roel Kluin <roel.kluin at gmail.com>
Date:   Sat Jul 25 23:02:32 2009 +0200

    airo: Buffer overflow
    
    SSID_rid has space for only 3 ssids.
    txPowerLevels[i] is read before the bounds check for i
    
    Signed-off-by: Roel Kluin <roel.kluin at gmail.com>
    Acked-by: Dan Williams <dcbw at redhat.com>
    Signed-off-by: John W. Linville <linville at tuxdriver.com>

commit 2a21f86917f7a9fe13b180e895a816871a234dee
Author: Dan Carpenter <error27 at gmail.com>
Date:   Sat Jul 25 15:22:59 2009 +0300

    wireless: ERR_PTR vs null
    
    iwm_wdev_alloc() returns an ERR_PTR on failure and not null.  It also
    prints its own dev_err() message so I removed that as well.
    
    Compile tested only.  Sorry.
    Found by smatch (http://repo.or.cz/w/smatch.git).
    
    Signed-off-by: Dan Carpenter <error27 at gmail.com>
    Acked-by: Zhu Yi <yi.zhu at intel.com>
    Signed-off-by: John W. Linville <linville at tuxdriver.com>

commit 45f5fa32b130b2a59f9b726be45ce7fa73fb834c
Author: reinette chatre <reinette.chatre at intel.com>
Date:   Tue Jul 21 09:29:07 2009 -0700

    iwlagn: fix minimum number of queues setting
    
    We need to provide a reasonable minimum that will result in a
    working setup if used. Set minimum to be 10 to provide for
    4 standard TX queues + 1 command queue + 2 (unused) HCCA queues +
    4 HT queues (one per AC).
    
    We allow the user to change the number of queues used via a module
    parameter and use this minimum value to check if it is valid. Without
    this patch a user can select a value for the number of queues that
    will result in a failing setup.
    
    Signed-off-by: Reinette Chatre <reinette.chatre at intel.com>
    Reviewed-by: Tomas Winkler <tomas.winkler at intel.com>
    Acked-by: Tomas Winkler <tomas.winkler at intel.com>
    Signed-off-by: John W. Linville <linville at tuxdriver.com>

commit 3995bd9332a51b626237d6671cfeb7235e6c1305
Author: Johannes Berg <johannes at sipsolutions.net>
Date:   Fri Jul 24 11:13:14 2009 -0700

    iwlwifi: fix TX queue race
    
    I had a problem on 4965 hardware (well, probably other hardware too,
    but others don't survive my stress testing right now, unfortunately)
    where the driver was sending invalid commands to the device, but no
    such thing could be seen from the driver's point of view. I could
    reproduce this fairly easily by sending multiple TCP streams with
    iperf on different TIDs, though sometimes a single iperf stream was
    sufficient. It even happened with a single core, but I have forced
    preemption turned on.
    
    The culprit was a queue overrun, where we advanced the queue's write
    pointer over the read pointer. After careful analysis I've come to
    the conclusion that the cause is a race condition between iwlwifi
    and mac80211.
    
    mac80211, of course, checks whether the queue is stopped, before
    transmitting a frame. This effectively looks like this:
    
            lock(queues)
            if (stopped(queue)) {
                    unlock(queues)
                    return busy;
    	}
            unlock(queues)
            ...             <-- this place will be important
    			    there is some more code here
            drv_tx(frame)
    
    The driver, on the other hand, can stop and start queues, which does
    
            lock(queues)
            mark_running/stopped(queue)
            unlock(queues)
    
    	[if marked running: wake up tasklet to send pending frames]
    
    Now, however, once the driver starts the queue, mac80211 can see that
    and end up at the marked place above, at which point for some reason the
    driver seems to stop the queue again (I don't understand that) and then
    we end up transmitting while the queue is actually full.
    
    Now, this shouldn't actually matter much, but for some reason I've seen
    it happen multiple times in a row and the queue actually overflows, at
    which point the queue bites itself in the tail and things go completely
    wrong.
    
    This patch fixes this by just dropping the packet should this have
    happened, and making the lock in iwlwifi cover everything so iwlwifi
    can't race against itself (dropping the lock there might make it more
    likely, but it did seem to happen without that too).
    
    Since we can't hold the lock across drv_tx() above, I see no way to fix
    this in mac80211, but I also don't understand why I haven't seen this
    before -- maybe I just never stress tested it this badly.
    
    With this patch, the device has survived many minutes of simultanously
    sending two iperf streams on different TIDs with combined throughput
    of about 60 Mbps.
    
    Signed-off-by: Johannes Berg <johannes at sipsolutions.net>
    Signed-off-by: Reinette Chatre <reinette.chatre at intel.com>
    Signed-off-by: John W. Linville <linville at tuxdriver.com>

commit 6a31d4aeab85a02f9a57ca37b935054393daa794
Merge: ca597a02cd9902338aad91b0ce792fd9ffcaaa04 950b260ed21fdb6fa5f18485dabb0b03488431fa
Author: Linus Torvalds <torvalds at linux-foundation.org>
Date:   Mon Jul 27 12:18:27 2009 -0700

    Merge branch 'fixes-for-linus' of git://git.monstr.eu/linux-2.6-microblaze
    
    * 'fixes-for-linus' of git://git.monstr.eu/linux-2.6-microblaze:
      microblaze: Makefile cleanup
      microblaze: Typo fix for cpu param inconsistency
      microblaze: Add support for R_MICROBLAZE_64_NONE
      microblaze: Get module loading working
      microblaze: remove sys_ipc
      microblaze: Support unaligned address for put/get_user macros
      microblaze: Detect new Microblaze 7.20 versions
      microblaze: Fix do_page_fault for no context
      microblaze: Add _PAGE_FILE macros to pgtable.h
      microblaze: Fix put_user macro for 64bits arguments
      microblaze: Clear print messages for DTB passing via r7
      microblaze: Not to clear r7 after copying DTB to kernel
      microblaze: Add messages about FDT blob
      microblaze: Final support for statically linked DTB
      microblaze: remove duplicated #include
      microblaze: Define tlb_flush macro

commit ca597a02cd9902338aad91b0ce792fd9ffcaaa04
Merge: b54c3835469c9548d470e7788cb22a2fd7e21133 d6c585a4342a2ff627a29f9aea77c5ed4cd76023
Author: Linus Torvalds <torvalds at linux-foundation.org>
Date:   Mon Jul 27 12:18:09 2009 -0700

    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: geode: Mark mfgpt irq IRQF_TIMER to prevent resume failure
      x86, amd: Don't probe for extended APIC ID if APICs are disabled
      x86, mce: Rename incorrect macro name "CONFIG_X86_THRESHOLD"
      x86-64: Fix bad_srat() to clear all state
      x86, mce: Fix set_trigger() accessor
      x86: Fix movq immediate operand constraints in uaccess.h
      x86: Fix movq immediate operand constraints in uaccess_64.h
      x86: Add reboot fixup for SBC-fitPC2
      x86: Include all of .data.* sections in _edata on 64-bit
      x86: Add quirk for Intel DG45ID board to avoid low memory corruption

commit b54c3835469c9548d470e7788cb22a2fd7e21133
Merge: 04fc0a4097014db7c22da33a56494e3e8a1895d5 57e4a5c4f8cfb4b198830c5400f9fc9eb7b75091
Author: Linus Torvalds <torvalds at linux-foundation.org>
Date:   Mon Jul 27 12:17:29 2009 -0700

    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:
      ALSA: hda - Fix mute control with some ALC262 models
      ALSA: snd_usb_caiaq: add support for Audio2DJ
      ALSA: pcm - Fix hwptr buffer-size overlap bug
      ALSA: pcm - Fix warnings in debug loggings
      ALSA: pcm - Add logging of hwptr updates and interrupt updates
      ASoC: tlv320aic3x: Enable PLL when not bypassed
      ALSA: hda - Restore GPIO1 properly at resume with AD1984A
      ALSA: ctxfi - Fix uninitialized error checks
      ALSA: hda - Use snprintf() to be safer
      ALSA: usb-audio - Volume control quirk for QuickCam E 3500
      ALSA: pcm - Fix regressions with VMware

commit 04fc0a4097014db7c22da33a56494e3e8a1895d5
Merge: 760dcc6e1839e7ca82507698fb077d5d78b24964 ca4e771f7b878b7bab02dedb539f7742f9b4f50e
Author: Linus Torvalds <torvalds at linux-foundation.org>
Date:   Mon Jul 27 12:16:57 2009 -0700

    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: (34 commits)
      V4L/DVB (12303): cx23885: check pointers before dereferencing in dprintk macro
      V4L/DVB (12302): cx23885-417: fix broken IOCTL handling
      V4L/DVB (12300): bttv: fix regression: tvaudio must be loaded before tuner
      V4L/DVB (12291): b2c2: fix frontends compiled into kernel
      V4L/DVB (12286): sn9c20x: reorder includes to be like other drivers
      V4L/DVB (12284): gspca - jpeg subdrivers: Check the result of kmalloc(jpeg header).
      V4L/DVB (12283): gspca - sn9c20x: New subdriver for sn9c201 and sn9c202 bridges.
      V4L/DVB (12282): gspca - main: Support for vidioc_g_chip_ident and vidioc_g/s_register.
      V4L/DVB (12269): af9013: auto-detect parameters in case of garbage given by app
      V4L/DVB (12267): gspca - sonixj: Bad sensor init of non ov76xx sensors.
      V4L/DVB (12265): em28xx: fix tuning problem in HVR-900 (R1)
      V4L/DVB (12263): em28xx: set demod profile for Pinnacle Hybrid Pro 320e
      V4L/DVB (12262): em28xx: Make sure the tuner is initialized if generic empia USB id was used
      V4L/DVB (12261): em28xx: set GPIO properly for Pinnacle Hybrid Pro analog support
      V4L/DVB (12260): em28xx: make support work for the Pinnacle Hybrid Pro (eb1a:2881)
      V4L/DVB (12258): em28xx: fix typo in mt352 init sequence for Terratec Cinergy T XS USB
      V4L/DVB (12257): em28xx: make tuning work for Terratec Cinergy T XS USB (mt352 variant)
      V4L/DVB (12245): em28xx: add support for mt9m001 webcams
      V4L/DVB (12244): em28xx: adjust vinmode/vinctl based on the stream input format
      V4L/DVB (12243): em28xx: allow specifying sensor xtal frequency
      ...

commit 760dcc6e1839e7ca82507698fb077d5d78b24964
Merge: 4897f1011aff7534b8e319404f7cd4028de7a453 8d406c6de2e67b5bae3c43b62b492c4ff63afb92
Author: Linus Torvalds <torvalds at linux-foundation.org>
Date:   Mon Jul 27 12:16:38 2009 -0700

    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] zcrypt: fix scheduling of hrtimer ap_poll_timer
      [S390] vdso: clock_gettime of CLOCK_THREAD_CPUTIME_ID with noexec=on
      [S390] vdso: fix per cpu area allocation
      [S390] hibernation: fix register corruption on machine checks
      [S390] hibernation: fix lowcore handling

commit 4897f1011aff7534b8e319404f7cd4028de7a453
Merge: a9355cf8e68baac964f815079b820d2680756300 5dea271b6d87bd1d79a59c1d5baac2596a841c37
Author: Linus Torvalds <torvalds at linux-foundation.org>
Date:   Mon Jul 27 12:16:21 2009 -0700

    Merge git://git.kernel.org/pub/scm/linux/kernel/git/agk/linux-2.6-dm
    
    * git://git.kernel.org/pub/scm/linux/kernel/git/agk/linux-2.6-dm:
      dm table: pass correct dev area size to device_area_is_valid
      dm: remove queue next_ordered workaround for barriers
      dm raid1: wake kmirrord when requeueing delayed bios after remote recovery

commit a9355cf8e68baac964f815079b820d2680756300
Merge: 9ae260270c90643156cda73427aa1f04c923e627 4a19fb11a90fdbbcb3bc02effa036230d035ca28
Author: Linus Torvalds <torvalds at linux-foundation.org>
Date:   Mon Jul 27 12:15:56 2009 -0700

    Merge branch 'for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/shaggy/jfs-2.6
    
    * 'for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/shaggy/jfs-2.6:
      jfs: Fix early release of acl in jfs_get_acl

commit 9ae260270c90643156cda73427aa1f04c923e627
Author: Oleg Nesterov <oleg at redhat.com>
Date:   Fri Jun 19 02:51:13 2009 +0200

    update the comment in kthread_stop()
    
    Commit 63706172f332fd3f6e7458ebfb35fa6de9c21dc5 ("kthreads: rework
    kthread_stop()") removed the limitation that the thread function mysr
    not call do_exit() itself, but forgot to update the comment.
    
    Since that commit it is OK to use kthread_stop() even if kthread can
    exit itself.
    
    Signed-off-by: Oleg Nesterov <oleg at redhat.com>
    Signed-off-by: Rusty Russell <rusty at rustcorp.com.au>
    Signed-off-by: Linus Torvalds <torvalds at linux-foundation.org>

commit 6560dc160f3a96b8f1f43e2c6b51aa6eb9898b90
Author: Mike Frysinger <vapier at gentoo.org>
Date:   Thu Jul 23 23:42:08 2009 +0930

    module: use MODULE_SYMBOL_PREFIX with module_layout
    
    The check_modstruct_version() needs to look up the symbol "module_layout"
    in the kernel, but it does so literally and not by a C identifier.  The
    trouble is that it does not include a symbol prefix for those ports that
    need it (like the Blackfin and H8300 port).  So make sure we tack on the
    MODULE_SYMBOL_PREFIX define to the front of it.
    
    Signed-off-by: Mike Frysinger <vapier at gentoo.org>
    Signed-off-by: Rusty Russell <rusty at rustcorp.com.au>
    Signed-off-by: Linus Torvalds <torvalds at linux-foundation.org>

commit 2bc20d09b03bca6e068e07440812d75b70b1c0b2
Merge: c7425eb4814bce40f3d117ff7a7870cc12e350e3 f1015c447781729060c415f5133164c638561f25
Author: Linus Torvalds <torvalds at linux-foundation.org>
Date:   Mon Jul 27 12:12:10 2009 -0700

    Merge branch 'for_linus' of git://git.kernel.org/pub/scm/linux/kernel/git/jack/linux-fs-2.6
    
    * 'for_linus' of git://git.kernel.org/pub/scm/linux/kernel/git/jack/linux-fs-2.6:
      jbd: fix race between write_metadata_buffer and get_write_access
      ext3: Get rid of extenddisksize parameter of ext3_get_blocks_handle()
      jbd: Fix a race between checkpointing code and journal_get_write_access()
      ext3: Fix truncation of symlinks after failed write
      jbd: Fail to load a journal if it is too short

commit c7425eb4814bce40f3d117ff7a7870cc12e350e3
Merge: 9e1b32caa525cb236e80e9c671e179bcecccc657 f1230c97978f52268d8c66e6f88e54c3d2092a75
Author: Linus Torvalds <torvalds at linux-foundation.org>
Date:   Mon Jul 27 12:11:43 2009 -0700

    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 sparse warning
      cifs: fix sb->s_maxbytes so that it casts properly to a signed value
      cifs: disable serverino if server doesn't support it

commit 9e1b32caa525cb236e80e9c671e179bcecccc657
Author: Benjamin Herrenschmidt <benh at kernel.crashing.org>
Date:   Wed Jul 22 15:44:28 2009 +1000

    mm: Pass virtual address to [__]p{te,ud,md}_free_tlb()
    
    mm: Pass virtual address to [__]p{te,ud,md}_free_tlb()
    
    Upcoming paches to support the new 64-bit "BookE" powerpc architecture
    will need to have the virtual address corresponding to PTE page when
    freeing it, due to the way the HW table walker works.
    
    Basically, the TLB can be loaded with "large" pages that cover the whole
    virtual space (well, sort-of, half of it actually) represented by a PTE
    page, and which contain an "indirect" bit indicating that this TLB entry
    RPN points to an array of PTEs from which the TLB can then create direct
    entries. Thus, in order to invalidate those when PTE pages are deleted,
    we need the virtual address to pass to tlbilx or tlbivax instructions.
    
    The old trick of sticking it somewhere in the PTE page struct page sucks
    too much, the address is almost readily available in all call sites and
    almost everybody implemets these as macros, so we may as well add the
    argument everywhere. I added it to the pmd and pud variants for consistency.
    
    Signed-off-by: Benjamin Herrenschmidt <benh at kernel.crashing.org>
    Acked-by: David Howells <dhowells at redhat.com> [MN10300 & FRV]
    Acked-by: Nick Piggin <npiggin at suse.de>
    Acked-by: Martin Schwidefsky <schwidefsky at de.ibm.com> [s390]
    Signed-off-by: Linus Torvalds <torvalds at linux-foundation.org>

commit 6d7760a88c25057c2c2243e5dfe2d731064bd31d
Author: Michael Chan <mchan at broadcom.com>
Date:   Mon Jul 27 11:25:58 2009 -0700

    cnic: Fix ISCSI_KEVENT_IF_DOWN message handling.
    
    When a net device goes down or when the bnx2i driver is unloaded,
    the code was not generating the ISCSI_KEVENT_IF_DOWN message
    properly and this could cause the userspace driver to crash.
    
    This is fixed by sending the message properly in the shutdown path.
    cnic_uio_stop() is also added to send the message when bnx2i is
    unregistering.
    
    Signed-off-by: Michael Chan <mchan at broadcom.com>
    Signed-off-by: David S. Miller <davem at davemloft.net>

commit 68b38550ddbea13d296184bf69edff387618b1d3
Author: Josef Bacik <josef at redhat.com>
Date:   Mon Jul 27 13:57:01 2009 -0400

    Btrfs: change how we unpin extents
    
    We are racy with async block caching and unpinning extents.  This patch makes
    things much less complicated by only unpinning the extent if the block group is
    cached.  We check the block_group->cached var under the block_group->lock spin
    lock.  If it is set to BTRFS_CACHE_FINISHED then we update the pinned counters,
    and unpin the extent and add the free space back.  If it is not set to this, we
    start the caching of the block group so the next time we unpin extents we can
    unpin the extent.  This keeps us from racing with the async caching threads,
    lets us kill the fs wide async thread counter, and keeps us from having to set
    DELALLOC bits for every extent we hit if there are caching kthreads going.
    
    One thing that needed to be changed was btrfs_free_super_mirror_extents.  Now
    instead of just looking for LOCKED extents, we also look for DIRTY extents,
    since we could have left some extents pinned in the previous transaction that
    will never get freed now that we are unmounting, which would cause us to leak
    memory.  So btrfs_free_super_mirror_extents has been changed to
    btrfs_free_pinned_extents, and it will clear the extents locked for the super
    mirror, and any remaining pinned extents that may be present.  Thank you,
    
    Signed-off-by: Josef Bacik <jbacik at redhat.com>
    Signed-off-by: Chris Mason <chris.mason at oracle.com>

commit 631c07c8d12bcc6ce4a0fbfbd64ea843d78e2b10
Author: Julia Lawall <julia at diku.dk>
Date:   Mon Jul 27 13:57:00 2009 -0400

    Btrfs: Correct redundant test in add_inode_ref
    
    dir has already been tested.  It seems that this test should be on the
    recently returned value inode.
    
    A simplified version of the semantic match that finds this problem is as
    follows: (http://www.emn.fr/x-info/coccinelle/)
    
    Signed-off-by: Julia Lawall <julia at diku.dk>
    Signed-off-by: Chris Mason <chris.mason at oracle.com>

commit 0cbb0a781a42f131e9c6836554f402cb85f8f38b
Author: Deepak Saxena <dsaxena at mvista.com>
Date:   Mon Jul 27 10:49:44 2009 -0700

    net: irda: init spinlock after memcpy
    
    irttp_dup() copies a tsap_cb struct, but does not initialize the
    spinlock in the new structure, which confuses lockdep.
    
    Signed-off-by: Deepak Saxena <dsaxena at mvista.com>
    Signed-off-by: Ingo Molnar <mingo at elte.hu>
    Signed-off-by: Thomas Gleixner <tglx at linutronix.de>
    Signed-off-by: David S. Miller <davem at davemloft.net>

commit c640e1cb45cb9ff6b02f5f130a4f2a58ab9ebe55
Author: Tomas Cech <sleep_walker at suse.cz>
Date:   Mon Jul 27 14:16:31 2009 +0100

    ARM: 5623/1: Treo680: ir shutdown typo fix
    
    correct GPIO freed in treo680_irda_shutdown()
    
    Signed-off-by: Tomáš ?ech <sleep_walker at suse.cz>
    Signed-off-by: Russell King <rmk+kernel at arm.linux.org.uk>

commit 4afcd2dcc6d89da696fc9d469a909adafa9d3636
Author: Wan Wei <onewayforever at gmail.com>
Date:   Mon Jul 27 14:34:15 2009 +0200

    amd64_edac: read the right F2 maskoffset reg
    
    Signed-off-by: Wan Wei <onewayforever at gmail.com>
    Signed-off-by: Borislav Petkov <borislav.petkov at amd.com>

commit 92c548cd35d50df398f442b07021150094578460
Author: Ben Nizette <ben at niasdigital.com>
Date:   Mon Apr 20 12:36:53 2009 +1000

    favr32: improve touchscreen response
    
    The ezLCD+101 board (to which an favr-32 is fitted) has a long,
    unshielded, nasty lead between the touch panel and the ads7843 touch
    controller.  In order to get satisfactory response then, we need to
    employ every noise-reduction trick in the driver's arsenal.  After
    extensive fiddling I've found some good settings:
    
    1) We keep vref on all the time to dramatically reduce settling times
    (at the cost of a tiny increase in power consumption).
    
    2) Despite 1 the settling time is still non-zero.  500uS is plenty of
    time for the signals to settle
    
    3) Despite 1 and 2 there's still a little bit of noise around.  By
    setting a pen recheck delay we make the panel feel less touchy and
    twitchy.
    
    Someone with more time and patience myself might be able to tune this
    numbers further but these settings are now perfectly acceptable for
    normal use.
    
    Tested on ezLCD+101 though should only improve response on other ezLCD+/
    favr-32 boards too.
    
    Signed-off-by: Ben Nizette <bn at niasdigital.com>
    Signed-off-by: Haavard Skinnemoen <haavard.skinnemoen at atmel.com>

commit 251ab1a37d9ba810593d5fbf2482bc4ba773fab2
Author: Sebastian Andrzej Siewior <bigeasy at breakpoint.cc>
Date:   Sun Jul 26 14:58:34 2009 +0200

    avr32/lib: fix unaligned memcpy where len < 4
    
    in case of memcpy(p, unaligned, 1..3) we get 1..3 as the
    return value instead of p
    
    Signed-off-by: Sebastian Andrzej Siewior <sebastian at breakpoint.cc>
    Signed-off-by: Haavard Skinnemoen <haavard.skinnemoen at atmel.com>

commit 505d62d073b528859b43bfb463a6ceaf3581469e
Author: Sebastian Andrzej Siewior <bigeasy at breakpoint.cc>
Date:   Sun Jul 26 14:57:54 2009 +0200

    avr32/lib: fix unaligned memcpy()
    
    memcpy(p, unaligned, 4..) returns (p + num_of_unaligned_by_copied)
    instead of p because p is not preserved in the unaligned case.
    
    Noticed by Herbert Xu's superior parameter recycling coding technique
    which let the md4 self-test fail on avr32.
    
    Signed-off-by: Sebastian Andrzej Siewior <sebastian at breakpoint.cc>
    Signed-off-by: Haavard Skinnemoen <haavard.skinnemoen at atmel.com>

commit 950b260ed21fdb6fa5f18485dabb0b03488431fa
Author: Sam Ravnborg <sam at ravnborg.org>
Date:   Fri Jul 24 09:04:49 2009 +0200

    microblaze: Makefile cleanup
    
    Reviewed the Makefile on request by Michal and this is the resulting changes.
    
    o Use ':=' for assignmnet so we do not re-evaluate for each use
    o Use $(shell echo xxx) to remove ""
    o Replaced CFLAGS_KERNEL with KBUILD_CFLAGS
      The settings are equally relevant for modules and the linked kernel
    o Dropped LDFLAGS_BLOB - it is no longer used
    o Refactored assignmnets to libs-y and core-y
    o Use MMU for the MMU specific extension. "MMUEXT" was hurting my eyes
      and I did not wanted it spread to m68k
    
    Signed-off-by: Sam Ravnborg <sam at ravnborg.org>
    Signed-off-by: Michal Simek <monstr at monstr.eu>

commit 65d3db0601509946fe0c9d2c7b12a5a62ca42e5e
Author: Michal Simek <monstr at monstr.eu>
Date:   Fri Jul 24 08:11:23 2009 +0200

    microblaze: Typo fix for cpu param inconsistency
    
    Signed-off-by: Michal Simek <monstr at monstr.eu>

commit 679711b82f010b854c5d4d88472c7a20fdc2b5fe
Author: Michal Simek <monstr at monstr.eu>
Date:   Thu Jul 23 08:24:47 2009 +0200

    microblaze: Add support for R_MICROBLAZE_64_NONE
    
    For example reiserfs use this relocation type.
    
    Signed-off-by: Michal Simek <monstr at monstr.eu>

commit fadf2e60a6dc7267658fa0c9e3bef13c699c7e1f
Author: John Williams <john.williams at petalogix.com>
Date:   Thu Jul 23 14:56:49 2009 +1000

    microblaze: Get module loading working
    
    New reloc type R_MICROBLAZE_32_PCREL_LO requires a null handler (no work to do).
    
    Remove legacy hack for broken linker pre gcc-4.1.1, that required us to extract
    an offset from the code, add it to the addend, then rewrite the instruction.
    
    Fixup the invalid reloc type error output.
    
    Boot tested with the xilinx_emaclite ethernet driver.
    
    Signed-off-by: John Williams <john.williams at petalogix.com>
    Signed-off-by: Michal Simek <monstr at monstr.eu>

commit bfc0ca0d33e24fca5b89acb378a8a9712ffe22b6
Author: Arnd Bergmann <arnd at arndb.de>
Date:   Thu Jun 18 19:55:35 2009 +0200

    microblaze: remove sys_ipc
    
    The ipc system call is now unused in microblaze,
    as the system call table points directly to the
    indidual system calls for IPC.
    
    Signed-off-by: Arnd Bergmann <arnd at arndb.de>
    Signed-off-by: Michal Simek <monstr at monstr.eu>

commit 3863dbceac7e69642b95f43de1c12c6236fdbe5b
Author: Michal Simek <monstr at monstr.eu>
Date:   Tue Jul 21 12:48:01 2009 +0200

    microblaze: Support unaligned address for put/get_user macros
    
    This patch add support for cases where load/store instruction
    in put/get_user macro gets unaligned pointer to data and this
    address is not valid. I prevent all cases which can failed.
    I had to disable first stage of unaligned handler which is used
    only for noMMU kernel and the whole work is done when interrupt
    is enabled.
    You have enable HW support for detect unaligned access in Microblaze.
    
    This patch fixed three LTP tests:
    getpeername01, getsockname01, socketpair01
    
    Signed-off-by: Michal Simek <monstr at monstr.eu>

commit 94ad8eb854cbc1cf875a318f9b97314ddc6b1560
Author: Michal Simek <monstr at monstr.eu>
Date:   Tue Jul 21 12:47:04 2009 +0200

    microblaze: Detect new Microblaze 7.20 versions
    
    Signed-off-by: Michal Simek <monstr at monstr.eu>

commit f10eca6e107fd223c24393c09c40b916d2b3c427
Author: Michal Simek <monstr at monstr.eu>
Date:   Thu Jul 16 16:00:49 2009 +0200

    microblaze: Fix do_page_fault for no context
    
    Calling fixup when we are in kernel mode. This
    prevent fault for copy_to/from_user. This fault
    was find thanks to writev01/03/04 LTP tests.
    
    Signed-off-by: Michal Simek <monstr at monstr.eu>

commit f14d6f7c31c73a902a6b567dc719128e74603902
Author: Michal Simek <monstr at monstr.eu>
Date:   Wed Jul 15 13:39:35 2009 +0200

    microblaze: Add _PAGE_FILE macros to pgtable.h
    
    We need to define _PAGE_FILE macro and change pte
    functions. Microblaze use the same MMU as PowerPC
    that's why we define _PAGE_FILE in the same style.
    This change fixed remap_file_pages01 LTP test.
    
    Signed-off-by: Michal Simek <monstr at monstr.eu>

commit 7bcb63b21327427b130edeb6e6ad44ee260b3043
Author: Michal Simek <monstr at monstr.eu>
Date:   Mon Jul 13 16:46:54 2009 +0200

    microblaze: Fix put_user macro for 64bits arguments
    
    For 64bits arguments gcc caused that put_user macro
    works with wrong value because of optimalization.
    Adding volatile caused that gcc not optimized it.
    
    It is possible to use (as Blackfin do) two put_user
    macros with 32bits arguments but there is one more
    instruction which is due to duplication zero return
    value which is called put_user_asm macro.
    
    Signed-off-by: Michal Simek <monstr at monstr.eu>

commit ea3fd1466f81a851452bf7f34ccb9b5058e4793c
Author: Michal Simek <monstr at monstr.eu>
Date:   Mon Jun 22 12:31:55 2009 +0200

    microblaze: Clear print messages for DTB passing via r7
    
    It is necessary to zeroed r7 when r7 points to bad
    dtb - this caused that we have correct messages
    about compiled-in dtb or passing via r7
    
    Signed-off-by: Michal Simek <monstr at monstr.eu>

commit a69cb8c4662dd0a7b01b32a9165b1a1697068f19
Author: Michal Simek <monstr at monstr.eu>
Date:   Mon Jun 22 10:55:40 2009 +0200

    microblaze: Not to clear r7 after copying DTB to kernel
    
    I can't clear r7 because if I do it I lose information
    where DTB come from.
    
    Signed-off-by: Michal Simek <monstr at monstr.eu>

commit 74510f2a2751ed56b5ab099b2e3b7697b91aa77e
Author: Michal Simek <monstr at monstr.eu>
Date:   Mon Jun 22 10:28:40 2009 +0200

    microblaze: Add messages about FDT blob
    
    Print accurate message about place where FDT blob is.
    
    Signed-off-by: Michal Simek <monstr at monstr.eu>

commit 909964ec89ba466d75d53250d5738d1891cc1a3d
Author: John Williams <john.williams at petalogix.com>
Date:   Mon Jun 22 14:02:09 2009 +1000

    microblaze: Final support for statically linked DTB
    
    If r7 is zero at kernel boot, or does not point to a valid DTB, then
    we fall back to a DTB (assumed to be) linked statically in the kernel, instead
    of blindly copying bogus cruft into the kernel DTB memory region
    
    Signed-off-by: John Williams <john.williams at petalogix.com>
    Signed-off-by: Michal Simek <monstr at monstr.eu>

commit 1170902b343053f50d4caf8ec2aa745fd0ce5c84
Author: Huang Weiyi <weiyi.huang at gmail.com>
Date:   Sat Jul 11 09:32:08 2009 +0800

    microblaze: remove duplicated #include
    
    Remove duplicated #include('s) in
      arch/microblaze/include/asm/io.h
    
    Signed-off-by: Huang Weiyi <weiyi.huang at gmail.com>
    Signed-off-by: Michal Simek <monstr at monstr.eu>

commit efffde36d20613d91a5ea9529b03f477077f41ea
Author: Michal Simek <monstr at monstr.eu>
Date:   Thu Jul 9 11:33:39 2009 +0200

    microblaze: Define tlb_flush macro
    
    This fix remove bug which we had till now in all
    Microblaze MMU code. Primary tested on mmap01 LTP test.
    We forget to flush invalid tlb which were changed - we
    used them and there were wrong old data which wasn't correct.
    
    Signed-off-by: Michal Simek <monstr at monstr.eu>

commit 8bae1b2b13beb4cf4c0f119f97640503c2b74b0f
Author: Don Skidmore <donald.c.skidmore at intel.com>
Date:   Thu Jul 23 18:00:39 2009 +0000

    ixgbe: fix for 82599 errata marking UDP checksum errors
    
    There is an 82599 errata that UDP frames with a zero checksum are
    incorrectly marked as checksum invalid by the hardware.  This was
    leading to misleading hw_csum_rx_error counts. This patch adds a
    test around this counter increase for this condition.
    
    Signed-off-by: Don Skidmore <donald.c.skidmore at intel.com>
    Signed-off-by: Jeff Kirsher <jeffrey.t.kirsher at intel.com>
    Signed-off-by: David S. Miller <davem at davemloft.net>

commit ca52efd5490f97f396d3c5863ba714624f272033
Author: françois romieu <romieu at fr.zoreil.com>
Date:   Fri Jul 24 12:34:19 2009 +0000

    r8169: WakeOnLan fix for the 8168
    
    More stuff for http://bugzilla.kernel.org/show_bug.cgi?id=9512
    
    Some 8168 are unable to WoL when receiving is not enabled (plain
    old 8169 do not seem to care).
    
    It is not exactly pretty to leave the receiver enabled but we
    should now enable DMA late enough for it to be safe. Some late
    stage boot failure due to pxe and friends may benefit from the
    delayed enabling of bus-mastering as well.
    
    Signed-off-by: Francois Romieu <romieu at fr.zoreil.com>
    Tested-by: Jaromír Cápík <tavvva at volny.cz>
    Cc: Edward Hsu <edward_hsu at realtek.com.tw>

commit c8a5a658b826508c7c61b57e9a590f7b8760fb51
Author: Dhananjay Phadke <dhananjay at netxen.com>
Date:   Sun Jul 26 20:17:21 2009 -0700

    netxen: reset ring consumer during cleanup
    
    Reset consumer of status rings to 0 when cleaning
    up sw resources. Status rings are not deleted
    during suspend since they have napi objects.
    
    This ensures correct rx processing across suspen-resume.
    
    Signed-off-by: Dhananjay Phadke <dhananjay at netxen.com>
    Signed-off-by: David S. Miller <davem at davemloft.net>

commit c587aea951a56d29741a3cef4ea3e142c93b3207
Author: Xiaotian Feng <dfeng at redhat.com>
Date:   Thu Jul 23 23:06:32 2009 +0000

    net/bridge: use kobject_put to release kobject in br_add_if error path
    
    kobject_init_and_add will alloc memory for kobj->name, so in br_add_if
    error path, simply use kobject_del will not free memory for kobj->name.
    Fix by using kobject_put instead, kobject_put will internally calls
    kobject_del and frees memory for kobj->name.
    
    Signed-off-by: Xiaotian Feng <dfeng at redhat.com>
    Acked-by: Stephen Hemminger <shemminger at vyatta.com>
    Signed-off-by: David S. Miller <davem at davemloft.net>

commit 4a29f396429132dc59f1856ea6cfc860a1955fa1
Author: Alessandro Rubini <rubini-list at gnudd.com>
Date:   Wed Jul 22 12:49:08 2009 +0000

    smc91x.h: add config for Nomadik evaluation kit
    
    Signed-off-by: Alessandro Rubini <rubini at unipv.it>
    Acked-by: Andrea Gallo <andrea.gallo at stericsson.com>
    Signed-off-by: David S. Miller <davem at davemloft.net>

commit dcf777f6ed9799c5ac90ac17a5c369e6b73ca92e
Author: Ralf Baechle <ralf at linux-mips.org>
Date:   Sun Jul 26 19:11:14 2009 -0700

    NET: ROSE: Don't use static buffer.
    
    The use of a static buffer in rose2asc() to return its result is not
    threadproof and can result in corruption if multiple threads are trying
    to use one of the procfs files based on rose2asc().
    
    Signed-off-by: Ralf Baechle <ralf at linux-mips.org>
    Signed-off-by: David S. Miller <davem at davemloft.net>

commit d513d018e2236930b6163241bbdce64d2c0de49e
Author: Roel Kluin <roel.kluin at gmail.com>
Date:   Sun Jul 26 18:53:17 2009 -0700

    eepro: Read buffer overflow
    
    io[i] is read before the bounds check on i, order should be reversed
    
    Signed-off-by: Roel Kluin <roel.kluin at gmail.com>
    Signed-off-by: David S. Miller <davem at davemloft.net>

commit c65d3198addb1a2862d4b88bc2a74ac9cbed66f9
Author: roel kluin <roel.kluin at gmail.com>
Date:   Sat Jul 25 12:38:33 2009 +0000

    tokenring: Read buffer overflow
    
    io[i] is read before the bounds check on i, order should be reversed
    
    Signed-off-by: Roel Kluin <roel.kluin at gmail.com>
    Signed-off-by: David S. Miller <davem at davemloft.net>

commit 3b73e79b0dcc86f8bec68a34b7fb812eec953f34
Author: roel kluin <roel.kluin at gmail.com>
Date:   Sat Jul 25 12:01:50 2009 +0000

    at1700: Read buffer overflow
    
    loop bound looks to be wrong, for an array of length 8
    
    Signed-off-by: Roel Kluin <roel.kluin at gmail.com>
    Signed-off-by: David S. Miller <davem at davemloft.net>

commit f83284fe209b1d143244bf462abf1b414eb7b62a
Author: roel kluin <roel.kluin at gmail.com>
Date:   Sat Jul 25 07:41:12 2009 +0000

    fealnx: Write outside array bounds
    
    phy_idx is checked to be < 4, but np->phys[] is 2 elements long
    
    Signed-off-by: Roel Kluin <roel.kluin at gmail.com>
    Signed-off-by: David S. Miller <davem at davemloft.net>

commit 57e4a5c4f8cfb4b198830c5400f9fc9eb7b75091
Merge: b88158846f36374553a5915b7cb5a86540cf9762 2cf313ee75ddf6220b5d623b749b1bb79458307f
Author: Takashi Iwai <tiwai at suse.de>
Date:   Sun Jul 26 11:07:08 2009 +0200

    Merge branch 'fix/usb-audio' into for-linus
    
    * fix/usb-audio:
      ALSA: usb-audio - Volume control quirk for QuickCam E 3500

commit b88158846f36374553a5915b7cb5a86540cf9762
Merge: de5d674c0220e3adc84fb05d0e8e2793ffc094d8 947ca210f1df7656e19890832cb71fc3bdd88707
Author: Takashi Iwai <tiwai at suse.de>
Date:   Sun Jul 26 11:07:07 2009 +0200

    Merge branch 'fix/pcm-hwptr' into for-linus
    
    * fix/pcm-hwptr:
      ALSA: pcm - Fix hwptr buffer-size overlap bug
      ALSA: pcm - Fix warnings in debug loggings
      ALSA: pcm - Add logging of hwptr updates and interrupt updates
      ALSA: pcm - Fix regressions with VMware

commit de5d674c0220e3adc84fb05d0e8e2793ffc094d8
Merge: f35e2965b238bbfd6d3be8969361b5769ed247ed 8de56b7deb2534a586839eda52843c1dae680dc5
Author: Takashi Iwai <tiwai at suse.de>
Date:   Sun Jul 26 11:07:06 2009 +0200

    Merge branch 'fix/hda' into for-linus
    
    * fix/hda:
      ALSA: hda - Fix mute control with some ALC262 models
      ALSA: hda - Restore GPIO1 properly at resume with AD1984A
      ALSA: hda - Use snprintf() to be safer

commit f35e2965b238bbfd6d3be8969361b5769ed247ed
Merge: 29769d533bc7c1429601272b6dd88d4212125e8e 68110661e86868cd107955ec7c077e1f34519f78
Author: Takashi Iwai <tiwai at suse.de>
Date:   Sun Jul 26 11:07:05 2009 +0200

    Merge branch 'fix/ctxfi' into for-linus
    
    * fix/ctxfi:
      ALSA: ctxfi - Fix uninitialized error checks

commit 29769d533bc7c1429601272b6dd88d4212125e8e
Merge: 7679d5c65ba8e4d27daa9181c2f4c7e618058f29 b30c4947735f9d76da3d194923efd38ed18ad651
Author: Takashi Iwai <tiwai at suse.de>
Date:   Sun Jul 26 11:07:04 2009 +0200

    Merge branch 'fix/caiaq' into for-linus
    
    * fix/caiaq:
      ALSA: snd_usb_caiaq: add support for Audio2DJ

commit 7679d5c65ba8e4d27daa9181c2f4c7e618058f29
Merge: 4be3bd7849165e7efa6b0b35a23d6a3598d97465 06c71282a90470184a78f7f0ab0f7ce0fc1f69c8
Author: Takashi Iwai <tiwai at suse.de>
Date:   Sun Jul 26 11:07:03 2009 +0200

    Merge branch 'fix/asoc' into for-linus
    
    * fix/asoc:
      ASoC: tlv320aic3x: Enable PLL when not bypassed

commit 40e03b581a8a0b638bc1e9b957ae0536a4a00ad3
Author: Jaswinder Singh Rajput <jaswinder at kernel.org>
Date:   Wed Jul 8 20:13:24 2009 +0530

    ARM: includecheck fix: plat-stmp3xxx/pinmux.c
    
    fix the following 'make includecheck' warning:
    
      arch/arm/plat-stmp3xxx/pinmux.c: linux/sysdev.h is included more than once.
    
    Signed-off-by: Jaswinder Singh Rajput <jaswinderrajput at gmail.com>
    Acked-by: dmitry pervushin <dpervushin at embeddedalley.com>
    Signed-off-by: Russell King <rmk+kernel at arm.linux.org.uk>

commit 2e6e2c143cdefc2624722659766d1f3c098d79e1
Author: Jaswinder Singh Rajput <jaswinder at kernel.org>
Date:   Wed Jul 8 20:12:07 2009 +0530

    ARM: includecheck fix: plat-s3c64xx/pm.c
    
    fix the following 'make includecheck' warning:
    
      arch/arm/plat-s3c64xx/pm.c: plat/regs-gpio.h is included more than once.
    
    Signed-off-by: Jaswinder Singh Rajput <jaswinderrajput at gmail.com>
    Acked-by: Ben Dooks <ben-linux at fluff.org>
    Signed-off-by: Russell King <rmk+kernel at arm.linux.org.uk>

commit efda2b4c8a643290867d9f5816e36f71a5acee7d
Author: Jaswinder Singh Rajput <jaswinder at kernel.org>
Date:   Wed Jul 8 20:11:05 2009 +0530

    ARM: includecheck fix: mach-omap2/mcbsp.c
    
    fix the following 'make includecheck' warning:
    
      arch/arm/mach-omap2/mcbsp.c: mach/irqs.h is included more than once.
    
    Signed-off-by: Jaswinder Singh Rajput <jaswinderrajput at gmail.com>
    Acked-by: Eduardo Valentin <eduardo.valentin at nokia.com>
    Acked-by: Kevin Hilman <khilman at deeprootsystems.com>
    Signed-off-by: Russell King <rmk+kernel at arm.linux.org.uk>

commit 52cbbd41f7afeceba4be2e4062138781aacd440c
Author: Jaswinder Singh Rajput <jaswinder at kernel.org>
Date:   Wed Jul 8 20:10:02 2009 +0530

    ARM: includecheck fix: mach-omap1/mcbsp.c
    
    fix the following 'make includecheck' warning:
    
      arch/arm/mach-omap1/mcbsp.c: mach/irqs.h is included more than once.
    
    Signed-off-by: Jaswinder Singh Rajput <jaswinderrajput at gmail.com>
    Acked-by: Eduardo Valentin <eduardo.valentin at nokia.com>
    Acked-by: Kevin Hilman <khilman at deeprootsystems.com>
    Signed-off-by: Russell King <rmk+kernel at arm.linux.org.uk>

commit 7a33aed825c4d2bafea748384e3331661fc3a180
Author: Jaswinder Singh Rajput <jaswinder at kernel.org>
Date:   Wed Jul 8 20:07:26 2009 +0530

    ARM: includecheck fix: board-sffsdr.c
    
    fix the following 'make includecheck' warning:
    
      arch/arm/mach-davinci/board-sffsdr.c: mach/common.h is included more than once.
    
    Signed-off-by: Jaswinder Singh Rajput <jaswinderrajput at gmail.com>
    Acked-by: Kevin Hilman <khilman at deeprootsystems.com>
    Acked-by: Philip Balister <philip at opensdr.com>
    Signed-off-by: Russell King <rmk+kernel at arm.linux.org.uk>

commit 78eacf0b0373f524509da261b771f8baa28806b5
Author: Jaswinder Singh Rajput <jaswinder at kernel.org>
Date:   Wed Jul 8 20:06:42 2009 +0530

    ARM: includecheck fix: board-dm646x-evm.c
    
    fix the following 'make includecheck' warning:
    
      arch/arm/mach-davinci/board-dm646x-evm.c: mach/common.h is included more than once.
    
    Signed-off-by: Jaswinder Singh Rajput <jaswinderrajput at gmail.com>
    Acked-by: Kevin Hilman <khilman at deeprootsystems.com>
    Signed-off-by: Russell King <rmk+kernel at arm.linux.org.uk>

commit 6608168486973a33d24d27b25fc94d4743c1a1e5
Author: Jaswinder Singh Rajput <jaswinder at kernel.org>
Date:   Wed Jul 8 20:05:34 2009 +0530

    ARM: includecheck fix: board-dm644x-evm.c
    
    fix the following 'make includecheck' warning:
    
      arch/arm/mach-davinci/board-dm644x-evm.c: mach/common.h is included more than once.
    
    Signed-off-by: Jaswinder Singh Rajput <jaswinderrajput at gmail.com>
    Acked-by: Kevin Hilman <khilman at deeprootsystems.com>
    Signed-off-by: Russell King <rmk+kernel at arm.linux.org.uk>

commit 7f25b0ac2dde2de399d6cfe42d9ec7066e665f2f
Author: Jaswinder Singh Rajput <jaswinder at kernel.org>
Date:   Wed Jul 8 20:04:33 2009 +0530

    ARM: includecheck fix: board-dm355-leopard.c
    
    fix the following 'make includecheck' warning:
    
      arch/arm/mach-davinci/board-dm355-leopard.c: mach/common.h is included more than once.
    
    Signed-off-by: Jaswinder Singh Rajput <jaswinderrajput at gmail.com>
    Acked-by: Kevin Hilman <khilman at deeprootsystems.com>
    Signed-off-by: Russell King <rmk+kernel at arm.linux.org.uk>

commit 44e96d452173ed22a7ba2291c7d566bf4b406f62
Author: Jaswinder Singh Rajput <jaswinder at kernel.org>
Date:   Wed Jul 8 20:03:08 2009 +0530

    ARM: includecheck fix: board-dm355-evm.c
    
    fix the following 'make includecheck' warning:
    
      arch/arm/mach-davinci/board-dm355-evm.c: mach/common.h is included more than once.
    
    Signed-off-by: Jaswinder Singh Rajput <jaswinderrajput at gmail.com>
    Acked-by: Kevin Hilman <khilman at deeprootsystems.com>
    Signed-off-by: Russell King <rmk+kernel at arm.linux.org.uk>

commit feecaf73bb437cf72a44bd71598c6532d357f78e
Author: Jaswinder Singh Rajput <jaswinder at kernel.org>
Date:   Wed Jul 8 20:01:39 2009 +0530

    ARM: includecheck fix: atomic.h
    
    fix the following 'make includecheck' warning:
    
      arch/arm/include/asm/atomic.h: asm/system.h is included more than once.
    
    Signed-off-by: Jaswinder Singh Rajput <jaswinderrajput at gmail.com>
    Signed-off-by: Russell King <rmk+kernel at arm.linux.org.uk>

commit 81566a060bb8f989cc369ea28837b05bd4adcedb
Author: Jaswinder Singh Rajput <jaswinder at kernel.org>
Date:   Wed Jul 8 20:00:15 2009 +0530

    ARM: includecheck fix: misc.c
    
    fix the following 'make includecheck' warning:
    
      arch/arm/boot/compressed/misc.c: linux/compiler.h is included more than once.
    
    Signed-off-by: Jaswinder Singh Rajput <jaswinderrajput at gmail.com>
    Signed-off-by: Russell King <rmk+kernel at arm.linux.org.uk>

commit 3c82e229f09a6acc8d24dc27c5e0e60b1d7161c2
Author: Paul Walmsley <paul at pwsan.com>
Date:   Fri Jul 24 19:44:06 2009 -0600

    OMAP3 clock: correct module IDLEST bits: SSI; DSS; USBHOST; HSOTGUSB
    
    Fix two bugs in the OMAP3 clock tree pertaining to the SSI, DSS,
    USBHOST, and HSOTGUSB devices.  These devices are both interconnect
    initiators and targets.  Without this patch, clk_enable()s on clocks for
    these modules can be very high latency (potentially up to ~200
    milliseconds) and message such as the following are generated:
    
        Clock usbhost_48m_fck didn't enable in 100000 tries
    
    Two bugs are fixed by this patch.  First, OMAP hardware only supports
    target CM_IDLEST register bits on ES2+ chips and beyond.  ES1 chips
    should not wait for these clocks to enable.  So, split the appropriate
    clocks into ES1 and ES2+ variants, so that kernels running on ES1
    devices won't try to wait.
    
    Second, the current heuristic in omap2_clk_dflt_find_idlest() will
    fail for these clocks.  It assumes that the CM_IDLEST bit to wait upon
    is the same as the CM_*CLKEN bit, which is false[1].  Fix by
    implementing custom clkops .find_idlest function pointers for the
    appropriate clocks that return the correct slave IDLEST bit shift.
    
    This was originally fixed in the linux-omap kernel during 2.6.29 in a
    slightly different manner[2][3].
    
    In the medium-term future, all of the module IDLEST code will
    eventually be moved to the omap_hwmod code.
    
    Problem reported by Jarkko Nikula <jhnikula at gmail.com>:
    
        http://marc.info/?l=linux-omap&m=124306184903679&w=2
    
    ...
    
    1. See for example 34xx TRM Revision P Table 4-213 and 4-217 (for the
       DSS case).
    
    2. http://www.spinics.net/lists/linux-omap/msg05512.html et seq.
    
    3. http://lkml.indiana.edu/hypermail/linux/kernel/0901.3/01498.html
    
    
    Signed-off-by: Paul Walmsley <paul at pwsan.com>
    Cc: Jarkko Nikula <jhnikula at gmail.com>

commit 3dc2197579089c5b74c7fba666c8ccf1a449afb4
Author: Paul Walmsley <paul at pwsan.com>
Date:   Fri Jul 24 19:44:04 2009 -0600

    OMAP2 clock: 2430 I2CHS uses non-standard CM_IDLEST register
    
    OMAP2430 I2CHS CM_IDLEST bits are in CM_IDLEST1_CORE, but the CM_*CLKEN bits
    are in CM_{I,F}CLKEN2_CORE [1].  Fix by implementing a custom clkops
    .find_idlest function to return the correct slave IDLEST register.
    
    ...
    
    1. OMAP2430 Multimedia Device Package-on-Package (POP) Silicon Revision 2.1
       (Rev. V) Technical Reference Manual, tables 4-99 and 4-105.
    
    Signed-off-by: Paul Walmsley <paul at pwsan.com>

commit 72350b29a4c0debfc27c2edbeed9b4ff3f935dd4
Author: Paul Walmsley <paul at pwsan.com>
Date:   Fri Jul 24 19:44:03 2009 -0600

    OMAP2/3 clock: split, rename omap2_wait_clock_ready()
    
    Some OMAP2/3 hardware modules have CM_IDLEST attributes that are not
    handled by the current omap2_wait_clock_ready() code.  In preparation
    for patches that fix the unusual devices, rename the function
    omap2_wait_clock_ready() to omap2_wait_module_ready() and split it
    into three parts:
    
    1. A clkops-specific companion clock return function (by default,
       omap2_clk_dflt_find_companion())
    
    2. A clkops-specific CM_IDLEST register address and bit shift return
       function (by default, omap2_clk_dflt_find_idlest())
    
    3. Code to wait for the CM to indicate that the module is ready
       (omap2_cm_wait_idlest())
    
    Clocks can now specify their own custom find_companion() and find_idlest()
    functions; used in subsequent patches.
    
    Signed-off-by: Paul Walmsley <paul at pwsan.com>

commit df56556e571234cf26072cd58c01ac3520986b44
Author: Rajendra Nayak <rnayak at ti.com>
Date:   Fri Jul 24 19:44:02 2009 -0600

    OMAP3 SDRC: Move the clk stabilization delay to the right place
    
    The clock stabilization delay post a M2 divider change is needed
    even before a SDRC interface clock re-enable and not only before
    jumping back to SDRAM.
    
    Signed-off-by: Rajendra Nayak <rnayak at ti.com>
    Signed-off-by: Paul Walmsley <paul at pwsan.com>

commit 8ff120e5303e27e03aba7b774e86fd43eaf90376
Author: Rajendra Nayak <rnayak at ti.com>
Date:   Fri Jul 24 19:44:01 2009 -0600

    OMAP3 SDRC: Fix freeze when scaling CORE dpll to < 83Mhz
    
    This patch fixes a bug in the CORE dpll scaling sequence which was
    errouneously clearing some bits in the SDRC DLLA CTRL register and
    hence causing a freeze.  The issue was observed only on platforms
    which scale CORE dpll to < 83Mhz and hence program the DLL in fixed
    delay mode.
    
    Issue reported by Limei Wang <E12499 at motorola.com>, with debugging
    assistance from Richard Woodruff <r-woodruff2 at ti.com> and Girish
    Ghongdemath <girishsg at ti.com>.
    
    Signed-off-by: Rajendra Nayak <rnayak at ti.com>
    Cc: Limei Wang <E12499 at motorola.com>
    Cc: Richard Woodruff <r-woodruff2 at ti.com>
    Cc: Girish Ghongdemath <girishsg at ti.com>
    Signed-off-by: Paul Walmsley <paul at pwsan.com>
    [paul at pwsan.com: updated patch description to include collaboration credits]

commit 75f251e3d0803b028f3474fdc75be0994c377ab5
Author: Paul Walmsley <paul at pwsan.com>
Date:   Fri Jul 24 19:44:01 2009 -0600

    OMAP2/3 SDRC: don't set SDRC_POWER.PWDENA on boot
    
    Stop setting SDRC_POWER.PWDENA on boot.  There is a nasty erratum
    (34xx erratum 1.150) that can cause memory corruption if PWDENA is
    enabled.
    
    Based originally on a patch from Samu P. Onkalo <samu.p.onkalo at nokia.com>.
    
    Tested on BeagleBoard rev C2.
    
    Signed-off-by: Paul Walmsley <paul at pwsan.com>
    Cc: Samu P. Onkalo <samu.p.onkalo at nokia.com>

commit 9fb97412c3be5d0d1dd0e9d7c5268469e4c942aa
Author: Jean Pihet <jpihet at mvista.com>
Date:   Fri Jul 24 19:43:25 2009 -0600

    OMAP3: Setup MUX settings for SDRC CKE signals
    
    This patches ensures the MUX settings are correct for the SDRC
    CKE signals to SDRAM. This allows the self-refresh to work when
    2 chip-selects are in use.
    
    A warning is thrown away in case the initial muxing is incorrect,
    in order to track faulty or old-dated bootloaders.
    Note: The CONFIG_OMAP_MUX and CONFIG_OMAP_MUX_WARNINGS options
    must be enabled for the mux code to have effect.
    
    Signed-off-by: Jean Pihet <jpihet at mvista.com>
    Signed-off-by: Paul Walmsley <paul at pwsan.com>

commit 58cda884ecc87dcce18d463b0c8bd928dae63ad8
Author: Jean Pihet <jpihet at mvista.com>
Date:   Fri Jul 24 19:43:25 2009 -0600

    OMAP3 SDRC: add support for 2 SDRAM chip selects
    
    Some OMAP3 boards (Beagle Cx, Overo, RX51, Pandora) have 2
    SDRAM parts connected to the SDRC.
    
    This patch adds the following:
    - add a new argument of type omap_sdrc_params struct*
    to omap2_init_common_hw and omap2_sdrc_init for the 2nd CS params
    - adapted the OMAP boards files to the new prototype of
    omap2_init_common_hw
    - add the SDRC 2nd CS registers offsets defines
    - adapt the sram sleep code to configure the SDRC for the 2nd CS
    
    Note: If the 2nd param to omap2_init_common_hw is NULL, then the
    parameters are not programmed into the SDRC CS1 registers
    
    Tested on 3430 SDP and Beagleboard rev C2 and B5, with
    suspend/resume and frequency changes (cpufreq).
    
    Signed-off-by: Jean Pihet <jpihet at mvista.com>
    Signed-off-by: Paul Walmsley <paul at pwsan.com>

commit 9779b72f0584fd53e0de53f62f205bf0dc0db553
Author: Chris Mason <chris.mason at oracle.com>
Date:   Fri Jul 24 16:41:41 2009 -0400

    Btrfs: find smallest available device extent during chunk allocation
    
    Allocating new block group is easy when the disk has plenty of space.
    But things get difficult as the disk fills up, especially if
    the FS has been run through btrfs-vol -b.  The balance operation
    is likely to make the total bytes available on the device greater
    than the largest extent we'll actually be able to allocate.
    
    But the device extent allocation code incorrectly assumes that a device
    with 5G free will be able to allocate a 5G extent.  It isn't normally a
    problem because device extents don't get freed unless btrfs-vol -b
    is run.
    
    This fixes the device extent allocator to remember the largest free
    extent it can find, and then uses that value as a fallback.
    
    Signed-off-by: Chris Mason <chris.mason at oracle.com>

commit 283bb1979fa8580c4037d8df251449368c292a3b
Author: Chris Mason <chris.mason at oracle.com>
Date:   Fri Jul 24 16:30:55 2009 -0400

    Btrfs: clear all space_info->full after removing a block group
    
    Btrfs allocates individual extents from block groups, and each
    block group has a specific type.  It may hold metadata, data
    mirrored or striped etc.
    
    When we balance space (btrfs-vol -b) or remove a drive (btrfs-vol -r)
    we free block groups.  Once a block group is freed, the space it was
    using on the device may be available for use by new block groups.
    
    btrfs_remove_block_group was clearing the flag that said
    'our devices are full, don't even try to allocate new block groups',
    but it was only clearing that flag for a specific type of block group.
    
    This commit clears the full flag for all of the types of block groups,
    making it much more likely that we'll be able to balance space when
    the drive is close to full.
    
    Signed-off-by: Chris Mason <chris.mason at oracle.com>

commit bdff78707f3ce47e891f3201c9666122a70556ce
Author: Thomas Gleixner <tglx at linutronix.de>
Date:   Fri Jul 24 15:30:45 2009 -0400

    trace: stop tracer in oops_enter()
    
    If trace_printk_on_oops is set we lose interesting trace information
    when the tracer is enabled across oops handling and printing. We want
    the trace which might give us information _WHY_ we oopsed.
    
    Signed-off-by: Thomas Gleixner <tglx at linutronix.de>
    Signed-off-by: Steven Rostedt <rostedt at goodmis.org>

commit ebecd3d9d2adba144c15f1d35c78e0c26ead1bfd
Author: Sage Weil <sage at newdream.net>
Date:   Fri Jul 24 13:17:44 2009 -0400

    Btrfs: make flushoncommit mount option correctly wait on ordered_extents
    
    The commit_transaction call to wait_ordered_extents when snap_pending
    passes nocow_only=1 to process only NOCOW or PREALLOC extents.  This isn't
    correct for the 'flushoncommit' mode, as it skips extents we just started
    IO on in start_delalloc_inodes.
    
    So, in the flushoncommit case, wait on all ordered extents.  Otherwise,
    only pass the nocow_only flag to wait_ordered_extents if snap_pending.
    
    Signed-off-by: Sage Weil <sage at newdream.net>
    Signed-off-by: Chris Mason <chris.mason at oracle.com>

commit 32bc4820287a1a03982979515949e8ea56eac641
Author: Adrian Hunter <Adrian.Hunter at nokia.com>
Date:   Fri Jul 24 19:16:04 2009 +0300

    UBI: compatible fallback in absense of sequence numbers
    
    Fall back onto thinking everything's OK if either of the sequence
    numbers we are asked to compare is zero, which is what was used
    before sequence numbers were introduced.
    
    [ Artem: modified the patch to be applicable to upstream UBI, added
            big comment ]
    
    Signed-off-by: Adrian Hunter <ext-adrian.hunter at nokia.com>
    Signed-off-by: Phil Carmody <ext-phil.2.carmody at nokia.com>
    Signed-off-by: Artem Bityutskiy <Artem.Bityutskiy at nokia.com>

commit 7194e6f9c083e87171ddfc8b746f05e007f58132
Author: Adrian Hunter <Adrian.Hunter at nokia.com>
Date:   Fri Jul 24 17:05:00 2009 +0300

    UBI: fix double free on error path
    
    If we fail in 'ubi_eba_init_scan()', we free
    'ubi->volumes[i]->eba_tbl' in there, but also later free it
    in 'free_internal_volumes()'. Fix this by assigning NULL
    to 'ubi->volumes[i]->eba_tbl' after it is freed.
    
    Signed-off-by: Adrian Hunter <adrian.hunter at nokia.com>
    Signed-off-by: Artem Bityutskiy <Artem.Bityutskiy at nokia.com>

commit ca4e771f7b878b7bab02dedb539f7742f9b4f50e
Author: Michael Krufky <mkrufky at kernellabs.com>
Date:   Sun Jul 19 17:55:35 2009 -0300

    V4L/DVB (12303): cx23885: check pointers before dereferencing in dprintk macro
    
    When enabling debug with v4l_debug set to 2 or greater, the driver
    OOPS's on startup.  Checks dev pointer before dereferencing, in
    order to prevent this OOPS.
    
    Signed-off-by: Michael Krufky <mkrufky at kernellabs.com>
    Signed-off-by: Mauro Carvalho Chehab <mchehab at redhat.com>

commit 12a34cc8a9a49219ab643c8ec329078eec272b47
Author: Michael Krufky <mkrufky at kernellabs.com>
Date:   Sun Jul 19 18:19:18 2009 -0300

    V4L/DVB (12302): cx23885-417: fix broken IOCTL handling
    
    IOCTLS will never get handled if we dont connect
    video_ioctl2 to mpeg_fops.ioctl
    
    Signed-off-by: Michael Krufky <mkrufky at kernellabs.com>
    Signed-off-by: Mauro Carvalho Chehab <mchehab at redhat.com>

commit 2c90577841a76f1935ff3437ffb552b41f5c28fa
Author: Hans Verkuil <hverkuil at xs4all.nl>
Date:   Mon Jul 20 08:14:17 2009 -0300

    V4L/DVB (12300): bttv: fix regression: tvaudio must be loaded before tuner
    
    Both tvaudio and the tuner share i2c address 0x42. The tvaudio module can
    check whether it really is a tda9840, but the tuner can't. So the tvaudio
    module must be loaded before the tuner module. This was also the case for
    2.6.29, but the order was swapped in 2.6.30.
    
    Thanks to Krzysztof Grygiencz for reporting and testing this.
    
    Signed-off-by: Hans Verkuil <hverkuil at xs4all.nl>
    Signed-off-by: Mauro Carvalho Chehab <mchehab at redhat.com>

commit 68b7f7616add4b1de0fe75015ba3884d2d9ff796
Author: Trent Piepho <xyzzy at speakeasy.org>
Date:   Thu Jun 11 19:31:22 2009 -0300

    V4L/DVB (12291): b2c2: fix frontends compiled into kernel
    
    A recent patch didn't take into account that frontends can be compiled into
    the kernel.  Or that frontends compiled as modules can't be used by the
    b2c2 driver if it is not a module itself.
    
    Some frontends require multiple drivers, e.g. a demod driver and a tuner
    driver.  The code for the frontend support was getting added if the demod
    driver was available.  Change this to also require any needed tuner or SEC
    drivers as well.
    
    Signed-off-by: Trent Piepho <xyzzy at speakeasy.org>
    Signed-off-by: Mauro Carvalho Chehab <mchehab at redhat.com>

commit c15b95edb98f184e73f756511a60a7994cd9d840
Author: Mauro Carvalho Chehab <mchehab at redhat.com>
Date:   Sun Jul 19 18:03:23 2009 -0300

    V4L/DVB (12286): sn9c20x: reorder includes to be like other drivers
    
    This is not just pure cosmetic, since the order affects the out-of-tree
    module build at the -hg development tree.
    
    Signed-off-by: Mauro Carvalho Chehab <mchehab at redhat.com>

commit 3eb0237d445c23e9f46b11a07bce986eca450640
Author: Julia Lawall <julia at diku.dk>
Date:   Sun Jul 19 07:09:32 2009 -0300

    V4L/DVB (12284): gspca - jpeg subdrivers: Check the result of kmalloc(jpeg header).
    
    Signed-off-by: Julia Lawall <julia at diku.dk>
    Signed-off-by: Jean-Francois Moine <moinejf at free.fr>
    Signed-off-by: Mauro Carvalho Chehab <mchehab at redhat.com>

commit 26e744b6b61066203fd57de0d3962353621e06f8
Author: Brian Johnson <brijohn at gmail.com>
Date:   Sun Jul 19 05:52:58 2009 -0300

    V4L/DVB (12283): gspca - sn9c20x: New subdriver for sn9c201 and sn9c202 bridges.
    
    Signed-off-by: Brian Johnson <brijohn at gmail.com>
    Signed-off-by: Jean-Francois Moine <moinejf at free.fr>
    Signed-off-by: Mauro Carvalho Chehab <mchehab at redhat.com>

commit af1d9afa75082663ea9e2b67b9381d1af403f52b
Author: Brian Johnson <brijohn at gmail.com>
Date:   Sun Jul 19 05:29:20 2009 -0300

    V4L/DVB (12282): gspca - main: Support for vidioc_g_chip_ident and vidioc_g/s_register.
    
    Signed-off-by: Brian Johnson <brijohn at gmail.com>
    Signed-off-by: Jean-Francois Moine <moinejf at free.fr>
    Signed-off-by: Mauro Carvalho Chehab <mchehab at redhat.com>

commit a2f5a8117cb185fc347f35e369a6320e6aa9d82d
Author: Antti Palosaari <crope at iki.fi>
Date:   Fri Jul 10 20:03:43 2009 -0300

    V4L/DVB (12269): af9013: auto-detect parameters in case of garbage given by app
    
    Request demodulator auto-detect transmission parameters in case of
    garbage parameters provided by application for compatibility.
    That's needed at least for MPlayer compatibility currently.
    
    Thanks to Jelle de Jong for reporting issue and providing SSH access to
    Devin for debugging.
    
    Thanks to Devin Heitmueller for hard debug work he did to find that bug.
    
    Cc: Devin Heitmueller <dheitmueller at kernellabs.com>
    Cc: Jelle de Jong <jelledejong at powercraft.nl>
    Signed-off-by: Antti Palosaari <crope at iki.fi>
    Signed-off-by: Mauro Carvalho Chehab <mchehab at redhat.com>

commit 27954930f047df73a16253db2750345034e56c40
Author: Jean-Francois Moine <moinejf at free.fr>
Date:   Wed Jul 8 05:21:50 2009 -0300

    V4L/DVB (12267): gspca - sonixj: Bad sensor init of non ov76xx sensors.
    
    The bug was introduced when adding the light frequency control
    
    Signed-off-by: Jean-Francois Moine <moinejf at free.fr>
    Signed-off-by: Mauro Carvalho Chehab <mchehab at redhat.com>

commit a84f79aed688a94197387830df3a2f2068f49dc0
Author: Devin Heitmueller <dheitmueller at kernellabs.com>
Date:   Sun Jul 12 17:05:02 2009 -0300

    V4L/DVB (12265): em28xx: fix tuning problem in HVR-900 (R1)
    
    When the change was introduced in the zl10353 for the i2c gate behavior, this
    broke the HVR-900 which was not behind a gate.  Use a version of the zl10353
    config profile that indicates the tuner is not behind such a gate.
    
    Without this patch the first tune succeeds, but subsequent tuning attempts
    will fail.
    
    The change also renames the terratec zl10353 profile I wrote to be more
    generic, since it is shared by the non-terratec device.
    
    Thanks to Michael Krufky for providing a HVR-900 and DVB-T environment to test
    with.
    
    Cc: Michael Krufky <mkrufky at kernellabs.com>
    Signed-off-by: Devin Heitmueller <dheitmueller at kernellabs.com>
    Signed-off-by: Mauro Carvalho Chehab <mchehab at redhat.com>

commit e16e5a3739cfd208de00d49def10fcfa6ceff46f
Author: Devin Heitmueller <dheitmueller at kernellabs.com>
Date:   Wed Jul 15 00:37:22 2009 -0300

    V4L/DVB (12263): em28xx: set demod profile for Pinnacle Hybrid Pro 320e
    
    The Pinnacle Hybrid Pro 320e was missing a demod config for the xc3028, which
    is required for digital tuning to work properly.  Add the missing profile.
    
    Thanks to Andreas Lunderhage for testing patches and providing a remote debug
    environment.
    
    Cc: Andreas Lunderhage <lunderhage at home.se>
    Signed-off-by: Devin Heitmueller <dheitmueller at kernellabs.com>
    Signed-off-by: Mauro Carvalho Chehab <mchehab at redhat.com>

commit 5343e446014b93f740d5502f9f3bfa3f66dcbc7c
Author: Devin Heitmueller <dheitmueller at kernellabs.com>
Date:   Wed Jul 15 00:35:47 2009 -0300

    V4L/DVB (12262): em28xx: Make sure the tuner is initialized if generic empia USB id was used
    
    In cases where the device has a generic Empia USB ID, the call in the
    precard setup phase did not set the tuner GPIO.  As a result, the tuner may
    not be taken out of reset before attempting initialization in the analog
    driver.
    
    This problem was not seen before with the EVGA inDtube, since that particular
    board has the analog GPIO setup to include taking the tuner out of reset.
    
    Thanks to Andreas Lunderhage for testing patches and providing a remote debug
    environment for the Pinnacle 320e.
    
    Cc: Andreas Lunderhage <lunderhage at home.se>
    Signed-off-by: Devin Heitmueller <dheitmueller at kernellabs.com>
    Signed-off-by: Mauro Carvalho Chehab <mchehab at redhat.com>

commit 44010440ca2693a07b1252ee836a23804412575e
Author: Devin Heitmueller <dheitmueller at kernellabs.com>
Date:   Wed Jul 8 22:18:15 2009 -0300

    V4L/DVB (12261): em28xx: set GPIO properly for Pinnacle Hybrid Pro analog support
    
    Set the GPIO properly for the analog side of the Pinnacle Hybrid Pro, or else
    the emp202 doesn't get detected properly.
    
    Signed-off-by: Devin Heitmueller <dheitmueller at kernellabs.com>
    Signed-off-by: Mauro Carvalho Chehab <mchehab at redhat.com>

commit d5b3ba9cb375620a109d79f2e3a7bc21e9b75d8f
Author: Devin Heitmueller <dheitmueller at kernellabs.com>
Date:   Wed Jul 8 21:51:35 2009 -0300

    V4L/DVB (12260): em28xx: make support work for the Pinnacle Hybrid Pro (eb1a:2881)
    
    Setup the GPIOs properly and enable support for the DVB side of the Pinnacle
    Hybrid Pro USB stick.
    
    Thanks to Andreas Lunderhage for testing patches and providing a remote debug
    environment.
    
    Cc: Andreas Lunderhage <lunderhage at home.se>
    Signed-off-by: Devin Heitmueller <dheitmueller at kernellabs.com>
    Signed-off-by: Mauro Carvalho Chehab <mchehab at redhat.com>

commit ff69786b4ccd0d5b99a60ba0be98237f9b7d8f52
Author: Devin Heitmueller <dheitmueller at kernellabs.com>
Date:   Sun Jul 12 18:44:19 2009 -0300

    V4L/DVB (12258): em28xx: fix typo in mt352 init sequence for Terratec Cinergy T XS USB
    
    Andy walls pointed out that we were passing 0x5d to the TUNER_GO register,
    instead of 0x01.  Set the register properly (note the code did still work with
    the incorrect value, so this does not address a regression).
    
    Thanks to Andy Walls for noticing the issue.
    
    Cc: Andy Walls <awalls at radix.net>
    Signed-off-by: Devin Heitmueller <dheitmueller at kernellabs.com>
    Signed-off-by: Mauro Carvalho Chehab <mchehab at redhat.com>

commit 4fb202a8d9d936f7080ab631140b447a0625e36c
Author: Devin Heitmueller <dheitmueller at kernellabs.com>
Date:   Sun Jul 12 17:51:12 2009 -0300

    V4L/DVB (12257): em28xx: make tuning work for Terratec Cinergy T XS USB (mt352 variant)
    
    The Terratec Cinergy T XS USB can have either a zl10353 or an mt352.  Add
    support for the MT352 variant.
    
    Thanks to Jelle de Jong for providing a unit to test/debug with.
    
    Cc: Jelle de Jong <jelledejong at powercraft.nl>
    Signed-off-by: Devin Heitmueller <dheitmueller at kernellabs.com>
    Signed-off-by: Mauro Carvalho Chehab <mchehab at redhat.com>

commit b80fd2d811b48a92051f86d257b00f373e69a6d7
Author: Mauro Carvalho Chehab <mchehab at redhat.com>
Date:   Tue Jul 14 21:08:22 2009 -0300

    V4L/DVB (12245): em28xx: add support for mt9m001 webcams
    
    Thanks to Wally <wally at voosen.eu> for bringing the issue and helping
    with the tests.
    
    Signed-off-by: Mauro Carvalho Chehab <mchehab at redhat.com>

commit 579d315218e8a3f696e375c5f6917da6488bec8a
Author: Mauro Carvalho Chehab <mchehab at redhat.com>
Date:   Tue Jul 14 12:33:25 2009 -0300

    V4L/DVB (12244): em28xx: adjust vinmode/vinctl based on the stream input format
    
    Depending on the video input format, vinmode/vinctl needs adjustments.
    For TV, this is not relevant, since the supported decoders output data
    at the same format. However, webcam sensors may have different formats,
    so, this needs to be adjusted based on the device.
    
    Signed-off-by: Mauro Carvalho Chehab <mchehab at redhat.com>

commit d36bb4e77257ed0df86deca3f69794f037f68c7d
Author: Mauro Carvalho Chehab <mchehab at redhat.com>
Date:   Tue Jul 14 03:18:39 2009 -0300

    V4L/DVB (12243): em28xx: allow specifying sensor xtal frequency
    
    In order to properly estimate fps, mt9v011 sensor driver needs to know
    what is the used frequency on the sensor cristal. Adds the proper fields
    and initialization code for specifying the cristal frequency.
    
    Also, based on experimentation, it was noticed that the Silvercrest is
    outputing data at 7 fps. This means that it should be using a 6.3 MHz
    cristal. This information needs to be double checked later, by opening
    the device. Anyway, by using this value for xtal, at least now we have
    the correct fps report.
    
    Signed-off-by: Mauro Carvalho Chehab <mchehab at redhat.com>

commit 2ea472ff704a8a94b3b9abec438db23e512be337
Author: Mauro Carvalho Chehab <mchehab at redhat.com>
Date:   Tue Jul 14 03:14:21 2009 -0300

    V4L/DVB (12242): mt9v011: implement core->s_config to allow adjusting xtal frequency
    
    Since frames per second is a function of cristal frequency, and this is
    device-specific, add a function that allows adjusting it, via
    subdev->core->s_config callback.
    
    Signed-off-by: Mauro Carvalho Chehab <mchehab at redhat.com>

commit c180604a87c5abb0a117998009d01a4499d58653
Author: Mauro Carvalho Chehab <mchehab at redhat.com>
Date:   Tue Jul 14 02:39:19 2009 -0300

    V4L/DVB (12241): mt9v011: Fix vstart
    
    vstart calculus were wrong. Fix it.
    
    Signed-off-by: Mauro Carvalho Chehab <mchehab at redhat.com>

commit e11206e67f738b04d0c508795adc9bff504bc875
Author: Mauro Carvalho Chehab <mchehab at redhat.com>
Date:   Tue Jul 14 02:38:18 2009 -0300

    V4L/DVB (12240): mt9v011: add a function to calculate frames per second rate
    
    It is possible to adjust the fps rate by changing some register values.
    This is function of the connected Xtal at the camera sensor, being a 27
    MHz cristal needed, in order to support 640x480 at 30 fps.
    
    For now, it will only calculate the values for fps. Later patches may
    introduce V4L2 ioctls, to allow frequency rate adjustments.
    
    Signed-off-by: Mauro Carvalho Chehab <mchehab at redhat.com>

commit 5569996421fa1cfc1fc0d9e683ac1def46ea985d
Author: Mauro Carvalho Chehab <mchehab at redhat.com>
Date:   Mon Jul 13 20:15:02 2009 -0300

    V4L/DVB (12239): em28xx: fix webcam scaling
    
    While trying to fix an mt9v001 webcam, I noticed that HSCALE/VSCALE do
    work with em28xx + webcam. The issue is that the scaling setup depends
    on the number of visible rows/cols of the input image.
    
    With mt9v011 (Silvercrest), the resolution is 640x480. So, the scaling
    is different from a normal TV image (720x480 on NTSC). This were causing
    a wrong scaling and a previous patch disabled scaling.
    
    As each sensor have their different resolution setting, the xres/yres
    should be adjusted accordingly with the input sensor.
    
    Signed-off-by: Mauro Carvalho Chehab <mchehab at redhat.com>

commit b04fb6615285d18df34ffd6cdd51db7a8a78dda0
Author: Mauro Carvalho Chehab <mchehab at redhat.com>
Date:   Mon Jul 13 01:28:21 2009 -0300

    V4L/DVB (12238): em28xx: call sensor detection code for all webcam entries
    
    With the previous approach, autodetection were working only for the two
    generic entries (em275x and em2820 unknown ones). So, if someone would
    try to force probing an specific device, the code would not properly run
    the autodetection code.
    
    With the new approach, the sensor autodetection will be run not only for
    the two generic entries, but also do webcam specific ones.
    
    Signed-off-by: Mauro Carvalho Chehab <mchehab at redhat.com>

commit 9873740b2f41b37ec074afd4b8910b87dbebc0db
Author: Mauro Carvalho Chehab <mchehab at redhat.com>
Date:   Mon Jul 13 01:03:37 2009 -0300

    V4L/DVB (12237): mt9v011: implement VIDIOC_QUERYCTRL
    
    Signed-off-by: Mauro Carvalho Chehab <mchehab at redhat.com>

commit 527f09a981e398331c2f8d8f7af83cd46e6a06cc
Author: Mauro Carvalho Chehab <mchehab at redhat.com>
Date:   Sun Jul 12 11:04:15 2009 -0300

    V4L/DVB (12236): em28xx: stop abusing of board->decoder for sensor information
    
    Instead of using em28xx board decoder field for storing sensor information,
    let's use instead a separate field for it.
    
    Also, as sensors are currently autodetected, there's no need of having
    it at the boards description. So, move it to the main em28xx struct.
    
    Signed-off-by: Mauro Carvalho Chehab <mchehab at redhat.com>

commit 8b220793d6fd309176438721088515be893630cd
Author: Mauro Carvalho Chehab <mchehab at redhat.com>
Date:   Sun Jul 12 10:56:21 2009 -0300

    V4L/DVB (12235): em28xx: detects sensors also with the generic em2750/2750 entry
    
    Webcams in general don't have eeprom. So, the sensor hint code should be
    called to properly detect what sensor is inside.
    
    Signed-off-by: Mauro Carvalho Chehab <mchehab at redhat.com>

commit 8a2e6990f44d4cebaafcc0af1a786912ae733bb2
Author: Mauro Carvalho Chehab <mchehab at redhat.com>
Date:   Sun Jul 12 10:26:36 2009 -0300

    V4L/DVB (12234): em28xx-cards: use is_webcam flag for devices that are known to be webcams
    
    By having the webcam devices marked as such, it will help the em28xx
    driver to do the right thing on those devices.
    
    Signed-off-by: Mauro Carvalho Chehab <mchehab at redhat.com>

commit c43221df762c33e832e8855cae77989b6bf69fa6
Author: Mauro Carvalho Chehab <mchehab at redhat.com>
Date:   Sun Jul 12 10:23:23 2009 -0300

    V4L/DVB (12233): em28xx: rename is_27xx to is_webcam
    
    Just renames the flag, to use a clearer name. Later patches will use
    this flag to properly set some drivers behaviors for webcams.
    
    Signed-off-by: Mauro Carvalho Chehab <mchehab at redhat.com>

commit 641f75caa874fffd679b64f850adee37103b0c0f
Author: Erik Andrén <erik.andren at gmail.com>
Date:   Wed Jul 8 14:47:16 2009 -0300

    V4L/DVB (12224): gspca - m5602-s5k4aa: Remove erroneous register writes
    
    A couple of erroneous register writes snuck in that made the image go haywire. Remove these.
    Many thanks to Grégory Lardière for finding this out
    
    Signed-off-by: Erik Andrén <erik.andren at gmail.com>
    Signed-off-by: Mauro Carvalho Chehab <mchehab at redhat.com>

commit c0ea8f5b7264c813ee885f02b663ee3106f98afe
Author: Erik Andrén <erik.andren at gmail.com>
Date:   Wed Jul 1 02:56:44 2009 -0300

    V4L/DVB (12223): gspca - stv06xx-hdcs: Correct the pixelformat
    
    Signed-off-by: Erik Andrén <erik.andren at gmail.com>
    Signed-off-by: Mauro Carvalho Chehab <mchehab at redhat.com>

commit ac51295ccc0ff922fea62cfc6f72cddf9c6c7306
Author: Erik Andrén <erik.andren at gmail.com>
Date:   Wed Jun 24 04:30:56 2009 -0300

    V4L/DVB (12222): gspca - stv06xx-hdcs: Fix sensor sequence bug
    
    All hdcs registers use bit 0 as a read/write flag and needs to be shifted one bit to the left. This wasn't accounted for when doing a sequence of writes.
    
    Signed-off-by: Erik Andrén <erik.andren at gmail.com>
    Signed-off-by: Mauro Carvalho Chehab <mchehab at redhat.com>

commit 36a516d953e02523e78ce27fbff91a968a9e5751
Author: Erik Andrén <erik.andren at gmail.com>
Date:   Tue Jun 23 12:22:48 2009 -0300

    V4L/DVB (12221): gspca - stv06xx-hdcs: Actually update the sensor state
    
    Signed-off-by: Erik Andrén <erik.andren at gmail.com>
    Signed-off-by: Mauro Carvalho Chehab <mchehab at redhat.com>

commit d717aa1d31c36cb56059e97966cb76f0be021969
Author: Yan Zheng <zheng.yan at oracle.com>
Date:   Fri Jul 24 12:42:46 2009 -0400

    Btrfs: Avoid delayed reference update looping
    
    btrfs_split_leaf and btrfs_del_items can end up in a loop
    where one is constantly spliting a given leaf and the other
    is constantly merging it back with the adjacent nodes.
    
    There is a better fix for this, but in the interest of something
    small, this patch just changes btrfs_del_items back to balancing less
    often.
    
    Signed-off-by: Chris Mason <chris.mason at oracle.com>

commit 0a4eefbb745ec0e8a5b694ae3f40cc34082d8f61
Author: Yan Zheng <zheng.yan at oracle.com>
Date:   Fri Jul 24 11:06:53 2009 -0400

    Btrfs: Fix ordering of key field checks in btrfs_previous_item
    
    Check objectid of item before checking the item type, otherwise we may return
    zero for a key that is actually too low.
    
    Signed-off-by: Yan Zheng <zheng.yan at oracle.com>
    Signed-off-by: Chris Mason <chris.mason at oracle.com>

commit 1fcbac581be375ca0a686f72ee2b7fd1dbf386e7
Author: Yan Zheng <zheng.yan at oracle.com>
Date:   Fri Jul 24 11:06:53 2009 -0400

    Btrfs: find_free_dev_extent doesn't handle holes at the start of the device
    
    find_free_dev_extent does not properly handle the case where
    the device is not complete free, and there is a free extent
    at the beginning of the device.
    
    Signed-off-by: Yan Zheng <zheng.yan at oracle.com>
    Signed-off-by: Chris Mason <chris.mason at oracle.com>

commit 20736abaa361bea488df6a1f66f6b37fb01107b9
Author: Diego Calleja <diegocg at gmail.com>
Date:   Fri Jul 24 11:06:52 2009 -0400

    Btrfs: Remove code duplication in comp_keys
    
    comp_keys is duplicating what is done in btrfs_comp_cpu_keys, so just
    call it.
    
    Signed-off-by: Diego Calleja <diegocg at gmail.com>
    Signed-off-by: Chris Mason <chris.mason at oracle.com>

commit 8de56b7deb2534a586839eda52843c1dae680dc5
Author: Takashi Iwai <tiwai at suse.de>
Date:   Fri Jul 24 16:51:47 2009 +0200

    ALSA: hda - Fix mute control with some ALC262 models
    
    The master mute switch is wrongly implemented as checking the pointer
    instead of its value, thus it can be never muted.  This patch fixes
    the issue.
    
    Reference: Novell bnc#404873
    	https://bugzilla.novell.com/show_bug.cgi?id=404873
    
    Signed-off-by: Takashi Iwai <tiwai at suse.de>
    Cc: <stable at kernel.org>

commit 817d52f8dba26d0295c26035531c30ce5f1e3c3e
Author: Josef Bacik <josef at redhat.com>
Date:   Mon Jul 13 21:29:25 2009 -0400

    Btrfs: async block group caching
    
    This patch moves the caching of the block group off to a kthread in order to
    allow people to allocate sooner.  Instead of blocking up behind the caching
    mutex, we instead kick of the caching kthread, and then attempt to make an
    allocation.  If we cannot, we wait on the block groups caching waitqueue, which
    the caching kthread will wake the waiting threads up everytime it finds 2 meg
    worth of space, and then again when its finished caching.  This is how I tested
    the speedup from this
    
    mkfs the disk
    mount the disk
    fill the disk up with fs_mark
    unmount the disk
    mount the disk
    time touch /mnt/foo
    
    Without my changes this took 11 seconds on my box, with these changes it now
    takes 1 second.
    
    Another change thats been put in place is we lock the super mirror's in the
    pinned extent map in order to keep us from adding that stuff as free space when
    caching the block group.  This doesn't really change anything else as far as the
    pinned extent map is concerned, since for actual pinned extents we use
    EXTENT_DIRTY, but it does mean that when we unmount we have to go in and unlock
    those extents to keep from leaking memory.
    
    I've also added a check where when we are reading block groups from disk, if the
    amount of space used == the size of the block group, we go ahead and mark the
    block group as cached.  This drastically reduces the amount of time it takes to
    cache the block groups.  Using the same test as above, except doing a dd to a
    file and then unmounting, it used to take 33 seconds to umount, now it takes 3
    seconds.
    
    This version uses the commit_root in the caching kthread, and then keeps track
    of how many async caching threads are running at any given time so if one of the
    async threads is still running as we cross transactions we can wait until its
    finished before handling the pinned extents.  Thank you,
    
    Signed-off-by: Josef Bacik <jbacik at redhat.com>
    Signed-off-by: Chris Mason <chris.mason at oracle.com>

commit 963030817060e4f109be1993b9ae8f81dbf5e11a
Author: Josef Bacik <josef at redhat.com>
Date:   Mon Jul 13 21:29:25 2009 -0400

    Btrfs: use hybrid extents+bitmap rb tree for free space
    
    Currently btrfs has a problem where it can use a ridiculous amount of RAM simply
    tracking free space.  As free space gets fragmented, we end up with thousands of
    entries on an rb-tree per block group, which usually spans 1 gig of area.  Since
    we currently don't ever flush free space cache back to disk this gets to be a
    bit unweildly on large fs's with lots of fragmentation.
    
    This patch solves this problem by using PAGE_SIZE bitmaps for parts of the free
    space cache.  Initially we calculate a threshold of extent entries we can
    handle, which is however many extent entries we can cram into 16k of ram.  The
    maximum amount of RAM that should ever be used to track 1 gigabyte of diskspace
    will be 32k of RAM, which scales much better than we did before.
    
    Once we pass the extent threshold, we start adding bitmaps and using those
    instead for tracking the free space.  This patch also makes it so that any free
    space thats less than 4 * sectorsize we go ahead and put into a bitmap.  This is
    nice since we try and allocate out of the front of a block group, so if the
    front of a block group is heavily fragmented and then has a huge chunk of free
    space at the end, we go ahead and add the fragmented areas to bitmaps and use a
    normal extent entry to track the big chunk at the back of the block group.
    
    I've also taken the opportunity to revamp how we search for free space.
    Previously we indexed free space via an offset indexed rb tree and a bytes
    indexed rb tree.  I've dropped the bytes indexed rb tree and use only the offset
    indexed rb tree.  This cuts the number of tree operations we were doing
    previously down by half, and gives us a little bit of a better allocation
    pattern since we will always start from a specific offset and search forward
    from there, instead of searching for the size we need and try and get it as
    close as possible to the offset we want.
    
    I've given this a healthy amount of testing pre-new format stuff, as well as
    post-new format stuff.  I've booted up my fedora box which is installed on btrfs
    with this patch and ran with it for a few days without issues.  I've not seen
    any performance regressions in any of my tests.
    
    Since the last patch Yan Zheng fixed a problem where we could have overlapping
    entries, so updating their offset inline would cause problems.  Thanks,
    
    Signed-off-by: Josef Bacik <jbacik at redhat.com>
    Signed-off-by: Chris Mason <chris.mason at oracle.com>

commit 8d406c6de2e67b5bae3c43b62b492c4ff63afb92
Author: Felix Beck <felix.beck at de.ibm.com>
Date:   Fri Jul 24 12:39:53 2009 +0200

    [S390] zcrypt: fix scheduling of hrtimer ap_poll_timer
    
    Every time a request is enqueued or there is some work outstanding
    from the ap_tasklet, the ap_poll_timer is scheduled again.
    Unfortunately it was permanently called. It looked as if it was
    started in the past and thus imediately expired.
    This has been changed. First it is checked if the hrtimer is already
    expired. Then the expiring time is forwarded and the timer restarted.
    
    Signed-off-by: Felix Beck <felix.beck at de.ibm.com>
    Signed-off-by: Martin Schwidefsky <schwidefsky at de.ibm.com>

commit 1277580fe5dfb5aef84854bdb7983657df00b920
Author: Martin Schwidefsky <schwidefsky at de.ibm.com>
Date:   Fri Jul 24 12:39:52 2009 +0200

    [S390] vdso: clock_gettime of CLOCK_THREAD_CPUTIME_ID with noexec=on
    
    The combination of noexec=on and a clock_gettime call with clock id
    CLOCK_THREAD_CPUTIME_ID is broken. The vdso code switches to the
    access register mode to get access to the per-cpu data structure to
    execute the magic ectg instruction. After the ectg instruction the
    code always switches back to the primary mode but for noexec=on the
    correct mode is the secondary mode. The effect of the bug is that the
    user space program looses the access to all mappings without PROT_EXEC,
    e.g. the stack. The problem is fixed by restoring the mode that has
    been active before the switch to the access register mode.
    
    Signed-off-by: Martin Schwidefsky <schwidefsky at de.ibm.com>

commit 3a6ba4600d6fb913ddb0dd08843ad75405795883
Author: Heiko Carstens <heiko.carstens at de.ibm.com>
Date:   Fri Jul 24 12:39:51 2009 +0200

    [S390] vdso: fix per cpu area allocation
    
    vdso per cpu area allocation in smp_prepare_cpus() happens with GFP_KERNEL
    but irqs disabled. Triggers this one:
    
    Badness at kernel/lockdep.c:2280
    Modules linked in:
    CPU: 0 Not tainted 2.6.30 #2
    Process swapper (pid: 1, task: 000000003fe88000, ksp: 000000003fe87eb8)
    Krnl PSW : 0400c00180000000 0000000000083360 (lockdep_trace_alloc+0xec/0xf8)
    [...]
    Call Trace:
    ([<00000000000832b6>] lockdep_trace_alloc+0x42/0xf8)
     [<00000000000b1880>] __alloc_pages_internal+0x3e8/0x5c4
     [<00000000000b1b4a>] __get_free_pages+0x3a/0xb0
     [<0000000000026546>] vdso_alloc_per_cpu+0x6a/0x18c
     [<00000000005eff82>] smp_prepare_cpus+0x322/0x594
     [<00000000005e8232>] kernel_init+0x76/0x398
     [<000000000001bb1e>] kernel_thread_starter+0x6/0xc
     [<000000000001bb18>] kernel_thread_starter+0x0/0xc
    
    Fix this by moving the allocation out of the irqs disabled section.
    
    Reported-by: Christian Borntraeger <borntraeger at de.ibm.com>
    Signed-off-by: Heiko Carstens <heiko.carstens at de.ibm.com>
    Signed-off-by: Martin Schwidefsky <schwidefsky at de.ibm.com>

commit c63b196afcf22405527abe4c2c57926a5bbd6fc9
Author: Heiko Carstens <heiko.carstens at de.ibm.com>
Date:   Fri Jul 24 12:39:50 2009 +0200

    [S390] hibernation: fix register corruption on machine checks
    
    swsusp_arch_suspend() actually saves all cpu register contents on
    hibernation.
    Machine checks must be disabled since swsusp_arch_suspend() stores
    register contents to their lowcore save areas. That's the same
    place where register contents on machine checks would be saved.
    To avoid register corruption disable machine checks.
    We must also disable machine checks in the new psw mask for
    program checks, since swsusp_arch_suspend() may generate program
    checks.
    
    Signed-off-by: Heiko Carstens <heiko.carstens at de.ibm.com>
    Signed-off-by: Martin Schwidefsky <schwidefsky at de.ibm.com>

commit 5f954c3426190f7ae432a09abd62164d5d14c709
Author: Heiko Carstens <heiko.carstens at de.ibm.com>
Date:   Fri Jul 24 12:39:49 2009 +0200

    [S390] hibernation: fix lowcore handling
    
    Our swsusp_arch_suspend() backend implementation disables prefixing
    by setting the contents of the prefix register to 0.
    However afterwards common code functions are called which might
    access percpu data structures.
    Since the lowcore contains e.g. the percpu base pointer this isn't
    a good idea. So fix this by copying the hibernating cpu's lowcore to
    absolute address zero.
    
    Signed-off-by: Heiko Carstens <heiko.carstens at de.ibm.com>
    Signed-off-by: Martin Schwidefsky <schwidefsky at de.ibm.com>

commit d6c585a4342a2ff627a29f9aea77c5ed4cd76023
Author: Thomas Gleixner <tglx at linutronix.de>
Date:   Fri Jul 24 08:34:59 2009 +0200

    x86: geode: Mark mfgpt irq IRQF_TIMER to prevent resume failure
    
    Timer interrupts are excluded from being disabled during suspend. The
    clock events code manages the disabling of clock events on its own
    because the timer interrupt needs to be functional before the resume
    code reenables the device interrupts.
    
    The mfgpt timer request its interrupt without setting the IRQF_TIMER
    flag so suspend_device_irqs() disables it as well which results in a
    fatal resume failure.
    
    Adding IRQF_TIMER to the interupt flags when requesting the mrgpt
    timer interrupt solves the problem.
    
    Signed-off-by: Thomas Gleixner <tglx at linutronix.de>
    LKML-Reference: <new-submission>
    Cc: Andres Salomon <dilinger at debian.org>
    Cc: stable at kernel.org

commit 5dea271b6d87bd1d79a59c1d5baac2596a841c37
Author: Mike Snitzer <snitzer at redhat.com>
Date:   Thu Jul 23 20:30:42 2009 +0100

    dm table: pass correct dev area size to device_area_is_valid
    
    Incorrect device area lengths are being passed to device_area_is_valid().
    
    The regression appeared in 2.6.31-rc1 through commit
    754c5fc7ebb417b23601a6222a6005cc2e7f2913.
    
    With the dm-stripe target, the size of the target (ti->len) was used
    instead of the stripe_width (ti->len/#stripes).  An example of a
    consequent incorrect error message is:
    
      device-mapper: table: 254:0: sdb too small for target
    
    Signed-off-by: Mike Snitzer <snitzer at redhat.com>
    Signed-off-by: Alasdair G Kergon <agk at redhat.com>

commit a732c207d19e899845ae47139708af898daaf9fd
Author: Mike Snitzer <snitzer at redhat.com>
Date:   Thu Jul 23 20:30:40 2009 +0100

    dm: remove queue next_ordered workaround for barriers
    
    This patch removes DM's bio-based vs request-based conditional setting
    of next_ordered.  For bio-based DM the next_ordered check is no longer a
    concern (as that check is now in the __make_request path).  For
    request-based DM the default of QUEUE_ORDERED_NONE is now appropriate.
    
    bio-based DM was changed to work-around the previously misplaced
    next_ordered check with this commit:
    99360b4c18f7675b50d283301d46d755affe75fd
    
    request-based DM does not yet support barriers but reacted to the above
    bio-based DM change with this commit:
    5d67aa2366ccb8257d103d0b43df855605c3c086
    
    The above changes are no longer needed given Neil Brown's recent fix to
    put the next_ordered check in the __make_request path:
    db64f680ba4b5c56c4be59f0698000df89ff0281
    
    Signed-off-by: Mike Snitzer <snitzer at redhat.com>
    Cc: Jun'ichi Nomura <j-nomura at ce.jp.nec.com>
    Cc: NeilBrown <neilb at suse.de>
    Acked-by: Kiyoshi Ueda <k-ueda at ct.jp.nec.com>
    Acked-by: Mikulas Patocka <mpatocka at redhat.com>
    Signed-off-by: Alasdair G Kergon <agk at redhat.com>

commit 69885683d22d8c05910fd808c01fdce1322739b4
Author: Mikulas Patocka <mpatocka at redhat.com>
Date:   Thu Jul 23 20:30:37 2009 +0100

    dm raid1: wake kmirrord when requeueing delayed bios after remote recovery
    
    The recent commit 7513c2a761d69d2a93f17146b3563527d3618ba0 (dm raid1:
    add is_remote_recovering hook for clusters) changed do_writes() to
    update the ms->writes list but forgot to wake up kmirrord to process it.
    
    The rule is that when anything is being added on ms->reads, ms->writes
    or ms->failures and the list was empty before we must call
    wakeup_mirrord (for immediate processing) or delayed_wake (for delayed
    processing).  Otherwise the bios could sit on the list indefinitely.
    
    Signed-off-by: Mikulas Patocka <mpatocka at redhat.com>
    CC: stable at kernel.org
    Signed-off-by: Alasdair G Kergon <agk at redhat.com>

commit ffafa60d496f80c250f2ae0340ae94434c0b0b4d
Author: Andy Gospodarek <andy at greyhouse.net>
Date:   Wed Jul 22 09:34:00 2009 +0000

    ixgbe: remove unnecessary call to device_init_wakeup
    
    Calls to device_init_wakeup should not be necessary in drivers that use
    device_set_wakeup_enable since pci_pm_init will set the can_wakeup flag
    for the device when initialized.
    
    Signed-off-by: Andy Gospodarek <andy at greyhouse.net>
    Acked-by: Peter P Waskiewicz Jr <peter.p.waskiewicz.jr at intel.com>
    Signed-off-by: David S. Miller <davem at davemloft.net>

commit 601278659d5717b4f7a14fbc9f2b9d559bba6aef
Author: Lucy Liu <lucy.liu at intel.com>
Date:   Wed Jul 22 14:07:33 2009 +0000

    ixgbe: Don't priority tag control frames in DCB mode
    
    Certain types of control packets (LLDP, LACP, etc.) are not supposed to have a
    priority tag or vlan tag inserted.  Ixgbe driver is currently priority
    tagging everything (if packet is not on a VLAN interface).
    
    This patch modifies DCB mode, so that packets marked with skb priority
    TC_PRIO_CONTROL are not priority tagged.  It also transmits these packets on
    the highest priority traffic class.
    Programs (like dcbd) can set the skb priority using a socket option.  Or, a tc
    filter can be configured to set the priority value. Using the value
    TC_PRIO_CONTROL (7) has the benefit that it is already defined in the kernel,
    and the bonding LACP code already sets the skb->priority field to this value.
    
    Signed-off-by: Lucy Liu <lucy.liu at intel.com>
    Acked-by: Peter P Waskiewicz Jr <peter.p.waskiewicz.jr at intel.com>
    Signed-off-by: Jeff Kirsher <jeffrey.t.kirsher at intel.com>
    Signed-off-by: David S. Miller <davem at davemloft.net>

commit 0d5515894fd5b9e9402ef76e9a7e704fd26e0e5f
Author: Yi Zou <yi.zou at intel.com>
Date:   Wed Jul 22 14:07:12 2009 +0000

    ixgbe: Enable FCoE offload when DCB is enabled for 82599
    
    Currently, FCoE offload feature is turned on when the kernel config has
    CONFIG_FCOE or CONFIG_FCOE_MODULE set. However, we really want to turn
    FCoE offload on when there is FCoE traffic passing and turn it off when
    it's just LAN traffic. Since FCoE depends on a lossless network provided
    by DCB, this allows us to have FCoE turned on/off when user turns on DCB
    using dcbtool.
    
    Signed-off-by: Yi Zou <yi.zou at intel.com>
    Acked-by: Peter P Waskiewicz Jr <peter.p.waskiewicz.jr at intel.com>
    Signed-off-by: Jeff Kirsher <jeffrey.t.kirsher at intel.com>
    Signed-off-by: David S. Miller <davem at davemloft.net>

commit 0584974a77796581eb3a64b6c5005edac4a95128
Author: Jan Kara <jack at suse.cz>
Date:   Wed Jul 22 13:17:21 2009 +0200

    ocfs2: Define credit counts for quota operations
    
    Numbers of needed credits for some quota operations were written
    as raw numbers. Create appropriate defines instead.
    
    Signed-off-by: Jan Kara <jack at suse.cz>
    Signed-off-by: Joel Becker <joel.becker at oracle.com>

commit 4539f1df25bcd0fdf0d8a5e2c92de6bece83c7a0
Author: Jan Kara <jack at suse.cz>
Date:   Wed Jul 22 13:17:20 2009 +0200

    ocfs2: Remove syncjiff field from quota info
    
    syncjiff is just a converted value of syncms. Some places which
    are updating syncms forgot to update syncjiff as well. Since the
    conversion is just a simple division / multiplication and it does
    not happen frequently, just remove the syncjiff field to avoid
    forgotten conversions.
    
    Signed-off-by: Jan Kara <jack at suse.cz>
    Signed-off-by: Joel Becker <joel.becker at oracle.com>

commit 1c1d9793ff6720531c0125a28d321f283716e32f
Author: Jan Kara <jack at suse.cz>
Date:   Wed Jul 22 13:17:19 2009 +0200

    ocfs2: Fix initialization of blockcheck stats
    
    We just set blockcheck stats to zeros but we should also
    properly initialize the spinlock there.
    
    Signed-off-by: Jan Kara <jack at suse.cz>
    Signed-off-by: Joel Becker <joel.becker at oracle.com>

commit 7669f54c55df225cbb2db939a6c9f111445ffc1c
Author: Jan Kara <jack at suse.cz>
Date:   Wed Jul 22 13:17:18 2009 +0200

    ocfs2: Zero out padding of on disk dquot structure
    
    Padding fields of on-disk dquot structure were not zeroed. Zero them
    so that it's easier to use them later.
    
    Signed-off-by: Jan Kara <jack at suse.cz>
    Signed-off-by: Joel Becker <joel.becker at oracle.com>

commit 0e7f387bf386c99e8ee322649fe4fc23b9cccc6c
Author: Jan Kara <jack at suse.cz>
Date:   Wed Jul 22 13:17:17 2009 +0200

    ocfs2: Initialize blocks allocated to local quota file
    
    When we extend local quota file, we should initialize data
    in newly allocated block. Firstly because on recovery we could
    parse bogus data, secondly so that block checksums are properly
    computed.
    
    Signed-off-by: Jan Kara <jack at suse.cz>
    Signed-off-by: Joel Becker <joel.becker at oracle.com>

commit 4b3fa1904c0d192461ebba692e4940a334b74353
Author: Jan Kara <jack at suse.cz>
Date:   Wed Jul 22 13:17:16 2009 +0200

    ocfs2: Mark buffer uptodate before calling ocfs2_journal_access_dq()
    
    In a code path extending local quota files we marked new header
    buffer uptodate only after calling ocfs2_journal_access_dq() which
    triggers a bug. Fix it and also call ocfs2 variant of the function
    marking buffer uptodate.
    
    Signed-off-by: Jan Kara <jack at suse.cz>
    Signed-off-by: Joel Becker <joel.becker at oracle.com>

commit b57ac2c43e66cb4aa76c9d2d0e9e0e04f19cc5a6
Author: Jan Kara <jack at suse.cz>
Date:   Wed Jul 22 13:17:15 2009 +0200

    ocfs2: Make global quota files blocksize aligned
    
    Change i_size of global quota files so that it always remains aligned to block
    size. This is mainly because the end of quota block may contain checksum (if
    checksumming is enabled) and it's a bit awkward for it to be "outside" of quota
    file (and it makes life harder for ocfs2-tools).
    
    Signed-off-by: Jan Kara <jack at suse.cz>
    Signed-off-by: Joel Becker <joel.becker at oracle.com>

commit 82e12644cf5227dab15201fbcaf0ca6330ebd70f
Author: Tao Ma <tao.ma at oracle.com>
Date:   Thu Jul 23 08:12:58 2009 +0800

    ocfs2: Use ocfs2_rec_clusters in ocfs2_adjust_adjacent_records.
    
    In ocfs2_adjust_adjacent_records, we will adjust adjacent records
    according to the extent_list in the lower level. But actually
    the lower level tree will either be a leaf or a branch. If we only
    use ocfs2_is_empty_extent we will meet with some problem if the lower
    tree is a branch (tree_depth > 1). So use !ocfs2_rec_clusters instead.
    And actually only the leaf record can have holes. So add a BUG_ON
    for non-leaf branch.
    
    Signed-off-by: Tao Ma <tao.ma at oracle.com>
    Signed-off-by: Joel Becker <joel.becker at oracle.com>

commit dacac4da5290ee3f3f413bd6980af2befb813e28
Author: Mark Ware <mware at elphinstone.net>
Date:   Thu Jul 23 10:56:48 2009 -0700

    net: Rework mdio-ofgpio driver to use of_mdio infrastructure
    
    Changes to the fs_enet driver aa73832c5a80d6c52c69b18af858d88fa595dd3c
    ("net: Rework fs_enet driver to use of_mdio infrastructure")
    cause kernel crashes when using the mdio-ofgpio driver.
    
    This patch replicates similar changes made to the fs_enet mii-bitbang
    drivers.  It has been tested on a custom mpc8280 based board using an
    NFS mounted root.
    
    Signed-off-by: Mark Ware <mware at elphinstone.net>
    Acked-by: Grant Likely <grant.likely at secretlab.ca>
    Signed-off-by: David S. Miller <davem at davemloft.net>

commit bd171d5ffc5cb2ba471e8205c679ee9d12b90116
Author: Matt Fleming <matt at console-pimps.org>
Date:   Thu Jul 23 17:16:15 2009 +0100

    ftrace: Only update $offset when we update $ref_func
    
    The value of $offset should be the offset of $ref_func from the
    beginning of the object file. Therefore, we should set both variables
    together.
    
    This fixes a bug I was hitting on sh where $offset (which is used to
    calcualte the addends for the __mcount_loc entries) was being set
    multiple times and didn't correspond to $ref_func's offset in the object
    file. The addends in __mcount_loc were calculated incorrectly, resulting
    in ftrace dynamically modifying addresses that weren't mcount call
    sites.
    
    Signed-off-by: Matt Fleming <matt at console-pimps.org>
    LKML-Reference: <1248365775-25196-2-git-send-email-matt at console-pimps.org>
    Signed-off-by: Steven Rostedt <rostedt at goodmis.org>

commit fc4c73554c9d93b3e495f2f7acae1323b0d5db84
Author: Matt Fleming <matt at console-pimps.org>
Date:   Thu Jul 23 17:16:14 2009 +0100

    ftrace: Fix the conditional that updates $ref_func
    
    Fix the conditional that checks if we already have a $ref_func and that
    the new function is weak. The code as previously checking whether either
    condition was false, and we really need to only update $ref_func is both
    cconditions are false.
    
    Signed-off-by: Matt Fleming <matt at console-pimps.org>
    LKML-Reference: <1248365775-25196-1-git-send-email-matt at console-pimps.org>
    Signed-off-by: Steven Rostedt <rostedt at goodmis.org>

commit 4a19fb11a90fdbbcb3bc02effa036230d035ca28
Author: Stefan Bader <stefan.bader at canonical.com>
Date:   Thu Jul 23 11:26:05 2009 +0200

    jfs: Fix early release of acl in jfs_get_acl
    
    BugLink: http://bugs.launchpad.net/ubuntu/+bug/396780
    
    Commit 073aaa1b142461d91f83da66db1184d7c1b1edea "helpers for acl
    caching + switch to those" introduced new helper functions for
    acl handling but seems to have introduced a regression for jfs as
    the acl is released before returning it to the caller, instead of
    leaving this for the caller to do.
    This causes the acl object to be used after freeing it, leading
    to kernel panics in completely different places.
    
    Thanks to Christophe Dumez for reporting and bisecting into this.
    
    Reported-by: Christophe Dumez <dchris at gmail.com>
    Tested-by: Christophe Dumez <dchris at gmail.com>
    Signed-off-by: Stefan Bader <stefan.bader at canonical.com>
    Acked-by: Andy Whitcroft <apw at canonical.com>
    Signed-off-by: Dave Kleikamp <shaggy at linux.vnet.ibm.com>

commit b30c4947735f9d76da3d194923efd38ed18ad651
Author: Daniel Mack <daniel at caiaq.de>
Date:   Wed Jul 22 14:13:35 2009 +0200

    ALSA: snd_usb_caiaq: add support for Audio2DJ
    
    This adds support for Native Instrument's freshly announced Audio2DJ
    sound device hardware. Version number bumped to 1.3.19.
    
    Signed-off-by: Daniel Mack <daniel at caiaq.de>
    Signed-off-by: Takashi Iwai <tiwai at suse.de>

commit 947ca210f1df7656e19890832cb71fc3bdd88707
Author: Takashi Iwai <tiwai at suse.de>
Date:   Thu Jul 23 16:21:08 2009 +0200

    ALSA: pcm - Fix hwptr buffer-size overlap bug
    
    The fix 79452f0a28aa5a40522c487b42a5fc423647ad98 introduced another
    bug due to the missing offset for the overlapped hwptr.
    When the hwptr goes back to zero, the delta value has to be corrected
    with the buffer size.  Otherwise this causes looping sounds.
    
    Signed-off-by: Takashi Iwai <tiwai at suse.de>

commit 8650ae32ef7045e763825dee6256dde7f331bb85
Author: Steven Rostedt <srostedt at redhat.com>
Date:   Wed Jul 22 23:29:30 2009 -0400

    tracing: only truncate ftrace files when O_TRUNC is set
    
    The current code will truncate the ftrace files contents if O_APPEND
    is not set and the file is opened in write mode. This is incorrect.
    It should only truncate the file if O_TRUNC is set. Otherwise
    if one of these files is opened by a C program with fopen "r+",
    it will incorrectly truncate the file.
    
    Reported-by: Jiri Olsa <jolsa at redhat.com>
    Signed-off-by: Steven Rostedt <rostedt at goodmis.org>

commit 4c739ff043e5787d97c9691d62cabf7a29e75a9d
Author: Steven Rostedt <srostedt at redhat.com>
Date:   Wed Jul 22 23:11:03 2009 -0400

    tracing: show proper address for trace-printk format
    
    Since the trace_printk may use pointers to the format fields
    in the buffer, they are exported via debugfs/tracing/printk_formats.
    This is used by utilities that read the ring buffer in binary format.
    It helps the utilities map the address of the format in the binary
    buffer to what the printf format looks like.
    
    Unfortunately, the way the output code works, it exports the address
    of the pointer to the format address, and not the format address
    itself. This makes the file totally useless in trying to figure
    out what format string a binary address belongs to.
    
    Signed-off-by: Steven Rostedt <rostedt at goodmis.org>

commit 636eacee3b0c76915151db37203cc624becb6d7b
Author: Li Zefan <lizf at cn.fujitsu.com>
Date:   Thu Jul 23 11:29:47 2009 +0800

    tracing/stat: Fix seqfile memory leak
    
    Every time we cat a trace_stat file, we leak memory allocated by
    seq_open().
    
    Also fix memory leak in a failure path in tracing_stat_open().
    
    Signed-off-by: Li Zefan <lizf at cn.fujitsu.com>
    LKML-Reference: <4A67D92B.4060704 at cn.fujitsu.com>
    Signed-off-by: Steven Rostedt <rostedt at goodmis.org>

commit 87827111a5538633b18e5c641ced673c4c2bb6ce
Author: Li Zefan <lizf at cn.fujitsu.com>
Date:   Thu Jul 23 11:29:11 2009 +0800

    function-graph: Fix seqfile memory leak
    
    Every time we cat set_graph_function, we leak memory allocated
    by seq_open().
    
    Signed-off-by: Li Zefan <lizf at cn.fujitsu.com>
    LKML-Reference: <4A67D907.2010500 at cn.fujitsu.com>
    Signed-off-by: Steven Rostedt <rostedt at goodmis.org>

commit d8cc1ab793993c886c62abf77c93287df33ffd8b
Author: Li Zefan <lizf at cn.fujitsu.com>
Date:   Thu Jul 23 11:28:40 2009 +0800

    trace_stack: Fix seqfile memory leak
    
    Every time we cat stack_trace, we leak memory allocated by seq_open().
    
    Signed-off-by: Li Zefan <lizf at cn.fujitsu.com>
    LKML-Reference: <4A67D8E8.3020500 at cn.fujitsu.com>
    Signed-off-by: Steven Rostedt <rostedt at goodmis.org>

commit 89350640439e0160056de26995d52deb18202b3e
Author: Takashi Iwai <tiwai at suse.de>
Date:   Thu Jul 23 14:28:37 2009 +0200

    ALSA: pcm - Fix warnings in debug loggings
    
    Add proper cast.
    
    Signed-off-by: Takashi Iwai <tiwai at suse.de>

commit 3174c88af4b6b2e81cacfaa2bb90cc7abe36f1cc
Author: Hartley Sweeten <hartleys at visionengravers.com>
Date:   Mon Jul 20 18:12:23 2009 +0100

    [ARM] 5611/1: ep93xx: update ts72xx nor flash support
    
    Update the NOR flash support for TS-7200.
    
    The TS-7200 models all have 16-bit NOR flash.  Update the platform
    init to support this.
    
    Remove the private TS72XX_NOR_* defines and use the common ep93xx
    defines for the external chip select physical base address instead.
    
    Move the NOR flash registration into a static __init function.  When
    the NAND flash support is updated this function will also be used
    to register the NAND flash for the TS-7250 and TS-7260.
    
    Tested-by: Matthieu Crapet <mcrapet at gmail.com>
    Signed-off-by: H Hartley Sweeten <hsweeten at visionengravers.com>
    Signed-off-by: Russell King <rmk+kernel at arm.linux.org.uk>

commit cedb8118e8cef21a2b73fd9cb70660ac19124c16
Author: Takashi Iwai <tiwai at suse.de>
Date:   Thu Jul 23 11:04:13 2009 +0200

    ALSA: pcm - Add logging of hwptr updates and interrupt updates
    
    Added the logging functionality to xrun_debug to record the hwptr
    updates via snd_pcm_update_hw_ptr() and snd_pcm_update_hwptr_interrupt(),
    corresponding to 16 and 8, respectively.
    
    For example,
    	# echo 9 > /proc/asound/card0/pcm0p/xrun_debug
    will record the position and other parameters at each period interrupt
    together with the normal XRUN debugging.
    
    Signed-off-by: Takashi Iwai <tiwai at suse.de>

commit 06c71282a90470184a78f7f0ab0f7ce0fc1f69c8
Author: Chaithrika U S <chaithrika at ti.com>
Date:   Wed Jul 22 07:45:04 2009 -0400

    ASoC: tlv320aic3x: Enable PLL when not bypassed
    
    PLL was not being enabled when it was not bypassed. This patch
    enables the PLL when it is used. Additionally, it disables the PLL
    when it is bypassed.
    
    Without this patch, the audio on TI DM646x EVM and DM355 EVM
    does not work properly. The bit clocks and the frame sync signals
    from the codec are not correct and hence the playback/record are faster
    than usual for most sample rates. The reason for this was that the PLL
    was not enabled when it was not bypassed.
    
    Tested on DM6467 EVM, playback tested on DM355 EVM.
    
    Signed-off-by: Chaithrika U S <chaithrika at ti.com>
    Signed-off-by: Mark Brown <broonie at opensource.wolfsonmicro.com>

commit 808347f6a31792079e345ec865e9cfcb6e8ae6b2
Author: Nicolas Ferre <nicolas.ferre at atmel.com>
Date:   Wed Jul 22 20:04:45 2009 +0200

    dmaengine: at_hdmac: add DMA slave transfers
    
    This patch for at_hdmac adds the slave transfers capability to the Atmel DMA
    controller available on some AT91 SOCs. This allow peripheral to memory and
    memory to peripheral transfers with hardware handshaking.
    
    Slave structure for controller specific information is passed through channel
    private data. This at_dma_slave structure is defined in at_hdmac.h header file
    and relative hardware definition are moved to this file from at_hdmac_regs.h.
    Doing this we allow the channel configuration from platform definition code.
    
    This work is intensively based on dw_dmac and several slave implementations.
    
    Signed-off-by: Nicolas Ferre <nicolas.ferre at atmel.com>
    Signed-off-by: Dan Williams <dan.j.williams at intel.com>

commit dc78baa2b90b289590911b40b6800f77d0dc935a
Author: Nicolas Ferre <nicolas.ferre at atmel.com>
Date:   Fri Jul 3 19:24:33 2009 +0200

    dmaengine: at_hdmac: new driver for the Atmel AHB DMA Controller
    
    This AHB DMA Controller (aka HDMA or DMAC on AT91 systems) is availlable on
    at91sam9rl chip. It will be used on other products in the future.
    
    This first release covers only the memory-to-memory tranfer type. This is the
    only tranfer type supported by this chip.  On other products, it will be used
    also for peripheral DMA transfer (slave API support to come).
    
    I used dmatest client without problem in different configurations to test it.
    
    Full documentation for this controller can be found in the SAM9RL datasheet:
    http://www.atmel.com/dyn/products/product_card.asp?part_id=4243
    
    Signed-off-by: Nicolas Ferre <nicolas.ferre at atmel.com>
    Acked-by: Maciej Sosnowski <maciej.sosnowski at intel.com>
    Signed-off-by: Dan Williams <dan.j.williams at intel.com>

commit f1aef8b6e6abf32a3a269542f95a19e2cb319f6c
Author: Nicolas Ferre <nicolas.ferre at atmel.com>
Date:   Mon Jul 6 18:19:44 2009 +0200

    dmaengine: dmatest: correct thread_count while using multiple thread per channel
    
    It seems that thread_count is not properly calculated in dmatest.
    In fact the thread count number that is returned from dmatest_add_threads() is
    not correctly added to the thread_count and thus not properly printed.
    
    Signed-off-by: Nicolas Ferre <nicolas.ferre at atmel.com>
    Acked-by: Haavard Skinnemoen <haavard.skinnemoen at atmel.com>
    Acked-by: Maciej Sosnowski <maciej.sosnowski at intel.com>
    Signed-off-by: Andrew Morton <akpm at linux-foundation.org>
    Signed-off-by: Dan Williams <dan.j.williams at intel.com>

commit 0a2ff57d6fba92842272889b4bca447344cd9d36
Author: Nicolas Ferre <nicolas.ferre at atmel.com>
Date:   Fri Jul 3 19:26:51 2009 +0200

    dmaengine: dmatest: add a maximum number of test iterations
    
    The dmatest usually waits for the killing of its kthreads to stop
    running tests.  This patch adds a parameter that sets a maximum
    number of test iterations.
    
    This feature is quite interesting for debugging when you set a lot of
    traces in your dmaengine controller driver.
    
    Signed-off-by: Nicolas Ferre <nicolas.ferre at atmel.com>
    Cc: Haavard Skinnemoen <haavard.skinnemoen at atmel.com>
    Acked-by: Maciej Sosnowski <maciej.sosnowski at intel.com>
    Signed-off-by: Andrew Morton <akpm at linux-foundation.org>
    Signed-off-by: Dan Williams <dan.j.williams at intel.com>

commit c019894efc9c9ba5939948caa78c133b1ec8ae63
Author: Joe Perches <joe at perches.com>
Date:   Sun Jun 28 09:26:21 2009 -0700

    drivers/dma: Remove unnecessary semicolons
    
    Signed-off-by: Joe Perches <joe at perches.com>
    Signed-off-by: Dan Williams <dan.j.williams at intel.com>

commit e3d433040ee6077e33d4ad22e2f60a38b085786d
Author: Joe Perches <joe at perches.com>
Date:   Sun Jun 28 09:26:20 2009 -0700

    drivers/dma/fsldma.c: Remove unnecessary semicolons
    
    Signed-off-by: Joe Perches <joe at perches.com>
    Signed-off-by: Dan Williams <dan.j.williams at intel.com>

commit 1d3e216f1d303878d7204de94dee251bc2702175
Author: Mike Rapoport <mike at compulab.co.il>
Date:   Tue Jul 21 17:09:52 2009 +0300

    [ARM] pxa/em-x270: fix compile failure when CONFIG_APM_EMULATION=n
    
    If CONFIG_APM_EMULATION=n em-x270 build fails with linker error:
    
    arch/arm/mach-pxa/built-in.o: In function `em_x270_battery_critical': em-x270.c:(.text+0x12c0): undefined reference to `apm_queue_event'
    arch/arm/mach-pxa/built-in.o: In function `em_x270_battery_low': em-x270.c:(.text+0x12c8): undefined reference to `apm_queue_event'
    make: *** [.tmp_vmlinux1] Error 1
    
    Fix it.
    
    Signed-off-by: Mike Rapoport <mike at compulab.co.il>
    Signed-off-by: Eric Miao <eric.y.miao at gmail.com>

commit 4be3bd7849165e7efa6b0b35a23d6a3598d97465
Author: Linus Torvalds <torvalds at linux-foundation.org>
Date:   Wed Jul 22 19:32:59 2009 -0700

    Linux 2.6.31-rc4

commit 2ded9e2747d0a390d281bb5b16ff7f640ec85f78
Author: ling.ma at intel.com <ling.ma at intel.com>
Date:   Thu Jul 16 17:23:09 2009 +0800

    drm/i915: hdmi detection according by reading edid
    
    According to investigations from windows team ,hw team,
    and our test results on all 4x platofrms available
    (gm45, g45b, q45, g45a, g45c, g41a, and g41), we find
    currently Hot plug live status and Hot plug interrupt
    detection are not reliable, sometime the results from
    the two approaches are contradicts. So we chose edid
    detection for hdmi output.
    
    Signed-off-by: Ma Ling <ling.ma at intel.com>
    Reviewed-by: Ian Romanick <ian.d.romanick at intel.com>
    Signed-off-by: Eric Anholt <eric at anholt.net>

commit b600ffaebcc4791add19e04306f0478a963abe71
Merge: 81cbf6d0555d77b2a4235c03f24167e2d792ccf5 61f3826133dc07142935fb5712fc738e19eb5575
Author: Linus Torvalds <torvalds at linux-foundation.org>
Date:   Wed Jul 22 16:44:33 2009 -0700

    Merge branch 'irq-fixes-for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/tip/linux-2.6-tip
    
    * 'irq-fixes-for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/tip/linux-2.6-tip:
      genirq: Fix UP compile failure caused by irq_thread_check_affinity

commit 81cbf6d0555d77b2a4235c03f24167e2d792ccf5
Merge: 3c3301083e3bea4d14c597106c7b20b4b85fc03d 023d43c7b5a23a81fe8afa9f37296f8ed4be11fb
Author: Linus Torvalds <torvalds at linux-foundation.org>
Date:   Wed Jul 22 16:44:18 2009 -0700

    Merge branch 'lockdep-for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/peterz/linux-2.6-lockdep
    
    * 'lockdep-for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/peterz/linux-2.6-lockdep:
      lockdep: Fix lockdep annotation for pipe_double_lock()

commit f1230c97978f52268d8c66e6f88e54c3d2092a75
Author: Steve French <sfrench at us.ibm.com>
Date:   Wed Jul 22 23:13:01 2009 +0000

    [CIFS] fix sparse warning
    
    Signed-off-by: Steve French <sfrench at us.ibm.com>

commit 61f3826133dc07142935fb5712fc738e19eb5575
Author: Bruno Premont <bonbons at linux-vserver.org>
Date:   Wed Jul 22 22:22:32 2009 +0200

    genirq: Fix UP compile failure caused by irq_thread_check_affinity
    
    Since genirq: Delegate irq affinity setting to the irq thread
    (591d2fb02ea80472d846c0b8507007806bdd69cc) compilation with
    CONFIG_SMP=n fails with following error:
    
    /usr/src/linux-2.6/kernel/irq/manage.c:
       In function 'irq_thread_check_affinity':
    /usr/src/linux-2.6/kernel/irq/manage.c:475:
       error: 'struct irq_desc' has no member named 'affinity'
    make[4]: *** [kernel/irq/manage.o] Error 1
    
    That commit adds a new function irq_thread_check_affinity() which
    uses struct irq_desc.affinity which is only available for CONFIG_SMP=y.
    Move that function under #ifdef CONFIG_SMP.
    
    [ tglx at brownpaperbag: compile and boot tested on UP and SMP ]
    
    Signed-off-by: Bruno Premont <bonbons at linux-vserver.org>
    LKML-Reference: <20090722222232.2eb3e1c4 at neptune.home>
    Signed-off-by: Thomas Gleixner <tglx at linutronix.de>

commit 03aa3a49ad3592a9e4e1ab19c6da3e852288caf1
Author: Jeff Layton <jlayton at redhat.com>
Date:   Tue Jul 21 19:42:03 2009 -0400

    cifs: fix sb->s_maxbytes so that it casts properly to a signed value
    
    This off-by-one bug causes sendfile() to not work properly. When a task
    calls sendfile() on a file on a CIFS filesystem, the syscall returns -1
    and sets errno to EOVERFLOW.
    
    do_sendfile uses s_maxbytes to verify the returned offset of the file.
    The problem there is that this value is cast to a signed value (loff_t).
    When this is done on the s_maxbytes value that cifs uses, it becomes
    negative and the comparisons against it fail.
    
    Even though s_maxbytes is an unsigned value, it seems that it's not OK
    to set it in such a way that it'll end up negative when it's cast to a
    signed value. These casts happen in other codepaths besides sendfile
    too, but the VFS is a little hard to follow in this area and I can't
    be sure if there are other bugs that this will fix.
    
    It's not clear to me why s_maxbytes isn't just declared as loff_t in the
    first place, but either way we still need to fix these values to make
    sendfile work properly. This is also an opportunity to replace the magic
    bit-shift values here with the standard #defines for this.
    
    This fixes the reproducer program I have that does a sendfile and
    will probably also fix the situation where apache is serving from a
    CIFS share.
    
    Acked-by: Johannes Weiner <hannes at cmpxchg.org>
    Signed-off-by: Jeff Layton <jlayton at redhat.com>
    Signed-off-by: Steve French <sfrench at us.ibm.com>

commit ce6e7fcd43aab1f77e56aa36936dd7d2d05a1ffa
Author: Jeff Layton <jlayton at redhat.com>
Date:   Wed Jul 22 15:08:58 2009 -0400

    cifs: disable serverino if server doesn't support it
    
    A recent regression when dealing with older servers. This bug was
    introduced when we made serverino the default...
    
    When the server can't provide inode numbers, disable it for the mount.
    
    Signed-off-by: Jeff Layton <jlayton at redhat.com>
    Signed-off-by: Steve French <sfrench at us.ibm.com>

commit 83121942b28daffc9526b14b7843d8cdbd3db641
Author: David Woodhouse <dwmw2 at infradead.org>
Date:   Wed Jul 22 16:52:13 2009 -0400

    Btrfs: Fix crash on read failures at mount
    
    If the tree roots hit read errors during mount, btrfs is not properly
    erroring out.  We need to check the uptodate bits after
    reading in the tree root node.
    
    Signed-off-by: David Woodhouse <David.Woodhouse at intel.com>
    Signed-off-by: Chris Mason <chris.mason at oracle.com>

commit c271b492419a18908ba19ee02b231fb305a27023
Author: Daniel Cadete <danielcadete10 at gmail.com>
Date:   Wed Jul 22 16:52:13 2009 -0400

    Btrfs: remove of redundant btrfs_header_level
    
    This removes the continues call's of btrfs_header_level. One call of
    btrfs_header_level(c) its enough.
    
    Signed-off-by Daniel Cadete <danielncadete10 at gmail.com>
    
    Signed-off-by: Chris Mason <chris.mason at oracle.com>

commit 33c17ad5717c887568c1de61f15e5d58ed66d189
Author: Julia Lawall <julia at diku.dk>
Date:   Wed Jul 22 16:49:01 2009 -0400

    Btrfs: adjust NULL test
    
    Move the call to BUG_ON to before the dereference of the tested value.
    
    Signed-off-by: Julia Lawall <julia at diku.dk>
    Signed-off-by: Chris Mason <chris.mason at oracle.com>

commit 3acada49c2794c5aac21849e2ea05790c6dd2faa
Author: David Woodhouse <dwmw2 at infradead.org>
Date:   Wed Jul 22 16:49:01 2009 -0400

    Btrfs: Remove broken sanity check from btrfs_rmap_block()
    
    It was never actually doing anything anyway (see the loop condition),
    and it would be difficult to make it work for RAID[56].
    
    Even if it was actually working, it's checking for the wrong thing
    anyway. Instead of checking whether we list a block which _doesn't_ land
    at the relevant physical location, it should be checking that we _have_
    listed all the logical blocks which refer to the required physical
    location on all devices.
    
    This function is only called from remove_sb_from_cache() to ensure that
    we reserve the logical blocks which would reside at the same physical
    location as the superblock copies. So listing more blocks than we need
    is actually OK.
    
    With RAID[56] we're going to throw away an entire stripe for each block
    we have to ignore, so we _are_ going to list blocks other than the
    ones which actually contain the superblock.
    
    Signed-off-by: David Woodhouse <David.Woodhouse at intel.com>
    Signed-off-by: Chris Mason <chris.mason at oracle.com>

commit 29c5e8ce01f9dad7e24b99c21e4f836d6b0289e0
Author: Julia Lawall <julia at diku.dk>
Date:   Wed Jul 22 16:49:00 2009 -0400

    Btrfs: convert nested spin_lock_irqsave to spin_lock
    
    If spin_lock_irqsave is called twice in a row with the same second
    argument, the interrupt state at the point of the second call overwrites
    the value saved by the first call.  Indeed, the second call does not need
    to save the interrupt state, so it is changed to a simple spin_lock.
    
    Signed-off-by: Julia Lawall <julia at diku.dk>
    Signed-off-by: Chris Mason <chris.mason at oracle.com>

commit 023d43c7b5a23a81fe8afa9f37296f8ed4be11fb
Author: Peter Zijlstra <peterz at infradead.org>
Date:   Tue Jul 21 10:09:23 2009 +0200

    lockdep: Fix lockdep annotation for pipe_double_lock()
    
    The presumed use of the pipe_double_lock() routine is to lock 2 locks in
    a deadlock free way by ordering the locks by their address. However it
    fails to keep the specified lock classes in order and explicitly
    annotates a deadlock.
    
    Rectify this.
    
    Signed-off-by: Peter Zijlstra <a.p.zijlstra at chello.nl>
    Acked-by: Miklos Szeredi <mszeredi at suse.cz>
    LKML-Reference: <1248163763.15751.11098.camel at twins>

commit 3c3301083e3bea4d14c597106c7b20b4b85fc03d
Merge: 612e900c286a9535cc17da5171b0d8dcf8f3a12f 0fdc7e67dd312986e30b861adff48732bd33eb3f
Author: Linus Torvalds <torvalds at linux-foundation.org>
Date:   Wed Jul 22 11:41:56 2009 -0700

    Merge branch 'perf-counters-for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/peterz/linux-2.6-perf
    
    * 'perf-counters-for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/peterz/linux-2.6-perf: (31 commits)
      perf_counter tools: Give perf top inherit option
      perf_counter tools: Fix vmlinux symbol generation breakage
      perf_counter: Detect debugfs location
      perf_counter: Add tracepoint support to perf list, perf stat
      perf symbol: C++ demangling
      perf: avoid structure size confusion by using a fixed size
      perf_counter: Fix throttle/unthrottle event logging
      perf_counter: Improve perf stat and perf record option parsing
      perf_counter: PERF_SAMPLE_ID and inherited counters
      perf_counter: Plug more stack leaks
      perf: Fix stack data leak
      perf_counter: Remove unused variables
      perf_counter: Make call graph option consistent
      perf_counter: Add perf record option to log addresses
      perf_counter: Log vfork as a fork event
      perf_counter: Synthesize VDSO mmap event
      perf_counter: Make sure we dont leak kernel memory to userspace
      perf_counter tools: Fix index boundary check
      perf_counter: Fix the tracepoint channel to perfcounters
      perf_counter, x86: Extend perf_counter Pentium M support
      ...

commit 78a9c9c97455d0f8d2d2098b2252eb4bf65be799
Author: Uwe Kleine-König <u.kleine-koenig at pengutronix.de>
Date:   Tue Jul 21 10:11:39 2009 +0000

    register at91_ether using platform_driver_probe
    
    at91ether_probe lives in .init.text, so using platform_driver_register
    to register it is wrong because binding a device after the init memory
    is discarded (e.g. via sysfs) results in an oops.
    
    As requested by David Brownell platform_driver_probe is used instead of
    moving the probe function to .devinit.text as proposed initially.
    This saves some memory, but devices registered after the driver is
    probed are not bound (probably there are none) and binding via sysfs
    isn't possible.
    
    Signed-off-by: Uwe Kleine-König <u.kleine-koenig at pengutronix.de>
    Acked-by: David Brownell <dbrownell at users.sourceforge.net>
    Acked-by: Andrew Victor <linux at maxim.org.za>
    Signed-off-by: David S. Miller <davem at davemloft.net>

commit 7b55a4a3f761db7daba1ac526ef60f64f5c53689
Author: Rafael J. Wysocki <rjw at sisk.pl>
Date:   Wed Jul 22 02:58:55 2009 +0000

    skge: Enable WoL by default if supported
    
    If skge hardware is capable of waking up the system from sleep,
    enable magic packet WoL during driver initialisation.
    
    This makes WoL work without calling 'ethtool -s ethX wol g'
    for each adapter.
    
    Signed-off-by: Rafael J. Wysocki <rjw at sisk.pl>
    Tested-by: Michael Guntsche <mike at it-loops.com>
    Acked-by: Stephen Hemminger <shemminger at vyatta.com>
    Signed-off-by: David S. Miller <davem at davemloft.net>

commit d14a7679ae9b7d4eb4b92e81f5039b719fd98c4d
Merge: de72e5de062e48a992d6cafe2291a82fe498d641 154839962a582b8eb661cde94ef3af0e03b374d7
Author: David S. Miller <davem at davemloft.net>
Date:   Wed Jul 22 11:18:40 2009 -0700

    Merge branch 'master' of git://git.kernel.org/pub/scm/linux/kernel/git/linville/wireless-2.6

commit 612e900c286a9535cc17da5171b0d8dcf8f3a12f
Merge: c57c3743784e08d8ceaaea928a8c84ad8b403aed 9ba5f005c994ad28e266a0cd14ef29354be382c9
Author: Linus Torvalds <torvalds at linux-foundation.org>
Date:   Wed Jul 22 10:12:18 2009 -0700

    Merge branch 'core-fixes-for-linus-2' of git://git.kernel.org/pub/scm/linux/kernel/git/tip/linux-2.6-tip
    
    * 'core-fixes-for-linus-2' of git://git.kernel.org/pub/scm/linux/kernel/git/tip/linux-2.6-tip:
      softirq: introduce tasklet_hrtimer infrastructure

commit c57c3743784e08d8ceaaea928a8c84ad8b403aed
Merge: 5b26776bd9253931097a85dcb1b9da1bac554c02 79ef2bb01445400def20c7993b27fbcad27ca95f
Author: Linus Torvalds <torvalds at linux-foundation.org>
Date:   Wed Jul 22 10:11:47 2009 -0700

    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:
      clocksource: Prevent NULL pointer dereference
      timer: Avoid reading uninitialized data

commit 5b26776bd9253931097a85dcb1b9da1bac554c02
Merge: 356d1b52eb2445d94c6781f15346f00f4a675fda 591d2fb02ea80472d846c0b8507007806bdd69cc
Author: Linus Torvalds <torvalds at linux-foundation.org>
Date:   Wed Jul 22 10:11:24 2009 -0700

    Merge branch 'irq-fixes-for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/tip/linux-2.6-tip
    
    * 'irq-fixes-for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/tip/linux-2.6-tip:
      genirq: Delegate irq affinity setting to the irq thread

commit 356d1b52eb2445d94c6781f15346f00f4a675fda
Merge: bb184d11ffd015e67e5334e5a88bec2e00be5c20 6301cb95c119ebf324bb96ee226fa9ddffad80a7
Author: Linus Torvalds <torvalds at linux-foundation.org>
Date:   Wed Jul 22 10:10:36 2009 -0700

    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: fix nr_uninterruptible accounting of frozen tasks really
      sched: fix load average accounting vs. cpu hotplug
      sched: Account for vruntime wrapping

commit 2cb078603abb612e3bcd428fb8122c3d39e08832
Author: Jeremy Fitzhardinge <jeremy at goop.org>
Date:   Wed Jul 22 09:59:35 2009 -0700

    x86, amd: Don't probe for extended APIC ID if APICs are disabled
    
    If we've logically disabled apics, don't probe the PCI space for the
    AMD extended APIC ID.
    
    [ Impact: prevent boot crash under Xen. ]
    
    Signed-off-by: Jeremy Fitzhardinge <jeremy.fitzhardinge at citrix.com>
    Reported-by: Bastian Blank <bastian at waldi.eu.org>
    Signed-off-by: H. Peter Anvin <hpa at zytor.com>

commit bb184d11ffd015e67e5334e5a88bec2e00be5c20
Merge: 1f9758d4e7b3d5db638c728b54de2faa2a01f292 4fbfff76079a5c0e1751b0ddf53160d33f7831e7
Author: Linus Torvalds <torvalds at linux-foundation.org>
Date:   Wed Jul 22 10:06:33 2009 -0700

    Merge branch 'tj-block-for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/tj/misc
    
    * 'tj-block-for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/tj/misc:
      virtio_blk: mark virtio_blk with __refdata to kill spurious section mismatch
      block: sysfs fix mismatched queue_var_{store,show} in 64bit kernel
      ataflop: adjust NULL test
      block: fix failfast merge testing in elv_rq_merge_ok()
      z2ram: Small cleanup for z2ram.c

commit 1f9758d4e7b3d5db638c728b54de2faa2a01f292
Merge: 49ed657356121c2a8fa1f5c2ab38496b95f6fe6a 4fed598a49c014cbc563179b25f2a4b8565e2a50
Author: Linus Torvalds <torvalds at linux-foundation.org>
Date:   Wed Jul 22 10:05:00 2009 -0700

    Merge branch 'for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/ryusuke/nilfs2
    
    * 'for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/ryusuke/nilfs2:
      fs/Kconfig: move nilfs2 out

commit 49ed657356121c2a8fa1f5c2ab38496b95f6fe6a
Merge: 402168cee1a0b791c54c54a68ae21bb26880f40b 2fc2111c2729462b99b6e37f39a48917054776f5
Author: Linus Torvalds <torvalds at linux-foundation.org>
Date:   Wed Jul 22 09:50:18 2009 -0700

    Merge git://git.kernel.org/pub/scm/linux/kernel/git/davem/ide-2.6
    
    * git://git.kernel.org/pub/scm/linux/kernel/git/davem/ide-2.6:
      ide-tape: Don't leak kernel stack information
      ide: fix memory leak when flush command is issued

commit 402168cee1a0b791c54c54a68ae21bb26880f40b
Merge: 12e8ffe35eaca1411afc1f3124478f8e2b65eedc a947a39d52f5b647a2fd5eca55d39e722a2fa90f
Author: Linus Torvalds <torvalds at linux-foundation.org>
Date:   Wed Jul 22 09:49:58 2009 -0700

    Merge git://git.kernel.org/pub/scm/linux/kernel/git/davem/net-2.6
    
    * git://git.kernel.org/pub/scm/linux/kernel/git/davem/net-2.6: (37 commits)
      sky2: Avoid races in sky2_down
      drivers/net/mlx4: Adjust constant
      drivers/net: Move a dereference below a NULL test
      drivers/net: Move a dereference below a NULL test
      connector: maintainer/mail update.
      USB host CDC Phonet network interface driver
      macsonic, jazzsonic: fix oops on module unload
      macsonic: move probe function to .devinit.text
      can: switch carrier on if device was stopped while in bus-off state
      can: restart device even if dev_alloc_skb() fails
      can: sja1000: remove duplicated includes
      New device ID for sc92031 [1088:2031]
      3c589_cs: re-initialize the multicast in the tc589_reset
      Fix error return for setsockopt(SO_TIMESTAMPING)
      netxen: fix thermal check and shutdown
      netxen: fix deadlock on dev close
      netxen: fix context deletion sequence
      net: Micrel KS8851 SPI network driver
      tcp: Use correct peer adr when copying MD5 keys
      tcp: Fix MD5 signature checking on IPv4 mapped sockets
      ...

commit 12e8ffe35eaca1411afc1f3124478f8e2b65eedc
Merge: 0d517fb1f3b297fa202c69c94af11ac60b12028e d953126a28f97ec965d23c69fd5795854c048f30
Author: Linus Torvalds <torvalds at linux-foundation.org>
Date:   Wed Jul 22 09:47:49 2009 -0700

    Merge branch 'bugfixes' of git://git.linux-nfs.org/projects/trondmy/nfs-2.6
    
    * 'bugfixes' of git://git.linux-nfs.org/projects/trondmy/nfs-2.6:
      NFSv4: Fix a problem whereby a buggy server can oops the kernel
      NFSv4: Fix an NFSv4 mount regression
      NFSv4: Fix an Oops in nfs4_free_lock_state

commit de72e5de062e48a992d6cafe2291a82fe498d641
Author: Alexander Beregalov <a.beregalov at gmail.com>
Date:   Wed Jul 22 01:16:51 2009 +0000

    net: KS8851 needs to depend on MII
    
    fix this build error when CONFIG_MII is not set
    drivers/net/ks8851.c:999: undefined reference to `generic_mii_ioctl'
    drivers/net/ks8851.c:1050: undefined reference to `mii_link_ok'
    drivers/net/ks8851.c:1056: undefined reference to `mii_nway_restart'
    drivers/net/ks8851.c:1044: undefined reference to `mii_ethtool_sset'
    drivers/net/ks8851.c:1038: undefined reference to `mii_ethtool_gset'
    
    Signed-off-by: Alexander Beregalov <a.beregalov at gmail.com>
    Acked-by: Ben Dooks <ben at simtec.co.uk>

commit 0d517fb1f3b297fa202c69c94af11ac60b12028e
Merge: 1fd1f285369d992950a5411139a23f0f5804727a 44f167d376aa42d59d40406036e901a5cf03567f
Author: Linus Torvalds <torvalds at linux-foundation.org>
Date:   Wed Jul 22 09:32:12 2009 -0700

    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:
      ALSA: ctxfi: Swapped SURROUND-SIDE channels on emu20k2
      ALSA: ca0106 - Fix the max capture buffer size
      ALSA: hda - Fix pin-setup for Sony VAIO with STAC9872 codecs
      ALSA: hda - Add quirk for Gateway T6834c laptop
      ALSA: OSS sequencer should be initialized after snd_seq_system_client_init
      ALSA: sound/isa: convert nested spin_lock_irqsave to spin_lock
      ALSA: hda_codec: Check for invalid zero connections

commit 1fd1f285369d992950a5411139a23f0f5804727a
Merge: 0dc3d523e8bc4718e0be2e4a742367d6e4be77cd 76c317d6e5cb7f58541879006d39774596962715
Author: Linus Torvalds <torvalds at linux-foundation.org>
Date:   Wed Jul 22 09:30:07 2009 -0700

    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: Move dereferences below a NULL test
      HID: hiddev, fix lock imbalance

commit 0dc3d523e8bc4718e0be2e4a742367d6e4be77cd
Author: Arjan van de Ven <arjan at linux.intel.com>
Date:   Tue Jul 21 00:55:05 2009 -0700

    perf: fix stack data leak
    
    the "reserved" field was not initialized to zero, resulting in 4 bytes
    of stack data leaking to userspace....
    
    Signed-off-by: Arjan van de Ven <arjan at linux.intel.com>
    Acked-by: Peter Zijlstra <a.p.zijlstra at chello.nl>
    Signed-off-by: Linus Torvalds <torvalds at linux-foundation.org>

commit fa77406aee9d33f35c7202dcd83436feb12d9fc3
Author: Ajit Khaparde <ajitk at serverengines.com>
Date:   Wed Jul 22 09:28:55 2009 -0700

    be2net: Bug fix in the non-lro path. Size of received packet was not updated in statistics properly.
    
    This patch fixes a bug in the non-lro path.  Wrong size of received
    packet was being passed for updating receive statistics.  This patch
    is against the net-2.6 git.
    
    Signed-off-by: Ajit Khaparde <ajitk at serverengines.com>
    Signed-off-by: David S. Miller <davem at davemloft.net>

commit 3104a6ff67e484e4dc84822b4ed0396e85bb9fb9
Author: Anton Vorontsov <avorontsov at ru.mvista.com>
Date:   Thu Jul 16 21:31:47 2009 +0000

    ucc_geth: Revive fixed link support
    
    Since commit 0b9da337dca972e7a4144e298ec3adb8f244d4a4 ("Rework
    ucc_geth driver to use of_mdio infrastructure") the fixed-link
    support is broken.
    
    This patch fixes the support by removing !ug_info->phy_node check,
    and adds a call to of_phy_connect_fixed_link() if a phy is not attached
    to the MAC.
    
    Also, remove an old fixed-link code that we don't use any longer.
    
    Signed-off-by: Anton Vorontsov <avorontsov at ru.mvista.com>
    Signed-off-by: Grant Likely <grant.likely at secretlab.ca>
    Signed-off-by: David S. Miller <davem at davemloft.net>

commit 1db780f8c7d361fe1b7d29b9dc849b97955ae944
Author: Anton Vorontsov <avorontsov at ru.mvista.com>
Date:   Thu Jul 16 21:31:42 2009 +0000

    gianfar: Revive fixed link support
    
    Since commit fe192a49118f5b1272317d60c7930ece4e13ae49 ("Rework gianfar
    driver to use of_mdio infrastructure") the fixed-link support is
    broken, the driver oopses at init_phy():
    
      Unable to handle kernel paging request for data at address 0x000000e4
      Faulting instruction address: 0xc01cf298
      Oops: Kernel access of bad area, sig: 11 [#1]
      [...]
      NIP [c01cf298] init_phy+0x80/0xdc
      LR [c01cf250] init_phy+0x38/0xdc
      Call Trace:
      [cf81fe80] [c01d1cf8] gfar_enet_open+0x6c/0x19c
      [cf81fea0] [c024494c] dev_open+0xfc/0x134
      [cf81fec0] [c0242edc] dev_change_flags+0x84/0x1ac
      [cf81fee0] [c0399ee0] ic_open_devs+0x168/0x2d8
      [cf81ff20] [c039b2e8] ip_auto_config+0x90/0x2a4
      [cf81ff60] [c0003884] do_one_initcall+0x34/0x1a8
    
    This patch fixes the oops, and removes phy_node checks, and adds a call
    to of_phy_connect_fixed_link() if a phy isn't attached..
    
    Also, remove an old fixed-link code that we don't use any longer.
    
    Signed-off-by: Anton Vorontsov <avorontsov at ru.mvista.com>
    Signed-off-by: Grant Likely <grant.likely at secretlab.ca>
    Signed-off-by: David S. Miller <davem at davemloft.net>

commit eedbc705f9a094560b8d08c58b6787a5420a76a1
Author: Anton Vorontsov <avorontsov at ru.mvista.com>
Date:   Thu Jul 16 21:31:36 2009 +0000

    fs_enet: Revive fixed link support
    
    Since commit aa73832c5a80d6c52c69b18af858d88fa595dd3c ("Rework
    fs_enet driver to use of_mdio infrastructure") the fixed-link support
    is broken in the fs_enet driver.
    
    This patch fixes the support by removing a check for phy_node, and adding
    a call to of_phy_connect_fixed_link().
    
    Also set netdev parent device via SET_NETDEV_DEV() call, this is needed
    so that OF MDIO core could find a node pointer for a device.
    
    Plus, fix "if (IS_ERR(phydev))" check, in case of errors,
    of_phy_connect() returns NULL, not ERR_PTR as phy_connect().
    
    Signed-off-by: Anton Vorontsov <avorontsov at ru.mvista.com>
    Signed-off-by: Grant Likely <grant.likely at secretlab.ca>
    Signed-off-by: David S. Miller <davem at davemloft.net>

commit 24c30dbbcdda9aeccb23b4eecb6bb8e538742ea4
Author: Anton Vorontsov <avorontsov at ru.mvista.com>
Date:   Thu Jul 16 21:31:31 2009 +0000

    of/mdio: Add support function for Ethernet fixed-link property
    
    Fixed-link support is broken for the ucc_eth, gianfar, and fs_enet
    device drivers.  The "OF MDIO rework" patches removed most of the
    support. Instead of re-adding fixed-link stuff to the drivers, this
    patch adds a support function for parsing the fixed-link property
    and obtaining a dummy phy to match.
    
    Note: the dummy phy handling in arch/powerpc is a bit of a hack and
    needs to be reworked.  This function is being added now to solve the
    regression in the Ethernet drivers, but it should be considered a
    temporary measure until the fixed link handling can be reworked.
    
    Signed-off-by: Anton Vorontsov <avorontsov at ru.mvista.com>
    Signed-off-by: Grant Likely <grant.likely at secretlab.ca>
    Signed-off-by: David S. Miller <davem at davemloft.net>

commit 61fe087059614226978f4d7bb36da26cb2d28f9f
Merge: 71c4c8b7c3bdeccef4f478c643a9ff382ec07241 3dc948da783e713cd3dc8bbd8f293f8795af8f06
Author: Linus Torvalds <torvalds at linux-foundation.org>
Date:   Wed Jul 22 09:26:13 2009 -0700

    Merge branch 'linux-next' of git://git.infradead.org/ubi-2.6
    
    * 'linux-next' of git://git.infradead.org/ubi-2.6:
      UBI: fix bug in image sequence number handling
      UBI: gluebi: initialize ubi_num field

commit 71c4c8b7c3bdeccef4f478c643a9ff382ec07241
Merge: 3730793d457fed79a6d49bae72996d458c8e4f2d 032e46cbf5fb1d768d7dec5631c224e22b4be46f
Author: Linus Torvalds <torvalds at linux-foundation.org>
Date:   Wed Jul 22 09:25:31 2009 -0700

    Merge branch 'for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/dtor/input
    
    * 'for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/dtor/input:
      Input: atkbd - add force relese key quirk for Soltech TA12
      Input: fix EVIOCGNAME/JSIOCGNAME regression
      Input: atkbd - add forced release keys quirk for FSC Amilo Pi 3525
      Input: pcspkr - switch driver to dev_pm_ops
      Input: xpad - don't resend successfully sent outgoing requests
      Input: wistron_btns - recognize Maxdata Pro 7000 notebooks

commit 4012ade9338c05428162e85cc9b149dcadf1ce85
Author: Takashi Iwai <tiwai at suse.de>
Date:   Wed Jul 22 18:15:10 2009 +0200

    ALSA: hda - Restore GPIO1 properly at resume with AD1984A
    
    The commit 099db17e66294b02814dee01c81d9abbbeece93e introduced a
    regression at suspend/resume where the GPIO1 bit isn't properly
    restored, thus the speaker output gets muted initially after resume.
    
    The fix is simple, use the cached write for storing GPIO data.
    
    Reference: Novell bnc#522764
    	https://bugzilla.novell.com/show_bug.cgi?id=522764
    
    Signed-off-by: Takashi Iwai <tiwai at suse.de>

commit 0fdc7e67dd312986e30b861adff48732bd33eb3f
Author: Mike Galbraith <efault at gmx.de>
Date:   Tue Jul 21 10:30:36 2009 +0200

    perf_counter tools: Give perf top inherit option
    
    Currently, perf top -p only tracks the pid provided, which isn't very useful
    for watching forky loads, so give it an inherit option.
    
    Signed-off-by: Mike Galbraith <efault at gmx.de>
    Cc: Ingo Molnar <mingo at elte.hu>
    Signed-off-by: Peter Zijlstra <a.p.zijlstra at chello.nl>
    LKML-Reference: <1248165036.9795.10.camel at marge.simson.net>

commit d20ff6bd6bba2e7e6681fa17565347b410c46ab3
Author: Mike Galbraith <efault at gmx.de>
Date:   Mon Jul 20 14:01:38 2009 +0200

    perf_counter tools: Fix vmlinux symbol generation breakage
    
    vmlinux meets the criteria for symbol adjustment, which breaks vmlinux generated symbols.
    Fix this by exempting vmlinux.  This is a bit fragile in that someone could change the
    kernel dso's name, but currently that name is also hardwired.
    
    Signed-off-by: Mike Galbraith <efault at gmx.de>
    Cc: Ingo Molnar <mingo at elte.hu>
    Signed-off-by: Peter Zijlstra <a.p.zijlstra at chello.nl>
    LKML-Reference: <1248091298.18702.18.camel at marge.simson.net>

commit 5beeded123c5befa21f1c6e16219f2a3eb7dd197
Author: Jason Baron <jbaron at redhat.com>
Date:   Tue Jul 21 14:16:29 2009 -0400

    perf_counter: Detect debugfs location
    
    If "/sys/kernel/debug" is not a debugfs mount point, search for the debugfs
    filesystem in /proc/mounts, but also allows the user to specify
    '--debugfs-dir=blah' or set the environment variable: 'PERF_DEBUGFS_DIR'
    
    Signed-off-by: Jason Baron <jbaron at redhat.com>
    [ also made it probe "/debug" by default ]
    Signed-off-by: Peter Zijlstra <a.p.zijlstra at chello.nl>
    LKML-Reference: <20090721181629.GA3094 at redhat.com>

commit f6bdafef2ab911f03321fa83d8da1df99878009e
Author: Jason Baron <jbaron at redhat.com>
Date:   Tue Jul 21 12:20:22 2009 -0400

    perf_counter: Add tracepoint support to perf list, perf stat
    
    Add support to 'perf list' and 'perf stat' for kernel tracepoints. The
    implementation creates a 'for_each_subsystem' and 'for_each_event' for
    easy iteration over the tracepoints.
    
    Signed-off-by: Jason Baron <jbaron at redhat.com>
    Signed-off-by: Peter Zijlstra <a.p.zijlstra at chello.nl>
    LKML-Reference: <426129bf9fcc8ee63bb094cf736e7316a7dcd77a.1248190728.git.jbaron at redhat.com>

commit 28ac909b49a155856c957d080f8a796b3c1d1f3e
Author: Arnaldo Carvalho de Melo <acme at redhat.com>
Date:   Mon Jul 20 14:14:12 2009 -0300

    perf symbol: C++ demangling
    
    [acme at doppio ~]$ perf report -s comm,dso,symbol -C firefox -d /usr/lib64/xulrunner-1.9.1/libxul.so | grep :: | head
         2.21%  [.] nsDeque::Push(void*)
         1.78%  [.] GraphWalker::DoWalk(nsDeque&)
         1.30%  [.] GCGraphBuilder::AddNode(void*, nsCycleCollectionParticipant*)
         1.27%  [.] XPCWrappedNative::CallMethod(XPCCallContext&, XPCWrappedNative::CallMode)
         1.18%  [.] imgContainer::DrawFrameTo(gfxIImageFrame*, gfxIImageFrame*, nsRect&)
         1.13%  [.] nsDeque::PopFront()
         1.11%  [.] nsGlobalWindow::RunTimeout(nsTimeout*)
         0.97%  [.] nsXPConnect::Traverse(void*, nsCycleCollectionTraversalCallback&)
         0.95%  [.] nsJSEventListener::cycleCollection::Traverse(void*, nsCycleCollectionTraversalCallback&)
         0.95%  [.] nsCOMPtr_base::~nsCOMPtr_base()
    [acme at doppio ~]$
    
    Cc: Pekka Enberg <penberg at cs.helsinki.fi>
    Cc: Vegard Nossum <vegard.nossum at gmail.com>
    Cc: Paul Mackerras <paulus at samba.org>
    Cc: Frédéric Weisbecker <fweisbec at gmail.com>
    Suggested-by: Clark Williams <williams at redhat.com>
    Signed-off-by: Arnaldo Carvalho de Melo <acme at redhat.com>
    Signed-off-by: Peter Zijlstra <a.p.zijlstra at chello.nl>
    LKML-Reference: <20090720171412.GB10410 at ghostprotocols.net>

commit dfe5a50461db90fab901cb697eff0d3d2e9fd229
Author: Arjan van de Ven <arjan at linux.intel.com>
Date:   Mon Jul 20 22:54:26 2009 -0700

    perf: avoid structure size confusion by using a fixed size
    
    for some reason, this structure gets compiled as 36 bytes in some files
    (the ones that alloacte it) but 40 bytes in others (the ones that use it).
    The cause is an off_t type that gets a different size in different
    compilation units for some yet-to-be-explained reason.
    
    But the effect is disasterous; the size/offset members of the struct
    are at different offsets, and result in mostly complete garbage.
    The parser in perf is so robust that this all gets hidden, and after
    skipping an certain amount of samples, it recovers.... so this bug
    is not normally noticed.
    
    .... except when you want every sample to be exact.
    
    Fix this by just using an explicitly sized type.
    
    Signed-off-by: Arjan van de Ven <arjan at linux.intel.com>
    Signed-off-by: Peter Zijlstra <a.p.zijlstra at chello.nl>
    LKML-Reference: <4A655917.9080504 at linux.intel.com>

commit 966ee4d6b887c14159043ac80b8c3661d2bbe5e2
Author: Anton Blanchard <anton at samba.org>
Date:   Wed Jul 22 23:05:46 2009 +1000

    perf_counter: Fix throttle/unthrottle event logging
    
    Right now we only print PERF_EVENT_THROTTLE + 1 (ie PERF_EVENT_UNTHROTTLE).
    Fix this to print both a throttle and unthrottle event.
    
    Signed-off-by: Anton Blanchard <anton at samba.org>
    Signed-off-by: Peter Zijlstra <a.p.zijlstra at chello.nl>
    LKML-Reference: <20090722130546.GE9029 at kryten>

commit a0541234f89c93f313961ce7b28676e11488a5f0
Author: Anton Blanchard <anton at samba.org>
Date:   Wed Jul 22 23:04:12 2009 +1000

    perf_counter: Improve perf stat and perf record option parsing
    
    perf stat and perf record currently look for all options on the command
    line. This can lead to some confusion:
    
    # perf stat ls -l
      Error: unknown switch `l'
    
    While we can work around this by adding '--' before the command, the git
    option parsing code can stop at the first non option:
    
    # perf stat ls -l
     Performance counter stats for 'ls -l':
    ....
    
    Signed-off-by: Anton Blanchard <anton at samba.org>
    Signed-off-by: Peter Zijlstra <a.p.zijlstra at chello.nl>
    LKML-Reference: <20090722130412.GD9029 at kryten>

commit 7f453c24b95a085fc7bd35d53b33abc4dc5a048b
Author: Peter Zijlstra <a.p.zijlstra at chello.nl>
Date:   Tue Jul 21 13:19:40 2009 +0200

    perf_counter: PERF_SAMPLE_ID and inherited counters
    
    Anton noted that for inherited counters the counter-id as provided by
    PERF_SAMPLE_ID isn't mappable to the id found through PERF_RECORD_ID
    because each inherited counter gets its own id.
    
    His suggestion was to always return the parent counter id, since that
    is the primary counter id as exposed. However, these inherited
    counters have a unique identifier so that events like
    PERF_EVENT_PERIOD and PERF_EVENT_THROTTLE can be specific about which
    counter gets modified, which is important when trying to normalize the
    sample streams.
    
    This patch removes PERF_EVENT_PERIOD in favour of PERF_SAMPLE_PERIOD,
    which is more useful anyway, since changing periods became a lot more
    common than initially thought -- rendering PERF_EVENT_PERIOD the less
    useful solution (also, PERF_SAMPLE_PERIOD reports the more accurate
    value, since it reports the value used to trigger the overflow,
    whereas PERF_EVENT_PERIOD simply reports the requested period changed,
    which might only take effect on the next cycle).
    
    This still leaves us PERF_EVENT_THROTTLE to consider, but since that
    _should_ be a rare occurrence, and linking it to a primary id is the
    most useful bit to diagnose the problem, we introduce a
    PERF_SAMPLE_STREAM_ID, for those few cases where the full
    reconstruction is important.
    
    [Does change the ABI a little, but I see no other way out]
    
    Suggested-by: Anton Blanchard <anton at samba.org>
    Signed-off-by: Peter Zijlstra <a.p.zijlstra at chello.nl>
    LKML-Reference: <1248095846.15751.8781.camel at twins>

commit 573402db02746179b3f95f83a11a787501f52d0a
Author: Peter Zijlstra <a.p.zijlstra at chello.nl>
Date:   Wed Jul 22 11:13:50 2009 +0200

    perf_counter: Plug more stack leaks
    
    Per example of Arjan's patch, I went through and found a few more.
    
    Signed-off-by: Peter Zijlstra <a.p.zijlstra at chello.nl>

commit c9f73a3dd27e03411f18a58c0814d51392d2b17a
Author: Arjan van de Ven <arjan at linux.intel.com>
Date:   Tue Jul 21 00:55:05 2009 -0700

    perf: Fix stack data leak
    
    the "reserved" field was not initialized to zero, resulting in 4 bytes
    of stack data leaking to userspace....
    
    Signed-off-by: Arjan van de Ven <arjan at linux.intel.com>
    Signed-off-by: Peter Zijlstra <a.p.zijlstra at chello.nl>

commit 9b7019ae6a542a801a80df6694c66e240e2c3e39
Author: Peter Zijlstra <a.p.zijlstra at chello.nl>
Date:   Wed Jul 22 16:31:36 2009 +0200

    perf_counter: Remove unused variables
    
    Fix a gcc unused variables warning.
    
    Signed-off-by: Peter Zijlstra <a.p.zijlstra at chello.nl>

commit 1d2f37945d1b3a14086c5ea802486778b635cf97
Merge: 1483b19f8f5e8ad0c8816de368b099322dad4db5 f1c6a58121f9846ac665b0fbd3cbab90ce8bcbac
Author: Peter Zijlstra <a.p.zijlstra at chello.nl>
Date:   Wed Jul 22 18:05:48 2009 +0200

    Merge commit 'tip/perfcounters/core' into perf-counters-for-linus

commit 3730793d457fed79a6d49bae72996d458c8e4f2d
Author: Linus Torvalds <torvalds at linux-foundation.org>
Date:   Wed Jul 22 08:49:22 2009 -0700

    fbmon: work around compiler bug in gcc-2.4.2
    
    There's some odd bug in gcc-4.2 where it miscompiles a simple loop whent
    he loop counter is of type 'unsigned char' and it should count to 128.
    
    The compiler will incorrectly decide that a trivial loop like this:
    
    	unsigned char i, ...
    
    	for (i = 0; i < 128; i++) {
    		..
    
    is endless, and will compile it to a single instruction that just
    branches to itself.
    
    This was triggered by the addition of '-fno-strict-overflow', and we
    could play games with compiler versions and go back to '-fwrapv'
    instead, but the trivial way to avoid it is to just make the loop
    induction variable be an 'int' instead.
    
    Thanks to Krzysztof Oledzki for reporting and testing and to Troy Moure
    for digging through assembler differences and finding it.
    
    Reported-and-tested-by: Krzysztof Oledzki <olel at ans.pl>
    Found-by: Troy Moure <twmoure at szypr.net>
    Gcc-bug-acked-by: Ian Lance Taylor <iant at google.com>
    Cc: stable at kernel.org
    Signed-off-by: Linus Torvalds <torvalds at linux-foundation.org>

commit 68110661e86868cd107955ec7c077e1f34519f78
Author: Takashi Iwai <tiwai at suse.de>
Date:   Wed Jul 22 17:05:15 2009 +0200

    ALSA: ctxfi - Fix uninitialized error checks
    
    Fix a few uninitialized error checks that were introduced recently
    mistakenlly during the clean-up:
      sound/pci/ctxfi/ctamixer.c: In function ‘get_amixer_rsc’:
      sound/pci/ctxfi/ctamixer.c:261: warning: ‘err’ may be used uninitialized in this function
      sound/pci/ctxfi/ctamixer.c: In function ‘get_sum_rsc’:
      sound/pci/ctxfi/ctamixer.c:415: warning: ‘err’ may be used uninitialized in this function
      sound/pci/ctxfi/ctsrc.c: In function ‘get_srcimp_rsc’:
      sound/pci/ctxfi/ctsrc.c:742: warning: ‘err’ may be used uninitialized in this function
    
    Signed-off-by: Takashi Iwai <tiwai at suse.de>

commit 9ba5f005c994ad28e266a0cd14ef29354be382c9
Author: Peter Zijlstra <peterz at infradead.org>
Date:   Wed Jul 22 14:18:35 2009 +0200

    softirq: introduce tasklet_hrtimer infrastructure
    
    commit ca109491f (hrtimer: removing all ur callback modes) moved all
    hrtimer callbacks into hard interrupt context when high resolution
    timers are active. That breaks code which relied on the assumption
    that the callback happens in softirq context.
    
    Provide a generic infrastructure which combines tasklets and hrtimers
    together to provide an in-softirq hrtimer experience.
    
    Signed-off-by: Peter Zijlstra <a.p.zijlstra at chello.nl>
    Cc: torvalds at linux-foundation.org
    Cc: kaber at trash.net
    Cc: David Miller <davem at davemloft.net>
    LKML-Reference: <1248265724.27058.1366.camel at twins>
    Signed-off-by: Thomas Gleixner <tglx at linutronix.de>

commit 4a8c9a62d7f7f058eed4b8a6f2c890a887778093
Author: Yan Zheng <zheng.yan at oracle.com>
Date:   Wed Jul 22 10:07:05 2009 -0400

    Btrfs: make sure all dirty blocks are written at commit time
    
    Write dirty block groups may allocate new block, and so may add new delayed
    back ref. btrfs_run_delayed_refs may make some block groups dirty.
    
    commit_cowonly_roots does not handle the recursion properly, and some dirty
    blocks can be left unwritten at commit time. This patch moves
    btrfs_run_delayed_refs into the loop that writes dirty block groups, and makes
    the code not break out of the loop until there are no dirty block groups or
    delayed back refs.
    
    Signed-off-by: Yan Zheng <zheng.yan at oracle.com>
    Signed-off-by: Chris Mason <chris.mason at oracle.com>

commit 86de7416600e93835eeacee379aea939b6a0917a
Author: Takashi Iwai <tiwai at suse.de>
Date:   Wed Jul 22 16:02:46 2009 +0200

    ALSA: hda - Use snprintf() to be safer
    
    Use snprint() for creating the jack name string instead of sprintf()
    in patch_sigmatel.c.
    
    Signed-off-by: Takashi Iwai <tiwai at suse.de>

commit 33c66f430bfa3a033e70470e4c93f967156b696d
Author: Yan Zheng <zheng.yan at oracle.com>
Date:   Wed Jul 22 09:59:00 2009 -0400

    Btrfs: fix locking issue in btrfs_find_next_key
    
    When walking up the tree, btrfs_find_next_key assumes the upper level tree
    block is properly locked. This isn't always true even path->keep_locks is 1.
    This is because btrfs_find_next_key may advance path->slots[] several times
    instead of only once.
    
    When 'path->slots[level] >= btrfs_header_nritems(path->nodes[level])' is found,
    we can't guarantee the original value of 'path->slots[level]' is
    'btrfs_header_nritems(path->nodes[level]) - 1'. If it's not, the tree block at
    'level + 1' isn't locked.
    
    This patch fixes the issue by explicitly checking the locking state,
    re-searching the tree if it's not locked.
    
    Signed-off-by: Yan Zheng <zheng.yan at oracle.com>
    Signed-off-by: Chris Mason <chris.mason at oracle.com>

commit e457afec60fdbd86b963d36f4a8a9285088c6043
Author: Yan Zheng <zheng.yan at oracle.com>
Date:   Wed Jul 22 09:59:00 2009 -0400

    Btrfs: fix double increment of path->slots[0] in btrfs_next_leaf
    
    if 1 is returned by btrfs_search_slot, the path already points to the
    first item with 'key > searching key'. So increasing path->slots[0] by
    one is superfluous in that case.
    
    Signed-off-by: Yan Zheng <zheng.yan at oracle.com>
    Signed-off-by: Chris Mason <chris.mason at oracle.com>

commit bf1fb512a58d7aeb41aaa40d6d2d2d29e08e506a
Author: Yan Zheng <zheng.yan at oracle.com>
Date:   Wed Jul 22 09:59:00 2009 -0400

    Btrfs: properly update space information after shrinking device.
    
    Change 'goto done' to 'break' for the case of all device extents have
    been freed, so that the code updates space information will be execute.
    
    Signed-off-by: Yan Zheng <zheng.yan at oracle.com>
    Signed-off-by: Chris Mason <chris.mason at oracle.com>

commit 1bec1aed1e7e632b3cc43b6807c2b4dcd1572e28
Author: Yan Zheng <zheng.yan at oracle.com>
Date:   Wed Jul 22 09:59:00 2009 -0400

    Btrfs: fix definition of struct btrfs_extent_inline_ref
    
    use __le64 instead of u64 in on-disk structure definition.
    
    Signed-off-by: Yan Zheng <zheng.yan at oracle.com>
    Signed-off-by: Chris Mason <chris.mason at oracle.com>

commit 2cf313ee75ddf6220b5d623b749b1bb79458307f
Author: Alexey Fisher <bug-track at fisher-privat.net>
Date:   Wed Jul 22 14:57:54 2009 +0200

    ALSA: usb-audio - Volume control quirk for QuickCam E 3500
    
    - E3500 report cval->max more than it actually can handel, so if you
    set 95% capture level it will be silently muted.
    - Betwen cval->min and cval-max(real) is 2940 control units,
    but real are only 7 with cval->res = 384.
    - Alsa can't handel less than 10 controls, so make it more
    and set cval->res = 192.
    
    Signed-off-by: Alexey Fisher <bug-track at fisher-privat.net>
    Signed-off-by: Takashi Iwai <tiwai at suse.de>

commit 79452f0a28aa5a40522c487b42a5fc423647ad98
Author: Takashi Iwai <tiwai at suse.de>
Date:   Wed Jul 22 12:51:51 2009 +0200

    ALSA: pcm - Fix regressions with VMware
    
    VMware tends to report PCM positions and period updates at utterly
    wrong timing.  This screws up the recent PCM core code that tries
    to correct the position based on the irq timing.
    
    Now, when a backward irq position is detected, skip the update
    instead of rebasing.  (This is almost the old behavior before
    2.6.30.)
    
    Signed-off-by: Takashi Iwai <tiwai at suse.de>

commit 6effa8f6fc786f00e3a23eae605e0f2e8e748faa
Author: Hidehiro Kawai <hidehiro.kawai.ez at hitachi.com>
Date:   Wed Jul 22 11:56:20 2009 +0900

    x86, mce: Rename incorrect macro name "CONFIG_X86_THRESHOLD"
    
    CONFIG_X86_THRESHOLD used in arch/x86/kernel/irqinit.c is always
    undefined.  Rename it to the correct name "CONFIG_X86_MCE_THRESHOLD".
    
    Signed-off-by: Hidehiro Kawai <hidehiro.kawai.ez at hitachi.com>
    Reviewed-by: Hidetoshi Seto <seto.hidetoshi at jp.fujitsu.com>
    Cc: Andi Kleen <andi at firstfloor.org>
    LKML-Reference: <4A667FD4.3010509 at hitachi.com>
    Signed-off-by: H. Peter Anvin <hpa at zytor.com>

commit a947a39d52f5b647a2fd5eca55d39e722a2fa90f
Author: Mike McCormack <mikem at ring3k.org>
Date:   Tue Jul 21 20:57:56 2009 -0700

    sky2: Avoid races in sky2_down
    
    Reset rx chain before trying to drain it.
    Shut interrupts off last, incase there's something to report.
    
    Signed-off-by: Mike McCormack <mikem at ring3k.org>
    Acked-by: Stephen Hemminger <shemminger at vyatta.com>
    Signed-off-by: David S. Miller <davem at davemloft.net>

commit 2fc2111c2729462b99b6e37f39a48917054776f5
Author: Michael Buesch <mb at bu3sch.de>
Date:   Sun Jul 19 09:15:19 2009 +0000

    ide-tape: Don't leak kernel stack information
    
    Don't leak kernel stack information through uninitialized structure members.
    
    Signed-off-by: Michael Buesch <mb at bu3sch.de>
    Acked-by: Borislav Petkov <petkovbb at gmail.com>.
    Signed-off-by: David S. Miller <davem at davemloft.net>

commit bc146d23d1358af43f03793c3ad8c9f16bbcffcb
Author: Maxime Bizon <mbizon at freebox.fr>
Date:   Thu Jul 16 06:32:52 2009 +0000

    ide: fix memory leak when flush command is issued
    
    I'm using ide on 2.6.30.1 with xfs filesystem. I noticed a kernel memory
    leak after writing lots of data, the kmalloc-96 slab cache keeps
    growing. It seems the struct ide_cmd kmalloced by idedisk_prepare_flush
    is never kfreed.
    
    Commit a09485df9cda49fbde2766c86eb18a9cae585162 ("ide: move request
    type specific code from ide_end_drive_cmd() to callers (v3)") and
    f505d49ffd25ed062e76ffd17568d3937fcd338c ("ide: fix barriers support")
    cause this regression, cmd->rq must now be set for ide_complete_cmd to
    honor the IDE_TFLAG_DYN flag.
    
    Signed-off-by: Maxime Bizon <mbizon at freebox.fr>
    Acked-by: Bartlomiej Zolnierkiewicz <bzolnier at gmail.com>
    Signed-off-by: David S. Miller <davem at davemloft.net>

commit d953126a28f97ec965d23c69fd5795854c048f30
Author: Trond Myklebust <Trond.Myklebust at netapp.com>
Date:   Tue Jul 21 19:22:38 2009 -0400

    NFSv4: Fix a problem whereby a buggy server can oops the kernel
    
    We just had a case in which a buggy server occasionally returns the wrong
    attributes during an OPEN call. While the client does catch this sort of
    condition in nfs4_open_done(), and causes the nfs4_atomic_open() to return
    -EISDIR, the logic in nfs_atomic_lookup() is broken, since it causes a
    fallback to an ordinary lookup instead of just returning the error.
    
    When the buggy server then returns a regular file for the fallback lookup,
    the VFS allows the open, and bad things start to happen, since the open
    file doesn't have any associated NFSv4 state.
    
    The fix is firstly to return the EISDIR/ENOTDIR errors immediately, and
    secondly to ensure that we are always careful when dereferencing the
    nfs_open_context state pointer.
    
    Signed-off-by: Trond Myklebust <Trond.Myklebust at netapp.com>

commit f7b1aa69be138ad9d7d3f31fa56f4c9407f56b6a
Author: Jan Kara <jack at suse.cz>
Date:   Mon Jul 20 12:12:36 2009 +0200

    ocfs2: Fix deadlock on umount
    
    In commit ea455f8ab68338ba69f5d3362b342c115bea8e13, we moved the dentry lock
    put process into ocfs2_wq. This causes problems during umount because ocfs2_wq
    can drop references to inodes while they are being invalidated by
    invalidate_inodes() causing all sorts of nasty things (invalidate_inodes()
    ending in an infinite loop, "Busy inodes after umount" messages etc.).
    
    We fix the problem by stopping ocfs2_wq from doing any further releasing of
    inode references on the superblock being unmounted, wait until it finishes
    the current round of releasing and finally cleaning up all the references in
    dentry_lock_list from ocfs2_put_super().
    
    The issue was tracked down by Tao Ma <tao.ma at oracle.com>.
    
    Signed-off-by: Jan Kara <jack at suse.cz>
    Signed-off-by: Joel Becker <joel.becker at oracle.com>

commit 429b2b319af3987e808c18f6b81313104caf782c
Author: Andi Kleen <andi at firstfloor.org>
Date:   Sat Jul 18 08:56:57 2009 +0200

    x86-64: Fix bad_srat() to clear all state
    
    Need to clear both nodes and nodes_add state for start/end.
    
    Signed-off-by: Andi Kleen <ak at linux.intel.com>
    LKML-Reference: <20090718065657.GA2898 at basil.fritz.box>
    Signed-off-by: H. Peter Anvin <hpa at zytor.com>
    Cc: stable at kernel.org

commit 3c5e10683e684ef45614c9071847e48f633d9806
Author: Tao Ma <tao.ma at oracle.com>
Date:   Tue Jul 21 15:42:05 2009 +0800

    ocfs2: Add extra credits and access the modified bh in update_edge_lengths.
    
    In normal tree rotation left process, we will never touch the tree
    branch above subtree_index and ocfs2_extend_rotate_transaction doesn't
    reserve the credits for them either.
    
    But when we want to delete the rightmost extent block, we have to update
    the rightmost records for all the rightmost branch(See
    ocfs2_update_edge_lengths), so we have to allocate extra credits for them.
    What's more, we have to access them also.
    
    Signed-off-by: Tao Ma <tao.ma at oracle.com>
    Signed-off-by: Joel Becker <joel.becker at oracle.com>

commit fccba8045537f7e840d0e7565e1989d465e488a3
Author: Trond Myklebust <Trond.Myklebust at netapp.com>
Date:   Tue Jul 21 16:48:07 2009 -0400

    NFSv4: Fix an NFSv4 mount regression
    
    Commit 008f55d0e019943323c20a03493a2ba5672a4cc8 (nfs41: recover lease in
    _nfs4_lookup_root) forces the state manager to always run on mount. This is
    a bug in the case of NFSv4.0, which doesn't require us to send a
    setclientid until we want to grab file state.
    
    In any case, this is completely the wrong place to be doing state
    management. Moving that code into nfs4_init_session...
    
    Signed-off-by: Trond Myklebust <Trond.Myklebust at netapp.com>

commit b64aec8d1e1d8482a7b6cca60c8105c756bf1fe4
Author: Trond Myklebust <Trond.Myklebust at netapp.com>
Date:   Tue Jul 21 16:47:46 2009 -0400

    NFSv4: Fix an Oops in nfs4_free_lock_state
    
    The oops http://www.kerneloops.org/raw.php?rawid=537858&msgid= appears to
    be due to the nfs4_lock_state->ls_state field being uninitialised. This
    happens if the call to nfs4_free_lock_state() is triggered at the end of
    nfs4_get_lock_state().
    
    The fix is to move the initialisation of ls_state into the allocator.
    
    Signed-off-by: Trond Myklebust <Trond.Myklebust at netapp.com>

commit 86669530d966ca21f4245b9990e7ae188d433d1e
Author: Julia Lawall <julia at diku.dk>
Date:   Sun Jul 19 06:09:25 2009 +0000

    drivers/net/mlx4: Adjust constant
    
    The values in the advertising field are typically ADVERTISED_xxx, not
    SUPPORTED_xxx.  Both SUPPORTED_10000baseT_Full and
    ADVERTISED_1000baseT_Full have the same value.
    
    The semantic match that finds this problem is as follows:
    (http://www.emn.fr/x-info/coccinelle/)
    
    // <smpl>
    @@
    struct ethtool_cmd E;
    @@
    *E.advertising = SUPPORTED_10000baseT_Full
    // </smpl>
    
    Signed-off-by: Julia Lawall <julia at diku.dk>
    Signed-off-by: David S. Miller <davem at davemloft.net>

commit 0376d5b25ef11e9b6450ebae20781a32d8985170
Author: Julia Lawall <julia at diku.dk>
Date:   Sun Jul 19 05:26:35 2009 +0000

    drivers/net: Move a dereference below a NULL test
    
    If the NULL test is necessary, then the dereference should be moved below
    the NULL test.
    
    The semantic patch that makes this change is as follows:
    (http://www.emn.fr/x-info/coccinelle/)
    
    // <smpl>
    @@
    type T;
    expression E,E1;
    identifier i,fld;
    statement S;
    @@
    
    - T i = E->fld;
    + T i;
      ... when != E=E1
          when != i
      if (E == NULL||...) S
    + i = E->fld;
    // </smpl>
    
    Signed-off-by: Julia Lawall <julia at diku.dk>
    Signed-off-by: David S. Miller <davem at davemloft.net>

commit 0021195c40326ac4702faf28c32accd91b331641
Author: Julia Lawall <julia at diku.dk>
Date:   Sun Jul 19 06:13:04 2009 +0000

    drivers/net: Move a dereference below a NULL test
    
    If the NULL test is necessary, then the dereferences should be moved below
    the NULL test.
    
    The semantic patch that makes this change is as follows:
    (http://www.emn.fr/x-info/coccinelle/)
    
    // <smpl>
    @@
    type T;
    expression E,E1;
    identifier i,fld;
    statement S;
    @@
    
    - T i = E->fld;
    + T i;
      ... when != E=E1
          when != i
      BUG_ON (E == NULL||...);
    + i = E->fld;
    // </smpl>
    
    Signed-off-by: Julia Lawall <julia at diku.dk>
    Signed-off-by: David S. Miller <davem at davemloft.net>

commit 154839962a582b8eb661cde94ef3af0e03b374d7
Author: Marek Vasut <marek.vasut at gmail.com>
Date:   Thu Jul 16 19:19:53 2009 +0200

    libertas: Fix problem with broken V4 firmware on CF8381
    
    Firmware V4 on CF8381 reports region code shifted by 1 byte to left.
    The following patch checks for this and handles it properly.
    
    Signed-off-by: Marek Vasut <marek.vasut at gmail.com>
    Signed-off-by: John W. Linville <linville at tuxdriver.com>

commit 5d2214ac5e7f72c9ae70b2444649e8d1d3e1086d
Author: Luis R. Rodriguez <lrodriguez at atheros.com>
Date:   Mon Jul 20 08:32:47 2009 -0700

    ath: add support for special 0x8000 regulatory domain
    
    Two users of ar9170 devices have now reported their cards
    have been programmed with a regulatory domain of 0x8000.
    This is not a valid regulatory domain as such these users were
    unable to use these devices. Since this doesn't seem to be
    a device EEPROM corruption we must treat it specially. It
    may have been possible the manufacturer intended to use 0x0
    as the regulatory domain and that would ultimately yield
    to US but since we cannot get confirmationf or this we
    default this special case to one of our world regulatory
    domains, specifically 0x64.
    
    Reported-by: DavidFreeman on #linux-wireless
    Reported-by: Joerg Albert <jal2 at gmx.de>
    Cc: Christian Lamparter <chunkeey at web.de>,
    Cc: Stephen Chen <stephen.chen at atheros.com>
    Cc: David Quan <david.quan at atheros.com>
    Cc: Tony Yang <tony.yang at atheros.com>
    Signed-off-by: Luis R. Rodriguez <lrodriguez at atheros.com>
    Signed-off-by: John W. Linville <linville at tuxdriver.com>

commit bfa99bfdda1ce8a60f1f0fba7a04162a66d4ecfa
Author: Dan Carpenter <error27 at gmail.com>
Date:   Sun Jul 19 21:26:13 2009 +0200

    p54spi: fix potential null deref in p54spi.c
    
    Fix a potential NULL dereference bug during
    error handling in p54spi_probe.
    
    This bug was discovered by smatch:
    (http://repo.or.cz/w/smatch.git).
    
    Signed-off-by: Dan Carpenter <error27 at gmail.com>
    Signed-off-by: Christian Lamparter <chunkeey at web.de>
    Signed-off-by: John W. Linville <linville at tuxdriver.com>

commit ed5c8ef3bb2de277b7885072e0e981c41a022be5
Author: Alan Jenkins <alan-jenkins at tuffmail.co.uk>
Date:   Sun Jul 19 09:48:28 2009 +0100

    acer-wmi: fix rfkill conversion
    
    Fix another polarity error introduced by the rfkill rewrite,
    this time in acer_rfkill_set().
    
    Signed-off-by: Alan Jenkins <alan-jenkins at tuffmail.co.uk>
    Signed-off-by: John W. Linville <linville at tuxdriver.com>

commit acb9c1b2f406d25c381de2b429f65706cc04d3b5
Author: Evgeniy Polyakov <zbr at ioremap.net>
Date:   Tue Jul 21 12:43:51 2009 -0700

    connector: maintainer/mail update.
    
    Signed-off-by: Evgeniy Polyakov <zbr at ioremap.net>
    Signed-off-by: David S. Miller <davem at davemloft.net>

commit 87cf65601e1709e57f7e28f0f7b3eb0a992c1782
Author: Rémi Denis-Courmont <remi.denis-courmont at nokia.com>
Date:   Tue Jul 21 01:58:35 2009 +0000

    USB host CDC Phonet network interface driver
    
    Many Nokia handsets support a Phonet interface to the cellular modem
    via a vendor-specific USB interface. CDC Phonet follows the
    Communications Device Class model, with one control interface, and
    and a pair of inactive and active data alternative interface. The later
    has two bulk endpoint, one per direction.
    
    This was tested against Nokia E61, Nokia N95, and the existing Phonet
    gadget function for the Linux composite USB gadget framework.
    
    Signed-off-by: Rémi Denis-Courmont <remi.denis-courmont at nokia.com>
    Signed-off-by: David S. Miller <davem at davemloft.net>

commit f44aebcc566d1d6275f7191867b9633dc11de2ee
Author: Eric Paris <eparis at redhat.com>
Date:   Wed Jul 15 15:49:52 2009 -0400

    inotify: use GFP_NOFS under potential memory pressure
    
    inotify can have a watchs removed under filesystem reclaim.
    
    =================================
    [ INFO: inconsistent lock state ]
    2.6.31-rc2 #16
    ---------------------------------
    inconsistent {IN-RECLAIM_FS-W} -> {RECLAIM_FS-ON-W} usage.
    khubd/217 [HC0[0]:SC0[0]:HE1:SE1] takes:
     (iprune_mutex){+.+.?.}, at: [<c10ba899>] invalidate_inodes+0x20/0xe3
    {IN-RECLAIM_FS-W} state was registered at:
      [<c10536ab>] __lock_acquire+0x2c9/0xac4
      [<c1053f45>] lock_acquire+0x9f/0xc2
      [<c1308872>] __mutex_lock_common+0x2d/0x323
      [<c1308c00>] mutex_lock_nested+0x2e/0x36
      [<c10ba6ff>] shrink_icache_memory+0x38/0x1b2
      [<c108bfb6>] shrink_slab+0xe2/0x13c
      [<c108c3e1>] kswapd+0x3d1/0x55d
      [<c10449b5>] kthread+0x66/0x6b
      [<c1003fdf>] kernel_thread_helper+0x7/0x10
      [<ffffffff>] 0xffffffff
    
    Two things are needed to fix this.  First we need a method to tell
    fsnotify_create_event() to use GFP_NOFS and second we need to stop using
    one global IN_IGNORED event and allocate them one at a time.  This solves
    current issues with multiple IN_IGNORED on a queue having tail drop
    problems and simplifies the allocations since we don't have to worry about
    two tasks opperating on the IGNORED event concurrently.
    
    Signed-off-by: Eric Paris <eparis at redhat.com>

commit c05594b62125c528d93af3a78229793aae36df7f
Author: Eric Paris <eparis at redhat.com>
Date:   Mon Jul 13 15:56:55 2009 -0400

    fsnotify: fix inotify tail drop check with path entries
    
    fsnotify drops new events when they are the same as the tail event on the
    queue to be sent to userspace.  The problem is that if the event comes with
    a path we forget to break out of the switch statement and fall into the
    code path which matches on events that do not have any type of file backed
    information (things like IN_UNMOUNT and IN_Q_OVERFLOW).  The problem is
    that this code thinks all such events should be dropped.  Fix is to add a
    break.
    
    Signed-off-by: Eric Paris <eparis at redhat.com>

commit 4a148ba988988b9c400ad0f2cbccc155289b954b
Author: Eric Paris <eparis at redhat.com>
Date:   Mon Jul 13 15:56:55 2009 -0400

    inotify: check filename before dropping repeat events
    
    inotify drops events if the last event on the queue is the same as the
    current event.  But it does 2 things wrong.  First it is comparing old->inode
    with new->inode.  But after an event if put on the queue the ->inode is no
    longer allowed to be used.  It's possible between the last event and this new
    event the inode could be reused and we would falsely match the inode's memory
    address between two differing events.
    
    The second problem is that when a file is removed fsnotify is passed the
    negative dentry for the removed object rather than the postive dentry from
    immediately before the removal.  This mean the (broken) inotify tail drop code
    was matching the NULL ->inode of differing events.
    
    The fix is to check the file name which is stored with events when doing the
    tail drop instead of wrongly checking the address of the stored ->inode.
    
    Reported-by: Scott James Remnant <scott at ubuntu.com>
    Signed-off-by: Eric Paris <eparis at redhat.com>

commit 520dc2a526fd681337883b6ff1ddcf7c23b1b063
Author: Eric Paris <eparis at redhat.com>
Date:   Mon Jul 13 15:56:54 2009 -0400

    fsnotify: use def_bool in kconfig instead of letting the user choose
    
    fsnotify doens't give the user anything.  If someone chooses inotify or
    dnotify it should build fsnotify, if they don't select one it shouldn't be
    built.  This patch changes fsnotify to be a def_bool=n and makes everything
    else select it.  Also fixes the issue people complained about on lwn where
    gdm hung because they didn't have inotify and they didn't get the inotify
    build option.....
    
    Signed-off-by: Eric Paris <eparis at redhat.com>

commit 7e790dd5fc937bc8d2400c30a05e32a9e9eef276
Author: Eric Paris <eparis at redhat.com>
Date:   Tue Jul 7 10:28:24 2009 -0400

    inotify: fix error paths in inotify_update_watch
    
    inotify_update_watch could leave things in a horrid state on a number of
    error paths.  We could try to remove idr entries that didn't exist, we
    could send an IN_IGNORED to userspace for watches that don't exist, and a
    bit of other stupidity.  Clean these up by doing the idr addition before we
    put the mark on the inode since we can clean that up on error and getting
    off the inode's mark list is hard.
    
    Signed-off-by: Eric Paris <eparis at redhat.com>

commit 75fe2b26394c59c8e16bd7b76f4be5d048103ad1
Author: Eric Paris <eparis at redhat.com>
Date:   Tue Jul 7 10:28:23 2009 -0400

    inotify: do not leak inode marks in inotify_add_watch
    
    inotify_add_watch had a couple of problems.  The biggest being that if
    inotify_add_watch was called on the same inode twice (to update or change the
    event mask) a refence was taken on the original inode mark by
    fsnotify_find_mark_entry but was not being dropped at the end of the
    inotify_add_watch call.  Thus if inotify_rm_watch was called although the mark
    was removed from the inode, the refcnt wouldn't hit zero and we would leak
    memory.
    
    Reported-by: Catalin Marinas <catalin.marinas at arm.com>
    Signed-off-by: Eric Paris <eparis at redhat.com>

commit 5549f7cdf84c02939fd368d0842aa2f472bb6e98
Author: Eric Paris <eparis at redhat.com>
Date:   Tue Jul 7 10:28:23 2009 -0400

    inotify: drop user watch count when a watch is removed
    
    The inotify rewrite forgot to drop the inotify watch use cound when a watch
    was removed.  This means that a single inotify fd can only ever register a
    maximum of /proc/sys/fs/max_user_watches even if some of those had been
    freed.
    
    Signed-off-by: Eric Paris <eparis at redhat.com>

commit 4564cba71637d3b4ea3730f5637b21a9eb3c8999
Author: Finn Thain <fthain at telegraphics.com.au>
Date:   Tue Jul 21 12:21:49 2009 -0700

    macsonic, jazzsonic: fix oops on module unload
    
    Set the driver data before using it. Fixes an oops when doing rmmod.
    
    Signed-off-by: Finn Thain <fthain at telegraphics.com.au>
    Signed-off-by: David S. Miller <davem at davemloft.net>

commit 25177476675142d3ebd60849e0cebc46bd1eef8e
Author: Uwe Kleine-König <u.kleine-koenig at pengutronix.de>
Date:   Sat Jul 11 20:52:48 2009 +0000

    macsonic: move probe function to .devinit.text
    
    A pointer to mac_sonic_probe is passed to the core via
    platform_driver_register and so the function must not disappear when the
    .init sections are discarded.  Otherwise (if also having HOTPLUG=y)
    unbinding and binding a device to the driver via sysfs will result in an
    oops as does a device being registered late.
    
    Various other functions that are called by mac_sonic_probe need to move
    to .devinit.text, too.
    
    An alternative to this patch is using platform_driver_probe instead of
    platform_driver_register plus removing the pointer to the probe function
    from the struct platform_driver.
    
    Signed-off-by: Uwe Kleine-König <u.kleine-koenig at pengutronix.de>
    Tested-by: Finn Thain <fthain at telegraphics.com.au>
    Signed-off-by: David S. Miller <davem at davemloft.net>

commit e9084ec98bb9aa3abc6cf73181177780ce7546f8
Author: Jan Beulich <JBeulich at novell.com>
Date:   Thu Jul 16 09:45:11 2009 +0100

    x86, mce: Fix set_trigger() accessor
    
    Fix the condition checking the result of strchr() (which previously
    could result in an oops), and make the function return the number of
    bytes actively used.
    
    [ Impact: fix oops ]
    
    Signed-off-by: Jan Beulich <jbeulich at novell.com>
    Cc: Andi Kleen <andi at firstfloor.org>
    LKML-Reference: <4A5F04B7020000780000AB59 at vpn.id2.novell.com>
    Signed-off-by: H. Peter Anvin <hpa at zytor.com>

commit 44f167d376aa42d59d40406036e901a5cf03567f
Merge: a9d90c81b536cc0567bdf22a8aaefe180a5b0f7a 34fdeb2d07102e07ecafe79dec170bd6733f2e56
Author: Takashi Iwai <tiwai at suse.de>
Date:   Tue Jul 21 19:03:22 2009 +0200

    Merge branch 'fix/misc' into for-linus
    
    * fix/misc:
      ALSA: ca0106 - Fix the max capture buffer size
      ALSA: OSS sequencer should be initialized after snd_seq_system_client_init
      ALSA: sound/isa: convert nested spin_lock_irqsave to spin_lock

commit a9d90c81b536cc0567bdf22a8aaefe180a5b0f7a
Merge: 36766835ed17f0a10039272693d3c17e8f8a5142 b04add956616b6d89ff21da749b46ad2bd58ef32
Author: Takashi Iwai <tiwai at suse.de>
Date:   Tue Jul 21 19:03:20 2009 +0200

    Merge branch 'fix/hda' into for-linus
    
    * fix/hda:
      ALSA: hda - Fix pin-setup for Sony VAIO with STAC9872 codecs
      ALSA: hda - Add quirk for Gateway T6834c laptop
      ALSA: hda_codec: Check for invalid zero connections

commit 36766835ed17f0a10039272693d3c17e8f8a5142
Merge: 15c2ac051c730210b7ef2c93807b576e89e129d2 55fe27f7e2c9d24ce870136bd99ae67b020122d1
Author: Takashi Iwai <tiwai at suse.de>
Date:   Tue Jul 21 19:03:19 2009 +0200

    Merge branch 'fix/ctxfi' into for-linus
    
    * fix/ctxfi:
      ALSA: ctxfi: Swapped SURROUND-SIDE channels on emu20k2

commit 9e81eccf199d910e5ea8db377a43478e4eccd033
Author: Christian Lamparter <chunkeey at web.de>
Date:   Sun Jul 19 05:05:37 2009 +0200

    cfg80211: double free in __cfg80211_scan_done
    
    This patch fixes a double free corruption in __cfg80211_scan_done:
    
     ================================================
     BUG kmalloc-512: Object already free
     ------------------------------------------------
    
     INFO: Allocated in load_elf_binary+0x18b/0x19af age=6
     INFO: Freed in load_elf_binary+0x104e/0x19af age=5
     INFO: Slab 0xffffea0001bae4c0 objects=14 used=7
     INFO: Object 0xffff88007e8a9918 @offset=6424 fp=0xffff88007e8a9488
    
     Bytes b4 0xffff88007e8a9908:  00 00 00 00 00 00 00 00 5a 5a
     [...]
     Pid: 28705, comm: rmmod Tainted: P         C 2.6.31-rc2-wl #1
     Call Trace:
      [<ffffffff810da9f4>] print_trailer+0x14e/0x16e
      [<ffffffff810daa56>] object_err+0x42/0x61
      [<ffffffff810dbcd9>] __slab_free+0x2af/0x396
      [<ffffffffa0ec9694>] ? wiphy_unregister+0x92/0x142 [cfg80211]
      [<ffffffff810dd5e3>] kfree+0x13c/0x17a
      [<ffffffffa0ec9694>] ? wiphy_unregister+0x92/0x142 [cfg80211]
      [<ffffffffa0ec9694>] wiphy_unregister+0x92/0x142 [cfg80211]
      [<ffffffffa0eed163>] ieee80211_unregister_hw+0xc8/0xff [mac80211]
      [<ffffffffa0f3fbc8>] p54_unregister_common+0x31/0x66 [p54common]
      [...]
     FIX kmalloc-512: Object at 0xffff88007e8a9918 not freed
    
    The code path which leads to the *funny* double free:
    
           request = rdev->scan_req;
           dev = dev_get_by_index(&init_net, request->ifidx);
    	/*
    	 * the driver was unloaded recently and
    	 * therefore dev_get_by_index will return NULL!
    	 */
            if (!dev)
                    goto out;
    	[...]
    	rdev->scan_req = NULL; /* not executed... */
    	[...]
     out:
            kfree(request);
    
    Signed-off-by: Christian Lamparter <chunkeey at web.de>
    Signed-off-by: John W. Linville <linville at tuxdriver.com>

commit e56f0975360369347725c49654ecfe3792710429
Author: Alan Jenkins <alan-jenkins at tuffmail.co.uk>
Date:   Sat Jul 18 19:20:20 2009 +0100

    rfkill: remove too-strict __must_check
    
    Some drivers don't need the return value of rfkill_set_hw_state(),
    so it should not be marked as __must_check.
    
    Signed-off-by: Alan Jenkins <alan-jenkins at tuffmail.co.uk>
    Acked-by: Johannes Berg <johannes at sipsolutions.net>
    Signed-off-by: John W. Linville <linville at tuxdriver.com>

commit c66284f2a421f6aebbafd56cb8b90b8e6a9cb2de
Author: Luis R. Rodriguez <lrodriguez at atheros.com>
Date:   Thu Jul 16 10:17:35 2009 -0700

    ath9k: Tune ANI function processing on AP mode during ANI reset
    
    For AP mode we must tune ANI specially for 2 GHz and
    for 5 GHz. We mask in only the flags we want to toggle
    on ath9k_hw_ani_control() through the ah->ani_function
    bitmask, this will take care of ignoring changes during
    ANI reset which we were disabling before.
    
    Testedy-by: Steven Luo <steven at steven676.net>
    Cc: Bennyam Malavazi <bennyam.malavazi at atheros.com>
    Cc: Jouni Malinen <jouni.malinen at Atheros.com>
    Signed-off-by: Luis R. Rodriguez <lrodriguez at atheros.com>
    Signed-off-by: John W. Linville <linville at tuxdriver.com>

commit 7adfd5c71693b81e995283805b17aa4a2ee0ecd9
Author: Andy Whitcroft <apw at canonical.com>
Date:   Thu Jul 16 16:28:11 2009 +0100

    rt2x00: Fix chipset detection for rt2500usb
    
    The commit below changed the semantics of rt2x00_check_rev so that it no
    longer checked the bottom 4 bits of the rev were non-zero.  During that
    conversion this part of the check was not propogated to the rt2500usb
    initialisation.
    
        commit 358623c22c9fd837b3b1b444377037f72553dc9f
        Author: Ivo van Doorn <ivdoorn at gmail.com>
        Date:   Tue May 5 19:46:08 2009 +0200
    
            rt2x00: Simplify rt2x00_check_rev
    
    Without this check rt73 devices are miss recognised as rt2500 devices and
    two drivers are loaded.  Preventing the device being used.  Reinstate this
    check.
    
    Signed-off-by: Andy Whitcroft <apw at canonical.com>
    Signed-off-by: John W. Linville <linville at tuxdriver.com>

commit 6c95e2a2f0f0bf4c8880d5b74b2f7f359d352d03
Author: Niko Jokinen <ext-niko.k.jokinen at nokia.com>
Date:   Wed Jul 15 11:00:53 2009 +0300

    nl80211: Memory leak fixed
    
    Potential memory leak via msg pointer in nl80211_get_key() function.
    
    Signed-off-by: Niko Jokinen <ext-niko.k.jokinen at nokia.com>
    Signed-off-by: Luciano Coelho <luciano.coelho at nokia.com>
    Signed-off-by: John W. Linville <linville at tuxdriver.com>

commit 3da7429ce92abd79b14e2275a28be144ce2c3013
Author: Larry Finger <Larry.Finger at lwfinger.net>
Date:   Tue Jul 14 15:55:16 2009 -0500

    rtl8187: Fix for kernel oops when unloading with LEDs enabled
    
    When rtl8187 is unloaded and CONFIG_RTL8187_LEDS is set, the kernel
    may oops when the module is unloaded as the workqueue for led_on was
    not being cancelled.
    
    This patch fixes the problem reported in
    http://marc.info/?l=linux-wireless&m=124742957615781&w=2.
    
    Reported-by: Gábor Stefanik <netrolller.3d at gmail.com>
    Signed-off-by: Larry Finger <Larry.Finger at lwfinger>
    Signed-off-by: John W. Linville <linville at tuxdriver.com>

commit 65b5a69860ed3bc4224368b804d381cd9cafa90a
Author: Bob Copeland <me at bobcopeland.com>
Date:   Mon Jul 13 21:57:39 2009 -0400

    ath5k: temporarily disable crypto for AP mode
    
    Pavel Roskin reported some issues with using AP mode without
    nohwcrypt=1.  Most likely this is similar to the problem fixed
    some time ago in ath9k by 3f53dd64f192450cb331c0fecfc26ca952fb242f,
    "ath9k: Fix hw crypto configuration for TKIP in AP mode."
    
    That only affects TKIP but it's easiest to just disable that and
    WEP too until we get a proper fix in.
    
    Signed-off-by: Bob Copeland <me at bobcopeland.com>
    Signed-off-by: John W. Linville <linville at tuxdriver.com>

commit 35946a571099a50d2595c8866f07617d29558f53
Author: Javier Cardona <javier at cozybit.com>
Date:   Mon Jul 13 17:00:10 2009 -0700

    mac80211: use correct address for mesh Path Error
    
    For forwarded frames, we save the precursor address in addr1 in case it
    needs to be used to send a Path Error.  mesh_path_discard_frame,
    however, was using addr2 instead of addr1 to send Path Error frames, so
    correct that and also make the comment regarding this more clear.
    
    Signed-off-by: Andrey Yurovsky <andrey at cozybit.com>
    Signed-off-by: John W. Linville <linville at tuxdriver.com>

commit e603d9d824ff0eda98a65708a7e82112becf2dca
Author: Johannes Berg <johannes at sipsolutions.net>
Date:   Mon Jul 13 13:25:58 2009 +0200

    mac80211_hwsim: fix use after free
    
    Once the "data" pointer is freed, we can't be iterating
    to the next item in the list any more so we need to use
    list_for_each_entry_safe with a temporary variable.
    
    Signed-off-by: Johannes Berg <johannes at sipsolutions.net>
    Signed-off-by: John W. Linville <linville at tuxdriver.com>

commit 5d41635195c06fc3116ef3921fe85a9a3ea5ab20
Author: Johannes Berg <johannes at sipsolutions.net>
Date:   Mon Jul 13 13:04:30 2009 +0200

    mac80211_hwsim: fix unregistration
    
    If you rmmod the module while associated, frames might
    be transmitted during unregistration -- which will crash
    if the hwsim%d interface is unregistered first, so only
    do that after all the virtual wiphys are gone.
    
    Signed-off-by: Johannes Berg <johannes at sipsolutions.net>
    Signed-off-by: John W. Linville <linville at tuxdriver.com>

commit 48ab3578a65c5168ecaaa3b21292b643b7bcc2d5
Author: Alan Jenkins <alan-jenkins at tuffmail.co.uk>
Date:   Sun Jul 12 17:03:13 2009 +0100

    rfkill: fix rfkill_set_states() to set the hw state
    
    The point of this function is to set the software and hardware state at
    the same time.  When I tried to use it, I found it was only setting the
    software state.
    
    Signed-off-by: Alan Jenkins <alan-jenkins at tuffmail.co.uk>
    Reviewed-by: Johannes Berg <johannes at sipsolutions.net>
    Signed-off-by: John W. Linville <linville at tuxdriver.com>

commit 8ef86c7bfac5b44529b73b84bc50d3cf574bfb4b
Author: Pavel Roskin <proski at gnu.org>
Date:   Fri Jul 10 16:42:29 2009 -0400

    mac80211: fix injection in monitor mode
    
    The location of the 802.11 header is calculated incorrectly due to a
    wrong placement of parentheses.  Found by kmemcheck.
    
    Signed-off-by: Pavel Roskin <proski at gnu.org>
    Signed-off-by: John W. Linville <linville at tuxdriver.com>

commit f54c142725ad2ba33c3ee627873cb6966bf05447
Author: Johannes Berg <johannes at sipsolutions.net>
Date:   Fri Jul 10 21:41:39 2009 +0200

    rfkill: allow toggling soft state in sysfs again
    
    Apparently there actually _are_ tools that try to set
    this in sysfs even though it wasn't supposed to be used
    this way without claiming first. Guess what: now that
    I've cleaned it all up it doesn't matter and we can
    simply allow setting the soft-block state in sysfs.
    
    Signed-off-by: Johannes Berg <johannes at sipsolutions.net>
    Tested-By: Darren Salt <linux at youmustbejoking.demon.co.uk>
    Signed-off-by: John W. Linville <linville at tuxdriver.com>

commit e2e414d92397c366396d13f627a98a20be92e509
Author: Johannes Berg <johannes at sipsolutions.net>
Date:   Fri Jul 10 11:38:14 2009 +0200

    mac80211: disable mesh
    
    My kvm instance was complaining a lot about sleeping
    in atomic contexts in the mesh code, and it turns out
    that both mesh_path_add() and mpp_path_add() need to
    be able to sleep (they even use synchronize_rcu()!).
    I put in a might_sleep() to annotate that, but I see
    no way, at least right now, of actually making sure
    those functions are only called from process context
    since they are both called during TX and RX and the
    mesh code itself even calls them with rcu_read_lock()
    "held".
    
    Therefore, let's disable it completely for now.
    
    It's possible that I'm only seeing this because the
    hwsim's beaconing is broken and thus the peers aren't
    discovered right away, but it is possible that this
    happens even if beaconing is working, for a peer that
    doesn't exist or so.
    
    It should be possible to solve this by deferring the
    freeing of the tables to call_rcu() instead of using
    synchronize_rcu(), and also using atomic allocations,
    but maybe it makes more sense to rework the code to
    not call these from atomic contexts and defer more of
    the work to the workqueue. Right now, I can't work on
    either of those solutions though.
    
    Signed-off-by: Johannes Berg <johannes at sipsolutions.net>
    Signed-off-by: John W. Linville <linville at tuxdriver.com>

commit 7b80ece41aea0b73283c6df5a8f25d40aa13135d
Author: Reinette Chatre <reinette.chatre at intel.com>
Date:   Thu Jul 9 10:33:39 2009 -0700

    iwlwifi: only update byte count table during aggregation
    
    The byte count table is only used for aggregation. Updating it
    in other cases caused fragmented frames to be dropped.
    
    This fixes http://www.intellinuxwireless.org/bugzilla/show_bug.cgi?id=2004
    
    Signed-off-by: Reinette Chatre <reinette.chatre at intel.com>
    Signed-off-by: John W. Linville <linville at tuxdriver.com>

commit 872ed1902f511a8947021c562f5728a5bf0640b5
Author: Reinette Chatre <reinette.chatre at intel.com>
Date:   Thu Jul 9 10:33:37 2009 -0700

    iwlwifi: only show active power level via sysfs
    
    This changes the power_level file to adhere to the "one value
    per file" sysfs rule. The user will know which power level was
    requested as it will be the number just written to this file. It
    is thus not necessary to create a new sysfs file for this value.
    
    In addition it fixes a problem where powertop's parsing expects
    this value to be the first value in this file without any descriptions.
    
    Signed-off-by: Reinette Chatre <reinette.chatre at intel.com>
    cc: stable at kernel.org
    Signed-off-by: John W. Linville <linville at tuxdriver.com>

commit 513a2396d8e8327aff1ce50bea3fb4f16ff3455b
Author: Zhu Yi <yi.zhu at intel.com>
Date:   Thu Jul 9 17:24:15 2009 +0800

    iwmc3200wifi: fix NULL pointer dereference in iwm_if_free
    
    The driver private data is now based on wiphy. So we should not
    touch the private data after wiphy_free() is called. The patch
    fixes the potential NULL pointer dereference by making the
    iwm_wdev_free() the last one on the interface removal path.
    
    Signed-off-by: Zhu Yi <yi.zhu at intel.com>
    Signed-off-by: John W. Linville <linville at tuxdriver.com>

commit 591d2fb02ea80472d846c0b8507007806bdd69cc
Author: Thomas Gleixner <tglx at linutronix.de>
Date:   Tue Jul 21 11:09:39 2009 +0200

    genirq: Delegate irq affinity setting to the irq thread
    
    irq_set_thread_affinity() calls set_cpus_allowed_ptr() which might
    sleep, but irq_set_thread_affinity() is called with desc->lock held
    and can be called from hard interrupt context as well. The code has
    another bug as it does not hold a ref on the task struct as required
    by set_cpus_allowed_ptr().
    
    Just set the IRQTF_AFFINITY bit in action->thread_flags. The next time
    the thread runs it migrates itself. Solves all of the above problems
    nicely.
    
    Add kerneldoc to irq_set_thread_affinity() while at it.
    
    Signed-off-by: Thomas Gleixner <tglx at linutronix.de>
    LKML-Reference: <new-submission>

commit f1015c447781729060c415f5133164c638561f25
Author: dingdinghua <dingdinghua85 at gmail.com>
Date:   Wed Jul 15 21:42:05 2009 +0200

    jbd: fix race between write_metadata_buffer and get_write_access
    
    The function journal_write_metadata_buffer() calls jbd_unlock_bh_state(bh_in)
    too early; this could potentially allow another thread to call get_write_access
    on the buffer head, modify the data, and dirty it, and allowing the wrong data
    to be written into the journal.  Fortunately, if we lose this race, the only
    time this will actually cause filesystem corruption is if there is a system
    crash or other unclean shutdown of the system before the next commit can take
    place.
    
    Signed-off-by: dingdinghua <dingdinghua85 at gmail.com>
    Acked-by: "Theodore Ts'o" <tytso at mit.edu>
    Signed-off-by: Jan Kara <jack at suse.cz>

commit ebe119cd0929df4878f758ebf880cb435e4dcaaf
Author: H. Peter Anvin <hpa at zytor.com>
Date:   Mon Jul 20 23:27:39 2009 -0700

    x86: Fix movq immediate operand constraints in uaccess.h
    
    The movq instruction, generated by __put_user_asm() when used for
    64-bit data, takes a sign-extended immediate ("e") not a zero-extended
    immediate ("Z").
    
    Signed-off-by: H. Peter Anvin <hpa at zytor.com>
    Cc: Uros Bizjak <ubizjak at gmail.com>
    Cc: stable at kernel.org

commit 032e46cbf5fb1d768d7dec5631c224e22b4be46f
Author: Jerone Young <jerone.young at canonical.com>
Date:   Mon Jul 20 22:14:59 2009 -0700

    Input: atkbd - add force relese key quirk for Soltech TA12
    
    Netbooks based on the Soltech TA12 do not send a key release
    for volume keys causing Linux to think the key is constantly
    being pressed forever.
    
    Added quirk data for forced release keys.
    
    BugLink: https://bugs.launchpad.net//bugs/397499
    
    Signed-off-by: Jerone Young <jerone.young at canonical.com>
    Signed-off-by: Tim Gardner <tim.gardner at canonical.com>
    Signed-off-by: Dmitry Torokhov <dtor at mail.ru>

commit 155b73529583c38f30fd394d692b15a893960782
Author: Uros Bizjak <ubizjak at gmail.com>
Date:   Sun Jul 19 18:06:35 2009 +0200

    x86: Fix movq immediate operand constraints in uaccess_64.h
    
    arch/x86/include/asm/uaccess_64.h uses wrong asm operand constraint
    ("ir") for movq insn. Since movq sign-extends its immediate operand,
    "er" constraint should be used instead.
    
    Attached patch changes all uses of __put_user_asm in uaccess_64.h to use
    "er" when "q" insn suffix is involved.
    
    Patch was compile tested on x86_64 with defconfig.
    
    Signed-off-by: Uros Bizjak <ubizjak at gmail.com>
    Signed-off-by: H. Peter Anvin <hpa at zytor.com>
    Cc: stable at kernel.org

commit 77f32dfdd97857280ae1ebac64382ff082cd7ea0
Author: Denis Turischev <denis at compulab.co.il>
Date:   Mon Jul 20 18:48:17 2009 +0300

    x86: Add reboot fixup for SBC-fitPC2
    
    The CompuLab SBC-fitPC2 board needs to reboot via BIOS.
    
    Signed-off-by: Denis Turischev <denis at compulab.co.il>
    Signed-off-by: Mike Rapoport <mike at compulab.co.il>
    Signed-off-by: H. Peter Anvin <hpa at zytor.com>

commit 1f4cea3790bf44137192f441ee84af256e3bf809
Author: Wengang Wang <wen.gang.wang at oracle.com>
Date:   Mon Jul 13 11:38:58 2009 +0800

    ocfs2: Fail ocfs2_get_block() immediately when a block needs allocation
    
    ocfs2_get_block() does no allocation.  Hole filling for writes should
    have happened farther up in the call chain.  We detect this case and
    print an error, but we then continue with the function.  We should be
    exiting immediately.
    
    Signed-off-by: Wengang Wang <wen.gang.wang at oracle.com>
    Signed-off-by: Joel Becker <joel.becker at oracle.com>

commit cbfa9639aea5007313b75ec43b689d5f9e0c037d
Author: Wengang Wang <wen.gang.wang at oracle.com>
Date:   Mon Jul 13 11:38:23 2009 +0800

    ocfs2: Fix error return in ocfs2_write_cluster()
    
    A typo caused ocfs2_write_cluster() to return 0 in some error cases.
    Fix it.
    
    Signed-off-by: Wengang Wang <wen.gang.wang at oracle.com>
    Signed-off-by: Joel Becker <joel.becker at oracle.com>

commit aea1f7964ae6cba5eb419a958956deb9016b3341
Merge: 457f82bac659745f6d5052e4c493d92d62722c9c 04e448d9a386640a79a4aa71251aa1cdd314f662
Author: Linus Torvalds <torvalds at linux-foundation.org>
Date:   Mon Jul 20 16:49:45 2009 -0700

    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:
      vmlinux.lds.h: restructure BSS linker script macros
      kconfig: initialize the screen before using curses(3) functions
      kconfig: variable argument lists needs `stdarg.h'
      kbuild, deb-pkg: fix install scripts for posix sh

commit 457f82bac659745f6d5052e4c493d92d62722c9c
Merge: eb872c159f15a7d1b3aa2be9ac4cd66abaac6874 9c9ad6162e2aa1e528ed687ccab87fe681ebbef1
Author: Linus Torvalds <torvalds at linux-foundation.org>
Date:   Mon Jul 20 16:48:31 2009 -0700

    Merge branch 'for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/ericvh/v9fs
    
    * 'for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/ericvh/v9fs:
      9p: Fix incorrect parameters to v9fs_file_readn.
      9p: Possible regression in p9_client_stat
      9p: default 9p transport module fix

commit eb872c159f15a7d1b3aa2be9ac4cd66abaac6874
Merge: ae42b9e1ca8969d52e51f5e461b2e89e180943dd 90a98b2f3f3647fb17667768a348b2b219f2a9f7
Author: Linus Torvalds <torvalds at linux-foundation.org>
Date:   Mon Jul 20 16:47:30 2009 -0700

    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: free nativeFileSystem field before allocating a new one
      [CIFS] Distinguish posix opens and mkdirs from legacy mkdirs in stats

commit ae42b9e1ca8969d52e51f5e461b2e89e180943dd
Merge: 6cdbf734493d6e8f5afc6f539b82897772809d43 6843f405da9d0adf734d8f695311e29cc92a220c
Author: Linus Torvalds <torvalds at linux-foundation.org>
Date:   Mon Jul 20 16:46:49 2009 -0700

    Merge branch 'for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/vapier/blackfin
    
    * 'for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/vapier/blackfin: (21 commits)
      Blackfin: define HARDIRQ_BITS again for now
      arch/blackfin: Add kmalloc NULL tests
      Blackfin: add CPLB entries for Core B on-chip L1 SRAM regions
      Blackfin: work around anomaly 05000189
      Blackfin: drop per-cpu loops_per_jiffy tracking
      Blackfin: fix bugs in GPIO resume code
      Blackfin: bf537-stamp: fix irq decl for AD7142
      Blackfin: fix handling of IPEND in interrupt context save
      Blackfin: drop duplicate runtime checking of anomaly 05000448
      Blackfin: fix incomplete renaming of the bfin-twi-lcd driver
      Blackfin: fix wrong CTS inversion
      Blackfin: update handling of anomaly 364 (wrong rev id in BF527-0.1)
      Blackfin: fix early_dma_memcpy() handling of busy channels
      Blackfin: handle BF561 Core B memory regions better when SMP=n
      Blackfin: fix miscompilation in lshrdi3
      Blackfin: fix silent crash when no uClinux MTD filesystem exists
      Blackfin: restore exception banner when dumping crash info
      Blackfin: work around anomaly 05000281
      Blackfin: update anomaly lists to match latest sheets/usage
      Blackfin: drop dead flash_probe call
      ...

commit 6cdbf734493d6e8f5afc6f539b82897772809d43
Author: Nicolas Pitre <nico at cam.org>
Date:   Sat Jul 18 20:34:37 2009 -0400

    mvsdio: fix handling of partial word at the end of PIO transfer
    
    Standard data flow for MMC/SD/SDIO cards requires that the mvsdio
    controller be set for big endian operation.  This is causing problems
    with buffers which length is not a multiple of 4 bytes as the last
    partial word doesn't get shifted all the way and stored properly in
    memory.  Let's compensate for this.
    
    Signed-off-by: Nicolas Pitre <nico at marvell.com>
    CC: stable at kernel.org
    Signed-off-by: Linus Torvalds <torvalds at linux-foundation.org>

commit 0ecf24ef49d4f46ff5d6af357c3b9ec8d798160d
Author: Sonic Zhang <sonic.zhang at analog.com>
Date:   Mon Jul 20 16:05:37 2009 +0100

    blackfin: fix wrong CTS inversion
    
    The Blackfin serial headers were inverting the CTS value leading to wrong
    handling of the CTS line which broke CTS/RTS handling completely.
    
    Signed-off-by: Sonic Zhang <sonic.zhang at analog.com>
    Signed-off-by: Mike Frysinger <vapier at gentoo.org>
    Signed-off-by: Alan Cox <alan at linux.intel.com>
    Signed-off-by: Linus Torvalds <torvalds at linux-foundation.org>

commit 23198fda7182969b619613a555f8645fdc3dc334
Author: Alan Cox <alan at linux.intel.com>
Date:   Mon Jul 20 16:05:27 2009 +0100

    tty: fix chars_in_buffers
    
    This function does not have an error return and returning an error is
    instead interpreted as having a lot of pending bytes.
    
    Reported by Jeff Harris who provided a list of some of the remaining
    offenders.
    
    Signed-off-by: Alan Cox <alan at linux.intel.com>
    Signed-off-by: Linus Torvalds <torvalds at linux-foundation.org>

commit 254702568da63ce6f5ad68e77d83b427da693654
Author: Julia Lawall <julia at diku.dk>
Date:   Mon Jul 20 16:05:07 2009 +0100

    specialix.c: convert nested spin_lock_irqsave to spin_lock
    
    If spin_lock_irqsave is called twice in a row with the same second
    argument, the interrupt state at the point of the second call overwrites
    the value saved by the first call.  Indeed, the second call does not
    need to save the interrupt state, so it is changed to a simple
    spin_lock.
    
    The semantic match that finds this problem is as follows:
    (http://www.emn.fr/x-info/coccinelle/)
    
    // <smpl>
    @@
    expression lock1,lock2;
    expression flags;
    @@
    
    *spin_lock_irqsave(lock1,flags)
    ... when != flags
    *spin_lock_irqsave(lock2,flags)
    // </smpl>
    
    Signed-off-by: Julia Lawall <julia at diku.dk>
    Signed-off-by: Alan Cox <alan at linux.intel.com>
    Signed-off-by: Linus Torvalds <torvalds at linux-foundation.org>

commit c46a7aec556ffdbdb7357db0b05904b176cb3375
Author: Kay Sievers <kay.sievers at vrfy.org>
Date:   Mon Jul 20 16:04:55 2009 +0100

    vc: create vcs(a) devices for consoles
    
    The buffer for the consoles are unconditionally allocated at con_init()
    time, which miss the creation of the vcs(a) devices.
    
    Since 2.6.30 (commit 4995f8ef9d3aac72745e12419d7fbaa8d01b1d81, 'vcs:
    hook sysfs devices into object lifetime instead of "binding"' to be
    exact) these devices are no longer created at open() and removed on
    close(), but controlled by the lifetime of the buffers.
    
    Reported-by: Gerardo Exequiel Pozzi <vmlinuz386 at yahoo.com.ar>
    Tested-by: Gerardo Exequiel Pozzi <vmlinuz386 at yahoo.com.ar>
    Cc: stable at kernel.org
    Signed-off-by: Kay Sievers <kay.sievers at vrfy.org>
    Signed-off-by: Alan Cox <alan at linux.intel.com>
    Signed-off-by: Linus Torvalds <torvalds at linux-foundation.org>

commit 44d8e4e1e9b941065eb7578669fe51eb65c73e63
Author: Subrata Modak <subrata at linux.vnet.ibm.com>
Date:   Tue Jul 14 01:19:31 2009 +0530

    ocfs2: Fix compilation warning for fs/ocfs2/xattr.c
    
    gcc 4.4.1 generates the following build warning on i386:
    
    CC [M]  fs/ocfs2/xattr.o
    fs/ocfs2/xattr.c: In function ‘ocfs2_xattr_block_get’:
    fs/ocfs2/xattr.c:1055: warning: ‘block_off’ may be used uninitialized in this function
    
    The following fix is based on a similar approach by David Howells
    few days back: http://lkml.org/lkml/2009/7/9/109,
    
    Signed-off-by: Subrata Modak<subrata at linux.vnet.ibm.com>,
    Signed-off-by: Joel Becker <joel.becker at oracle.com>

commit cefcb800fa9536bb6f29485c53e6c82a65b0c022
Author: Goldwyn Rodrigues <rgoldwyn at gmail.com>
Date:   Sat Jul 11 10:57:27 2009 -0500

    ocfs2: Initialize count in aio_write before generic_write_checks
    
    generic_write_checks() expects count to be initialized to the size of
    the write.  Writes to files open with O_DIRECT|O_LARGEFILE write 0 bytes
    because count is uninitialized.
    
    Signed-off-by: Goldwyn Rodrigues <rgoldwyn at suse.de>
    Signed-off-by: Joel Becker <joel.becker at oracle.com>

commit 1b0d92244ff2434a98272f6d2525da32fc230f19
Author: Wolfgang Grandegger <wg at grandegger.com>
Date:   Mon Jul 20 04:06:41 2009 +0000

    can: switch carrier on if device was stopped while in bus-off state
    
    This patch fixes a problem when a device is stopped while in the
    bus-off state. Then the carrier remains off forever.
    
    Signed-off-by: Kurt Van Dijck <kurt.van.dijck at skynet.be>
    Signed-off-by: Wolfgang Grandegger <wg at grandegger.com>
    Signed-off-by: David S. Miller <davem at davemloft.net>

commit b3d0df7ca35018ebbc24fd102ed7021cf593ba74
Author: Wolfgang Grandegger <wg at grandegger.com>
Date:   Mon Jul 20 04:06:40 2009 +0000

    can: restart device even if dev_alloc_skb() fails
    
    If dev_alloc_skb() failed in can_restart(), the device was left behind
    in the bus-off state. This patch restarts the device nevertheless.
    
    Signed-off-by: Kurt Van Dijck <kurt.van.dijck at eia.be>
    Signed-off-by: Wolfgang Grandegger <wg at grandegger.com>
    Signed-off-by: David S. Miller <davem at davemloft.net>

commit e2372902d84af3443d421a984d812ec87eeb0758
Author: Wolfgang Grandegger <wg at grandegger.com>
Date:   Mon Jul 20 04:06:39 2009 +0000

    can: sja1000: remove duplicated includes
    
    Remove duplicated #include('s) in
      drivers/net/can/sja1000/sja1000.c
    
    Signed-off-by: Huang Weiyi <weiyi.huang at gmail.com>
    Signed-off-by: Wolfgang Grandegger <wg at grandegger.com>
    Signed-off-by: David S. Miller <davem at davemloft.net>

commit 90a98b2f3f3647fb17667768a348b2b219f2a9f7
Author: Jeff Layton <jlayton at redhat.com>
Date:   Mon Jul 20 13:40:52 2009 -0400

    cifs: free nativeFileSystem field before allocating a new one
    
    ...otherwise, we'll leak this memory if we have to reconnect (e.g. after
    network failure).
    
    Signed-off-by: Jeff Layton <jlayton at redhat.com>
    CC: Stable <stable at kernel.org>
    Signed-off-by: Steve French <sfrench at us.ibm.com>

commit 90cb665937a2aab16d9aa60f22908195c16dcffd
Author: Cesar Eduardo Barros <cesarb at cesarb.net>
Date:   Sun Jul 19 08:03:32 2009 +0000

    New device ID for sc92031 [1088:2031]
    
    rain_maker at root-forum.org wrote:
    > Hello cesar,
    >
    > In a recent thread in a german linux forum, a user reported his PIC
    > NIC not being recognized by the kernel.
    >
    > Fortunately he provided enough information and I was able to help him
    > and get the device working with the sc92031 driver.
    >
    > The device ID is [1088:2031] (Vendor is called "Microcomputer Systems
    > (M) Son"), here is the respective thread in "ubuntuusers.de"
    >
    > http://forum.ubuntuusers.de/topic/lankarte-unter-xubuntu-wird-nicht-erkannt/
    >
    > (Although you might not speak german, the code provided will show
    > you, that the device is actually working with your driver).
    >
    > It would be nice, if you include this new device ID to the
    > sc92031-driver.
    >
    > Regards,
    >
    > Axel Köllhofer (aka Rain_Maker)
    
    Cc: rain_maker at root-forum.org
    Signed-off-by: Cesar Eduardo Barros <cesarb at cesarb.net>
    Signed-off-by: David S. Miller <davem at davemloft.net>

commit e445bb4ed677f8df0d4f8c1abc15c668bd182f28
Author: Ken Kawasaki <ken_kawasaki at spring.nifty.jp>
Date:   Sun Jul 19 13:08:12 2009 +0000

    3c589_cs: re-initialize the multicast in the tc589_reset
    
    3c589_cs:
    re-initialize the multicast in the tc589_reset,
    and spin_lock the set_multicast_list function.
    
    Signed-off-by: Ken Kawasaki <ken_kawasaki at spring.nifty.jp>
    Signed-off-by: David S. Miller <davem at davemloft.net>

commit f249fb783092471a4808e5fc5bda071d2724810d
Author: Rémi Denis-Courmont <remi.denis-courmont at nokia.com>
Date:   Mon Jul 20 00:47:04 2009 +0000

    Fix error return for setsockopt(SO_TIMESTAMPING)
    
    I guess it should be -EINVAL rather than EINVAL. I have not checked
    when the bug came in. Perhaps a candidate for -stable?
    
    Signed-off-by: Rémi Denis-Courmont <remi.denis-courmont at nokia.com>
    Signed-off-by: David S. Miller <davem at davemloft.net>

commit e4135c2da11c337e3759f98727c4819ba2a849fa
Author: Dhananjay Phadke <dhananjay at netxen.com>
Date:   Fri Jul 17 15:27:08 2009 +0000

    netxen: fix thermal check and shutdown
    
    Check temperature for all PCI functions, that can allow
    graceful shutdown of all interfaces on the overheated card.
    
    Old code was only monitoring temperature for function 0 only.
    
    Signed-off-by: Dhananjay Phadke <dhananjay at netxen.com>
    Signed-off-by: David S. Miller <davem at davemloft.net>

commit b2af9cb06d4de1b507ec0fd779ec2ecedee1480a
Author: Dhananjay Phadke <dhananjay at netxen.com>
Date:   Fri Jul 17 15:27:07 2009 +0000

    netxen: fix deadlock on dev close
    
    netxen: fix deadlock on dev close
    
    The tx ring accounting fix in commit cb2107be43d2fc5eadec58b92b
    ("netxen: fix tx ring accounting") introduced intermittent
    deadlock when inteface is going down.
    
    This was possibly combined effect of speculative tx pause,
    calling netif_tx_lock instead of queue lock and unclean
    synchronization with napi which could end up unmasking
    interrupt.
    
    Signed-off-by: Dhananjay Phadke <dhananjay at netxen.com>
    Signed-off-by: David S. Miller <davem at davemloft.net>

commit cf981ffb31e8f41f4899a56560f81322f94f22d1
Author: Dhananjay Phadke <dhananjay at netxen.com>
Date:   Fri Jul 17 15:27:06 2009 +0000

    netxen: fix context deletion sequence
    
    o Use D3 reset context deletion for NX2031, it cleans up
      more resources in the firmware.
    o Release rx buffers after hardware context has been reset.
    o Delete tx context after rx context, some firmware control
      commands are sent on tx context, so it should be the last
      to go.
    
    Signed-off-by: Dhananjay Phadke <dhananjay at netxen.com>
    Signed-off-by: David S. Miller <davem at davemloft.net>

commit 3ba81f3ece3cfa4ffb06d21ac93b8cad7fbe6a73
Author: Ben Dooks <ben at simtec.co.uk>
Date:   Thu Jul 16 05:24:08 2009 +0000

    net: Micrel KS8851 SPI network driver
    
    Network driver for the SPI version of the Micrel KS8851
    network chip.
    
    Signed-off-by: Ben Dooks <ben at simtec.co.uk>
    Signed-off-by: David S. Miller <davem at davemloft.net>

commit 55fe27f7e2c9d24ce870136bd99ae67b020122d1
Author: Frank Roth <frashman at freenet.de>
Date:   Mon Jul 20 17:00:14 2009 +0200

    ALSA: ctxfi: Swapped SURROUND-SIDE channels on emu20k2
    
    On Soundblaster X-FI Titanium with emu20k2 the SIDE and SURROUND
    channels were swapped and wrong.
    I double checked it with connector colors and creative soundblaster
    windows drivers.
    
    So I swapped them to the true order.
    Now "speaker-test -c6" and "speaker-test -c8" are working fine.
    
    Signed-off-by: Frank Roth <frashman at freenet.de>
    Signed-off-by: Takashi Iwai <tiwai at suse.de>

commit e547bc1eccf539b7403138d8ded913ffd2b7fd0d
Author: John Dykstra <john.dykstra1 at gmail.com>
Date:   Fri Jul 17 09:23:22 2009 +0000

    tcp: Use correct peer adr when copying MD5 keys
    
    When the TCP connection handshake completes on the passive
    side, a variety of state must be set up in the "child" sock,
    including the key if MD5 authentication is being used.  Fix TCP
    for both address families to label the key with the peer's
    destination address, rather than the address from the listening
    sock, which is usually the wildcard.
    
    Reported-by:   Stephen Hemminger <shemminger at vyatta.com>
    Signed-off-by: John Dykstra <john.dykstra1 at gmail.com>
    Signed-off-by: David S. Miller <davem at davemloft.net>

commit e3afe7b75ed8f809c1473ea9b39267487c187ccb
Author: John Dykstra <john.dykstra1 at gmail.com>
Date:   Thu Jul 16 05:04:51 2009 +0000

    tcp: Fix MD5 signature checking on IPv4 mapped sockets
    
    Fix MD5 signature checking so that an IPv4 active open
    to an IPv6 socket can succeed.  In particular, use the
    correct address family's signature generation function
    for the SYN/ACK.
    
    Reported-by:   Stephen Hemminger <shemminger at vyatta.com>
    Signed-off-by: John Dykstra <john.dykstra1 at gmail.com>
    Signed-off-by: David S. Miller <davem at davemloft.net>

commit a50a97d415d839e6db9df288ff0205528e52c03e
Author: Wan ZongShun <mcuos.com at gmail.com>
Date:   Thu Jul 16 02:55:05 2009 +0000

    Add mac driver for w90p910
    
    Add mac driver support for evaluation board based on w90p910.
    
    Signed-off-by: Wan ZongShun <mcuos.com at gmail.com>
    Signed-off-by: David S. Miller <davem at davemloft.net>

commit 34fdeb2d07102e07ecafe79dec170bd6733f2e56
Author: Takashi Iwai <tiwai at suse.de>
Date:   Mon Jul 20 15:42:51 2009 +0200

    ALSA: ca0106 - Fix the max capture buffer size
    
    The capture buffer size with 64kB seems broken with CA0106.
    At least, either the update timing or the DMA position is wrong,
    and this screws up pulseaudio badly.
    
    This patch restricts the max buffer size less than that to make life
    a bit easier.
    
    Signed-off-by: Takashi Iwai <tiwai at suse.de>
    Cc: <stable at kernel.org>

commit b04add956616b6d89ff21da749b46ad2bd58ef32
Author: Takashi Iwai <tiwai at suse.de>
Date:   Mon Jul 20 08:01:36 2009 +0200

    ALSA: hda - Fix pin-setup for Sony VAIO with STAC9872 codecs
    
    The recent rewrite of the codec parser for STAC9872 caused a regression
    for some Sony VAIO models that don't give proper pin default configs
    by BIOS.  Even using model=vaio doesn't work because the pin definitions
    are set after the pin overrides.
    
    This patch fixes the pin definitions in patch_stac9872() to be put
    in the right place before the pin overrides.  Also the patch adds the
    new quirk entry for VAIO F/S to have the correct pin default configs.
    
    Signed-off-by: Takashi Iwai <tiwai at suse.de>
    Cc: <stable at kernel.org>

commit 42b95f0c6b524b5a670dd17533a3522db368f600
Author: Hao Song <baritono.tux at gmail.com>
Date:   Mon Jul 20 15:01:16 2009 +0800

    ALSA: hda - Add quirk for Gateway T6834c laptop
    
    Gateway T6834c laptops need EAPD always on while the default behavior
    for the STAC9205 reference board is to turn it off upon every HP plug.
    By using the special "eapd" model, which is first introduced for Gateway
    T1616 laptops for this same reason, this peculiarity can be properly
    handled.
    
    Signed-off-by: Hao Song <baritono.tux at gmail.com>
    Cc: <stable at kernel.org>
    Signed-off-by: Takashi Iwai <tiwai at suse.de>

commit 76c317d6e5cb7f58541879006d39774596962715
Author: Julia Lawall <julia at diku.dk>
Date:   Sun Jul 19 17:26:13 2009 +0200

    HID: Move dereferences below a NULL test
    
    If the NULL test is necessary, then the dereferences should be moved below
    the NULL test.
    
    The semantic patch that makes this change is as follows:
    (http://www.emn.fr/x-info/coccinelle/)
    
    // <smpl>
    @@
    type T;
    expression E,E1;
    identifier i,fld;
    statement S;
    @@
    
    - T i = E->fld;
    + T i;
      ... when != E=E1
          when != i
      if (E == NULL||...) S
    + i = E->fld;
    // </smpl>
    
    Signed-off-by: Julia Lawall <julia at diku.dk>
    Signed-off-by: Jiri Kosina <jkosina at suse.cz>

commit f96e0808212ca284cc9398d7cd3f573786c1d890
Author: Jaswinder Singh Rajput <jaswinder at kernel.org>
Date:   Sun Jul 19 21:58:34 2009 +0530

    ALSA: OSS sequencer should be initialized after snd_seq_system_client_init
    
    When build SND_SEQUENCER in kernel then OSS sequencer(alsa_seq_oss_init)
    is initialized before System (snd_seq_system_client_init) which leads to
    memory leak :
    
    unreferenced object 0xf6b0e680 (size 256):
      comm "swapper", pid 1, jiffies 4294670753
      backtrace:
        [<c108ac5c>] create_object+0x135/0x204
        [<c108adfe>] kmemleak_alloc+0x26/0x4c
        [<c1087de2>] kmem_cache_alloc+0x72/0xff
        [<c126d2ac>] seq_create_client1+0x22/0x160
        [<c126e3b6>] snd_seq_create_kernel_client+0x72/0xef
        [<c1485a05>] snd_seq_oss_create_client+0x86/0x142
        [<c1485920>] alsa_seq_oss_init+0xf6/0x155
        [<c1001059>] do_one_initcall+0x4f/0x111
        [<c14655be>] kernel_init+0x115/0x166
        [<c10032af>] kernel_thread_helper+0x7/0x10
        [<ffffffff>] 0xffffffff
    unreferenced object 0xf688a580 (size 64):
      comm "swapper", pid 1, jiffies 4294670753
      backtrace:
        [<c108ac5c>] create_object+0x135/0x204
        [<c108adfe>] kmemleak_alloc+0x26/0x4c
        [<c1087de2>] kmem_cache_alloc+0x72/0xff
        [<c126f964>] snd_seq_pool_new+0x1c/0xb8
        [<c126d311>] seq_create_client1+0x87/0x160
        [<c126e3b6>] snd_seq_create_kernel_client+0x72/0xef
        [<c1485a05>] snd_seq_oss_create_client+0x86/0x142
        [<c1485920>] alsa_seq_oss_init+0xf6/0x155
        [<c1001059>] do_one_initcall+0x4f/0x111
        [<c14655be>] kernel_init+0x115/0x166
        [<c10032af>] kernel_thread_helper+0x7/0x10
        [<ffffffff>] 0xffffffff
    unreferenced object 0xf6b0e480 (size 256):
      comm "swapper", pid 1, jiffies 4294670754
      backtrace:
        [<c108ac5c>] create_object+0x135/0x204
        [<c108adfe>] kmemleak_alloc+0x26/0x4c
        [<c1087de2>] kmem_cache_alloc+0x72/0xff
        [<c12725a0>] snd_seq_create_port+0x51/0x21c
        [<c126de50>] snd_seq_ioctl_create_port+0x57/0x13c
        [<c126d07a>] snd_seq_do_ioctl+0x4a/0x69
        [<c126d0de>] snd_seq_kernel_client_ctl+0x33/0x49
        [<c1485a74>] snd_seq_oss_create_client+0xf5/0x142
        [<c1485920>] alsa_seq_oss_init+0xf6/0x155
        [<c1001059>] do_one_initcall+0x4f/0x111
        [<c14655be>] kernel_init+0x115/0x166
        [<c10032af>] kernel_thread_helper+0x7/0x10
        [<ffffffff>] 0xffffffff
    
    The correct order should be :
    
    System (snd_seq_system_client_init) should be initialized before
    OSS sequencer(alsa_seq_oss_init) which is equivalent to :
    
    1. insmod sound/core/seq/snd-seq-device.ko
    2. insmod sound/core/seq/snd-seq.ko
    3. insmod sound/core/seq/snd-seq-midi-event.ko
    4. insmod sound/core/seq/oss/snd-seq-oss.ko
    
    Including sound/core/seq/oss/Makefile after other seq modules
    fixes the ordering and memory leak.
    
    Signed-off-by: Jaswinder Singh Rajput <jaswinderrajput at gmail.com>
    Signed-off-by: Takashi Iwai <tiwai at suse.de>

commit 79ef2bb01445400def20c7993b27fbcad27ca95f
Author: Thomas Gleixner <tglx at linutronix.de>
Date:   Sun Jul 19 17:09:12 2009 +0200

    clocksource: Prevent NULL pointer dereference
    
    Writing a zero length string to sys/.../current_clocksource will cause
    a NULL pointer dereference if the clock events system is in one shot
    (highres or nohz) mode.
    
    Pointed-out-by: Dan Carpenter <error27 at gmail.com>
    LKML-Reference: <alpine.DEB.2.00.0907191545580.12306 at bicker>
    Signed-off-by: Thomas Gleixner <tglx at linutronix.de>

commit fcb2954b9621dfeaca92f6a11dac69cfdfaa6705
Author: Julia Lawall <julia at diku.dk>
Date:   Sat Jul 18 17:26:14 2009 +0200

    ALSA: sound/isa: convert nested spin_lock_irqsave to spin_lock
    
    If spin_lock_irqsave is called twice in a row with the same second
    argument, the interrupt state at the point of the second call overwrites
    the value saved by the first call.  Indeed, the second call does not need
    to save the interrupt state, so it is changed to a simple spin_lock.
    
    The semantic match that finds this problem is as follows:
    (http://www.emn.fr/x-info/coccinelle/)
    
    // <smpl>
    @@
    expression lock1,lock2;
    expression flags;
    @@
    
    *spin_lock_irqsave(lock1,flags)
    ... when != flags
    *spin_lock_irqsave(lock2,flags)
    // </smpl>
    
    Signed-off-by: Julia Lawall <julia at diku.dk>
    Signed-off-by: Takashi Iwai <tiwai at suse.de>

commit 2e9bf247066a293ebcd4672ddd487808ab5f2d1b
Author: Jaroslav Kysela <perex at perex.cz>
Date:   Sat Jul 18 11:48:19 2009 +0200

    ALSA: hda_codec: Check for invalid zero connections
    
    To prevent "Too many connections" message and the error path for some HDMI
    codecs (which makes onboard audio unusable), check for invalid zero
    connections for CONNECT_LIST verb.
    
    Signed-off-by: Jaroslav Kysela <perex at perex.cz>
    Signed-off-by: Takashi Iwai <tiwai at suse.de>

commit 4fbfff76079a5c0e1751b0ddf53160d33f7831e7
Author: Rakib Mullick <rakib.mullick at gmail.com>
Date:   Fri Jul 17 20:13:22 2009 +0600

    virtio_blk: mark virtio_blk with __refdata to kill spurious section mismatch
    
    The variable virtio_blk references the function virtblk_probe() (which
    is in .devinit section) and also references the function
    virtblk_remove() ( which is in .devexit section). So, virtio_blk
    simultaneously refers .devinit and .devexit section. To avoid this
    messup, we mark virtio_blk as __refdata.
    
    We were warned by the following warning:
    
      LD      drivers/block/built-in.o
      WARNING: drivers/block/built-in.o(.data+0xc8dc): Section mismatch in
      reference from the variable virtio_blk to the function
      .devinit.text:virtblk_probe()
      The variable virtio_blk references
      the function __devinit virtblk_probe()
      If the reference is valid then annotate the
      variable with __init* or __refdata (see linux/init.h) or name the variable:
      *driver, *_template, *_timer, *_sht, *_ops, *_probe, *_probe_one, *_console,
    
      WARNING: drivers/block/built-in.o(.data+0xc8e0): Section mismatch in
      reference from the variable virtio_blk to the function
      .devexit.text:virtblk_remove()
      The variable virtio_blk references
      the function __devexit virtblk_remove()
      If the reference is valid then annotate the
      variable with __exit* (see linux/init.h) or name the variable:
      *driver, *_template, *_timer, *_sht, *_ops, *_probe, *_probe_one, *_console,
    
    Signed-off-by: Rakib Mullick <rakib.mullick at gmail.com>
    Signed-off-by: Tejun Heo <tj at kernel.org>

commit 4841158b26e28e1476eed84c7347c18f11317750
Author: Pavel Roskin <proski at gnu.org>
Date:   Sat Jul 18 16:46:02 2009 -0400

    timer: Avoid reading uninitialized data
    
    timer->expires may be uninitialized, so check timer_pending() before
    touching timer->expires to pacify kmemcheck.
    
    Signed-off-by: Pavel Roskin <proski at gnu.org>
    LKML-Reference: <20090718204602.5191.360.stgit at mj.roinet.com>
    Signed-off-by: Thomas Gleixner <tglx at linutronix.de>

commit a7571a5c8887b328c0e036fe8cdb60d56809c120
Merge: 78af08d90b8f745044b1274430bc4bc6b2b27aca 64e8be6ebdb8212898781fff7722ff2b0eb76131
Author: Linus Torvalds <torvalds at linux-foundation.org>
Date:   Sat Jul 18 11:59:33 2009 -0700

    Merge master.kernel.org:/home/rmk/linux-2.6-arm
    
    * master.kernel.org:/home/rmk/linux-2.6-arm:
      ARM: Realview & Versatile: Fix i2c_board_info definitions
      [ARM] 5608/1: Updated U300 defconfig
      [ARM] 5606/1: Fix ep93xx watchdog driver headers
      [ARM] 5594/1: Correct U300 VIC init PM setting
      [ARM] 5595/1: ep93xx: missing header in dma-m2p.c
      [ARM] Kirkwood: Correct header define
      [ARM] pxa: fix ULPI_{DIR,NXT,STP} MFP defines
      backlight: fix pwm_bl.c to notify platform code when suspending
      [ARM] pxa: use kzalloc() in pxa_init_gpio_chip()
      [ARM] pxa: correct I2CPWR clock for pxa3xx
      pxamci: correct DMA flow control
      ARM: add support for the EET board, based on the i.MX31 pcm037 module
      pcm037: add MT9T031 camera support
      Armadillo 500 add NAND flash device support (resend).
      ARM MXC: Armadillo 500 add NOR flash device support (resend).
      mx31: remove duplicated #include

commit 64e8be6ebdb8212898781fff7722ff2b0eb76131
Author: Russell King <rmk at dyn-67.arm.linux.org.uk>
Date:   Sat Jul 18 15:51:55 2009 +0100

    ARM: Realview & Versatile: Fix i2c_board_info definitions
    
    Fix i2c_board_info definitions - we were defining the 'type' field
    of these structures twice since the first argument of I2C_BOARD_INFO
    sets this field.  Move the second definition into I2C_BOARD_INFO().
    
    Signed-off-by: Russell King <rmk+kernel at arm.linux.org.uk>
    Acked-by: Jean Delvare <khali at linux-fr.org>
    Acked-by: Ben Dooks <ben-linux at fluff.org>

commit 6301cb95c119ebf324bb96ee226fa9ddffad80a7
Author: Thomas Gleixner <tglx at linutronix.de>
Date:   Fri Jul 17 14:15:47 2009 +0200

    sched: fix nr_uninterruptible accounting of frozen tasks really
    
    commit e3c8ca8336 (sched: do not count frozen tasks toward load) broke
    the nr_uninterruptible accounting on freeze/thaw. On freeze the task
    is excluded from accounting with a check for (task->flags &
    PF_FROZEN), but that flag is cleared before the task is thawed. So
    while we prevent that the task with state TASK_UNINTERRUPTIBLE
    is accounted to nr_uninterruptible on freeze we decrement
    nr_uninterruptible on thaw.
    
    Use a separate flag which is handled by the freezing task itself. Set
    it before calling the scheduler with TASK_UNINTERRUPTIBLE state and
    clear it after we return from frozen state.
    
    Cc: <stable at kernel.org>
    Signed-off-by: Thomas Gleixner <tglx at linutronix.de>

commit a468d389349a7560249b355cdb6d2097ea1616c9
Author: Thomas Gleixner <tglx at linutronix.de>
Date:   Fri Jul 17 14:15:46 2009 +0200

    sched: fix load average accounting vs. cpu hotplug
    
    The new load average code clears rq->calc_load_active on
    CPU_ONLINE. That's wrong as the new onlined CPU might have got a
    scheduler tick already and accounted the delta to the stale value of
    the time we offlined the CPU.
    
    Clear the value when we cleanup the dead CPU instead.
    
    Also move the update of the calc_load_update time for the newly online
    CPU to CPU_UP_PREPARE to avoid that the CPU plays catch up with the
    stale update time value.
    
    Signed-off-by: Thomas Gleixner <tglx at linutronix.de>

commit 8bcdbe427924a1e4b4e4cf68020e92e9f93fe011
Author: Catalin Marinas <catalin.marinas at arm.com>
Date:   Tue Jul 14 10:52:55 2009 +0100

    x86: Include all of .data.* sections in _edata on 64-bit
    
    The .data.read_mostly and .data.cacheline_aligned sections
    aren't covered by the _sdata .. _edata range on x86-64. This
    affects kmemleak reporting leading to possible false
    positives by not scanning the whole data section.
    
    Signed-off-by: Catalin Marinas <catalin.marinas at arm.com>
    Tested-by: Alexey Fisher <bug-track at fisher-privat.net>
    Acked-by: Sam Ravnborg <sam at ravnborg.org>
    Cc: Pekka Enberg <penberg at cs.helsinki.fi>
    LKML-Reference: <1247565175.28240.37.camel at pc1117.cambridge.arm.com>
    Signed-off-by: Ingo Molnar <mingo at elte.hu>
    Cc: Sam Ravnborg <sam at ravnborg.org>

commit 6aa542a694dc9ea4344a8a590d2628c33d1b9431
Author: Alexey Fisher <bug-track at fisher-privat.net>
Date:   Wed Jul 15 14:16:09 2009 +0200

    x86: Add quirk for Intel DG45ID board to avoid low memory corruption
    
    AMI BIOS with low memory corruption was found on Intel DG45ID
    board (Bug 13710). Add this board to the blacklist - in the
    (somewhat optimistic) hope of future boards/BIOSes from Intel
    not having this bug.
    
    Also see:
    
      http://bugzilla.kernel.org/show_bug.cgi?id=13736
    
    Signed-off-by: Alexey Fisher <bug-track at fisher-privat.net>
    Cc: ykzhao <yakui.zhao at intel.com>
    Cc: alan at lxorguk.ukuu.org.uk
    Cc: <stable at kernel.org>
    LKML-Reference: <1247660169-4503-1-git-send-email-bug-track at fisher-privat.net>
    Signed-off-by: Ingo Molnar <mingo at elte.hu>

commit e5d490b252423605a77c54b2e35b10ea663763df
Author: Mel Gorman <mel at csn.ul.ie>
Date:   Wed Jul 15 12:23:11 2009 +0100

    profile: Suppress warning about large allocations when profile=1 is specified
    
    When profile= is used, a large buffer is allocated early at
    boot. This can be larger than what the page allocator can
    provide so it prints a warning. However, the caller is able to
    handle the situation so this patch suppresses the warning.
    
    Signed-off-by: Mel Gorman <mel at csn.ul.ie>
    Reviewed-by: KOSAKI Motohiro <kosaki.motohiro at jp.fujitsu.com>
    Cc: Linux Memory Management List <linux-mm at kvack.org>
    Cc: Heinz Diehl <htd at fancy-poultry.org>
    Cc: David Miller <davem at davemloft.net>
    Cc: Arnaldo Carvalho de Melo <acme at redhat.com>
    Cc: Mel Gorman <mel at csn.ul.ie>
    Cc: Andrew Morton <akpm at linux-foundation.org>
    LKML-Reference: <1247656992-19846-3-git-send-email-mel at csn.ul.ie>
    Signed-off-by: Ingo Molnar <mingo at elte.hu>

commit 1483b19f8f5e8ad0c8816de368b099322dad4db5
Author: Anton Blanchard <anton at samba.org>
Date:   Thu Jul 16 15:44:29 2009 +0200

    perf_counter: Make call graph option consistent
    
    perf record uses -g for logging call graph data but perf report
    uses -c to print call graph data. Be consistent and use -g
    everywhere for call graph data.
    
    Also update the help text to reflect the current default -
    fractal,0.5
    
    Signed-off-by: Anton Blanchard <anton at samba.org>
    Acked-by: Frederic Weisbecker <fweisbec at gmail.com>
    Signed-off-by: Peter Zijlstra <a.p.zijlstra at chello.nl>
    LKML-Reference: <20090716104817.803604373 at samba.org>
    Signed-off-by: Ingo Molnar <mingo at elte.hu>

commit 4bba828dd9bb950ad1fe340ef148a5436a10f131
Author: Anton Blanchard <anton at samba.org>
Date:   Thu Jul 16 15:44:29 2009 +0200

    perf_counter: Add perf record option to log addresses
    
    Add the -d or --data option to log event addresses (eg page
    faults).
    
    Signed-off-by: Anton Blanchard <anton at samba.org>
    Signed-off-by: Peter Zijlstra <a.p.zijlstra at chello.nl>
    LKML-Reference: <20090716104817.697698033 at samba.org>
    Signed-off-by: Ingo Molnar <mingo at elte.hu>

commit ed900c054b541254f0ce5cedaf75206e29bd614e
Author: Anton Blanchard <anton at samba.org>
Date:   Thu Jul 16 15:44:29 2009 +0200

    perf_counter: Log vfork as a fork event
    
    Right now we don't output vfork events. Even though we should
    always see an exec after a vfork, we may get perfcounter
    samples between the vfork and exec. These samples can lead to
    some confusion when parsing perfcounter data.
    
    To keep things consistent we should always log a fork event. It
    will result in a little more log data, but is less confusing to
    trace parsing tools.
    
    Signed-off-by: Anton Blanchard <anton at samba.org>
    Signed-off-by: Peter Zijlstra <a.p.zijlstra at chello.nl>
    LKML-Reference: <20090716104817.589309391 at samba.org>
    Signed-off-by: Ingo Molnar <mingo at elte.hu>

commit 11b5f81e1b0ea0bc84fe32f0a27054e052b2bf84
Author: Anton Blanchard <anton at samba.org>
Date:   Thu Jul 16 15:44:29 2009 +0200

    perf_counter: Synthesize VDSO mmap event
    
    perf record synthesizes mmap events for the running process.
    Right now it just catches file mappings, but we can check for
    the vdso symbol and add that too.
    
    Signed-off-by: Anton Blanchard <anton at samba.org>
    Signed-off-by: Peter Zijlstra <a.p.zijlstra at chello.nl>
    LKML-Reference: <20090716104817.517264409 at samba.org>
    Signed-off-by: Ingo Molnar <mingo at elte.hu>

commit 413ee3b48ab582ffea33e7e140c7a2c5ea657e9a
Author: Anton Blanchard <anton at samba.org>
Date:   Thu Jul 16 15:15:52 2009 +0200

    perf_counter: Make sure we dont leak kernel memory to userspace
    
    There are a few places we are leaking tiny amounts of kernel
    memory to userspace. This happens when writing out strings
    because we always align the end to 64 bits.
    
    To avoid this we should always use an appropriately sized
    temporary buffer and ensure it is zeroed.
    
    Since d_path assembles the string from the end of the buffer
    backwards, we need to add 64 bits after the buffer to allow for
    alignment.
    
    We also need to copy arch_vma_name to the temporary buffer,
    because if we use it directly we may end up copying to
    userspace a number of bytes after the end of the string
    constant.
    
    Signed-off-by: Anton Blanchard <anton at samba.org>
    Signed-off-by: Peter Zijlstra <a.p.zijlstra at chello.nl>
    LKML-Reference: <20090716104817.273972048 at samba.org>
    Signed-off-by: Ingo Molnar <mingo at elte.hu>

commit 54fdc5816631b43ba55fc3206d7add2d85850bc6
Author: Fabio Checconi <fabio at gandalf.sssup.it>
Date:   Thu Jul 16 12:32:27 2009 +0200

    sched: Account for vruntime wrapping
    
    I spotted two sites that didn't take vruntime wrap-around into
    account. Fix these by creating a comparison helper that does do
    so.
    
    Signed-off-by: Fabio Checconi <fabio at gandalf.sssup.it>
    Signed-off-by: Peter Zijlstra <a.p.zijlstra at chello.nl>
    LKML-Reference: <new-submission>
    Signed-off-by: Ingo Molnar <mingo at elte.hu>

commit 78af08d90b8f745044b1274430bc4bc6b2b27aca
Merge: a1cc1ba7aec1ba41317d227b1fe8d0f8c0cec232 ecca0683230b83e8f830ff157911fad20bc43015
Author: Linus Torvalds <torvalds at linux-foundation.org>
Date:   Fri Jul 17 21:19:50 2009 -0700

    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:
      drm: Move a dereference below a NULL test
      fb/intelfb: conflict with DRM_I915 and hide by default
      drm/ttm: fix misplaced parentheses
      drm/via: Fix vblank IRQ on VIA hardware.
      drm: drm_gem, check kzalloc retval
      drm: drm_debugfs, check kmalloc retval
      drm/radeon: add some missing pci ids

commit 287638b2c533165c3c03dfa15196c2ba583cd287
Merge: f6c43385435640e056424034caac0d765c45e370 a1cc1ba7aec1ba41317d227b1fe8d0f8c0cec232
Author: Steve French <sfrench at us.ibm.com>
Date:   Sat Jul 18 03:13:38 2009 +0000

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

commit ecf763c5677faee04d47333e6ed8e9539a427770
Author: Marek Vasut <marek.vasut at gmail.com>
Date:   Thu Jul 16 19:37:29 2009 +0200

    [ARM] pxa: add STUART MFP config for PalmTX,T5,LD
    
    Signed-off-by: Marek Vasut <marek.vasut at gmail.com>
    Signed-off-by: Eric Miao <eric.y.miao at gmail.com>

commit eb9069119d1c4bc856b4c1339abcad0105691e71
Author: Haojian Zhuang <haojian.zhuang at marvell.com>
Date:   Wed Jul 15 19:47:24 2009 +0800

    [ARM] pxa: fix gpio issue in zylonite
    
    WARNING: at drivers/gpio/gpiolib.c:83 gpio_ensure_requested+0x58/0xbc()
     autorequest GPIO-71
     Modules linked in:
     [<c0028bd0>] (unwind_backtrace+0x0/0xe8) from [<c003c328>] (warn_slowpath_common+0x48/0x78)
     [<c003c328>] (warn_slowpath_common+0x48/0x78) from [<c003c394>] (warn_slowpath_fmt+0x28/0x38)
     [<c003c394>] (warn_slowpath_fmt+0x28/0x38) from [<c0146128>] (gpio_ensure_requested+0x58/0xbc)
     [<c0146128>] (gpio_ensure_requested+0x58/0xbc) from [<c0146308>] (gpio_direction_input+0x80/0xf4)
     [<c0146308>] (gpio_direction_input+0x80/0xf4) from [<c000c668>] (zylonite_pxa300_init+0x108/0x214)
     [<c000c668>] (zylonite_pxa300_init+0x108/0x214) from [<c000c4e4>] (zylonite_init+0x8/0x84)
     [<c000c4e4>] (zylonite_init+0x8/0x84) from [<c00097cc>] (customize_machine+0x18/0x24)
     [<c00097cc>] (customize_machine+0x18/0x24) from [<c00222e0>] (do_one_initcall+0x30/0x1b0)
     [<c00222e0>] (do_one_initcall+0x30/0x1b0) from [<c00083f4>] (kernel_init+0xa4/0x11c)
     [<c00083f4>] (kernel_init+0xa4/0x11c) from [<c0023f3c>] (kernel_thread_exit+0x0/0x8)
     ---[ end trace 1b75b31a2719ed1c ]---
    
    This issue is caused by using gpio pin without request. Add gpio_request()
    into zylonite. To simplify the code, error checking is omitted since this
    is being performed early.
    
    Signed-off-by: Haojian Zhuang <haojian.zhuang at marvell.com>
    Signed-off-by: Eric Miao <eric.y.miao at gmail.com>

commit 04e448d9a386640a79a4aa71251aa1cdd314f662
Author: Tim Abbott <tabbott at ksplice.com>
Date:   Sun Jul 12 18:23:33 2009 -0400

    vmlinux.lds.h: restructure BSS linker script macros
    
    The BSS section macros in vmlinux.lds.h currently place the .sbss
    input section outside the bounds of [__bss_start, __bss_end].  On all
    architectures except for microblaze that handle both .sbss and
    __bss_start/__bss_end, this is wrong: the .sbss input section is
    within the range [__bss_start, __bss_end].  Relatedly, the example
    code at the top of the file actually has __bss_start/__bss_end defined
    twice; I believe the right fix here is to define them in the
    BSS_SECTION macro but not in the BSS macro.
    
    Another problem with the current macros is that several
    architectures have an ALIGN(4) or some other small number just before
    __bss_stop in their linker scripts.  The BSS_SECTION macro currently
    hardcodes this to 4; while it should really be an argument.  It also
    ignores its sbss_align argument; fix that.
    
    mn10300 is the only user at present of any of the macros touched by
    this patch.  It looks like mn10300 actually was incorrectly converted
    to use the new BSS() macro (the alignment of 4 prior to conversion was
    a __bss_stop alignment, but the argument to the BSS macro is a start
    alignment).  So fix this as well.
    
    I'd like acks from Sam and David on this one.  Also CCing Paul, since
    he has a patch from me which will need to be updated to use
    BSS_SECTION(0, PAGE_SIZE, 4) once this gets merged.
    
    Signed-off-by: Tim Abbott <tabbott at ksplice.com>
    Cc: Paul Mundt <lethal at linux-sh.org>
    Cc: David Howells <dhowells at redhat.com>
    Signed-off-by: Sam Ravnborg <sam at ravnborg.org>

commit d0e1e09568507ac771072d97f0781af82c935b3e
Author: Arnaud Lacombe <lacombar at gmail.com>
Date:   Mon Jul 6 00:07:28 2009 -0400

    kconfig: initialize the screen before using curses(3) functions
    
    This is needed on non ncurses based implementation to get a properly
    initialized `stdscr' in main().
    
    Cc: Roman Zippel <zippel at linux-m68k.org>
    Signed-off-by: Sam Ravnborg <sam at ravnborg.org>

commit 668cdedfdb2eb00d8efe127618bead4d46d9e942
Author: Arnaud Lacombe <lacombar at gmail.com>
Date:   Mon Jul 6 00:07:14 2009 -0400

    kconfig: variable argument lists needs `stdarg.h'
    
    Fix build on non GNU based platforms.
    
    Cc: Roman Zippel <zippel at linux-m68k.org>
    Signed-off-by: Sam Ravnborg <sam at ravnborg.org>

commit 241ad11f2d2542723136ffa81cd5db61d590156c
Author: maximilian attems <max at stro.at>
Date:   Sun Jul 5 20:17:34 2009 +0200

    kbuild, deb-pkg: fix install scripts for posix sh
    
    bash versus dash and posh disagree on expanding $@ within double quotes:
    export x="$@"
    see http://bugs.debian.org/381091 for details
    just use the arglist with $*.
    
    dpkg: error processing linux-image-2.6.31-rc1_2.6.31-rc1-18_i386.deb (--install):
     subprocess pre-installation script returned error exit status 2
    export: 6: 2.6.31-rc1-18: bad variable name
    fixes http://bugzilla.kernel.org/show_bug.cgi?id=13567
    
    seen on Ubuntu as there dash is the default sh,
    versus bash on Debian.
    
    Reported-by: Pauli <suokkos at gmail.com>
    Cc: Frans Pop <elendil at planet.nl>
    Signed-off-by: maximilian attems <max at stro.at>
    Acked-By: Andres Salomon <dilinger at collabora.co.uk>

commit a1cc1ba7aec1ba41317d227b1fe8d0f8c0cec232
Merge: 499ee0710f9881423d807c6ecc451c5e1bd5ff62 18282b36d742347abd9a4bc74fe9fd2432a8335b
Author: Linus Torvalds <torvalds at linux-foundation.org>
Date:   Fri Jul 17 11:15:00 2009 -0700

    Merge branch 'release' of git://git.kernel.org/pub/scm/linux/kernel/git/fyu/linux-2.6
    
    * 'release' of git://git.kernel.org/pub/scm/linux/kernel/git/fyu/linux-2.6:
      Revert "Neither asm/types.h nor linux/types.h is required for arch/ia64/include/asm/fpu.h"
      Add dma_debug_init() for ia64
      Fix ia64 compilation IS_ERR and PTE_ERR errors.

commit 499ee0710f9881423d807c6ecc451c5e1bd5ff62
Merge: 8e3b3bb5e5ac064f83a8556100f10b7dfa1c719b 857fdc53a0a90c3ba7fcf5b1fb4c7a62ae03cf82
Author: Linus Torvalds <torvalds at linux-foundation.org>
Date:   Fri Jul 17 10:51:55 2009 -0700

    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:
      x86/pci: insert ioapic resource before assigning unassigned resources

commit 14d87e6c399f3942d63dff41447ff08a615d9a6b
Author: David S. Miller <davem at davemloft.net>
Date:   Fri Jul 17 10:28:19 2009 -0700

    sparc: Fix cleanup crash in bbc_envctrl_cleanup()
    
    If kthread_run() fails or never gets to run we'll have NULL
    or a pointer encoded error in kenvctrld_task, rather than
    a legitimate task pointer.
    
    So this makes bbc_envctrl_cleanup() crash as it passed this
    bogus pointer into kthread_stop().
    
    Reported-by: BERTRAND Joël <joel.bertrand at systella.fr>
    Signed-off-by: David S. Miller <davem at davemloft.net>

commit 673325951ef440ebace311bd542a9378d1b3025b
Author: Ralf Baechle <ralf at linux-mips.org>
Date:   Fri Jul 17 04:47:19 2009 +0000

    Update Andreas Koensgen's email address
    
    The kernel has used a stale email address of Andreas for a few years.
    
    Signed-off-by: Ralf Baechle <ralf at linux-mips.org>
    Signed-off-by: David S. Miller <davem at davemloft.net>

commit 54a8fa62c94d74a8f2d18f99cff95953e5c623b7
Author: Ralf Baechle <ralf at linux-mips.org>
Date:   Fri Jul 17 04:42:28 2009 +0000

    MAINTAINERS entry for STRIP driver
    
    The web server does no longer exist, it's not on archive.org nor does there
    seem to be any mirror.
    
     MAINTAINERS |    1 -
     1 files changed, 0 insertions(+), 1 deletions(-)
    
    Signed-off-by: David S. Miller <davem at davemloft.net>

commit 8e3b3bb5e5ac064f83a8556100f10b7dfa1c719b
Merge: 301d95c4dade09388f94258ee797d2d650dc00b5 15c2ac051c730210b7ef2c93807b576e89e129d2
Author: Linus Torvalds <torvalds at linux-foundation.org>
Date:   Fri Jul 17 08:53:56 2009 -0700

    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:
      ALSA: riptide -  proper handling of pci_register_driver for joystick
      sound: usb-audio: add workaround for Blue Microphones devices
      ALSA: hda_intel: more strict alc880_parse_auto_config dig_nid checking
      ASoC: Fix NULL pointer dereference in __pxa2xx_pcm_hw_free

commit 301d95c4dade09388f94258ee797d2d650dc00b5
Merge: b983d0deb0e28f8880cdea79def575d96a27e603 e79f07e2925b10f09a2621650c16f3d6ea778747
Author: Linus Torvalds <torvalds at linux-foundation.org>
Date:   Fri Jul 17 08:53:41 2009 -0700

    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:
      virtio_net: Sync header with qemu
      virtio-pci: correctly unregister root device on error
      virtio_blk: ioctl return value fix
      virtio_blk: don't bounce highmem requests
      lguest: restrict CPUID to avoid perf counter wrmsr
      lguest: remove unnecessary forward struct declaration
      lguest: fix journey

commit b983d0deb0e28f8880cdea79def575d96a27e603
Merge: ecc2e05e739c30870c8e4f252b63a0c4041f2724 04aef32d39cc4ef80087c0ce8ed113c6d64f1a6b
Author: Linus Torvalds <torvalds at linux-foundation.org>
Date:   Fri Jul 17 08:53:14 2009 -0700

    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/function: Fix the return value of ftrace_trace_onoff_callback()

commit ecc2e05e739c30870c8e4f252b63a0c4041f2724
Author: Alan Cox <alan at linux.intel.com>
Date:   Fri Jul 17 16:17:26 2009 +0100

    tty_port: Fix return on interrupted use
    
    Whoops.. fortunately not many people use this yet.
    
    Signed-off-by: Alan Cox <alan at linux.intel.com>
    Signed-off-by: Linus Torvalds <torvalds at linux-foundation.org>

commit 18282b36d742347abd9a4bc74fe9fd2432a8335b
Author: Aurelien Jarno <aurelien at aurel32.net>
Date:   Fri Jul 17 06:35:05 2009 -0700

    Revert "Neither asm/types.h nor linux/types.h is required for arch/ia64/include/asm/fpu.h"
    
    asm/fpu.h uses the __IA64_UL macro which is declared in asm/types.h, so
    this include is really required. Without it, GNU libc fails to build.
    
    This reverts commit 2678c07b07ac2076675e5d57653bdf02e9af1950.
    
    Signed-off-by: Aurelien Jarno <aurelien at aurel32.net>
    Acked-by: Fenghua Yu <fenghua.yu at intel.com>

commit 390bd132b2831a2ad0268e84bffbfc0680debfe5
Author: fujita <fujita at tulip.osrg.net>
Date:   Thu Jul 9 21:25:05 2009 -0700

    Add dma_debug_init() for ia64
    
    The commit 9916219579d078c80377dd3988c2cc213536d868 was supposed to
    add CONFIG_DMA_API_DEBUG support to IA64 however I forgot to add
    dma_debug_init().
    
    Signed-off-by: fujita <fujita at tulip.osrg.net>
    Acked-by: Fenghua Yu <fenghua.yu at intel.com>

commit 6f409461210baf76ade1bfdd9470fd5b98378b36
Author: Fenghua Yu <fenghua.yu at intel.com>
Date:   Thu Jul 9 21:23:39 2009 -0700

    Fix ia64 compilation IS_ERR and PTE_ERR errors.
    
    When building ia64 kernel with CONFIG_XEN_SYS_HYPERVISOR, compiler reports
    errors:
    
    drivers/xen/sys-hypervisor.c: In function ‘uuid_show’:
    drivers/xen/sys-hypervisor.c:125: error: implicit declaration of function ‘IS_ERR’
    drivers/xen/sys-hypervisor.c:126: error: implicit declaration of function ‘PTR_ERR’
    
    This patch fixes the errors.
    
    Signed-off-by: Fenghua Yu <fenghua.yu at intel.com>
    Acked-by: Isaku Yamahata <yamahata at valinux.co.jp>

commit d740d347f856f0fd8baf2f63d8daa600ed135bfd
Author: Linus Walleij <linus.walleij at stericsson.com>
Date:   Thu Jul 16 22:40:26 2009 +0100

    [ARM] 5608/1: Updated U300 defconfig
    
    Removed the LBD support that isn't of any use right now at least,
    then remove remnants of the TCM config flags that somehow crept
    in by mistake (not yet merged patch for 2.6.32) and then the usual
    defconfig noise from updated menus.
    
    Signed-off-by: Linus Walleij <linus.walleij at stericsson.com>
    Signed-off-by: Russell King <rmk+kernel at arm.linux.org.uk>

commit 2653d1d7f0284f3b68f25dafa208d0a013f7e9db
Author: Ryan Mallon <ryan at bluewatersys.com>
Date:   Wed Jul 15 21:33:22 2009 +0100

    [ARM] 5606/1: Fix ep93xx watchdog driver headers
    
    Fix a number of build errors in the ep93xx watchdog driver due
    to missing io.h
    
    Signed-off-by: Ryan Mallon <ryan at bluewatersys.com>
    Acked-by: H Hartley Sweeten <hsweeten at visionengravers.com>
    Signed-off-by: Russell King <rmk+kernel at arm.linux.org.uk>

commit e79f07e2925b10f09a2621650c16f3d6ea778747
Author: Alex Williamson <alex.williamson at hp.com>
Date:   Tue Jul 7 08:47:10 2009 -0600

    virtio_net: Sync header with qemu
    
    Qemu added support for a few extra RX modes that Linux doesn't
    currently make use of.  Sync the headers to maintain consistency.
    
    Signed-off-by: Alex Williamson <alex.williamson at hp.com>
    Signed-off-by: Rusty Russell <rusty at rustcorp.com.au>

commit 4b892e6582e3a4fe01f623aea386907270d5bf83
Author: Mark McLoughlin <markmc at redhat.com>
Date:   Tue Jul 7 08:26:45 2009 +0100

    virtio-pci: correctly unregister root device on error
    
    If pci_register_driver() fails we're incorrectly unregistering the root
    device with device_unregister() rather than root_device_unregister().
    
    Reported-by: Don Zickus <dzickus at redhat.com>
    Signed-off-by: Mark McLoughlin <markmc at redhat.com>
    Signed-off-by: Rusty Russell <rusty at rustcorp.com.au>

commit d9ecdea7ed7467db32ec160f4eca46c279255606
Author: Christoph Hellwig <hch at lst.de>
Date:   Sat Jun 20 21:29:41 2009 +0200

    virtio_blk: ioctl return value fix
    
    Block driver ioctl methods must return ENOTTY and not -ENOIOCTLCMD if
    they expect the block layer to handle generic ioctls.
    
    This triggered a BLKROSET failure in xfsqa #200.
    
    Signed-off-by: Christoph Hellwig <hch at lst.de>
    Signed-off-by: Rusty Russell <rusty at rustcorp.com.au>

commit 4eff3cae9c9809720c636e64bc72f212258e0bd5
Author: Christoph Hellwig <hch at lst.de>
Date:   Fri Jul 17 21:47:45 2009 -0600

    virtio_blk: don't bounce highmem requests
    
    By default a block driver bounces highmem requests, but virtio-blk is
    perfectly fine with any request that fit into it's 64 bit addressing scheme,
    mapped in the kernel virtual space or not.
    
    Besides improving performance on highmem systems this also makes the
    reproducible oops in __bounce_end_io go away (but hiding the real cause).
    
    Signed-off-by: Christoph Hellwig <hch at lst.de>
    Signed-off-by: Rusty Russell <rusty at rustcorp.com.au>

commit 7a5049205f7265620c48781814155f2763e70abb
Author: Rusty Russell <rusty at rustcorp.com.au>
Date:   Fri Jul 17 21:47:44 2009 -0600

    lguest: restrict CPUID to avoid perf counter wrmsr
    
    Avoid the following:
    [    0.012093] WARNING: at arch/x86/kernel/apic/apic.c:249 native_apic_write_dummy+0x2f/0x40()
    
    Rather than chase each new cpuid-detected feature, just lie about the highest
    valid CPUID so this code is never run.
    
    Signed-off-by: Rusty Russell <rusty at rustcorp.com.au>

commit 27de22d03d6808a82bbe9bd7e3cc75d60132ba9e
Author: Davide Libenzi <davidel at xmailserver.org>
Date:   Fri Jul 17 21:47:44 2009 -0600

    lguest: remove unnecessary forward struct declaration
    
    While fixing lg.h to drop the fwd declaration, I noticed
    there's another one ;)
    
    Signed-off-by: Rusty Russell <rusty at rustcorp.com.au>

commit 5780888bcac316508eb5f4dd23bbea8b5057647c
Author: Matias Zabaljauregui <zabaljauregui at gmail.com>
Date:   Thu Jun 18 11:44:06 2009 -0300

    lguest: fix journey
    
    fix: "make Guest" was complaining about duplicated G:032
    
    Signed-off-by: Matias Zabaljauregui <zabaljauregui at gmail.com>
    Signed-off-by: Rusty Russell <rusty at rustcorp.com.au>

commit 9cb308ce8d32a1fb3600acab6034e19a90228743
Author: Xiaotian Feng <dfeng at redhat.com>
Date:   Fri Jul 17 15:26:26 2009 +0800

    block: sysfs fix mismatched queue_var_{store,show} in 64bit kernel
    
    In blk-sysfs.c, queue_var_store uses unsigned long to store data,
    but queue_var_show uses unsigned int to show data.  This causes,
    
    	# echo 70000000000 > /sys/block/<dev>/queue/read_ahead_kb
    	# cat /sys/block/<dev>/queue/read_ahead_kb => get wrong value
    
    Fix it by using unsigned long.
    
    While at it, convert queue_rq_affinity_show() such that it uses bool
    variable instead of explicit != 0 testing.
    
    Signed-off-by: Xiaotian Feng <dfeng at redhat.com>
    Signed-off-by: Tejun Heo <tj at kernel.org>

commit 8f47428704c2fd6f787a6f340071b9c338b65803
Author: Julia Lawall <julia at diku.dk>
Date:   Mon Jul 13 22:43:41 2009 +0200

    ataflop: adjust NULL test
    
    dtp is derefenced on the lines above the test !dtp, and so it cannot be
    NULL at this point.
    
    A simplified version of the semantic match that finds this problem is as
    follows: (http://www.emn.fr/x-info/coccinelle/)
    
    // <smpl>
    @r@
    expression x,E,E1;
    identifier f,l;
    position p1,p2;
    @@
    
    *x at p1->f = E1;
    ... when != x = E
        when != goto l;
    (
    *x at p2 == NULL
    |
    *x at p2 != NULL
    )
    // </smpl>
    
    Signed-off-by: Julia Lawall <julia at diku.dk>
    Signed-off-by: Tejun Heo <tj at kernel.org>

commit 0a09f4319c6d88c732ed46735f8584bbb95cac65
Author: Tejun Heo <tj at kernel.org>
Date:   Thu Jul 16 15:26:55 2009 +0900

    block: fix failfast merge testing in elv_rq_merge_ok()
    
    Commit ab0fd1debe730ec9998678a0c53caefbd121ed10 tries to prevent merge
    of requests with different failfast settings.  In elv_rq_merge_ok(),
    it compares new bio's failfast flags against the merge target
    request's.  However, the flag testing accessors for bio and blk don't
    return boolean but the tested bit value directly and FAILFAST on bio
    and blk don't match, so directly comparing them with == results in
    false negative unnecessary preventing merge of readahead requests.
    
    This patch convert the results to boolean by negating them before
    comparison.
    
    Signed-off-by: Tejun Heo <tj at kernel.org>
    Cc: Jens Axboe <jens.axboe at oracle.com>
    Cc: Boaz Harrosh <bharrosh at panasas.com>
    Cc: FUJITA Tomonori <fujita.tomonori at lab.ntt.co.jp>
    Cc: James Bottomley <James.Bottomley at HansenPartnership.com>
    Cc: Jeff Garzik <jeff at garzik.org>

commit 04aef32d39cc4ef80087c0ce8ed113c6d64f1a6b
Author: Xiao Guangrong <xiaoguangrong at cn.fujitsu.com>
Date:   Wed Jul 15 12:29:06 2009 +0800

    tracing/function: Fix the return value of ftrace_trace_onoff_callback()
    
    ftrace_trace_onoff_callback() will return an error even if we do the
    right operation, for example:
    
     # echo _spin_*:traceon:10 > set_ftrace_filter
     -bash: echo: write error: Invalid argument
     # cat set_ftrace_filter
     #### all functions enabled ####
     _spin_trylock_bh:traceon:count=10
     _spin_unlock_irq:traceon:count=10
     _spin_unlock_bh:traceon:count=10
     _spin_lock_irq:traceon:count=10
     _spin_unlock:traceon:count=10
     _spin_trylock:traceon:count=10
     _spin_unlock_irqrestore:traceon:count=10
     _spin_lock_irqsave:traceon:count=10
     _spin_lock_bh:traceon:count=10
     _spin_lock:traceon:count=10
    
    We want to set _spin_*:traceon:10 to set_ftrace_filter, it complains
    with "Invalid argument", but the operation is successful.
    
    This is because ftrace_process_regex() returns the number of functions that
    matched the pattern. If the number is not 0, this value is returned
    by ftrace_regex_write() whereas we want to return the number of bytes
    virtually written.
    Also the file offset pointer is not updated in this case.
    
    If the number of matched functions is lower than the number of bytes written
    by the user, this results to a reprocessing of the string given by the user with
    a lower size, leading to a malformed ftrace regex and then a -EINVAL returned.
    
    So, this patch fixes it by returning 0 if no error occured.
    The fix also applies on 2.6.30
    
    Signed-off-by: Xiao Guangrong <xiaoguangrong at cn.fujitsu.com>
    Reviewed-by: Li Zefan <lizf at cn.fujitsu.com>
    Cc: stable at kernel.org
    Signed-off-by: Frederic Weisbecker <fweisbec at gmail.com>

commit 7fefe6a88494b00b151b5ca7bb84daaa781bbca7
Author: Vincent CUISSARD <vincent.cuissard at gmail.com>
Date:   Thu Jul 16 06:08:58 2009 +0000

    cdc-eem: bad crc checking
    
    When the driver received an EEM packet with CRC option enabled, driver must
    compute and check the CRC of the Ethernet data. Previous version computes CRC
    on Ethernet data plus the original CRC value. Skbuff is correctly trimed but
    the old length is used when CRC is computed.
    
    Signed-off-by: Vincent CUISSARD <vincent.cuissard at gmail.com>
    Signed-off-by: David S. Miller <davem at davemloft.net>

commit 869f1c54e9aecde1dfd4349832ce9415a596be8e
Author: Lucy Liu <lucy.liu at intel.com>
Date:   Thu Jul 16 13:43:31 2009 +0000

    ixgbe: Remove DPRINTK messages in DCB mode
    
    Remove debug DPRINTK in DCB mode netlink interface.
    
    Signed-off-by: Lucy Liu <lucy.liu at intel.com>
    Acked-by: Peter P Waskiewicz Jr <peter.p.waskiewicz.jr at intel.com>
    Signed-off-by: Jeff Kirsher <jeffrey.t.kirsher at intel.com>
    Signed-off-by: David S. Miller <davem at davemloft.net>

commit 86e713a06ab3e5b15a3189485ce33aa21b9e52ca
Author: Lucy Liu <lucy.liu at intel.com>
Date:   Thu Jul 16 13:43:10 2009 +0000

    ixgbe: clear mac address data block in DCB mode
    
    This change clears the address data block memory space, which is needed for
    the 82598 which does not have a SAN MAC.
    
    Signed-off-by: Lucy Liu <lucy.liu at intel.com>
    Acked-by: Peter P Waskiewicz Jr <peter.p.waskiewicz.jr at intel.com>
    Signed-off-by: Jeff Kirsher <jeffrey.t.kirsher at intel.com>
    Signed-off-by: David S. Miller <davem at davemloft.net>

commit 3d1454dd93e84ad1394b6b1646f13795e9f6928e
Author: Stephen Hemminger <shemminger at vyatta.com>
Date:   Thu Jul 16 13:20:57 2009 +0000

    sky2: revert shutdown changes
    
    The commit changes to shutdown path broke startup on some systems.
    
    revert commit c0bad0f2e4366d5bbfe0c4a7a80bca8f4b05272b
    
    Signed-off-by: Stephen Hemminger <shemminger at vyatta.com>
    Signed-off-by: David S. Miller <davem at davemloft.net>

commit 4dc6dc7162c08b9965163c9ab3f9375d4adff2c7
Author: Eric Dumazet <eric.dumazet at gmail.com>
Date:   Wed Jul 15 23:13:10 2009 +0000

    net: sock_copy() fixes
    
    Commit e912b1142be8f1e2c71c71001dc992c6e5eb2ec1
    (net: sk_prot_alloc() should not blindly overwrite memory)
    took care of not zeroing whole new socket at allocation time.
    
    sock_copy() is another spot where we should be very careful.
    We should not set refcnt to a non null value, until
    we are sure other fields are correctly setup, or
    a lockless reader could catch this socket by mistake,
    while not fully (re)initialized.
    
    This patch puts sk_node & sk_refcnt to the very beginning
    of struct sock to ease sock_copy() & sk_prot_alloc() job.
    
    We add appropriate smp_wmb() before sk_refcnt initializations
    to match our RCU requirements (changes to sock keys should
    be committed to memory before sk_refcnt setting)
    
    Signed-off-by: Eric Dumazet <eric.dumazet at gmail.com>
    Signed-off-by: David S. Miller <davem at davemloft.net>

commit 303d67c288319768b19ed8dbed429fef7eb7c275
Author: Krzysztof Halasa <khc at pm.waw.pl>
Date:   Tue Jul 14 11:01:54 2009 +0000

    E100: work around the driver using streaming DMA mapping for RX descriptors.
    
    E100 places it's RX packet descriptors inside skb->data and uses them
    with bidirectional streaming DMA mapping. Unfortunately it fails to
    transfer skb->data ownership to the device after it reads the
    descriptor's status, breaking on non-coherent (e.g., ARM) platforms.
    
    This have to be converted to use coherent memory for the descriptors.
    
    Signed-off-by: Krzysztof Halasa <khc at pm.waw.pl>
    Acked-by: Jeff Kirsher <jeffrey.t.kirsher at intel.com>
    Signed-off-by: David S. Miller <davem at davemloft.net>

commit e36b9d16c6a6d0f59803b3ef04ff3c22c3844c10
Author: Moni Shoua <monis at Voltaire.COM>
Date:   Wed Jul 15 04:56:31 2009 +0000

    bonding: clean muticast addresses when device changes type
    
    Bonding device forbids slave device of different types under the same
    master.
    
    However, it is possible for a bonding master to change type during its
    lifetime.  This can be either from ARPHRD_ETHER to ARPHRD_INFINIBAND
    or the other way arround.  The change of type requires device level
    multicast address cleanup because device level multicast addresses
    depend on the device type.
    
    The patch adds a call to dev_close() before the bonding master changes
    type and dev_open() just after that.
    
    In the example below I enslaved an IPoIB device (ib0) under
    bond0. Since each bonding master starts as device of type ARPHRD_ETHER
    by default, a change of type occurs when ib0 is enslaved.
    
    This is how /proc/net/dev_mcast looks like without the patch
    
    5    bond0           1     0     00ffffffff12601bffff000000000001ff96ca05
    5    bond0           1     0     01005e000116
    5    bond0           1     0     01005e7ffffd
    5    bond0           1     0     01005e000001
    5    bond0           1     0     333300000001
    6    ib0             1     0     00ffffffff12601bffff000000000001ff96ca05
    6    ib0             1     0     333300000001
    6    ib0             1     0     01005e000001
    6    ib0             1     0     01005e7ffffd
    6    ib0             1     0     01005e000116
    6    ib0             1     0     00ffffffff12401bffff00000000000000000001
    6    ib0             1     0     00ffffffff12601bffff00000000000000000001
    
    and this is how it looks like after the patch.
    
    5    bond0           1     0     00ffffffff12601bffff000000000001ff96ca05
    5    bond0           1     0     00ffffffff12601bffff00000000000000000001
    5    bond0           1     0     00ffffffff12401bffff0000000000000ffffffd
    5    bond0           1     0     00ffffffff12401bffff00000000000000000116
    5    bond0           1     0     00ffffffff12401bffff00000000000000000001
    6    ib0             1     0     00ffffffff12601bffff000000000001ff96ca05
    6    ib0             1     0     00ffffffff12401bffff00000000000000000116
    6    ib0             1     0     00ffffffff12401bffff0000000000000ffffffd
    6    ib0             2     0     00ffffffff12401bffff00000000000000000001
    6    ib0             2     0     00ffffffff12601bffff00000000000000000001
    
    Signed-off-by: Moni Shoua <monis at voltaire.com>
    Signed-off-by: Jay Vosburgh <fubar at us.ibm.com>
    Signed-off-by: David S. Miller <davem at davemloft.net>

commit 37b76c697f4ac082e9923dfa8e8aecc8bc54a8e1
Author: roel kluin <roel.kluin at gmail.com>
Date:   Sun Jul 12 12:57:38 2009 +0000

    atl1c: misplaced parenthesis
    
    Fix misplaced parenthesis
    
    Signed-off-by: Roel Kluin <roel.kluin at gmail.com>
    Signed-off-by: David S. Miller <davem at davemloft.net>

commit c5ad4f592e27d782faea0a787d9181f192a69ef0
Author: roel kluin <roel.kluin at gmail.com>
Date:   Sun Jul 12 11:40:34 2009 +0000

    atl1c: add missing parentheses
    
    Parentheses are required or the comparison occurs before the bitand.
    
    Signed-off-by: Roel Kluin <roel.kluin at gmail.com>
    Signed-off-by: David S. Miller <davem at davemloft.net>

commit 95aa1fe4abfc8d75dcd110bb285b09740214d053
Merge: b13bb2e9933b9dfa25c81d959d847c843481111e 941297f443f871b8c3372feccf27a8733f6ce9e9
Author: David S. Miller <davem at davemloft.net>
Date:   Thu Jul 16 17:34:50 2009 -0700

    Merge branch 'master' of git://git.kernel.org/pub/scm/linux/kernel/git/kaber/nf-2.6

commit 2a2430f4542467502d39660bfd66b0004fd8d6a9
Author: Jesse Barnes <jbarnes at virtuousgeek.org>
Date:   Thu Jul 16 13:01:02 2009 -0700

    drm/i915: correct self-refresh calculation in "everything off" case
    
    If no planes are enabled, the self-refresh calculation may end up doing
    a divide by zero.  This patch should prevent that by making sure at
    least one of the CRTCs had a valid hdisplay value.
    
    Reported-by: Eric Anholt <eric at anholt.net>
    Tested-by: Eric Anholt <eric at anholt.net>
    Signed-off-by: Jesse Barnes <jbarnes at virtuousgeek.org>
    Signed-off-by: Eric Anholt <eric at anholt.net>

commit 390c4dd448b1a5f04ea497c20f5ff664f8eeed01
Author: Jesse Barnes <jbarnes at virtuousgeek.org>
Date:   Thu Jul 16 13:01:01 2009 -0700

    drm/i915: handle FIFO oversubsription correctly
    
    If you're pushing a plane hard (i.e. you need most or all of the FIFO
    entries just to cover your frame refresh latency), the watermark level
    may end up being negative.  So fix up the signed vs. unsigned math in
    the calculation function to handle this correctly, giving all available
    FIFO entries to such a configuration.
    
    Reported-by: Eric Anholt <eric at anholt.net>
    Tested-by: Eric Anholt <eric at anholt.net>
    Signed-off-by: Jesse Barnes <jbarnes at virtuousgeek.org>
    Signed-off-by: Eric Anholt <eric at anholt.net>

commit 6843f405da9d0adf734d8f695311e29cc92a220c
Author: Mike Frysinger <vapier at gentoo.org>
Date:   Thu Jul 16 13:53:37 2009 -0400

    Blackfin: define HARDIRQ_BITS again for now
    
    The default values of HARDIRQ_BITS and PREEMPT_BITS in common code leads to
    build failure:
    
    In file included from include/linux/interrupt.h:12,
                    from include/linux/kernel_stat.h:8,
                    from arch/blackfin/kernel/asm-offsets.c:32:
    include/linux/hardirq.h:66:2: error: #error PREEMPT_ACTIVE is too low!
    
    So until that gets resolved, just declare our own default value again.
    
    Signed-off-by: Mike Frysinger <vapier at gentoo.org>

commit 5381837f125cc62ad703fbcdfcd7566fc81fd404
Author: Tom Peng <tom_peng at usish.com>
Date:   Wed Jul 1 20:37:26 2009 +0800

    [SCSI] libsas: reuse the original port when hotplugging phys in wide ports
    
    There's a hotplug problem in the way libsas allocates ports: it loops over the
    available ports first trying to add to an existing for a wide port and
    otherwise allocating the next free port.  This scheme only works if the port
    array is packed from zero, which fails if a port gets hot unplugged and the
    array becomes sparse.  In that case, a new port is formed even if there's a
    wide port it should be part of.  Fix this by creating two loops over all the
    ports:  the first to see if the phy should be part of a wide port and the
    second to form a new port in an empty port slot.
    
    Signed-off-by: Tom Peng <tom_peng at usish.com>
    Signed-off-by: Jack Wang <jack_wang at usish.com>
    Signed-off-by: Lindar Liu <lindar_liu at usish.com>
    Cc: Stable Tree <stable at kernel.org>
    Signed-off-by: James Bottomley <James.Bottomley at HansenPartnership.com>

commit 4b0a84043e0c14088958fddb62f416d050368011
Merge: 63f7a330014ad29b662638caabd8e96fe945b9ed d07387b490b1c43bfcb9f3900faf96f2dafb2630
Author: Linus Torvalds <torvalds at linux-foundation.org>
Date:   Thu Jul 16 10:18:29 2009 -0700

    Merge branch 'sched-fixes-for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/peterz/linux-2.6-sched
    
    * 'sched-fixes-for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/peterz/linux-2.6-sched:
      sched: Fix bug in SCHED_IDLE interaction with group scheduling
      sched: Fix rt_rq->pushable_tasks initialization in init_rt_rq()
      sched: Reset sched stats on fork()
      sched_rt: Fix overload bug on rt group scheduling
      sched: Documentation/sched-rt-group: Fix style issues & bump version

commit 63f7a330014ad29b662638caabd8e96fe945b9ed
Merge: a132ebcb454568cc06fbdf3a5629eb9d64c9d578 f9f868dbcca961ed62f1df1d114abd0c38c47dce
Author: Linus Torvalds <torvalds at linux-foundation.org>
Date:   Thu Jul 16 10:07:37 2009 -0700

    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:
      timer stats: fix quick check optimization

commit a132ebcb454568cc06fbdf3a5629eb9d64c9d578
Merge: 807708844979ba8c6d5717345a8608454992696d 0115cb544b0a6709e9cf3de615e150d22e7d9d10
Author: Linus Torvalds <torvalds at linux-foundation.org>
Date:   Thu Jul 16 10:05:34 2009 -0700

    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: Fix another bug in move of altivec code to vector.S
      powerpc: Fix booke user_disable_single_step()

commit 807708844979ba8c6d5717345a8608454992696d
Author: Alan Cox <alan at linux.intel.com>
Date:   Thu Jul 16 16:07:03 2009 +0100

    n_tty: Fix echo race
    
    If a tty in N_TTY mode with echo enabled manages to get itself into a state
    where
    	- echo characters are pending
    	- FASYNC is enabled
    	- tty_write_wakeup is called from either
    		- a device write path (pty)
    		- an IRQ (serial)
    
    then it either deadlocks or explodes taking a mutex in the IRQ path.
    
    On the serial side it is almost impossible to reproduce because you have to
    go from a full serial port to a near empty one with echo characters
    pending. The pty case happens to have become possible to trigger using
    emacs and ptys, the pty changes having created a scenario which shows up
    this bug.
    
    The code path is
    
    	n_tty:process_echoes() (takes mutex)
    	tty_io:tty_put_char()
    	pty:pty_write  (or serial paths)
    	tty_wakeup     (from pty_write or serial IRQ)
    	n_tty_write_wakeup()
    	process_echoes()
    	*KABOOM*
    
    Signed-off-by: Alan Cox <alan at linux.intel.com>
    Signed-off-by: Linus Torvalds <torvalds at linux-foundation.org>

commit 9237a81a1468d0aca1cc4e244bba2362d6f81b35
Author: Jiri Slaby <jirislaby at gmail.com>
Date:   Thu Jul 16 16:06:18 2009 +0100

    tty: nozomi, fix tty refcounting bug
    
    Don't forget to drop a tty refererence on fail paths in
    receive_data().
    
    Signed-off-by: Jiri Slaby <jirislaby at gmail.com>
    Signed-off-by: Alan Cox <alan at linux.intel.com>
    Signed-off-by: Linus Torvalds <torvalds at linux-foundation.org>

commit 5c9228f0cfb09a098a8a380116b42ae099e967b6
Author: Johannes Weiner <hannes at cmpxchg.org>
Date:   Thu Jul 16 16:06:09 2009 +0100

    vt: drop bootmem/slab memory distinction
    
    Bootmem is not used for the vt screen buffer anymore as slab is now
    available at the time the console is initialized.
    
    Get rid of the now superfluous distinction between slab and bootmem,
    it's always slab.
    
    This also fixes a kmalloc leak which Catalin described thusly:
    
    Commit a5f4f52e ("vt: use kzalloc() instead of the bootmem allocator")
    replaced the alloc_bootmem() with kzalloc() but didn't set vc_kmalloced to
    1 and the memory block is later leaked.  The corresponding kmemleak trace:
    
    unreferenced object 0xdf828000 (size 8192):
      comm "swapper", pid 0, jiffies 4294937296
      backtrace:
        [<c006d473>] __save_stack_trace+0x17/0x1c
        [<c000d869>] log_early+0x55/0x84
        [<c01cfa4b>] kmemleak_alloc+0x33/0x3c
        [<c006c013>] __kmalloc+0xd7/0xe4
        [<c00108c7>] con_init+0xbf/0x1b8
        [<c0010149>] console_init+0x11/0x20
        [<c0008797>] start_kernel+0x137/0x1e4
    
    Signed-off-by: Johannes Weiner <hannes at cmpxchg.org>
    Reviewed-by: Pekka Enberg <penberg at cs.helsinki.fi>
    Tested-by: Catalin Marinas <catalin.marinas at arm.com>
    Signed-off-by: Andrew Morton <akpm at linux-foundation.org>
    Signed-off-by: Alan Cox <alan at lxorguk.ukuu.org.uk>
    Signed-off-by: Linus Torvalds <torvalds at linux-foundation.org>

commit ff5392d77bbb0746d1a034e955231f03ffc30b61
Author: Andrew Morton <akpm at linux-foundation.org>
Date:   Thu Jul 16 16:05:53 2009 +0100

    drivers/serial/bfin_sport_uart.c: remove wrong and unneeded memset
    
    dcb314 at hotmail.com notes that this memset has its args reversed.
    
    It's unneeded anyway, so remove it.
    
    Addresses http://bugzilla.kernel.org/show_bug.cgi?id=13587
    
    Signed-off-by: Andrew Morton <akpm at linux-foundation.org>
    Signed-off-by: Alan Cox <alan at lxorguk.ukuu.org.uk>
    Signed-off-by: Linus Torvalds <torvalds at linux-foundation.org>

commit 8f4256b22c554f713ffdd395c1f2bfd53746cfc9
Author: Uwe Kleine-König <u.kleine-koenig at pengutronix.de>
Date:   Thu Jul 16 16:05:43 2009 +0100

    serial: don't add msm_serial's probe function to the driver struct
    
    msm_serial_driver is registered using platform_driver_probe which takes
    care for the probe function itself.  So don't pass it in the driver
    struct, too.
    
    Signed-off-by: Uwe Kleine-König <u.kleine-koenig at pengutronix.de>
    Signed-off-by: Alan Cox <alan at linux.intel.com>
    Signed-off-by: Linus Torvalds <torvalds at linux-foundation.org>

commit c8d50041734534e0a4b0ea13df36ed5857fccd56
Author: Alan Cox <alan at linux.intel.com>
Date:   Thu Jul 16 16:05:08 2009 +0100

    tty: fix close/hangup race
    
    We can get a situation where a hangup occurs during or after a close. In
    that case the ldisc gets disposed of by the close and the hangup then
    explodes.
    
    Signed-off-by: Alan Cox <alan at linux.intel.com>
    Signed-off-by: Linus Torvalds <torvalds at linux-foundation.org>

commit a3ca86aea507904148870946d599e07a340b39bf
Author: Eugene Teo <eteo at redhat.com>
Date:   Wed Jul 15 14:59:10 2009 +0800

    Add '-fno-delete-null-pointer-checks' to gcc CFLAGS
    
    Turning on this flag could prevent the compiler from optimising away
    some "useless" checks for null pointers.  Such bugs can sometimes become
    exploitable at compile time because of the -O2 optimisation.
    
    See http://gcc.gnu.org/onlinedocs/gcc-4.1.2/gcc/Optimize-Options.html
    
    An example that clearly shows this 'problem' is commit 6bf67672.
    
     static void __devexit agnx_pci_remove(struct pci_dev *pdev)
     {
         struct ieee80211_hw *dev = pci_get_drvdata(pdev);
    -    struct agnx_priv *priv = dev->priv;
    +    struct agnx_priv *priv;
         AGNX_TRACE;
    
         if (!dev)
             return;
    +    priv = dev->priv;
    
    By reverting this patch, and compile it with and without
    -fno-delete-null-pointer-checks flag, we can see that the check for dev
    is compiled away.
    
        call    printk  #
    -   testq   %r12, %r12  # dev
    -   je  .L94    #,
        movq    %r12, %rdi  # dev,
    
    Clearly the 'fix' is to stop using dev before it is tested, but building
    with -fno-delete-null-pointer-checks flag at least makes it harder to
    abuse.
    
    Signed-off-by: Eugene Teo <eugeneteo at kernel.sg>
    Acked-by: Eric Paris <eparis at redhat.com>
    Acked-by: Wang Cong <amwang at redhat.com>
    Signed-off-by: Linus Torvalds <torvalds at linux-foundation.org>

commit 4a21b8cb3550f19f838f7c48345fbbf6a0e8536b
Author: Linus Torvalds <torvalds at linux-foundation.org>
Date:   Thu Jul 16 09:14:23 2009 -0700

    Revert "ppp: Fix throttling bugs"
    
    This reverts commit a6540f731d506d9e82444cf0020e716613d4c46c, as
    requested by Alan:
    
      "... as it was wrong, the pty code is now fixed and the fact this
       isn't reverted is breaking pptp setups."
    
    Requested-by: Alan Cox <alan at lxorguk.ukuu.org.uk>
    Signed-off-by: Linus Torvalds <torvalds at linux-foundation.org>

commit 15c2ac051c730210b7ef2c93807b576e89e129d2
Merge: 9d79b136910de2cf9e4f0e37c3048c0fc7d9eab3 8886f33f25083a47d5fa24ad7b57bb708c5c5403
Author: Takashi Iwai <tiwai at suse.de>
Date:   Thu Jul 16 16:35:50 2009 +0200

    Merge branch 'fix/usb-audio' into for-linus
    
    * fix/usb-audio:
      sound: usb-audio: add workaround for Blue Microphones devices

commit 9d79b136910de2cf9e4f0e37c3048c0fc7d9eab3
Merge: 26887793b64ae93342c1e2548595d4c6f7dce694 cb65c8732a50f8a145d36dbdac026a1789ad1587
Author: Takashi Iwai <tiwai at suse.de>
Date:   Thu Jul 16 16:35:48 2009 +0200

    Merge branch 'fix/misc' into for-linus
    
    * fix/misc:
      ALSA: riptide -  proper handling of pci_register_driver for joystick

commit 26887793b64ae93342c1e2548595d4c6f7dce694
Merge: 9d5b28d530000aa5a256046f0dd42a3787687cc9 9d30937accf2c01e8b0bd59787409a7348cbbcb7
Author: Takashi Iwai <tiwai at suse.de>
Date:   Thu Jul 16 16:35:47 2009 +0200

    Merge branch 'fix/hda' into for-linus
    
    * fix/hda:
      ALSA: hda_intel: more strict alc880_parse_auto_config dig_nid checking

commit 9d5b28d530000aa5a256046f0dd42a3787687cc9
Merge: 6847e154e3cd74fca6084124c097980a7634285a b7d4de7ff03085fda8310b2983b907166dd40f43
Author: Takashi Iwai <tiwai at suse.de>
Date:   Thu Jul 16 16:35:46 2009 +0200

    Merge branch 'fix/asoc' into for-linus
    
    * fix/asoc:
      ASoC: Fix NULL pointer dereference in __pxa2xx_pcm_hw_free

commit 941297f443f871b8c3372feccf27a8733f6ce9e9
Author: Eric Dumazet <eric.dumazet at gmail.com>
Date:   Thu Jul 16 14:03:40 2009 +0200

    netfilter: nf_conntrack: nf_conntrack_alloc() fixes
    
    When a slab cache uses SLAB_DESTROY_BY_RCU, we must be careful when allocating
    objects, since slab allocator could give a freed object still used by lockless
    readers.
    
    In particular, nf_conntrack RCU lookups rely on ct->tuplehash[xxx].hnnode.next
    being always valid (ie containing a valid 'nulls' value, or a valid pointer to next
    object in hash chain.)
    
    kmem_cache_zalloc() setups object with NULL values, but a NULL value is not valid
    for ct->tuplehash[xxx].hnnode.next.
    
    Fix is to call kmem_cache_alloc() and do the zeroing ourself.
    
    As spotted by Patrick, we also need to make sure lookup keys are committed to
    memory before setting refcount to 1, or a lockless reader could get a reference
    on the old version of the object. Its key re-check could then pass the barrier.
    
    Signed-off-by: Eric Dumazet <eric.dumazet at gmail.com>
    Signed-off-by: Patrick McHardy <kaber at trash.net>

commit aa6a03eb0ae859c1371555ef381de4c96ca1e4e6
Author: Patrick McHardy <kaber at trash.net>
Date:   Thu Jul 16 14:01:54 2009 +0200

    netfilter: xt_osf: fix nf_log_packet() arguments
    
    The first argument is the address family, the second one the hook
    number.
    
    Signed-off-by: Patrick McHardy <kaber at trash.net>

commit 994e9a2e01f47f7ce24dec7edc45d70401468370
Author: Julia Lawall <julia at diku.dk>
Date:   Tue Jul 14 03:15:19 2009 +0000

    arch/blackfin: Add kmalloc NULL tests
    
    Check that the result of kmalloc is not NULL before passing it to other
    functions.
    
    In the first two cases, the new code returns -ENOMEM, which seems
    compatible with what is done for similar functions for other architectures.
    
    In the last two cases, the new code fails silently, ie just returns,
    because the function has void return type.
    
    The semantic match that finds this problem is as follows:
    (http://www.emn.fr/x-info/coccinelle/)
    
    // <smpl>
    @@
    expression *x;
    identifier f;
    constant char *C;
    @@
    
    x = \(kmalloc\|kcalloc\|kzalloc\)(...);
    ... when != x == NULL
        when != x != NULL
        when != (x || ...)
    (
    kfree(x)
    |
    f(...,C,...,x,...)
    |
    *f(...,x,...)
    |
    *x->f
    )
    // </smpl>
    
    Signed-off-by: Julia Lawall <julia at diku.dk>
    Signed-off-by: Sonic Zhang <sonic.zhang at analog.com>
    Signed-off-by: Mike Frysinger <vapier at gentoo.org>

commit 5bc6e3cfe6db5f33c60f042a9ba203431f334756
Author: Graf Yang <graf.yang at analog.com>
Date:   Fri Jul 10 11:34:51 2009 +0000

    Blackfin: add CPLB entries for Core B on-chip L1 SRAM regions
    
    The Blackfin SMP port was missing CPLB entries for Core B on-chip L1 SRAM
    regions.  Any code that attempted to use these would wrongly crash due to
    a CPLB miss.
    
    Signed-off-by: Graf Yang <graf.yang at analog.com>
    Signed-off-by: Mike Frysinger <vapier at gentoo.org>

commit f574a76a3b19848ac61814756716e26f85f2c3f7
Author: Robin Getz <robin.getz at analog.com>
Date:   Thu Jul 9 15:11:52 2009 +0000

    Blackfin: work around anomaly 05000189
    
    Similar to anomaly 05000281 but not as bad, we cannot return to the
    instruction causing a fault otherwise we'll trigger a second false
    exception.  The system can still recover, but it isn't correct.
    
    Signed-off-by: Robin Getz <robin.getz at analog.com>
    Signed-off-by: Mike Frysinger <vapier at gentoo.org>

commit c70c754ff916cedd969a73549799d2167ffefcd6
Author: Michael Hennerich <michael.hennerich at analog.com>
Date:   Thu Jul 9 09:58:52 2009 +0000

    Blackfin: drop per-cpu loops_per_jiffy tracking
    
    On Blackfin SMP, a per-cpu loops_per_jiffy is pointless since both cores
    always run at the same CCLK.  In addition, the current implementation has
    flaws since the main consumer for loops_per_jiffy (asm/delay.h) uses the
    global kernel loops_per_jiffy and not the per_cpu one.  So punt all of the
    per-cpu handling and go back to the global shared one.
    
    Signed-off-by: Michael Hennerich <michael.hennerich at analog.com>
    Signed-off-by: Mike Frysinger <vapier at gentoo.org>

commit c03c2a87347b849ec927d7d2ea79a6955e19f492
Author: Michael Hennerich <michael.hennerich at analog.com>
Date:   Wed Jul 8 12:04:43 2009 +0000

    Blackfin: fix bugs in GPIO resume code
    
    Change the bfin_gpio_pm_hibernate_restore() function to:
    1) AND restored DATA with DIR (not OR) to get correct final state
    2) Restore DATA before setting DIR to avoid glitches
    
    Signed-off-by: Michael Hennerich <michael.hennerich at analog.com>
    Signed-off-by: Mike Frysinger <vapier at gentoo.org>

commit 4c94c3e09adba9718218d6e3d35b2dfae81f3911
Author: Barry Song <barry.song at analog.com>
Date:   Tue Jul 7 07:41:50 2009 +0000

    Blackfin: bf537-stamp: fix irq decl for AD7142
    
    The AD7142 add-on card hooks the IRQ line up to PG5, not PF5.
    
    Signed-off-by: Barry Song <barry.song at analog.com>
    Signed-off-by: Mike Frysinger <vapier at gentoo.org>

commit ad863a9dc9887330b2ab753323063865c59d8db6
Author: Robin Getz <robin.getz at analog.com>
Date:   Tue Jul 7 02:47:14 2009 +0000

    Blackfin: fix handling of IPEND in interrupt context save
    
    The interrupt context save logic incorrectly stored the address of the
    IPEND register rather than its value due to a missing dereference.  While
    we're here, also enable this code for all kernel debugging scenarios and
    not just when KGDB is enabled.
    
    Signed-off-by: Robin Getz <robin.getz at analog.com>
    Signed-off-by: Mike Frysinger <vapier at gentoo.org>

commit 3a920accbb5f88d753ab5a6a47d0dd48b6269f84
Author: Robin Getz <robin.getz at analog.com>
Date:   Mon Jul 6 14:29:08 2009 +0000

    Blackfin: drop duplicate runtime checking of anomaly 05000448
    
    We already catch this anomaly at compile time, and the runtime version is
    such that it ends up checking on all parts rather than just the ones that
    might actually have it.
    
    Signed-off-by: Robin Getz <robin.getz at analog.com>
    Signed-off-by: Mike Frysinger <vapier at gentoo.org>

commit ebd5833327e3fb46eb55553d8f5432b5226bf897
Author: Michael Hennerich <michael.hennerich at analog.com>
Date:   Thu Jul 2 11:00:38 2009 +0000

    Blackfin: fix incomplete renaming of the bfin-twi-lcd driver
    
    The sed used to rename the bfin-twi-lcd only replaced the first instance
    rather than all which led to the resources not being enabled when the
    driver was built as a module.
    
    Signed-off-by: Michael Hennerich <michael.hennerich at analog.com>
    Signed-off-by: Mike Frysinger <vapier at gentoo.org>

commit f1c717fbf89f5a24d539ecf4baa5d4c3888e3bf9
Author: Sonic Zhang <sonic.zhang at analog.com>
Date:   Wed Jul 1 07:43:23 2009 +0000

    Blackfin: fix wrong CTS inversion
    
    The Blackfin serial headers were inverting the CTS value leading to wrong
    handling of the CTS line which broke CTS/RTS handling completely.
    
    Signed-off-by: Sonic Zhang <sonic.zhang at analog.com>
    Signed-off-by: Mike Frysinger <vapier at gentoo.org>

commit 10a5ecd03f9f5c374f954cf50a4f85d73f8ce338
Author: Graf Yang <graf.yang at analog.com>
Date:   Wed Jul 1 04:08:01 2009 +0000

    Blackfin: update handling of anomaly 364 (wrong rev id in BF527-0.1)
    
    This anomaly only applies to the BF527-0.1, not the BF526-0.1, and not any
    other revision of the BF527.  So make sure we don't go returning 0xffff
    for other cases.
    
    Signed-off-by: Graf Yang <graf.yang at analog.com>
    Signed-off-by: Mike Frysinger <vapier at gentoo.org>

commit 532f07ca04c6f8ab0555b00cf5d42dc6f72b802f
Author: Mike Frysinger <vapier at gentoo.org>
Date:   Mon Jun 29 22:45:50 2009 +0000

    Blackfin: fix early_dma_memcpy() handling of busy channels
    
    The early logic to locate a free DMA channel and then set it up was broken
    in a few ways that only manifested itself when we needed to set up more
    than 2 on chip SRAM regions (most board defaults setup 1 or 2).  First, we
    checked the wrong status register (the destination gets updated, not the
    source) and second, we did the ssync before rather than after resetting a
    DMA config register.
    
    Signed-off-by: Mike Frysinger <vapier at gentoo.org>

commit fb4b5d3a379824d94fd71fc1aa78e9dbcb15b948
Author: Mike Frysinger <vapier at gentoo.org>
Date:   Mon Jun 29 14:20:10 2009 -0400

    Blackfin: handle BF561 Core B memory regions better when SMP=n
    
    Rather than assume Core B is always run with caches turned on, let people
    load into any of the on-chip memory regions.  It is their business how the
    SRAM/Cache regions are utilized, so don't prevent them from being able to
    load into them.
    
    Signed-off-by: Mike Frysinger <vapier at gentoo.org>

commit 8399a74f61c69c7d233924de3dd314ca0effa16a
Author: Jie Zhang <jie.zhang at analog.com>
Date:   Sun Jun 28 13:19:36 2009 +0000

    Blackfin: fix miscompilation in lshrdi3
    
    The code used in the Blackfin lshrdi3 utilizes gcc constructs.  However,
    the structures declared don't line up with the code gcc generates, so
    under certain optimizations, we get bad code and things crap out in fun
    random ways.  So rather than trying to maintain different gcc definitions
    ourselves, just use the ones available in gcclib.h.
    
    URL: http://blackfin.uclinux.org/gf/tracker/5286
    Signed-off-by: Jie Zhang <jie.zhang at analog.com>
    Signed-off-by: Mike Frysinger <vapier at gentoo.org>

commit dc437b1b596e310bb583de3868c3d61a6798c81c
Author: Robin Getz <robin.getz at analog.com>
Date:   Fri Jun 26 12:23:51 2009 +0000

    Blackfin: fix silent crash when no uClinux MTD filesystem exists
    
    Since we need to relocate the attached filesystem with the uClinux MTD map
    (to handle some anomalies), we need to know its real filesize.  If we boot
    a kernel without a filesystem actually attached, we end up blindly reading
    and copying garbage (since there is no magic value to detect validity).
    Often times this results in an early crash and no output.  So add a few
    basic sanity checks before operating on things to catch the majority of
    cases.
    
    Signed-off-by: Robin Getz <robin.getz at analog.com>
    Signed-off-by: Mike Frysinger <vapier at gentoo.org>

commit 15627bd35c6f02d159e0cb41d287dcba3a23a135
Author: Mike Frysinger <vapier at gentoo.org>
Date:   Tue Jun 23 11:21:34 2009 +0000

    Blackfin: restore exception banner when dumping crash info
    
    Previous unification code put the exception banner behind the "is oops"
    logic when it should have been printed all the time.
    
    Signed-off-by: Mike Frysinger <vapier at gentoo.org>

commit 0e4edcf0b0f7d96c4be7788b13bee82e4d3ba0ce
Author: Robin Getz <robin.getz at analog.com>
Date:   Mon Jun 22 20:23:48 2009 +0000

    Blackfin: work around anomaly 05000281
    
    Add missing anomaly workaround for anomaly 05000281 - we can't return to
    instructions which cause hardware errors otherwise we trigger the error
    again which means we go into an infinite loop of handling, returning, and
    retriggering.  This work around confuses gdb when the error occurs as the
    PC will seemed to have moved, so a better long term fix will need to be
    figured out, but for now this is better than an infinite crash loop.
    
    Signed-off-by: Robin Getz <robin.getz at analog.com>
    Signed-off-by: Mike Frysinger <vapier at gentoo.org>

commit 976119bc5d2253bb47f3255ee178ce1ee605fd3c
Author: Graf Yang <graf.yang at analog.com>
Date:   Wed Jul 1 07:05:40 2009 +0000

    Blackfin: update anomaly lists to match latest sheets/usage
    
    Signed-off-by: Graf Yang <graf.yang at analog.com>
    Signed-off-by: Cliff Cai <cliff.cai at analog.com>
    Signed-off-by: Robin Getz <robin.getz at analog.com>
    Signed-off-by: Mike Frysinger <vapier at gentoo.org>

commit b2dc0a08845af9d6ea990a1a28d4545998707570
Author: Mike Frysinger <vapier at gentoo.org>
Date:   Sat Jun 20 15:36:09 2009 -0400

    Blackfin: drop dead flash_probe call
    
    There are no CONFIG_{BLK,CHR}_DEV_FLASH Kconfig options, and there is no
    flash_probe() function, so not really sure what this code is all about.
    Seems to be dead code that stretches way back to the start of the Blackfin
    port.
    
    Signed-off-by: Mike Frysinger <vapier at gentoo.org>

commit 1997660cea28202ece0956cd44f332ac57700138
Author: Robin Getz <robin.getz at analog.com>
Date:   Wed Jun 17 15:18:18 2009 +0000

    Blackfin: cleanup code a bit with comments and defines
    
    Improve the assembly with a few explanatory comments and use symbolic
    defines rather than numeric values for bit positions.
    
    Signed-off-by: Robin Getz <robin.getz at analog.com>
    Signed-off-by: Mike Frysinger <vapier at gentoo.org>

commit f6c43385435640e056424034caac0d765c45e370
Merge: 65bc98b0059360e458aebd208587be44641227c1 35b5c55fee08e6e4001ba98060a2d0b82f70b5f4
Author: Steve French <sfrench at us.ibm.com>
Date:   Thu Jul 16 04:21:39 2009 +0000

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

commit 43237b5490e8f2f4679decd660064ff35ce490cc
Author: Jan Kara <jack at suse.cz>
Date:   Wed May 20 18:41:58 2009 +0200

    ext3: Get rid of extenddisksize parameter of ext3_get_blocks_handle()
    
    Get rid of extenddisksize parameter of ext3_get_blocks_handle(). This seems to
    be a relict from some old days and setting disksize in this function does not
    make much sence. Currently it was set only by ext3_getblk().  Since the
    parameter has some effect only if create == 1, it is easy to check that the
    three callers which end up calling ext3_getblk() with create == 1 (ext3_append,
    ext3_quota_write, ext3_mkdir) do the right thing and set disksize themselves.
    
    Signed-off-by: Jan Kara <jack at suse.cz>

commit 1e9fd53b783ea646de3ee09a4574afeb6778d504
Author: Jan Kara <jack at suse.cz>
Date:   Wed Jun 24 17:31:40 2009 +0200

    jbd: Fix a race between checkpointing code and journal_get_write_access()
    
    The following race can happen:
    
      CPU1                          CPU2
                                    checkpointing code checks the buffer, adds
                                      it to an array for writeback
    do_get_write_access()
      ...
      lock_buffer()
      unlock_buffer()
                                      flush_batch() submits the buffer for IO
      __jbd_journal_file_buffer()
    
      So a buffer under writeout is returned from do_get_write_access(). Since
    the filesystem code relies on the fact that journaled buffers cannot be
    written out, it does not take the buffer lock and so it can modify buffer
    while it is under writeout. That can lead to a filesystem corruption
    if we crash at the right moment. The similar problem can happen with
    the journal_get_create_access() path.
      We fix the problem by clearing the buffer dirty bit under buffer_lock
    even if the buffer is on BJ_None list. Actually, we clear the dirty bit
    regardless the list the buffer is in and warn about the fact if
    the buffer is already journalled.
    
    Thanks for spotting the problem goes to dingdinghua <dingdinghua85 at gmail.com>.
    
    Reported-by: dingdinghua <dingdinghua85 at gmail.com>
    Signed-off-by: Jan Kara <jack at suse.cz>

commit 9eaaa2d5759837402ec5eee13b2a97921808c3eb
Author: Jan Kara <jack at suse.cz>
Date:   Mon Jul 13 20:26:52 2009 +0200

    ext3: Fix truncation of symlinks after failed write
    
    Contents of long symlinks is written via standard write methods. So when the
    write fails, we add inode to orphan list. But symlinks don't have .truncate
    method defined so nobody properly removes them from the orphan list (both on
    disk and in memory).
    
    Fix this by calling ext3_truncate() directly instead of calling vmtruncate()
    (which is saner anyway since we don't need anything vmtruncate() does except
    from calling .truncate in these paths).  We also add inode to orphan list only
    if ext3_can_truncate() is true (currently, it can be false for symlinks when
    there are no blocks allocated) - otherwise orphan list processing will complain
    and ext3_truncate() will not remove inode from on-disk orphan list.
    
    Signed-off-by: Jan Kara <jack at suse.cz>

commit 7447a668a3860b66b3c9db86fdea91e355ba59ac
Author: Jan Kara <jack at suse.cz>
Date:   Wed Jul 15 20:36:08 2009 +0200

    jbd: Fail to load a journal if it is too short
    
    Due to on disk corruption, it can happen that journal is too short. Fail
    to load it in such case so that we don't oops somewhere later.
    
    Reported-by: Nageswara R Sastry <rnsastry at linux.vnet.ibm.com>
    Signed-off-by: Jan Kara <jack at suse.cz>

commit b13bb2e9933b9dfa25c81d959d847c843481111e
Author: Lothar Waßmann <LW at KARO-electronics.de>
Date:   Tue Jul 14 23:12:25 2009 +0000

    net/can: add module alias to can protocol drivers
    
    Add appropriate MODULE_ALIAS() to facilitate autoloading of can protocol drivers
    
    Signed-off-by: Lothar Wassmann <LW at KARO-electronics.de>
    Acked-by: Oliver Hartkopp <oliver at hartkopp.net>
    Signed-off-by: David S. Miller <davem at davemloft.net>

commit f7e5cc0c40dff92bad2894153f675c6c542ba2f0
Author: Lothar Waßmann <LW at KARO-electronics.de>
Date:   Tue Jul 14 23:10:21 2009 +0000

    net/can bugfix: use after free bug in can protocol drivers
    
    Fix a use after free bug in can protocol drivers
    
    The release functions of the can protocol drivers lack a call to
    sock_orphan() which leads to referencing freed memory under certain
    circumstances.
    
    This patch fixes a bug reported here:
    https://lists.berlios.de/pipermail/socketcan-users/2009-July/000985.html
    
    Signed-off-by: Lothar Wassmann <LW at KARO-electronics.de>
    Acked-by: Oliver Hartkopp <oliver at hartkopp.net>
    Signed-off-by: David S. Miller <davem at davemloft.net>

commit 35b5c55fee08e6e4001ba98060a2d0b82f70b5f4
Merge: e9e961c9a818a2f24711af493b907a8e40a69efc b2dde6afe5d29212d521e69492ebc299db235001
Author: Linus Torvalds <torvalds at linux-foundation.org>
Date:   Wed Jul 15 10:29:09 2009 -0700

    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:
      ahci: add device ID for 82801JI sata controller
      drivers/ata: Move a dereference below a NULL test
      libata: implement and use HORKAGE_NOSETXFER, take#2
      libata: fix follow-up SRST failure path

commit cb65c8732a50f8a145d36dbdac026a1789ad1587
Author: Jaswinder Singh Rajput <jaswinder at kernel.org>
Date:   Wed Jul 15 16:45:40 2009 +0530

    ALSA: riptide -  proper handling of pci_register_driver for joystick
    
    We need to check returning error for pci_register_driver(&joystick_driver)
    
    On failure, we should unregister formerly registered audio drivers
    
    This also fixed the compiler warning :
    
      CC [M]  sound/pci/riptide/riptide.o
     sound/pci/riptide/riptide.c: In function ‘alsa_card_riptide_init’:
     sound/pci/riptide/riptide.c:2200: warning: ignoring return value of ‘__pci_register_driver’, declared with attribute warn_unused_result
    
    Signed-off-by: Jaswinder Singh Rajput <jaswinderrajput at gmail.com>
    Signed-off-by: Takashi Iwai <tiwai at suse.de>

commit 8886f33f25083a47d5fa24ad7b57bb708c5c5403
Author: Clemens Ladisch <clemens at ladisch.de>
Date:   Mon Jul 13 13:21:58 2009 +0200

    sound: usb-audio: add workaround for Blue Microphones devices
    
    Blue Microphones USB devices have an alternate setting that sends two
    channels of data to the computer.  Unfortunately, the descriptors of
    that altsetting have a wrong channel setting, which means that any
    recorded data from such a device has twice the sample rate from what
    would be expected.
    
    This patch adds a workaround to ignore that altsetting.  Since these
    devices have only one actual channel, no data is lost.
    
    Signed-off-by: Clemens Ladisch <clemens at ladisch.de>
    Cc: <stable at kernel.org>
    Signed-off-by: Takashi Iwai <tiwai at suse.de>

commit 3dc948da783e713cd3dc8bbd8f293f8795af8f06
Author: Holger Brunck <holger.brunck at keymile.com>
Date:   Mon Jul 13 16:47:57 2009 +0200

    UBI: fix bug in image sequence number handling
    
    This patch fixes a bug in the image seq. number handling in the
    scanning level. The assignment of the image_seq was incorrect.
    
    Signed-off-by: Holger Brunck <holger.brunck at keymile.com>
    Signed-off-by: Artem Bityutskiy <Artem.Bityutskiy at nokia.com>

commit c8cc452501572d4a81331179b00a9bdd5d2bfada
Author: Artem Bityutskiy <Artem.Bityutskiy at nokia.com>
Date:   Fri Jul 10 16:59:36 2009 +0300

    UBI: gluebi: initialize ubi_num field
    
    Do not forget to initialize 'gluebi->ubi_num' because otherwise
    it will stay 0 even for ubi1 device, and gluebi will open
    wrong UBI device when 'gluebi_get_device()' is called.
    
    Signed-off-by: Artem Bityutskiy <Artem.Bityutskiy at nokia.com>

commit 0115cb544b0a6709e9cf3de615e150d22e7d9d10
Author: Andreas Schwab <schwab at linux-m68k.org>
Date:   Fri Jul 10 11:17:36 2009 +0000

    powerpc: Fix another bug in move of altivec code to vector.S
    
    When moving load_up_altivec to vector.S a typo in a comment caused a
    thinko setting the wrong variable.
    
    Signed-off-by: Andreas Schwab <schwab at linux-m68k.org>
    Signed-off-by: Benjamin Herrenschmidt <benh at kernel.crashing.org>

commit 28477fb1ed1a00c67b382ae8f37f35708e3bf5dd
Author: Dave Kleikamp <shaggy at linux.vnet.ibm.com>
Date:   Wed Jul 8 13:46:18 2009 +0000

    powerpc: Fix booke user_disable_single_step()
    
    On booke processors, gdb is seeing spurious SIGTRAPs when setting a
    watchpoint.
    
    user_disable_single_step() simply quits when the DAC is non-zero.  It should
    be clearing the DBCR0_IC and DBCR0_BT bits from the dbcr0 register and
    TIF_SINGLESTEP from the thread flag.
    
    Signed-off-by: Dave Kleikamp <shaggy at linux.vnet.ibm.com>
    Signed-off-by: Benjamin Herrenschmidt <benh at kernel.crashing.org>

commit c836e862803b2aa2bd9a354e151316d2b42c44ec
Author: Alex Deucher <alexdeucher at gmail.com>
Date:   Mon Jul 13 13:51:03 2009 -0400

    drm/radeon/kms: fix hotspot handling on pre-avivo chips
    
    Need to adjust CUR_OFFSET for yorigin
    
    Signed-off-by: Alex Deucher <alexdeucher at gmail.com>
    Signed-off-by: Dave Airlie <airlied at redhat.com>

commit eb1300bcd70b3bffbefb6ae0eab13a571255ee93
Author: Alex Deucher <alexdeucher at gmail.com>
Date:   Mon Jul 13 11:09:56 2009 -0400

    drm/radeon/kms: enable frac fb divs on rs600/rs690/rs740
    
    Allows us to hit dot clocks much closer, especially on
    chips with non-27 Mhz reference clocks like most IGP chips.
    This fixes most flickering and blanking problems with
    non-exact dot clocks on these chips.
    
    Signed-off-by: Alex Deucher <alexdeucher at gmail.com>
    Signed-off-by: Dave Airlie <airlied at redhat.com>

commit d0e275a90a81b37409a0cfbca77581e3d235f5cf
Author: Alex Deucher <alexdeucher at gmail.com>
Date:   Mon Jul 13 11:08:18 2009 -0400

    drm/radeon/kms: add PLL flag to prefer frequencies <= the target freq
    
    This is needed when using fractional feedback dividers on some IGP
    chips.
    
    Signed-off-by: Alex Deucher <alexdeucher at gmail.com>
    Signed-off-by: Dave Airlie <airlied at redhat.com>

commit b995e4330de0d8b1b8b9e49ce10cc6dc78e2cbba
Author: Dave Airlie <airlied at linux.ie>
Date:   Tue Jul 14 02:02:32 2009 +1000

    drm/radeon/kms: block RN50 from using 3D engine.
    
    RN50/ES1000 is a cut-down rv100 chip used in the server market.
    The 3D engine on these is either not there or unverified so refuse
    any attempt to configure registers on it.
    
    Signed-off-by: Dave Airlie <airlied at redhat.com>

commit 2a0f8918fc34713ecaeb900ffb9afa61df4cb08e
Author: Dave Airlie <airlied at linux.ie>
Date:   Sat Jul 11 04:44:47 2009 +1000

    drm/radeon/kms: fix VRAM sizing like DDX does it.
    
    Doing this like the DDX seems like the most sure fire way to avoid
    having to reinvent it slowly and painfully. At the moment we keep
    getting things wrong with aper vs vram, so we know the DDX does it right.
    
    booted on PCI r100, PCIE rv370, IGP rs400.
    
    Signed-off-by: Dave Airlie <airlied at redhat.com>

commit ad49f501867cba87e1e45e5ebae0b12435d68bf1
Author: Dave Airlie <airlied at linux.ie>
Date:   Fri Jul 10 22:36:26 2009 +1000

    drm/ttm/radeon: add dma32 support.
    
    This add support for using dma32 memory on gpus that really need it.
    
    Currently IGPs are left without DMA32 but we might need to change
    that unless we can fix rs690.
    
    Signed-off-by: Dave Airlie <airlied at redhat.com>

commit 61b576dbbe6a19d102c025ebc102a0749e2d3c80
Author: Michel Dänzer <daenzer at vmware.com>
Date:   Wed Jun 24 00:12:55 2009 +1000

    drm/radeon: Endianness fixes for radeondrmfb.
    
    For now handle it via r/g/b offsets and disallow 16 bpp modes on big endian
    machines.
    
    Signed-off-by: Michel Dänzer <daenzer at vmware.com>
    Signed-off-by: Dave Airlie <airlied at redhat.com>

commit 77bd36f014bc5a3f28507a4e86a81b2b3d2439c3
Author: Dave Airlie <airlied at redhat.com>
Date:   Fri Jul 10 09:33:00 2009 +1000

    drm/radeon/kms: don't swap PCIEGART PTEs in VRAM.
    
    On powerpc, since we aren't using any hw swappers, this will
    get flipped around by default in hw.
    
    tested on a G5 + rv515.
    
    Signed-off-by: Dave Airlie <airlied at redhat.com>

commit 5176fdc4c5873e52f9cb6e166d80e843847e7eb4
Author: Dave Airlie <airlied at redhat.com>
Date:   Tue Jun 30 11:47:14 2009 +1000

    drm/radeon/kms: drop zero length CS indirect buffers.
    
    If userspace sends a zero length IB, it really shouldn't have bothered
    so EINVAL it.
    
    Signed-off-by: Dave Airlie <airlied at redhat.com>

commit e7168cab5bbac0a0e5413fd55ba0e92555bf860d
Author: Dave Airlie <airlied at redhat.com>
Date:   Thu Jul 9 16:01:42 2009 +1000

    drm/radeon/kms: fix vram vs aper size check.
    
    Fix this to be correct like the DDX code, looks like a typo
    on transfer to the kernel.
    
    Signed-off-by: Dave Airlie <airlied at redhat.com>

commit 2007d633d639c896396e4c4b53b38068f3831307
Author: Alex Deucher <alexdeucher at gmail.com>
Date:   Wed Jul 8 16:17:23 2009 -0400

    drm/radeon/kms: get lvds info for DIG LVTMA and UNIPHY encoders
    
    Noticed by Rafał Miłecki on dri-devel.  On r6xx/r7xx hardware, laptop
    panels can be driven by KLDSCP_LVTMA or UNIPHY.
    
    Signed-off-by: Alex Deucher <alexdeucher at gmail.com>
    Signed-off-by: Dave Airlie <airlied at redhat.com>

commit 848577ee27f704231b1860ae987a1be78b88b06e
Author: Alex Deucher <alexdeucher at gmail.com>
Date:   Wed Jul 8 16:15:30 2009 -0400

    drm/radeon/kms: fix quirk for MSI laptop
    
    The line mux for the connector in the bios tables
    is used for enumerating drm connectors.  Since
    this laptop has a quirk where the same line much is
    listed for both VGA and LVDS, the connectors get
    combined.  Setting the line mux on LVDS to an unused
    value prevents both encoders from being combined into
    the same connector.  This should fix bko bug 13720.
    
    Signed-off-by: Alex Deucher <alexdeucher at gmail.com>
    Signed-off-by: Dave Airlie <airlied at redhat.com>

commit ae3e8122cbf8f9301369f276f4179aa6ec1b5b9c
Author: Thomas Hellstrom <thellstrom at vmware.com>
Date:   Wed Jun 24 19:57:34 2009 +0200

    ttm: Fix caching mode selection.
    
    A bug caused a new caching state to be selected on each buffer object
    validation regardless of the current caching state.
    Moreover, a caching state could be selected that wasn't supported by
    the memory type.
    
    Signed-off-by: Thomas Hellstrom <thellstrom at vmware.com>
    Signed-off-by: Dave Airlie <airlied at redhat.com>

commit d1724078d6a01177c1db4ea0b75fda1ca8a73d57
Author: Thomas Hellstrom <thellstrom at vmware.com>
Date:   Wed Jun 24 19:57:35 2009 +0200

    ttm: Make messages more readable.
    
    Signed-off-by: Thomas Hellstrom <thellstrom at vmware.com>
    Signed-off-by: Dave Airlie <airlied at redhat.com>

commit 531369e62649bb8f31217cc0bf33ee6f89f1dff6
Author: Dave Airlie <airlied at redhat.com>
Date:   Mon Jun 29 11:21:25 2009 +1000

    drm/radeon: fix support for vline relocations.
    
    Userspace sends us a special relocation type to sync video/exa
    to vlines to avoid tearing, this deals with the relocation
    in the kernel, it picks the correct crtc and avoids issues
    where crtcs are disabled.
    
    This version also parses the wait until to make sure it isn't
    trying to do anything evil.
    
    Signed-off-by: Dave Airlie <airlied at redhat.com>

commit 3e43d82125952826202a8cd20ba84a66f3ff8808
Author: Dave Airlie <airlied at redhat.com>
Date:   Thu Jul 9 15:04:18 2009 +1000

    drm/radeon/kms: respect TOM on rs100->rs480 IGP variants.
    
    Normally we are free to place VRAM where we want in the GPUs
    memory address space, however on IGP chips the VRAM is actual RAM,
    and no special translation or aperture is used inside the GPU MC.
    
    So when you move the VRAM aperture away from the TOM register,
    you actually move it into main memory and can trash things quite badly.
    
    This commit makes the code respect the TOM location for MC_FB_LOCATION.
    
    Signed-off-by: Dave Airlie <airlied at redhat.com>

commit 4162338a1dab388474d4115289d1d7071623f04d
Author: Dave Airlie <airlied at redhat.com>
Date:   Thu Jul 9 15:04:19 2009 +1000

    drm/radeon/kms: set crtc and cursor offsets correctly on legacy chips.
    
    The crtc and cursor offsets on the legacy chips are offset from
    DISPLAY_BASE_ADDR. The code worked if display base addr was at 0,
    but otherwise falls to pieces.
    
    Signed-off-by: Dave Airlie <airlied at redhat.com>

commit 6cdf65855cf884712532fc72770baaef7bdf1b9a
Author: Dave Airlie <airlied at redhat.com>
Date:   Mon Jun 29 18:29:13 2009 +1000

    drm/radeon/kms: remove IB flushing trick.
    
    If there is a problem then this is hiding it, we shouldn't
    ever need to flush the IB. Either the buffers are:
    
    WB - caching just works.
    WC - no need to do explicit flush, the MB + readback will do it
    
    Signed-off-by: Dave Airlie <airlied at redhat.com>

commit 4c9bc75cbc6f2f447a38a123aa6e0605fab3cb7a
Author: Dave Airlie <airlied at redhat.com>
Date:   Mon Jun 29 18:29:12 2009 +1000

    drm/radeon/kms: mmio base/size should be resource_size_t.
    
    Unsigned long is incorrect for 64-bit resources on 32-bit hw.
    
    Signed-off-by: Dave Airlie <airlied at redhat.com>

commit ed10f95d60d41033d356fdcf88c240d7065bd5b4
Author: Dave Airlie <airlied at redhat.com>
Date:   Mon Jun 29 18:29:11 2009 +1000

    drm/radeon/kms: fix some GART table entry bugs.
    
    1. rv370 can accept 40-bit addresses - also at 24-bit shift not 4 bits
    2. rs480 table can be in 40-bit space. - 4 bit shift for top 8 bits
    3. rs480 table entries can be in 40-bit space.
    
    Signed-off-by: Dave Airlie <airlied at redhat.com>

commit ecca0683230b83e8f830ff157911fad20bc43015
Author: Julia Lawall <julia at diku.dk>
Date:   Sat Jul 11 09:50:09 2009 +0200

    drm: Move a dereference below a NULL test
    
    If the NULL test is necessary, then the dereference should be moved below
    the NULL test.
    
    The semantic patch that makes this change is as follows:
    (http://www.emn.fr/x-info/coccinelle/)
    
    // <smpl>
    @@
    type T;
    expression E;
    identifier i,fld;
    statement S;
    @@
    
    - T i = E->fld;
    + T i;
      ... when != E
          when != i
      if (E == NULL) S
    + i = E->fld;
    // </smpl>
    
    Signed-off-by: Julia Lawall <julia at diku.dk>
    Signed-off-by: Dave Airlie <airlied at linux.ie>

commit ba0ab82358a12e7a7f2872d6b65c437157c6888f
Author: Jesse Barnes <jbarnes at virtuousgeek.org>
Date:   Fri Jul 3 11:24:46 2009 -0700

    fb/intelfb: conflict with DRM_I915 and hide by default
    
    Users get confused by this driver.  It's really a special purpose
    embedded driver, and causes a lot of problems if enabled.  So hide it
    under EMBEDDED by default, and make sure it doesn't get enabled with
    the i915 DRM driver.
    
    Dave, I'm hoping you can feed this to Linus through your tree.  It's
    appropriate for 2.6.31 I think.
    
    Signed-off-by: Jesse Barnes <jbarnes at virtuousgeek.org>
    Signed-off-by: Dave Airlie <airlied at linux.ie>

commit 916635bfcae5fec170ccd36f4b451cf7c5d23b9d
Author: Roel Kluin <roel.kluin at gmail.com>
Date:   Wed Jul 15 16:00:37 2009 +1000

    drm/ttm: fix misplaced parentheses
    
    Signed-off-by: Roel Kluin <roel.kluin at gmail.com>
    Signed-off-by: Andrew Morton <akpm at linux-foundation.org>
    Signed-off-by: Dave Airlie <airlied at linux.ie>

commit 42dd8619940a153e950c4d2301cd5e49f7342f99
Author: Simon Farnsworth <simon.farnsworth at onelan.com>
Date:   Fri Jul 10 11:25:16 2009 +0100

    drm/via: Fix vblank IRQ on VIA hardware.
    
    via_enable_vblank wasn't setting the VBlank enable bit - instead, it
    was masking out the rest of the register.
    
    At the same time, fix via_disable_vblank to clear the VBlank enable
    bit.
    
    Signed-off-by: Dave Airlie <airlied at linux.ie>

commit 845792d940f5755b7a7837c450a71d9e831a13e2
Author: Jiri Slaby <jirislaby at gmail.com>
Date:   Mon Jul 13 23:20:21 2009 +0200

    drm: drm_gem, check kzalloc retval
    
    Check kzalloc retval against NULL in drm_gem_object_alloc and bail out
    appropriately.
    
    While at it merge the fail paths and jump to them by gotos at the end
    of the function.
    
    Signed-off-by: Jiri Slaby <jirislaby at gmail.com>
    Signed-off-by: Dave Airlie <airlied at linux.ie>

commit d25e3a6faa82eeaa6e5487c2d2e27cfd938ed108
Author: Jiri Slaby <jirislaby at gmail.com>
Date:   Mon Jul 13 23:20:20 2009 +0200

    drm: drm_debugfs, check kmalloc retval
    
    Check kmalloc return value in drm_debugfs_create_files and bail out
    appropriately if the pointer is NULL.
    
    Signed-off-by: Jiri Slaby <jirislaby at gmail.com>
    Signed-off-by: Dave Airlie <airlied at linux.ie>

commit 069a9dce384e211784ce6fdfaf1f13921327480d
Author: Alex Deucher <alexdeucher at gmail.com>
Date:   Wed Jul 1 13:03:52 2009 -0400

    drm/radeon: add some missing pci ids
    
    Also, fix ordering for a couple others
    
    Signed-off-by: Alex Deucher <alexdeucher at gmail.com>
    Signed-off-by: Dave Airlie <airlied at linux.ie>

commit b2dde6afe5d29212d521e69492ebc299db235001
Author: Mark Goodwin <mgoodwin at redhat.com>
Date:   Fri Jun 26 10:44:11 2009 -0500

    ahci: add device ID for 82801JI sata controller
    
    Add device ID for Intel 82801JI SATA AHCI controller.
    
    Signed-off-by: David Milburn <dmilburn at redhat.com>
    Signed-off-by: Jeff Garzik <jgarzik at redhat.com>

commit 1e1f421a8137824127a41303a30493356b5da638
Author: Julia Lawall <julia at diku.dk>
Date:   Sat Jul 11 09:49:48 2009 +0200

    drivers/ata: Move a dereference below a NULL test
    
    If the NULL test is necessary, then the dereference should be moved below
    the NULL test.
    
    The semantic patch that makes this change is as follows:
    (http://www.emn.fr/x-info/coccinelle/)
    
    // <smpl>
    @@
    type T;
    expression E;
    identifier i,fld;
    statement S;
    @@
    
    - T i = E->fld;
    + T i;
      ... when != E
          when != i
      if (E == NULL) S
    + i = E->fld;
    // </smpl>
    
    Signed-off-by: Julia Lawall <julia at diku.dk>
    Signed-off-by: Jeff Garzik <jgarzik at redhat.com>

commit d0cb43b35d64877b2944bd37719708be5d7bbf99
Author: Tejun Heo <tj at kernel.org>
Date:   Thu Jul 9 09:27:50 2009 +0900

    libata: implement and use HORKAGE_NOSETXFER, take#2
    
    PIONEER DVD-RW DVRTD08 times out SETXFER if no media is present.  The
    device is SATA and simply skipping SETXFER works around the problem.
    Implement ATA_HORKAGE_NOSETXFER and apply it to the device.
    
    Reported by Moritz Rigler in the following thread.
    
      http://thread.gmane.org/gmane.linux.ide/36790
    
    and by Lars in bko#9540.
    
    Updated to whine and ignore NOSETXFER if PATA component is detected as
    suggested by Alan Cox.
    
    Signed-off-by: Tejun Heo <tj at kernel.org>
    Reported-by: Moritz Rigler <linux-ide at momail.e4ward.com>
    Reported-by: Lars <lars21ce at gmx.de>
    Cc: Alan Cox <alan at lxorguk.ukuu.org.uk>
    Signed-off-by: Jeff Garzik <jgarzik at redhat.com>

commit fe2c4d018fc6127610fef677e020b3bb41cfaaaf
Author: Tejun Heo <tj at kernel.org>
Date:   Wed Jul 8 12:16:37 2009 +0900

    libata: fix follow-up SRST failure path
    
    ata_eh_reset() was missing error return handling after follow-up SRST
    allowing EH to continue the normal probing path after reset failure.
    This was discovered while testing new WD 2TB drives which take longer
    than 10 secs to spin up and cause the first follow-up SRST to time
    out.
    
    Signed-off-by: Tejun Heo <tj at kernel.org>
    Signed-off-by: Jeff Garzik <jgarzik at redhat.com>

commit c9d4bc289cd1cd43c3cff97b73efe2b0b5098a92
Author: Zhaolei <zhaolei at cn.fujitsu.com>
Date:   Tue Jul 14 17:59:05 2009 +0800

    z2ram: Small cleanup for z2ram.c
    
    We should use Z2MINOR_COUNT as range argument in blk_unregister_region()
    
    Signed-off-by: Zhao Lei <zhaolei at cn.fujitsu.com>
    Signed-off-by: Tejun Heo <tj at kernel.org>

commit e9e961c9a818a2f24711af493b907a8e40a69efc
Merge: 8aa651e23e2835b6d64381ce17447c995040ab30 593308259bbd335eda9c5280cdd1f7883c746211
Author: Linus Torvalds <torvalds at linux-foundation.org>
Date:   Tue Jul 14 18:40:15 2009 -0700

    Merge branch 'i2c-for-2631-rc3' of git://aeryn.fluff.org.uk/bjdooks/linux
    
    * 'i2c-for-2631-rc3' of git://aeryn.fluff.org.uk/bjdooks/linux:
      i2c: Use resource_size
      i2c-davinci: behave with i2cdetect
      i2c-davinci: convert clock usage after clkdev conversion

commit 8aa651e23e2835b6d64381ce17447c995040ab30
Merge: d878fe2331219ff8518192b67f66699cb6d164e2 a89d63a159b1ba5833be2bef00adf8ad8caac8be
Author: Linus Torvalds <torvalds at linux-foundation.org>
Date:   Tue Jul 14 18:37:24 2009 -0700

    Merge branch 'for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/teigland/dlm
    
    * 'for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/teigland/dlm:
      dlm: free socket in error exit path
      dlm: fix plock use-after-free
      dlm: Fix uninitialised variable warning in lock.c

commit d878fe2331219ff8518192b67f66699cb6d164e2
Merge: 62f49052ac4b68152ddf742b78b2151ba20dbc28 92bd3bbfbe644ea0860cfe84cf175fffa5246423
Author: Linus Torvalds <torvalds at linux-foundation.org>
Date:   Tue Jul 14 18:37:09 2009 -0700

    Merge branch 'for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/roland/infiniband
    
    * 'for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/roland/infiniband:
      mlx4_core: Add new ConnectX EN PCI ID 0x6764
      mlx4_core: Handle multi-physical function devices

commit 62f49052ac4b68152ddf742b78b2151ba20dbc28
Merge: 5be6717e0d2493a20791d592e2d20fd2b2f62d44 6ff7041dbfeb3bd7dfe9aa67275c21199ef760d6
Author: Linus Torvalds <torvalds at linux-foundation.org>
Date:   Tue Jul 14 18:35:24 2009 -0700

    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:
      hrtimer: Fix migration expiry check
      hrtimer: migration: do not check expiry time on current CPU

commit 5be6717e0d2493a20791d592e2d20fd2b2f62d44
Merge: 989fa940961faa9d51f073bafa58c2b5653d5969 2ad76643ff58bb8841f391ea8327c14abe273ea3
Author: Linus Torvalds <torvalds at linux-foundation.org>
Date:   Tue Jul 14 18:35:11 2009 -0700

    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: Fix warning in pvclock.c
      x86, apic: Fix false positive section mismatch in numaq_32.c
      x86: Fix false positive section mismatch in es7000_32.c
      x86: Remove spurious printk level from segfault message

commit 989fa940961faa9d51f073bafa58c2b5653d5969
Merge: c0c50b541a4b147c5c2572ed051420238c47f57a ce2ae53b750abfaa012ce408e93da131a5b5649b
Author: Linus Torvalds <torvalds at linux-foundation.org>
Date:   Tue Jul 14 18:35:00 2009 -0700

    Merge branch 'core-fixes-for-linus-2' of git://git.kernel.org/pub/scm/linux/kernel/git/tip/linux-2.6-tip
    
    * 'core-fixes-for-linus-2' of git://git.kernel.org/pub/scm/linux/kernel/git/tip/linux-2.6-tip:
      futexes: Fix infinite loop in get_futex_key() on huge page

commit c0c50b541a4b147c5c2572ed051420238c47f57a
Merge: a376d446771710790f5f3425172b467bf8578e22 6ab5d668b131d3c5416f6df1d3ca95b82d4fe8a2
Author: Linus Torvalds <torvalds at linux-foundation.org>
Date:   Tue Jul 14 18:34:32 2009 -0700

    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/function-profiler: do not free per cpu variable stat
      tracing/events: Move TRACE_SYSTEM outside of include guard

commit a376d446771710790f5f3425172b467bf8578e22
Merge: 6847e154e3cd74fca6084124c097980a7634285a 252aa9d94a04252046f3a382e6aca1b5c95921d8
Author: Linus Torvalds <torvalds at linux-foundation.org>
Date:   Tue Jul 14 18:33:54 2009 -0700

    Merge git://git.kernel.org/pub/scm/linux/kernel/git/davem/net-2.6
    
    * git://git.kernel.org/pub/scm/linux/kernel/git/davem/net-2.6:
      Revert "NET: Fix locking issues in PPP, 6pack, mkiss and strip line disciplines."
      skbuff.h: Fix comment for NET_IP_ALIGN
      drivers/net: using spin_lock_irqsave() in net_send_packet()
      NET: phy_device, fix lock imbalance
      gre: fix ToS/DiffServ inherit bug
      igb: gcc-3.4.6 fix
      atlx: duplicate testing of MCAST flag
      NET: Fix locking issues in PPP, 6pack, mkiss and strip line disciplines.
      netdev: restore MTU change operation
      netdev: restore MAC address set and validate operations
      sit: fix regression: do not release skb->dst before xmit
      net: ip_push_pending_frames() fix
      net: sk_prot_alloc() should not blindly overwrite memory

commit 593308259bbd335eda9c5280cdd1f7883c746211
Author: Julia Lawall <julia at diku.dk>
Date:   Sun Jul 5 08:37:50 2009 +0200

    i2c: Use resource_size
    
    Use the function resource_size, which reduces the chance of introducing
    off-by-one errors in calculating the resource size.
    
    The semantic patch that makes this change is as follows:
    (http://www.emn.fr/x-info/coccinelle/)
    
    // <smpl>
    @@
    struct resource *res;
    @@
    
    - (res->end - res->start) + 1
    + resource_size(res)
    // </smpl>
    
    Signed-off-by: Julia Lawall <julia at diku.dk>
    Signed-off-by: Ben Dooks <ben-linux at fluff.org>

commit 7605fa3b0aedbb6c77471517ba16753f276156d9
Author: David Brownell <dbrownell at users.sourceforge.net>
Date:   Mon Jul 6 15:48:36 2009 -0700

    i2c-davinci: behave with i2cdetect
    
    Make i2c-davinci cope properly with "i2cdetect":  don't spew
    syslog spam on perfectly normal behaviors, or respond to any
    address other than the one reserved for the SMBus host.
    
    Signed-off-by: David Brownell <dbrownell at users.sourceforge.net>
    Signed-off-by: Kevin Hilman <khilman at deeprootsystems.com>
    Signed-off-by: Ben Dooks <ben-linux at fluff.org>

commit e164ddeeb82920c5b1470b6585767a000c8b0e45
Author: Kevin Hilman <khilman at deeprootsystems.com>
Date:   Mon Jul 6 15:48:35 2009 -0700

    i2c-davinci: convert clock usage after clkdev conversion
    
    DaVinci core code has converted to the new clkdev API so
    clock name strings are not needed.  Instead, just the a
    'struct device' pointer is needed.
    
    Signed-off-by: Kevin Hilman <khilman at deeprootsystems.com>
    Signed-off-by: Ben Dooks <ben-linux at fluff.org>

commit dff33cfcefa31c30b72c57f44586754ea9e8f3e2
Author: Jesse Barnes <jbarnes at virtuousgeek.org>
Date:   Tue Jul 14 10:15:56 2009 -0700

    drm/i915: FIFO watermark calculation fixes
    
    I discovered several bugs in the FIFO code that was recently applied.
    Some of them fell into the "how did this ever work" category, since in
    some cases we were using the wrong FIFO size values, and the
    calculations ended up being way off.
    
    This patch fixes all the bugs I found, and works well on my GM45, 915GM
    and 855GM test machines; but as usual with these sorts of patches
    broader testing is definitely requested (in particular this patch
    affects 830, 845 and 865 for which I don't have test hardware).
    
    Overall, the patch clarifies the watermark calculation function by
    adding some comments and debug info, and making the variable names a
    bit clearer.  The "get FIFO size" portion of the code has also been
    corrected, so we should be able to properly detect the FIFO allocations
    for each pipe, for use in the watermark calculation.
    
    Signed-off-by: Jesse Barnes <jbarnes at virtuousgeek.org>
    Signed-off-by: Eric Anholt <eric at anholt.net>

commit 9c9ad6162e2aa1e528ed687ccab87fe681ebbef1
Author: Abhishek Kulkarni <adkulkar at umail.iu.edu>
Date:   Tue Jul 14 13:26:52 2009 -0500

    9p: Fix incorrect parameters to v9fs_file_readn.
    
    Fix v9fs_vfs_readpage. The offset and size parameters to v9fs_file_readn
    were interchanged and hence passed incorrectly.
    
    Signed-off-by: Abhishek Kulkarni <adkulkar at umail.iu.edu>
    Signed-off-by: Eric Van Hensbergen <ericvh at gmail.com>

commit eedfe1c4289216af5a0a7f38e6b2c4d3f07c087f
Author: Abhishek Kulkarni <adkulkar at umail.iu.edu>
Date:   Tue Jul 14 13:25:41 2009 -0500

    9p: Possible regression in p9_client_stat
    
    Fix a possible regression with p9_client_stat where it can try to kfree
    an ERR_PTR after an erroneous p9pdu_readf. Also remove an unnecessary data
    buffer increment in p9_client_read.
    
    Signed-off-by: Abhishek Kulkarni <adkulkar at umail.iu.edu>
    Signed-off-by: Eric Van Hensbergen <ericvh at gmail.com>

commit a17d1720aa35623a9bef3707b36242706714bca5
Author: Abhishek Kulkarni <adkulkar at umail.iu.edu>
Date:   Tue Jul 14 13:24:10 2009 -0500

    9p: default 9p transport module fix
    
    The default 9p transport module is not chosen unless an option parameter (any)
    is passed to mount, which thus returns a ENOPROTOSUPPORT. This fix moves the
    check out of parse_opts into p9_client_create.
    
    Signed-off-by: Abhishek Kulkarni <adkulkar at umail.iu.edu>
    Signed-off-by: Eric Van Hensbergen <ericvh at gmail.com>

commit 252aa9d94a04252046f3a382e6aca1b5c95921d8
Author: David S. Miller <davem at davemloft.net>
Date:   Tue Jul 14 13:13:41 2009 -0700

    Revert "NET: Fix locking issues in PPP, 6pack, mkiss and strip line disciplines."
    
    This reverts commit adeab1afb7de89555c69aab5ca21300c14af6369.
    
    As Alan Cox explained, the TTY layer changes that went recently
    to get rid of the tty->low_latency stuff fixes this already,
    and even for -stable it's the ->low_latency changes that should
    go in to fix this, rather than this patch.
    
    Signed-off-by: David S. Miller <davem at davemloft.net>

commit 8660c1240ec6016522b882c88751cb4ce40bf0e8
Author: Tobias Klauser <klto at zhaw.ch>
Date:   Mon Jul 13 22:48:16 2009 +0000

    skbuff.h: Fix comment for NET_IP_ALIGN
    
    Use the correct function call for skb_reserve in the comment for
    NET_IP_ALIGN.
    
    Signed-off-by: Tobias Klauser <klto at zhaw.ch>
    Signed-off-by: David S. Miller <davem at davemloft.net>

commit 79fbe134832ebb70a49d8802cfeb2401dc35bb38
Author: Dongdong Deng <dongdong.deng at windriver.com>
Date:   Sun Jul 12 20:27:06 2009 +0000

    drivers/net: using spin_lock_irqsave() in net_send_packet()
    
    spin_unlock_irq() will enable interrupt in net_send_packet(),
    this patch changes it to spin_lock_irqsave/spin_lock_irqrestore,
    so that it doesn't enable interrupts when already disabled,
    and netconsole would work properly over cs89x0/isa-skeleton.
    
    Call trace:
    netconsole write_msg()
    {
     ...
     -> spin_lock_irqsave();
            -> netpoll_send_udp()
              -> netpoll_send_skb()
                -> net_send_packet()
                  ->...
    
     -> spin_unlock_irqrestore();
     ...
    }
    
    Signed-off-by: Dongdong Deng <dongdong.deng at windriver.com>
    Signed-off-by: David S. Miller <davem at davemloft.net>

commit bc23283c7bc90958927abe26eedc562701743a88
Author: Jiri Slaby <jirislaby at gmail.com>
Date:   Mon Jul 13 11:23:39 2009 +0000

    NET: phy_device, fix lock imbalance
    
    Don't forget to unlock a mutex in phy_scan_fixups on a fail path.
    
    Signed-off-by: Jiri Slaby <jirislaby at gmail.com>
    Signed-off-by: David S. Miller <davem at davemloft.net>

commit a89d63a159b1ba5833be2bef00adf8ad8caac8be
Author: Casey Dahlin <cdahlin at redhat.com>
Date:   Tue Jul 14 12:17:51 2009 -0500

    dlm: free socket in error exit path
    
    In the tcp_connect_to_sock() error exit path, the socket
    allocated at the top of the function was not being freed.
    
    Signed-off-by: Casey Dahlin <cdahlin at redhat.com>
    Signed-off-by: David Teigland <teigland at redhat.com>

commit ee686ca919193d7c1f87f907e732df5e2f942523
Author: Andreas Jaggi <aj at open.ch>
Date:   Tue Jul 14 09:35:59 2009 -0700

    gre: fix ToS/DiffServ inherit bug
    
    Fixes two bugs:
    - ToS/DiffServ inheritance was unintentionally activated when using impair fixed ToS values
    - ECN bit was lost during ToS/DiffServ inheritance
    
    Signed-off-by: Andreas Jaggi <aj at open.ch>
    Signed-off-by: David S. Miller <davem at davemloft.net>

commit 2ad76643ff58bb8841f391ea8327c14abe273ea3
Author: Dave Jones <davej at redhat.com>
Date:   Mon Jul 13 16:14:37 2009 -0400

    x86: Fix warning in pvclock.c
    
    when building 32-bit, I see this ..
    arch/x86/kernel/pvclock.c:63:7: warning: "__x86_64__" is not defined
    
    Signed-off-by: Dave Jones <davej at redhat.com>
    LKML-Reference: <20090713201437.GA12165 at redhat.com>
    Signed-off-by: Thomas Gleixner <tglx at linutronix.de>

commit f936601471d1454dacbd3b2a961fd4d883090aeb
Author: Daniel Mack <daniel at caiaq.de>
Date:   Mon Jul 13 22:22:49 2009 -0700

    Input: fix EVIOCGNAME/JSIOCGNAME regression
    
    Commit 3d5cb60e ("Input: simplify name handling for certain input
    handles") introduced a regression for the EVIOCGNAME/JSIOCGNAME
    ioctl.
    
    Before this, patch, the platform device's name was given back to
    userspace which was good to identify devices. After this patch, the
    device is ("event%d", minor) which is not descriptive at all.
    
    This fixes the behaviour by taking dev->name.
    
    Reported-by: Sven Neumann <s.neumann at raumfeld.com>
    Signed-off-by: Daniel Mack <daniel at caiaq.de>
    Reviewed-by: Thadeu Lima de Souza Cascardo <cascardo at holoscopio.com>
    Signed-off-by: Dmitry Torokhov <dtor at mail.ru>

commit 4fed598a49c014cbc563179b25f2a4b8565e2a50
Author: Ryusuke Konishi <konishi.ryusuke at lab.ntt.co.jp>
Date:   Sun Jul 12 11:13:55 2009 +0900

    fs/Kconfig: move nilfs2 out
    
    fs/Kconfig file was split into individual fs/*/Kconfig files before
    nilfs was merged.  I've found the current config entry of nilfs is
    tainting the work.  Sorry, I didn't notice.  This fixes the violation.
    
    Signed-off-by: Ryusuke Konishi <konishi.ryusuke at lab.ntt.co.jp>
    Cc: Alexey Dobriyan <adobriyan at gmail.com>

commit ed8c754b292f02d0550596481527b7bf2b52d024
Author: Tormod Volden <debian.tormod at gmail.com>
Date:   Mon Jul 13 22:26:48 2009 +0200

    drm/i915: ignore lvds on AOpen Mini PC MP-915
    
    This motherboard thinks it has an LVDS connected, so without this
    patch the screen goes blank on the connected VGA monitor. More
    information (for the non-KMS case) in fd.o bug #18004.
    
    Signed-off-by: Tormod Volden <debian.tormod at gmail.com>
    Signed-off-by: Eric Anholt <eric at anholt.net>

commit 5e4d6fa72619aeea271d2ad704757717b06e291a
Author: Keith Packard <keithp at keithp.com>
Date:   Sun Jul 12 23:53:17 2009 -0700

    drm/i915: Allow frame buffers up to 4096x4096 on 915/945 class hardware
    
    The 915 and 945 scanout engines can handle frame buffers up to 4096 pixels
    wide. Pre-9xx hardware has an 8192 byte stride limit, and so we leave the
    existing 2048 max in place.
    
    I'm not sure why we limit the height to the same value; there's no intrinsic
    hardware limit in the scanout engine.
    
    Signed-off-by: Keith Packard <keithp at keithp.com>
    Signed-off-by: Eric Anholt <eric at anholt.net>

commit 8a90523639f49dc4b4fa7ae47bb9c8ed73ea8577
Author: Jesse Barnes <jbarnes at virtuousgeek.org>
Date:   Sat Jul 11 16:48:03 2009 -0400

    drm/i915: refactor error detection & collection
    
    This patch refactors the existing error detection and collection code,
    placing most of it in i915_handle_error(). Additionally, we introduce a
    work queue for scheduling post-crash tasks such as generating a uevent.
    Using the uevent facility, userspace should be able to capture a
    post-mortem dump for diagnostics.
    
    Signed-off-by: Jesse Barnes <jbarnes at virtuousgeek.org>
    Signed-off-by: Ben Gamari <bgamari.foss at gmail.com>
    Signed-off-by: Eric Anholt <eric at anholt.net>

commit 832cc28d5bc676331e6376d940ae45d5937aa688
Author: Florian Mickler <florian at mickler.org>
Date:   Mon Jul 13 18:40:32 2009 +0800

    drm/i915: Set lvds dual channel according to register from vbios
    
    Vbios will set lvds register correctly based on
    current algorithm for lingle/dual Channel LVDS when
    system boot, so we can accept this configuration
    directly, regardless of LVDS enable status.
    
    It fixed freedesktop.org bug #22262
    
    Signed-off-by: Florian Mickler <florian at mickler.org>
    Signed-off-by: Eric Anholt <eric at anholt.net>

commit c8159b2db1b49f6bda4429008c85108e2da60712
Author: Eric Dumazet <eric.dumazet at gmail.com>
Date:   Mon Jul 13 11:11:41 2009 -0700

    igb: gcc-3.4.6 fix
    
    forward declaration of inline function should be avoided, or
    old gcc cannot compile.
    
    Reported-by: Teck Choon Giam <giamteckchoon at gmail.com>
    Signed-off-by: Eric Dumazet <eric.dumazet at gmail.com>
    Signed-off-by: David S. Miller <davem at davemloft.net>

commit 41796e91a2a30fd82a0fd561022489b61f8a3188
Author: roel kluin <roel.kluin at gmail.com>
Date:   Sun Jul 12 13:12:37 2009 +0000

    atlx: duplicate testing of MCAST flag
    
    Fix duplicate testing of MCAST flag
    
    Signed-off-by: Roel Kluin <roel.kluin at gmail.com>
    Acked-by: Jay Cliburn <jcliburn at gmail.com>
    Signed-off-by: David S. Miller <davem at davemloft.net>

commit 7473727be884293c8171775a148e1d174d1606e6
Author: Rakib Mullick <rakib.mullick at gmail.com>
Date:   Sun Jul 12 17:07:19 2009 +0600

    x86, apic: Fix false positive section mismatch in numaq_32.c
    
    The variable apic_numaq placed in noninit section references the
    function wakeup_secondary_cpu_via_nmi(), which is in __cpuinit
    section. Thus causes a section mismatch warning. To avoid such
    mismatch we mark apic_numaq as __refdata.
    
    We were warned by the following warning:
    
      WARNING: arch/x86/kernel/built-in.o(.data+0x932c): Section mismatch in
      reference from the variable apic_numaq to the function
      .cpuinit.text:wakeup_secondary_cpu_via_nmi()
    
    Signed-off-by: Rakib Mullick <rakib.mullick at gmail.com>
    LKML-Reference: <b9df5fa10907120407p6b4f67dtf4d563155488188a at mail.gmail.com>
    Signed-off-by: Ingo Molnar <mingo at elte.hu>

commit 151586d0f70405d99324d89aea13706cf6d7f993
Author: Rakib Mullick <rakib.mullick at gmail.com>
Date:   Sun Jul 12 17:04:12 2009 +0600

    x86: Fix false positive section mismatch in es7000_32.c
    
    The variable apic_es7000_cluster references the function __cpuinit
    wakeup_secondary_cpu_via_mip() from a noninit section. So we've been
    warned by the following warning. To avoid possible collision between
    init/noninit, its best to mark the variable as __refdata.
    
    We were warned by the following warning:
    
      LD      arch/x86/kernel/apic/built-in.o
      WARNING: arch/x86/kernel/apic/built-in.o(.data+0x198c): Section
      mismatch in reference from the variable apic_es7000_cluster to the
      function .cpuinit.text:wakeup_secondary_cpu_via_mip()
    
    Signed-off-by: Rakib Mullick <rakib.mullick at gmail.com>
    LKML-Reference: <b9df5fa10907120404k6279a10ch5e9682432272706f at mail.gmail.com>
    Signed-off-by: Ingo Molnar <mingo at elte.hu>

commit 6ab5d668b131d3c5416f6df1d3ca95b82d4fe8a2
Author: Steven Rostedt <srostedt at redhat.com>
Date:   Thu Jun 4 00:55:45 2009 -0400

    tracing/function-profiler: do not free per cpu variable stat
    
    The per cpu variable stat is freeded if we fail to allocate a name
    on start up. This was due to stat at first being allocated in the
    initial design. But since then, it has become a static per cpu variable
    but the free on error was not removed.
    
    Also added __init annotation to the function that this is in.
    
    [ Impact: prevent possible memory corruption on low mem at boot up ]
    
    Signed-off-by: Steven Rostedt <rostedt at goodmis.org>
    Signed-off-by: Ingo Molnar <mingo at elte.hu>

commit d0b6e04a4cd8360e3c9c419f7c30a3081a0c142a
Author: Li Zefan <lizf at cn.fujitsu.com>
Date:   Mon Jul 13 10:33:21 2009 +0800

    tracing/events: Move TRACE_SYSTEM outside of include guard
    
    If TRACE_INCLDUE_FILE is defined, <trace/events/TRACE_INCLUDE_FILE.h>
    will be included and compiled, otherwise it will be
    <trace/events/TRACE_SYSTEM.h>
    
    So TRACE_SYSTEM should be defined outside of #if proctection,
    just like TRACE_INCLUDE_FILE.
    
    Imaging this scenario:
    
     #include <trace/events/foo.h>
        -> TRACE_SYSTEM == foo
     ...
     #include <trace/events/bar.h>
        -> TRACE_SYSTEM == bar
     ...
     #define CREATE_TRACE_POINTS
     #include <trace/events/foo.h>
        -> TRACE_SYSTEM == bar !!!
    
    and then bar.h will be included and compiled.
    
    Signed-off-by: Li Zefan <lizf at cn.fujitsu.com>
    Cc: Steven Rostedt <rostedt at goodmis.org>
    Cc: Frederic Weisbecker <fweisbec at gmail.com>
    LKML-Reference: <4A5A9CF1.2010007 at cn.fujitsu.com>
    Signed-off-by: Ingo Molnar <mingo at elte.hu>

commit 23cdb5d5171d591ec911aada682e09d53c14a810
Author: Roel Kluin <roel.kluin at gmail.com>
Date:   Mon Jul 13 02:25:47 2009 +0200

    perf_counter tools: Fix index boundary check
    
    Keep index within event_type_descriptors[]
    
    Signed-off-by: Roel Kluin <roel.kluin at gmail.com>
    Cc: Andrew Morton <akpm at linux-foundation.org>
    Cc: Peter Zijlstra <a.p.zijlstra at chello.nl>
    Cc: Mike Galbraith <efault at gmx.de>
    Cc: Paul Mackerras <paulus at samba.org>
    Cc: Arnaldo Carvalho de Melo <acme at redhat.com>
    Cc: Frederic Weisbecker <fweisbec at gmail.com>
    LKML-Reference: <4A5A7F0B.4070106 at gmail.com>
    Signed-off-by: Ingo Molnar <mingo at elte.hu>

commit d4d7d0b9545721d3cabb19d15163bbc66b797707
Author: Chris Wilson <chris at chris-wilson.co.uk>
Date:   Mon Jul 6 09:31:33 2009 +0100

    perf_counter: Fix the tracepoint channel to perfcounters
    
    Fix a missed rename in EVENT_PROFILE support so that it gets
    built and allows tracepoint tracing from the 'perf' tool.
    
    Fix a typo in the (never before built & enabled) portion in
    perf_counter.c as well, and update that code to the
    attr.config changes as well.
    
    Signed-off-by: Chris Wilson <chris at chris-wilson.co.uk>
    Cc: Ben Gamari <bgamari.foss at gmail.com>
    Cc: Jason Baron <jbaron at redhat.com>
    Cc: Frederic Weisbecker <fweisbec at gmail.com>
    Cc: Mike Galbraith <efault at gmx.de>
    Cc: Peter Zijlstra <a.p.zijlstra at chello.nl>
    Cc: Paul Mackerras <paulus at samba.org>
    Cc: Steven Rostedt <rostedt at goodmis.org>
    LKML-Reference: <1246869094-21237-1-git-send-email-chris at chris-wilson.co.uk>
    Signed-off-by: Ingo Molnar <mingo at elte.hu>

commit f1c6a58121f9846ac665b0fbd3cbab90ce8bcbac
Author: Daniel Qarras <dqarras at yahoo.com>
Date:   Sun Jul 12 04:32:40 2009 -0700

    perf_counter, x86: Extend perf_counter Pentium M support
    
    I've attached a patch to remove the Pentium M special casing of
    EMON and as noticed at least with my Pentium M the hardware PMU
    now works:
    
     Performance counter stats for '/bin/ls /var/tmp':
    
           1.809988  task-clock-msecs         #      0.125 CPUs
                  1  context-switches         #      0.001 M/sec
                  0  CPU-migrations           #	 0.000 M/sec
                224  page-faults              #	 0.124 M/sec
            1425648  cycles                   #    787.656 M/sec
             912755  instructions             #	 0.640 IPC
    
    Vince suggested that this code was trying to address erratum
    Y17 in Pentium-M's:
    
      http://download.intel.com/support/processors/mobile/pm/sb/25266532.pdf
    
    But that erratum (related to IA32_MISC_ENABLES.7) does not
    affect perfcounters as we dont use this toggle to disable RDPMC
    and WRMSR/RDMSR access to performance counters. We keep cr4's
    bit 8 (X86_CR4_PCE) clear so unprivileged RDPMC access is not
    allowed anyway.
    
    Cc: Vince Weaver <vince at deater.net>
    Cc: Peter Zijlstra <a.p.zijlstra at chello.nl>
    Cc: Stephane Eranian <eranian at googlemail.com>
    LKML-Reference: <new-submission>
    Signed-off-by: Ingo Molnar <mingo at elte.hu>

commit f0a14de2f82dd6aa13e04816da2091c7ed0f77cf
Author: Simon Davie <nexx at nexxdesign.co.uk>
Date:   Sun Jul 12 20:44:09 2009 -0700

    Input: atkbd - add forced release keys quirk for FSC Amilo Pi 3525
    
    This patch enables forced releasing of the Fn+Volume hotkeys
    on the Fujitsu Siemens Amilo Pi 3525 notebook.
    
    Signed-off-by: Simon Davie <nexx at nexxdesign.co.uk>
    Signed-off-by: Dmitry Torokhov <dtor at mail.ru>

commit 35db715bfd3805b04aa233b9933b9facfa9a3290
Author: Frans Pop <elendil at planet.nl>
Date:   Sun Jul 12 20:51:32 2009 -0700

    Input: pcspkr - switch driver to dev_pm_ops
    
    Gets rid of the following warning:
    Platform driver 'pcspkr' needs updating - please use dev_pm_ops
    
    Signed-off-by: Frans Pop <elendil at planet.nl>
    Signed-off-by: Dmitry Torokhov <dtor at mail.ru>

commit 70a6f2e6d6b8653d394b63210ec57b4c78f3dcd8
Author: Michael Gruber <lists.mg at googlemail.com>
Date:   Sun Jul 12 20:51:36 2009 -0700

    Input: xpad - don't resend successfully sent outgoing requests
    
    This avoids an infinite loop.
    
    Signed-off-by: Michael Gruber <lists.mg at googlemail.com>
    Signed-off-by: Dmitry Torokhov <dtor at mail.ru>

commit e705cee427e319665969ef7ac664f3612dec8899
Author: Giuseppe Mazzotta <g.mazzotta at iragan.com>
Date:   Sun Jul 12 21:02:27 2009 -0700

    Input: wistron_btns - recognize Maxdata Pro 7000 notebooks
    
    This patch adds DMI information to automatically load the correct
    layout for the Maxdata Pro 7000X/DX notebook models. Such notebooks
    are clones of Fujitsu Amilo V2000, the hook for the v2000 is being
    used and I have tested that perfectly works.
    
    The immediate result of integrating this patch is that the five
    special buttons will work on these specific notebook models and that
    the RF killswitch will not be activated after suspend. This patch
    definitively obsoletes the fsam7400 module which I was still needing
    to enable wifi and to fix the RF killswitch suspend problem; in the
    current 2.6.30 kernel it is necessary to load the wistron_btns module
    with options 'force=1 keymap=1557/MS2141', which was not anyway a
    complete workaround.
    
    Signed-off-by: Giuseppe Mazzotta <g.mazzotta at iragan.com>
    Signed-off-by: Dmitry Torokhov <dtor at mail.ru>

commit adeab1afb7de89555c69aab5ca21300c14af6369
Author: Ralf Baechle <ralf at linux-mips.org>
Date:   Sun Jul 12 21:09:20 2009 -0700

    NET: Fix locking issues in PPP, 6pack, mkiss and strip line disciplines.
    
    Guido Trentalancia reports:
    
    I am trying to use the kiss driver in the Linux kernel that is being
    shipped with Fedora 10 but unfortunately I get the following oops:
    
    mkiss: AX.25 Multikiss, Hans Albas PE1AYX
    mkiss: ax0: crc mode is auto.
    ADDRCONF(NETDEV_CHANGE): ax0: link becomes ready
    ------------[ cut here ]------------
    WARNING: at kernel/softirq.c:77 __local_bh_disable+0x2f/0x83() (Not
    tainted)
    [...]
    unloaded: microcode]
    Pid: 0, comm: swapper Not tainted 2.6.27.25-170.2.72.fc10.i686 #1
     [<c042ddfb>] warn_on_slowpath+0x65/0x8b
     [<c06ab62b>] ? _spin_unlock_irqrestore+0x22/0x38
     [<c04228b4>] ? __enqueue_entity+0xe3/0xeb
     [<c042431e>] ? enqueue_entity+0x203/0x20b
     [<c0424361>] ? enqueue_task_fair+0x3b/0x3f
     [<c041f88c>] ? resched_task+0x3a/0x6e
     [<c06ab62b>] ? _spin_unlock_irqrestore+0x22/0x38
     [<c06ab4e2>] ? _spin_lock_bh+0xb/0x16
     [<c043255b>] __local_bh_disable+0x2f/0x83
     [<c04325ba>] local_bh_disable+0xb/0xd
     [<c06ab4e2>] _spin_lock_bh+0xb/0x16
     [<f8b6f600>] mkiss_receive_buf+0x2fb/0x3a6 [mkiss]
     [<c0572a30>] flush_to_ldisc+0xf7/0x198
     [<c0572b12>] tty_flip_buffer_push+0x41/0x51
     [<f89477f2>] ftdi_process_read+0x375/0x4ad [ftdi_sio]
     [<f8947a5a>] ftdi_read_bulk_callback+0x130/0x138 [ftdi_sio]
     [<c05d4bec>] usb_hcd_giveback_urb+0x63/0x93
     [<c05ea290>] uhci_giveback_urb+0xe5/0x15f
     [<c05eaabf>] uhci_scan_schedule+0x52e/0x767
     [<c05f6288>] ? psmouse_handle_byte+0xc/0xe5
     [<c054df78>] ? acpi_ev_gpe_detect+0xd6/0xe1
     [<c05ec5b0>] uhci_irq+0x110/0x125
     [<c05d4834>] usb_hcd_irq+0x40/0xa3
     [<c0465313>] handle_IRQ_event+0x2f/0x64
     [<c046642b>] handle_level_irq+0x74/0xbe
     [<c04663b7>] ? handle_level_irq+0x0/0xbe
     [<c0406e6e>] do_IRQ+0xc7/0xfe
     [<c0405668>] common_interrupt+0x28/0x30
     [<c056821a>] ? acpi_idle_enter_simple+0x162/0x19d
     [<c0617f52>] cpuidle_idle_call+0x60/0x92
     [<c0403c61>] cpu_idle+0x101/0x134
     [<c069b1ba>] rest_init+0x4e/0x50
     =======================
    ---[ end trace b7cc8076093467ad ]---
    ------------[ cut here ]------------
    WARNING: at kernel/softirq.c:136 _local_bh_enable_ip+0x3d/0xc4()
    [...]
    Pid: 0, comm: swapper Tainted: G        W 2.6.27.25-170.2.72.fc10.i686
     [<c042ddfb>] warn_on_slowpath+0x65/0x8b
     [<c06ab62b>] ? _spin_unlock_irqrestore+0x22/0x38
     [<c04228b4>] ? __enqueue_entity+0xe3/0xeb
     [<c042431e>] ? enqueue_entity+0x203/0x20b
     [<c0424361>] ? enqueue_task_fair+0x3b/0x3f
     [<c041f88c>] ? resched_task+0x3a/0x6e
     [<c06ab62b>] ? _spin_unlock_irqrestore+0x22/0x38
     [<c06ab4e2>] ? _spin_lock_bh+0xb/0x16
     [<f8b6f642>] ? mkiss_receive_buf+0x33d/0x3a6 [mkiss]
     [<c04325f9>] _local_bh_enable_ip+0x3d/0xc4
     [<c0432688>] local_bh_enable_ip+0x8/0xa
     [<c06ab54d>] _spin_unlock_bh+0x11/0x13
     [<f8b6f642>] mkiss_receive_buf+0x33d/0x3a6 [mkiss]
     [<c0572a30>] flush_to_ldisc+0xf7/0x198
     [<c0572b12>] tty_flip_buffer_push+0x41/0x51
     [<f89477f2>] ftdi_process_read+0x375/0x4ad [ftdi_sio]
     [<f8947a5a>] ftdi_read_bulk_callback+0x130/0x138 [ftdi_sio]
     [<c05d4bec>] usb_hcd_giveback_urb+0x63/0x93
     [<c05ea290>] uhci_giveback_urb+0xe5/0x15f
     [<c05eaabf>] uhci_scan_schedule+0x52e/0x767
     [<c05f6288>] ? psmouse_handle_byte+0xc/0xe5
     [<c054df78>] ? acpi_ev_gpe_detect+0xd6/0xe1
     [<c05ec5b0>] uhci_irq+0x110/0x125
     [<c05d4834>] usb_hcd_irq+0x40/0xa3
     [<c0465313>] handle_IRQ_event+0x2f/0x64
     [<c046642b>] handle_level_irq+0x74/0xbe
     [<c04663b7>] ? handle_level_irq+0x0/0xbe
     [<c0406e6e>] do_IRQ+0xc7/0xfe
     [<c0405668>] common_interrupt+0x28/0x30
     [<c056821a>] ? acpi_idle_enter_simple+0x162/0x19d
     [<c0617f52>] cpuidle_idle_call+0x60/0x92
     [<c0403c61>] cpu_idle+0x101/0x134
     [<c069b1ba>] rest_init+0x4e/0x50
     =======================
    ---[ end trace b7cc8076093467ad ]---
    mkiss: ax0: Trying crc-smack
    mkiss: ax0: Trying crc-flexnet
    
    The issue was, that the locking code in mkiss was assuming it was only
    ever being called in process or bh context.  Fixed by converting the
    involved locking code to use irq-safe locks.
    
    Review of other networking line disciplines shows that 6pack, both sync
    and async PPP and STRIP have similar issues.  The ppp_async one is the
    most interesting one as it sorts out half of the issue as far back as
    2004 in commit http://git.kernel.org/?p=linux/kernel/git/tglx/history.git;a=commitdiff;h=2996d8deaeddd01820691a872550dc0cfba0c37d
    
    Signed-off-by: Ralf Baechle <ralf at linux-mips.org>
    Reported-by: Guido Trentalancia <guido at trentalancia.com>
    Signed-off-by: David S. Miller <davem at davemloft.net>

commit 635ecaa70e862f85f652581305fe0074810893be
Author: Ben Hutchings <ben at decadent.org.uk>
Date:   Thu Jul 9 17:59:01 2009 +0000

    netdev: restore MTU change operation
    
    alloc_etherdev() used to install a default implementation of this
    operation, but it must now be explicitly installed in struct
    net_device_ops.
    
    Signed-off-by: Ben Hutchings <ben at decadent.org.uk>
    Signed-off-by: David S. Miller <davem at davemloft.net>

commit 240c102d9c54fee7fdc87a4ef2fabc7eb539e00a
Author: Ben Hutchings <ben at decadent.org.uk>
Date:   Thu Jul 9 17:54:35 2009 +0000

    netdev: restore MAC address set and validate operations
    
    alloc_etherdev() used to install default implementations of these
    operations, but they must now be explicitly installed in struct
    net_device_ops.
    
    Signed-off-by: Ben Hutchings <ben at decadent.org.uk>
    Signed-off-by: David S. Miller <davem at davemloft.net>

commit f2ba025b2036e52a176cddcf91b15ac2b10c644a
Author: Sascha Hlusiak <contact at saschahlusiak.de>
Date:   Sat Jul 11 20:30:52 2009 -0700

    sit: fix regression: do not release skb->dst before xmit
    
    The sit module makes use of skb->dst in it's xmit function, so since
    93f154b594fe47 ("net: release dst entry in dev_hard_start_xmit()") sit
    tunnels are broken, because the flag IFF_XMIT_DST_RELEASE is not
    unset.
    
    This patch unsets that flag for sit devices to fix this
    regression.
    
    Signed-off-by: Sascha Hlusiak <contact at saschahlusiak.de>
    Acked-by: Eric Dumazet <eric.dumazet at gmail.com>
    Signed-off-by: David S. Miller <davem at davemloft.net>

commit e51a67a9c8a2ea5c563f8c2ba6613fe2100ffe67
Author: Eric Dumazet <eric.dumazet at gmail.com>
Date:   Wed Jul 8 14:20:42 2009 +0000

    net: ip_push_pending_frames() fix
    
    After commit 2b85a34e911bf483c27cfdd124aeb1605145dc80
    (net: No more expensive sock_hold()/sock_put() on each tx)
    we do not take any more references on sk->sk_refcnt on outgoing packets.
    
    I forgot to delete two __sock_put() from ip_push_pending_frames()
    and ip6_push_pending_frames().
    
    Reported-by: Emil S Tantilov <emils.tantilov at gmail.com>
    Signed-off-by: Eric Dumazet <eric.dumazet at gmail.com>
    Tested-by: Emil S Tantilov <emils.tantilov at gmail.com>
    Signed-off-by: David S. Miller <davem at davemloft.net>

commit e912b1142be8f1e2c71c71001dc992c6e5eb2ec1
Author: Eric Dumazet <eric.dumazet at gmail.com>
Date:   Wed Jul 8 19:36:05 2009 +0000

    net: sk_prot_alloc() should not blindly overwrite memory
    
    Some sockets use SLAB_DESTROY_BY_RCU, and our RCU code correctness
    depends on sk->sk_nulls_node.next being always valid. A NULL
    value is not allowed as it might fault a lockless reader.
    
    Current sk_prot_alloc() implementation doesnt respect this hypothesis,
    calling kmem_cache_alloc() with __GFP_ZERO. Just call memset() around
    the forbidden field.
    
    Signed-off-by: Eric Dumazet <eric.dumazet at gmail.com>
    Signed-off-by: David S. Miller <davem at davemloft.net>

commit e3d7e183dc276df2fcaf02af173a49ad119ba9f9
Author: Arnaldo Carvalho de Melo <acme at redhat.com>
Date:   Sat Jul 11 12:18:37 2009 -0300

    perf report: Introduce -n/--show-nr-samples
    
    [acme at doppio pahole]$ perf report -ns comm,dso,symbol -d /lib64/libc-2.10.1.so -C pahole | head -17
        21.94%      32101  [.] _int_malloc
        20.10%      29402  [.] __GI_strcmp
        16.77%      24533  [.] __tsearch
        12.61%      18450  [.] malloc_consolidate
         6.42%       9394  [.] _int_free
         6.28%       9191  [.] __tfind
         4.56%       6678  [.] __GI___libc_free
         4.46%       6520  [.] _IO_vfprintf_internal
         2.59%       3786  [.] __malloc
         1.17%       1716  [.] __GI_memcpy
    [acme at doppio pahole]$
    
    Signed-off-by: Arnaldo Carvalho de Melo <acme at redhat.com>
    LKML-Reference: <1247325517-12272-5-git-send-email-acme at redhat.com>
    Signed-off-by: Ingo Molnar <mingo at elte.hu>

commit a25e46c46311316cd1b3f27f8bb036df1693c032
Author: Arnaldo Carvalho de Melo <acme at redhat.com>
Date:   Sat Jul 11 12:18:36 2009 -0300

    perf_counter tools: PLT info is stripped in -debuginfo packages
    
    So we need to get the richer .symtab from the debuginfo
    packages but the PLT info from the original DSO where we have
    just the leaner .dynsym symtab.
    
    Example:
    
    | [acme at doppio pahole]$ perf report --sort comm,dso,symbol > before
    | [acme at doppio pahole]$ perf report --sort comm,dso,symbol > after
    | [acme at doppio pahole]$ diff -U1 before after
    | --- before	2009-07-11 11:04:22.688595741 -0300
    | +++ after	2009-07-11 11:04:33.380595676 -0300
    | @@ -80,3 +80,2 @@
    |       0.07%  pahole ./build/pahole              [.] pahole_stealer
    | -     0.06%  pahole /usr/lib64/libdw-0.141.so   [.] 0x00000000007140
    |       0.06%  pahole /usr/lib64/libdw-0.141.so   [.] __libdw_getabbrev
    | @@ -91,2 +90,3 @@
    |       0.06%  pahole [kernel]                    [k] free_hot_cold_page
    | +     0.06%  pahole /usr/lib64/libdw-0.141.so   [.] tfind at plt
    |       0.05%  pahole ./build/libdwarves.so.1.0.0 [.] ftype__add_parameter
    | @@ -242,2 +242,3 @@
    |       0.01%  pahole [kernel]                    [k] account_group_user_time
    | +     0.01%  pahole /usr/lib64/libdw-0.141.so   [.] strlen at plt
    |       0.01%  pahole ./build/pahole              [.] strcmp at plt
    | [acme at doppio pahole]$
    
    Signed-off-by: Arnaldo Carvalho de Melo <acme at redhat.com>
    LKML-Reference: <1247325517-12272-4-git-send-email-acme at redhat.com>
    Signed-off-by: Ingo Molnar <mingo at elte.hu>

commit 021191b35cdfb1b5ee6e78ed5ae010114a40902c
Author: Arnaldo Carvalho de Melo <acme at redhat.com>
Date:   Sat Jul 11 12:18:35 2009 -0300

    perf report: Make the output more compact
    
    When we filter by column content we may end up with a column
    that has the same value for all the lines. So remove that
    column and tell its unique value on the top, as a comment.
    
    Example:
    
      [acme at doppio pahole]$  perf report --sort comm,dso,symbol -d ./build/libdwarves.so.1.0.0 -C pahole | head -15
      # dso: ./build/libdwarves.so.1.0.0
      # comm: pahole
      # Samples: 58409
      #
      # Overhead  Symbol
      # ........  ......
      #
          20.93%  [.] tag__recode_dwarf_type
          14.94%  [.] namespace__recode_dwarf_types
          10.38%  [.] cu__table_add_tag
           6.69%  [.] __die__process_tag
           5.05%  [.] die__process_function
           4.70%  [.] list__for_all_tags
           3.68%  [.] tag__init
           3.48%  [.] die__create_new_parameter
      [acme at doppio pahole]$
    
    Signed-off-by: Arnaldo Carvalho de Melo <acme at redhat.com>
    LKML-Reference: <1247325517-12272-3-git-send-email-acme at redhat.com>
    Signed-off-by: Ingo Molnar <mingo at elte.hu>

commit 27d0fd410c3cee00ece2e55f4354a7a9ec1a6a6a
Author: Arnaldo Carvalho de Melo <acme at redhat.com>
Date:   Sat Jul 11 12:18:34 2009 -0300

    strlist: Introduce strlist__entry and strlist__nr_entries methods
    
    The strlist__entry method allows accessing strlists like an
    array, will be used in the 'perf report' to access the first
    entry.
    
    We now keep the nr_entries so that we can check if we have just
    one entry, will be used in 'perf report' to improve the output
    by showing just at the top when we have just, say, one DSO.
    
    While at it use nr_entries to optimize strlist__is_empty by not
    using the far more costly rb_first based implementation.
    
    Signed-off-by: Arnaldo Carvalho de Melo <acme at redhat.com>
    LKML-Reference: <1247325517-12272-2-git-send-email-acme at redhat.com>
    Signed-off-by: Ingo Molnar <mingo at elte.hu>

commit 60c1baf1248e00d423604f018c8af1cf750ad885
Author: Arnaldo Carvalho de Melo <acme at redhat.com>
Date:   Sat Jul 11 12:18:33 2009 -0300

    perf report: Tidy up reporting of symbols not found
    
    Always printing the level info about if it is in the kernel,
    hypervisor or userspace as that is in the hist_entry.
    
    Signed-off-by: Arnaldo Carvalho de Melo <acme at redhat.com>
    LKML-Reference: <1247325517-12272-1-git-send-email-acme at redhat.com>
    Signed-off-by: Ingo Molnar <mingo at elte.hu>

commit ce2ae53b750abfaa012ce408e93da131a5b5649b
Author: Sonny Rao <sonnyrao at us.ibm.com>
Date:   Fri Jul 10 18:13:13 2009 -0500

    futexes: Fix infinite loop in get_futex_key() on huge page
    
    get_futex_key() can infinitely loop if it is called on a
    virtual address that is within a huge page but not aligned to
    the beginning of that page.  The call to get_user_pages_fast
    will return the struct page for a sub-page within the huge page
    and the check for page->mapping will always fail.
    
    The fix is to call compound_head on the page before checking
    that it's mapped.
    
    Signed-off-by: Sonny Rao <sonnyrao at us.ibm.com>
    Acked-by: Thomas Gleixner <tglx at linutronix.de>
    Cc: stable at kernel.org
    Cc: anton at samba.org
    Cc: rajamony at us.ibm.com
    Cc: speight at us.ibm.com
    Cc: mstephen at us.ibm.com
    Cc: grimm at us.ibm.com
    Cc: mikey at ozlabs.au.ibm.com
    LKML-Reference: <20090710231313.GA23572 at us.ibm.com>
    Signed-off-by: Ingo Molnar <mingo at elte.hu>

commit 52d422de22b26d96bbdfbc605eb31c2994df6d0b
Author: Arnaldo Carvalho de Melo <acme at redhat.com>
Date:   Fri Jul 10 22:47:28 2009 -0300

    perf report: Adjust column width to the values sampled
    
    Auto-adjust column width of perf report output to the
    longest occuring string length.
    
    Example:
    
    [acme at doppio pahole]$  perf report --sort comm,dso,symbol | head -13
    
        12.79%   pahole  /usr/lib64/libdw-0.141.so    [.] __libdw_find_attr
         8.90%   pahole  /lib64/libc-2.10.1.so        [.] _int_malloc
         8.68%   pahole  /usr/lib64/libdw-0.141.so    [.] __libdw_form_val_len
         8.15%   pahole  /lib64/libc-2.10.1.so        [.] __GI_strcmp
         6.80%   pahole  /lib64/libc-2.10.1.so        [.] __tsearch
         5.54%   pahole  ./build/libdwarves.so.1.0.0  [.] tag__recode_dwarf_type
    [acme at doppio pahole]$
    
    [acme at doppio pahole]$  perf report --sort comm,dso,symbol -d /lib64/libc-2.10.1.so | head -10
    
        21.92%   pahole  /lib64/libc-2.10.1.so  [.] _int_malloc
        20.08%   pahole  /lib64/libc-2.10.1.so  [.] __GI_strcmp
        16.75%   pahole  /lib64/libc-2.10.1.so  [.] __tsearch
    [acme at doppio pahole]$
    
    Also add these extra options to control the new behaviour:
    
      -w, --field-width
    
    Force each column width to the provided list, for large terminal
    readability.
    
      -t, --field-separator:
    
    Use a special separator character and don't pad with spaces, replacing
    all occurances of this separator in symbol names (and other output) with
    a '.' character, that thus it's the only non valid separator.
    
    Signed-off-by: Arnaldo Carvalho de Melo <acme at redhat.com>
    Cc: Frederic Weisbecker <fweisbec at gmail.com>
    Cc: Mike Galbraith <efault at gmx.de>
    Cc: Peter Zijlstra <a.p.zijlstra at chello.nl>
    Cc: Paul Mackerras <paulus at samba.org>
    LKML-Reference: <20090711014728.GH3452 at ghostprotocols.net>
    Signed-off-by: Ingo Molnar <mingo at elte.hu>

commit d07387b490b1c43bfcb9f3900faf96f2dafb2630
Author: Paul Turner <pjt at google.com>
Date:   Fri Jul 10 17:05:16 2009 -0700

    sched: Fix bug in SCHED_IDLE interaction with group scheduling
    
    One of the isolation modifications for SCHED_IDLE is the
    unitization of sleeper credit.  However the check for this
    assumes that the sched_entity we're placing always belongs to a
    task.
    
    This is potentially not true with group scheduling and leaves
    us rummaging randomly when we try to pull the policy.
    
    Signed-off-by: Paul Turner <pjt at google.com>
    Cc: peterz at infradead.org
    LKML-Reference: <alpine.DEB.1.00.0907101649570.29914 at kitami.corp.google.com>
    Signed-off-by: Ingo Molnar <mingo at elte.hu>

commit a1a08d1cb0ab148fd74216e4c0b4d4db18fe62c6
Author: Roland Dreier <roland at digitalvampire.org>
Date:   Sat Jul 11 00:10:04 2009 -0700

    x86: Remove spurious printk level from segfault message
    
    Since commit 5fd29d6c ("printk: clean up handling of log-levels
    and newlines"), the kernel logs segfaults like:
    
        <6>gnome-power-man[24509]: segfault at 20 ip 00007f9d4950465a sp 00007fffbb50fc70 error 4 in libgobject-2.0.so.0.2103.0[7f9d494f7000+45000]
    
    with the extra "<6>" being KERN_INFO.  This happens because the
    printk in show_signal_msg() started with KERN_CONT and then
    used "%s" to pass in the real level; and KERN_CONT is no longer
    an empty string, and printk only pays attention to the level at
    the very beginning of the format string.
    
    Therefore, remove the KERN_CONT from this printk, since it is
    now actively causing problems (and never really made any
    sense).
    
    Signed-off-by: Roland Dreier <roland at digitalvampire.org>
    Cc: Linus Torvalds <torvalds at linux-foundation.org>
    LKML-Reference: <874otjitkj.fsf at shaolin.home.digitalvampire.org>
    Signed-off-by: Ingo Molnar <mingo at elte.hu>

commit 812e7a6a43fc34bc8f70c2b80db4ea5997d66ea8
Author: Wengang Wang <wen.gang.wang at oracle.com>
Date:   Fri Jul 10 13:26:04 2009 +0800

    ocfs2: log the actual return value of ocfs2_file_aio_write()
    
    in ocfs2_file_aio_write(), log_exit() could don't log the value
    which is really returned. this patch fixes it.
    
    Signed-off-by: Wengang Wang <wen.gang.wang at oracle.com>
    Signed-off-by: Joel Becker <joel.becker at oracle.com>

commit 857fdc53a0a90c3ba7fcf5b1fb4c7a62ae03cf82
Author: Yinghai Lu <yinghai at kernel.org>
Date:   Fri Jul 10 09:36:20 2009 -0700

    x86/pci: insert ioapic resource before assigning unassigned resources
    
    Stephen reported that his DL585 G2 needed noapic after 2.6.22 (?)
    
    Dann bisected it down to:
      commit 30a18d6c3f1e774de656ebd8ff219d53e2ba4029
      Date:   Tue Feb 19 03:21:20 2008 -0800
    
          x86: multi pci root bus with different io resource range, on
          64-bit
    
    It turns out that:
      1. that AMD-based systems have two HT chains.
      2. BIOS doesn't allocate resources for BAR 6 of devices under 8132 etc
      3. that multi-peer-root patch will try to split root resources to peer
         root resources according to PCI conf of NB
      4. PCI core assigns unassigned resources, but they overlap with BARs
         that are used by ioapic addr of io4 and 8132.
    
    The reason: at that point ioapic address are not inserted yet.  Solution
    is to insert ioapic resources into the tree a bit earlier.
    
    Reported-by: Stephen Frost <sfrost at snowman.net>
    Reported-and-Tested-by: dann frazier <dannf at hp.com>
    Signed-off-by: Yinghai Lu <yinghai at kernel.org>
    Cc: stable at kernel.org
    Signed-off-by: Jesse Barnes <jbarnes at jbarnes-g45.(none)>

commit f9f868dbcca961ed62f1df1d114abd0c38c47dce
Author: Heiko Carstens <heiko.carstens at de.ibm.com>
Date:   Thu Jul 9 11:24:26 2009 +0200

    timer stats: fix quick check optimization
    
    git commit 507e1231 "timer stats: Optimize by adding quick check to
    avoid function calls" added one wrong check so that one unnecessary
    function call isn't elimated.
    
    time_stats_account_hrtimer() checks if timer->start_pid isn't
    initialized in order to find out if timer_stats_update_stats() should
    be called.  However start_pid is initialized with -1 instead of 0, so
    that the function call always happens.
    
    Check timer->start_site like in timer_stats_account_timer() to fix
    this.
    
    Signed-off-by: Heiko Carstens <heiko.carstens at de.ibm.com>
    Signed-off-by: Thomas Gleixner <tglx at linutronix.de>

commit 6ff7041dbfeb3bd7dfe9aa67275c21199ef760d6
Author: Thomas Gleixner <tglx at linutronix.de>
Date:   Fri Jul 10 14:57:05 2009 +0200

    hrtimer: Fix migration expiry check
    
    The timer migration expiry check should prevent the migration of a
    timer to another CPU when the timer expires before the next event is
    scheduled on the other CPU. Migrating the timer might delay it because
    we can not reprogram the clock event device on the other CPU. But the
    code implementing that check has two flaws:
    
    - for !HIGHRES the check compares the expiry value with the clock
      events device expiry value which is wrong for CLOCK_REALTIME based
      timers.
    
    - the check is racy. It holds the hrtimer base lock of the target CPU,
      but the clock event device expiry value can be modified
      nevertheless, e.g. by an timer interrupt firing.
    
    The !HIGHRES case is easy to fix as we can enqueue the timer on the
    cpu which was selected by the load balancer. It runs the idle
    balancing code once per jiffy anyway. So the maximum delay for the
    timer is the same as when we keep the tick on the current cpu going.
    
    In the HIGHRES case we can get the next expiry value from the hrtimer
    cpu_base of the target CPU and serialize the update with the cpu_base
    lock. This moves the lock section in hrtimer_interrupt() so we can set
    next_event to KTIME_MAX while we are handling the expired timers and
    set it to the next expiry value after we handled the timers under the
    base lock. While the expired timers are processed timer migration is
    blocked because the expiry time of the timer is always <= KTIME_MAX.
    
    Also remove the now useless clockevents_get_next_event() function.
    
    Signed-off-by: Thomas Gleixner <tglx at linutronix.de>

commit 65bc98b0059360e458aebd208587be44641227c1
Author: Steve French <sfrench at us.ibm.com>
Date:   Fri Jul 10 15:27:25 2009 +0000

    [CIFS] Distinguish posix opens and mkdirs from legacy mkdirs in stats
    
    Acked-by: Jeff Layton <jlayton at redhat.com>
    Signed-off-by: Steve French <sfrench at us.ibm.com>

commit 7e0c5086c172ecf8b0c2ad860b02a586967d17d0
Author: Thomas Gleixner <tglx at linutronix.de>
Date:   Thu Jul 9 13:52:32 2009 +0200

    hrtimer: migration: do not check expiry time on current CPU
    
    The timer migration code needs to check whether the expiry time of the
    timer is before the programmed clock event expiry time when the timer
    is enqueued on another CPU because we can not reprogram the timer
    device on the other CPU. The current logic checks the expiry time even
    if we enqueue on the current CPU when nohz_get_load_balancer() returns
    current CPU. This might lead to an endless loop in the expiry check
    code when the expiry time of the timer is before the current
    programmed next event.
    
    Check whether nohz_get_load_balancer() returns current CPU and skip
    the expiry check if this is the case.
    
    The bug was triggered from the networking code. The patch fixes the
    regression http://bugzilla.kernel.org/show_bug.cgi?id=13738
    (Soft-Lockup/Race in networking in 2.6.31-rc1+195)
    
    Cc: Arun Bharadwaj <arun at linux.vnet.ibm.com
    Tested-by: Joao Correia <joaomiguelcorreia at gmail.com>
    Tested-by: Andres Freund <andres at anarazel.de>
    Signed-off-by: Thomas Gleixner <tglx at linutronix.de>

commit 9d30937accf2c01e8b0bd59787409a7348cbbcb7
Author: Jaroslav Kysela <perex at perex.cz>
Date:   Fri Jul 10 12:27:31 2009 +0200

    ALSA: hda_intel: more strict alc880_parse_auto_config dig_nid checking
    
    On some IbexPeak systems with ALC889A errors like "azx_get_response
    timeout, switching to polling mode: last cmd=0xaf9f000b" are produced,
    because non-existent codec #10 is wrongly accessed.
    
    The problem is that snd_hda_get_connections() returns out-of-range result
    for NID 0x1c (something like 0xf8f9 or 0xffff).
    
    This patch adds a check to alc880_parse_auto_config() to avoid using
    of this out-of-range NIDs. A better fix maybe to improve
    snd_hda_get_connections() routine to check for valid NID ranges if
    NIDs are expected as result.
    
    Signed-off-by: Jaroslav Kysela <perex at perex.cz>
    Signed-off-by: Takashi Iwai <tiwai at suse.de>

commit c20b08e3986c2dbfa6df1e880bf4f7159994d199
Author: Fabio Checconi <fchecconi at gmail.com>
Date:   Mon Jun 15 20:56:38 2009 +0200

    sched: Fix rt_rq->pushable_tasks initialization in init_rt_rq()
    
    init_rt_rq() initializes only rq->rt.pushable_tasks, and not the
    pushable_tasks field of the passed rt_rq.  The plist is not used
    uninitialized since the only pushable_tasks plists used are the
    ones of root rt_rqs; anyway reinitializing the list on every group
    creation corrupts the root plist, losing its previous contents.
    
    Signed-off-by: Fabio Checconi <fabio at gandalf.sssup.it>
    Signed-off-by: Peter Zijlstra <a.p.zijlstra at chello.nl>
    LKML-Reference: <20090615185638.GK21741 at gandalf.sssup.it>
    CC: Gregory Haskins <ghaskins at novell.com>
    Signed-off-by: Ingo Molnar <mingo at elte.hu>

commit 7793527b90d9418211f4fe8464cc1dcb1631ea1b
Author: Lucas De Marchi <lucas.de.marchi at gmail.com>
Date:   Thu Jul 9 13:57:20 2009 +0200

    sched: Reset sched stats on fork()
    
    The sched_stat fields are currently not reset upon fork.
    Ingo's recent commit 6c594c21fcb02c662f11c97be4d7d2b73060a205
    did reset nr_migrations, but it didn't reset any of the
    others.
    
    This patch resets all sched_stat fields on fork.
    
    Signed-off-by: Lucas De Marchi <lucas.de.marchi at gmail.com>
    Signed-off-by: Peter Zijlstra <a.p.zijlstra at chello.nl>
    LKML-Reference: <193b0f820907090457s7a3662f4gcdecdc22fcae857b at mail.gmail.com>
    Signed-off-by: Ingo Molnar <mingo at elte.hu>

commit a1ba4d8ba9f06a397e97cbd67a93ee306860b40a
Author: Peter Zijlstra <peterz at infradead.org>
Date:   Wed Apr 1 18:40:15 2009 +0200

    sched_rt: Fix overload bug on rt group scheduling
    
    Fixes an easily triggerable BUG() when setting process affinities.
    
    Make sure to count the number of migratable tasks in the same place:
    the root rt_rq. Otherwise the number doesn't make sense and we'll hit
    the BUG in set_cpus_allowed_rt().
    
    Also, make sure we only count tasks, not groups (this is probably
    already taken care of by the fact that rt_se->nr_cpus_allowed will be 0
    for groups, but be more explicit)
    
    Tested-by: Thomas Gleixner <tglx at linutronix.de>
    CC: stable at kernel.org
    Signed-off-by: Peter Zijlstra <a.p.zijlstra at chello.nl>
    Acked-by: Gregory Haskins <ghaskins at novell.com>
    LKML-Reference: <1247067476.9777.57.camel at twins>
    Signed-off-by: Ingo Molnar <mingo at elte.hu>

commit 71a851b4d2a815adcfac09c1adda7ef6811fde66
Author: Peter Zijlstra <a.p.zijlstra at chello.nl>
Date:   Fri Jul 10 09:06:56 2009 +0200

    perf_counter: Stop open coding unclone_ctx
    
    Instead of open coding the unclone context thingy, put it in
    a common function.
    
    Signed-off-by: Peter Zijlstra <a.p.zijlstra at chello.nl>
    LKML-Reference: <new-submission>
    Signed-off-by: Ingo Molnar <mingo at elte.hu>

commit 984b838ce69c063a91b87550598ab7f3439dd94a
Author: Peter Zijlstra <a.p.zijlstra at chello.nl>
Date:   Fri Jul 10 09:59:56 2009 +0200

    perf_counter: Clean up global vs counter enable
    
    Ingo noticed that both AMD and P6 call
    x86_pmu_disable_counter() on *_pmu_enable_counter(). This is
    because we rely on the side effect of that call to program
    the event config but not touch the EN bit.
    
    We change that for AMD by having enable_all() simply write
    the full config in, and for P6 by explicitly coding it.
    
    Signed-off-by: Peter Zijlstra <a.p.zijlstra at chello.nl>
    LKML-Reference: <new-submission>
    Signed-off-by: Ingo Molnar <mingo at elte.hu>

commit 9c74fb50867e8fb5f3be3be06716492c0f79309e
Author: Peter Zijlstra <a.p.zijlstra at chello.nl>
Date:   Wed Jul 8 10:21:41 2009 +0200

    perf_counter: Fix up P6 PMU details
    
    The P6 doesn't seem to support cache ref/hit/miss counts, so
    we extend the generic hardware event codes to have 0 and -1
    mean the same thing as for the generic cache events.
    
    Furthermore, it turns out the 0 event does not count
    (that is, its reported that on PPro it actually does count
    something), therefore use a event configuration that's
    specified not to count to disable the counters.
    
    Signed-off-by: Peter Zijlstra <a.p.zijlstra at chello.nl>
    LKML-Reference: <new-submission>
    Signed-off-by: Ingo Molnar <mingo at elte.hu>

commit 11d1578f9454159c43499d1d8fe8a7d728c176a3
Author: Vince Weaver <vince at deater.net>
Date:   Wed Jul 8 17:46:14 2009 -0400

    perf_counter: Add P6 PMU support
    
    Add basic P6 PMU support. The P6 uses the EVNTSEL0 EN bit to
    enable/disable both its counters. We use this for the
    global enable/disable, and clear all config bits (except EN)
    to disable individual counters.
    
    Actual ia32 hardware doesn't support lfence, so use a locked
    op without side-effect to implement a full barrier.
    
    perf stat and perf record seem to function correctly.
    
    [a.p.zijlstra at chello.nl: cleanups and complete the enable/disable code]
    
    Signed-off-by: Vince Weaver <vince at deater.net>
    Signed-off-by: Peter Zijlstra <a.p.zijlstra at chello.nl>
    LKML-Reference: <Pine.LNX.4.64.0907081718450.2715 at pianoman.cluster.toy>
    Signed-off-by: Ingo Molnar <mingo at elte.hu>

commit 9590b7ba3fefdfe0c7741f5e2f61faf2ffcea19c
Author: Anton Blanchard <anton at samba.org>
Date:   Mon Jul 6 22:01:31 2009 +1000

    perf_counter tools: Rename cache events to remove $
    
    The cache events contain '$' which will hit shell variable
    expansion. To avoid confusion change this to 'cache', ie
    L1-d$-loads becomes L1-dcache-loads.
    
    Signed-off-by: Anton Blanchard <anton at samba.org>
    Cc: Roland Dreier <rdreier at cisco.com>
    Cc: Jaswinder Singh Rajput <jaswinder at kernel.org>
    Cc: Peter Zijlstra <peterz at infradead.org>
    LKML-Reference: <20090706120131.GB4391 at kryten>
    Signed-off-by: Ingo Molnar <mingo at elte.hu>

commit 6860107a46c8762d35eb7bf71bcf6c6510793b76
Author: Linus Walleij <linus.walleij at stericsson.com>
Date:   Mon Jul 6 18:04:28 2009 +0100

    [ARM] 5594/1: Correct U300 VIC init PM setting
    
    This makes the VIC resume from suspend flagged IRQ:s identical to
    the flags indicating all possible interrupts. This is perhaps not
    the optimal setting but setting it to 0 makes the system suspend
    and never come back again (all IRQ sources masked off).
    
    Signed-off-by: Linus Walleij <linus.walleij at stericsson.com>
    Signed-off-by: Russell King <rmk+kernel at arm.linux.org.uk>

commit a0b98ec87d7a293a7d9ab8e45935c53a68f3094a
Author: Hartley Sweeten <hartleys at visionengravers.com>
Date:   Mon Jul 6 22:17:54 2009 +0100

    [ARM] 5595/1: ep93xx: missing header in dma-m2p.c
    
    <linux/io.h> was getting included by <mach/ts72xx.h>, is should be
    included by this file.
    
    Signed-off-by: H Hartley Sweeten <hsweeten at visionengravers.com>
    Signed-off-by: Russell King <rmk+kernel at arm.linux.org.uk>

commit 39bd8064ab3648bc38b1a3ef507031ee6a477966
Merge: db78450abdb88b44322c551fc2868d1b2383355b 574ec547c7771881e18e4e76ca970e323bcdc774
Author: Russell King <rmk at dyn-67.arm.linux.org.uk>
Date:   Thu Jul 9 16:08:59 2009 +0100

    Merge branch 'for-rmk' of git://git.pengutronix.de/git/imx/linux-2.6

commit db78450abdb88b44322c551fc2868d1b2383355b
Merge: 4e66a0f536ad449a71de75bc81f4a830ef38d538 e2ce0e718ee72e5915d35a6f4af40fa249cd626d
Author: Russell King <rmk at dyn-67.arm.linux.org.uk>
Date:   Thu Jul 9 16:08:14 2009 +0100

    Merge branch 'for-rmk' of git://git.marvell.com/orion

commit 4e66a0f536ad449a71de75bc81f4a830ef38d538
Merge: 34f25476ace556263784ea2f8173e22b25557a13 22fe84394f405c673b362d23dcc2d5d095ab5f6c
Author: Russell King <rmk at dyn-67.arm.linux.org.uk>
Date:   Thu Jul 9 16:07:22 2009 +0100

    Merge branch 'fix' of git://git.kernel.org/pub/scm/linux/kernel/git/ycmiao/pxa-linux-2.6

commit b7d4de7ff03085fda8310b2983b907166dd40f43
Author: Daniel Mack <daniel at caiaq.de>
Date:   Wed Jul 8 19:24:26 2009 +0200

    ASoC: Fix NULL pointer dereference in __pxa2xx_pcm_hw_free
    
    Check for rtd->params->drcmr != NULL before accessing it.
    
    Signed-off-by: Daniel Mack <daniel at caiaq.de>
    Signed-off-by: Mark Brown <broonie at opensource.wolfsonmicro.com>

commit 17ae26b669886efe237b77439e43eb390fceb119
Author: Jeff Liu <jeff.liu at oracle.com>
Date:   Tue Jul 7 15:51:40 2009 +0800

    ocfs2: trivial fix for s/migrate/migration/ in dlmrecovery.c logging
    
    in dlmrecovery.c:1121, replace 'migrate' to 'migration' to keep the consistency
    by comparing to other lines with the similar log info in the same file.
    
    Signed-off-by: Jeff Liu <jeff.liu at oracle.com>
    Signed-off-by: Joel Becker <joel.becker at oracle.com>

commit 8b712cd58adfe6aeeb0be4ecc011dc35620719e7
Author: Jeff Mahoney <jeffm at suse.com>
Date:   Tue Jul 7 17:22:12 2009 -0400

    ocfs2: Fixup orphan scan cleanup after failed mount
    
    If the mount fails for any reason, ocfs2_dismount_volume calls
    ocfs2_orphan_scan_stop. It requires that ocfs2_orphan_scan_init
    be called to setup the mutex and work queues, but that doesn't
    happen if the mount has failed and we oops accessing an uninitialized
    work queue.
    
    This patch splits the init and startup of the orphan scan, eliminating
    the oops.
    
    Signed-off-by: Jeff Mahoney <jeffm at suse.com>
    Signed-off-by: Joel Becker <joel.becker at oracle.com>

commit e2ce0e718ee72e5915d35a6f4af40fa249cd626d
Author: Simon Kagstrom <simon.kagstrom at netinsight.net>
Date:   Tue Jun 30 21:42:00 2009 -0400

    [ARM] Kirkwood: Correct header define
    
    Correct define typo (. -> ,)
    
    Signed-off-by: Simon Kagstrom <simon.kagstrom at netinsight.net>
    Signed-off-by: Nicolas Pitre <nico at marvell.com>

commit 92bd3bbfbe644ea0860cfe84cf175fffa5246423
Author: Yevgeny Petrilin <yevgenyp at mellanox.co.il>
Date:   Mon Jul 6 16:10:40 2009 -0700

    mlx4_core: Add new ConnectX EN PCI ID 0x6764
    
    Signed-off-by: Yevgeny Petrilin <yevgenyp at mellanox.co.il>
    Signed-off-by: Roland Dreier <rolandd at cisco.com>

commit cc4ac2e7fb90dfbbbd5a42df0879733f787e4690
Author: Yevgeny Petrilin <yevgenyp at mellanox.co.il>
Date:   Mon Jul 6 16:10:03 2009 -0700

    mlx4_core: Handle multi-physical function devices
    
    MT26468 (PCI ID 0x6764) devices can expose multiple physical
    functions.  The current driver only handles the primary physical
    function.  For other functions, the QUERY_FW firmware command will
    fail with the CMD_STAT_MULTI_FUNC_REQ error code.  Don't try to drive
    such devices, but print a message saying the driver is skipping those
    devices rather than just "QUERY_FW command failed."
    
    Signed-off-by: Yevgeny Petrilin <yevgenyp at mellanox.co.il>
    
    [ Rather than keeping unsupported devices bound to the driver, simply
      print a more informative error message and exit - Roland ]
    
    Signed-off-by: Roland Dreier <rolandd at cisco.com>

commit 22fe84394f405c673b362d23dcc2d5d095ab5f6c
Author: Mike Rapoport <mike at compulab.co.il>
Date:   Mon Jul 6 08:56:51 2009 +0300

    [ARM] pxa: fix ULPI_{DIR,NXT,STP} MFP defines
    
    Attepmpt to configure ULPI pins gives the following compile error:
      CC      arch/arm/mach-pxa/cm-x300.o
      arch/arm/mach-pxa/cm-x300.c:155: error: 'MFP_MFP_AF0' undeclared here (not in a function)
      arch/arm/mach-pxa/cm-x300.c:155: error: 'MFP_MFP_DS01X' undeclared here (not in a function)
      make[2]: *** [arch/arm/mach-pxa/cm-x300.o] Error 1
      make[1]: *** [arch/arm/mach-pxa] Error 2
      make: *** [sub-make] Error 2
    
    Fix it.
    
    Signed-off-by: Mike Rapoport <mike at compulab.co.il>
    Signed-off-by: Eric Miao <eric.y.miao at gmail.com>

commit 82e8b54229fb121946151b82e8ff3c3284bd723f
Author: Marc Zyngier <maz at misterjones.org>
Date:   Fri Jun 19 10:50:54 2009 +0200

    backlight: fix pwm_bl.c to notify platform code when suspending
    
    When suspending, pwm-bl sets duty cycle to 0, and shuts down the pwm
    device.
    
    This patch ensure that the platform code is called before that
    (through the notify callback_, leaving a chance for the platform code
    to configure GPIOs (shutting off the backlight, for example), much like
    it is done during normal operations.
    
    Signed-off-by: Marc Zyngier <maz at misterjones.org>
    Signed-off-by: Eric Miao <eric.y.miao at gmail.com>

commit 4aa78264d14bb0e87897acb90941c368248e20ce
Author: Daniel Mack <daniel at caiaq.de>
Date:   Fri Jun 19 22:56:09 2009 +0200

    [ARM] pxa: use kzalloc() in pxa_init_gpio_chip()
    
    As slab is available early now, use kzalloc() rather than
    alloc_bootmem_low() in pxa_init_gpio_chip().
    
    This removes the following boot time warning:
    
    <4>------------[ cut here ]------------
    <4>WARNING: at mm/bootmem.c:535 alloc_arch_preferred_bootmem+0x2c/0x54()
    <d>Modules linked in:
    [<c0029430>] (unwind_backtrace+0x0/0xdc) from [<c0036f64>] (warn_slowpath_common+0x4c/0x80)
    [<c0036f64>] (warn_slowpath_common+0x4c/0x80) from [<c000ede0>] (alloc_arch_preferred_bootmem+0x2c/0x54)
    [<c000ede0>] (alloc_arch_preferred_bootmem+0x2c/0x54) from [<c000f2e4>] (___alloc_bootmem_nopanic+0x34/0xd0)
    [<c000f2e4>] (___alloc_bootmem_nopanic+0x34/0xd0) from [<c000f6e4>] (___alloc_bootmem+0xc/0x34)
    [<c000f6e4>] (___alloc_bootmem+0xc/0x34) from [<c000cb20>] (pxa_init_gpio+0x48/0x228)
    [<c000cb20>] (pxa_init_gpio+0x48/0x228) from [<c0009794>] (init_IRQ+0x34/0x44)
    [<c0009794>] (init_IRQ+0x34/0x44) from [<c00089d4>] (start_kernel+0x144/0x264)
    [<c00089d4>] (start_kernel+0x144/0x264) from [<a0008034>] (0xa0008034)
    <4>---[ end trace 1b75b31a2719ed1c ]---
    
    Signed-off-by: Daniel Mack <daniel at caiaq.de>
    Signed-off-by: Eric Miao <eric.y.miao at gmail.com>

commit 5c68b09900f04c3de55af43155435b9392f03844
Author: Daniel Mack <daniel at caiaq.de>
Date:   Mon Jun 22 21:01:58 2009 +0200

    [ARM] pxa: correct I2CPWR clock for pxa3xx
    
    In commit f23d4911319fd, the pwr-i2c device name changed due to the
    newly introduced device table. This patch fixes the clock so the
    driver's probe will succeed again.
    
    Signed-off-by: Daniel Mack <daniel at caiaq.de>
    Acked-by: Russell King <linux at arm.linux.org.uk>
    Signed-off-by: Eric Miao <eric.y.miao at gmail.com>

commit 7eeff4814224646c896303ba2c2b7ac3c4240cd2
Author: Matt Reimer <mreimer at sdgsystems.com>
Date:   Mon Jun 15 13:21:25 2009 -0700

    pxamci: correct DMA flow control
    
    The DMA flow control in pxamci_setup_data() is backwards; fix it.
    
    Signed-off-by: Matt Reimer <mreimer at sdgsystems.com>
    Acked-by: Robert Jarzmik <robert.jarzmik at free.fr>
    Signed-off-by: Eric Miao <eric.y.miao at gmail.com>

commit daf4219dbcbb2efcd638fcd3c29a622e1c18cc38
Author: Dan Williams <dan.j.williams at intel.com>
Date:   Wed Jul 1 16:12:53 2009 -0700

    dmaengine: move HIGHMEM64G restriction to ASYNC_TX_DMA
    
    On HIGHMEM64G systems dma_addr_t is known to be larger than (void *)
    which precludes async_xor from performing dma address conversions by
    reusing the input parameter address list.  However, other parts of the
    dmaengine infrastructure do not suffer this constraint, so the
    HIGHMEM64G restriction can be down-levelled.
    
    Signed-off-by: Dan Williams <dan.j.williams at intel.com>

commit 3f1f7cf08ddf10ef7fbf06d881582c95b9747f4e
Author: Joe Perches <joe at perches.com>
Date:   Wed Jul 1 11:32:10 2009 +0200

    netfilter: add netfilter git to MAINTAINERS
    
    Signed-off-by: Joe Perches <joe at perches.com>
    Signed-off-by: Patrick McHardy <kaber at trash.net>

commit bfdb46ce8494eae30dbaae65c81e684e6db6228b
Author: Ryan Mallon <ryan at bluewatersys.com>
Date:   Thu Jun 18 11:26:26 2009 +1200

    Add ds2782 battery gas gauge driver
    
    This patch adds a driver for ds2782 battery devices.
    
    Signed-off-by: Ryan Mallon <ryan at bluewatersys.com>
    Signed-off-by: Anton Vorontsov <cbouatmailru at gmail.com>

commit 8f7e57985fa794ab6afdcd3642581d9e1fe6de31
Author: Andres Salomon <dilinger at collabora.co.uk>
Date:   Tue Jun 30 02:16:17 2009 -0400

    olpc_battery: Ensure that the TRICKLE bit is checked
    
    There are times when the battery is present but trickle charging,
    and the EC sets only the TRICKLE bit. So we must check for the bit
    when we're checking the charging/present status.
    
    Signed-off-by: Andres Salomon <dilinger at collabora.co.uk>
    Signed-off-by: Anton Vorontsov <cbouatmailru at gmail.com>

commit 04a820ead0838c76e9c1242feb5e71048bf3e9dc
Author: Andres Salomon <dilinger at collabora.co.uk>
Date:   Tue Jun 30 02:14:00 2009 -0400

    olpc_battery: Fix up eeprom read function
    
    The eeprom read function was placing values into the wrong place in
    'buf'; we were starting from buf[off], rather than buf[0].
    
    Also, the for loop that we were using was much uglier than it needed to
    be.  This cleans it up a bit.
    
    Signed-off-by: Andres Salomon <dilinger at collabora.co.uk>
    Signed-off-by: Anton Vorontsov <cbouatmailru at gmail.com>

commit 574ec547c7771881e18e4e76ca970e323bcdc774
Author: Guennadi Liakhovetski <lg at denx.de>
Date:   Tue Jun 23 13:26:23 2009 +0200

    ARM: add support for the EET board, based on the i.MX31 pcm037 module
    
    The "EET" variant of the pcm037 board has an OLED display, using a S6E63D6
    display controller on the first SPI interface, using GPIO57 as a chip-select
    for it. S6E63D6 is initialised in the boot-loader, so we only have to take care
    of the LCD. EET also adds several buttons and LEDs on GPIOs. This patch adds a
    "pcm037_variant=" kernel command line parameter to specify at boot-time which
    board the kernel is running on, default is "pcm970", specify "eet" for the EET
    board.
    
    Signed-off-by: Guennadi Liakhovetski <lg at denx.de>
    Signed-off-by: Sascha Hauer <s.hauer at pengutronix.de>

commit 32c1ad9ab2ae4171d8f3dd0c70a611f799ad6775
Author: Guennadi Liakhovetski <lg at denx.de>
Date:   Thu Jun 18 12:40:48 2009 +0200

    pcm037: add MT9T031 camera support
    
    Add support for the MT9T031 CMOS camera sensor from Aptina to the PCM037
    board. Also add two I2C iomux pin definitions, needed for pcm037. Also
    remove now unneeded #ifdef CONFIG_I2C_IMX.
    
    Signed-off-by: Guennadi Liakhovetski <lg at denx.de>
    Signed-off-by: Sascha Hauer <s.hauer at pengutronix.de>

commit 0c8bad6a26aefbcb7b3d8d1e5d97c53076ac99af
Author: Alberto Panizzo <maramaopercheseimorto at gmail.com>
Date:   Wed Jun 17 15:06:30 2009 +0200

    Armadillo 500 add NAND flash device support (resend).
    
    Since recent mxc_nand driver fixes from linux-mtd this patch
    add support for ST NAND02GW3B2CN6 (2k pages flash) placed on the armadillo 500
    motherboard.
    
    Signed-off-by: Alberto Panizzo <maramaopercheseimorto at gmail.com>
    Signed-off-by: Sascha Hauer <s.hauer at pengutronix.de>

commit c3a9c7f53a0eb1ec687ecf131f9cfb41bbdc26b5
Author: Alberto Panizzo <maramaopercheseimorto at gmail.com>
Date:   Wed Jun 17 15:05:21 2009 +0200

    ARM MXC: Armadillo 500 add NOR flash device support (resend).
    
    This patch add support for NOR flash mapping through the physmap driver.
    The purpose is to maintain the original Atmark partition model.
    
    Signed-off-by: Alberto Panizzo <maramaopercheseimorto at gmail.com>
    Signed-off-by: Sascha Hauer <s.hauer at pengutronix.de>

commit bc33dc5ae7ed7a422ab1141d3bf81c6cee2a5050
Author: Huang Weiyi <weiyi.huang at gmail.com>
Date:   Tue Jun 16 16:56:09 2009 +0800

    mx31: remove duplicated #include
    
    Remove duplicated #include in arch/arm/mach-mx3/devices.c.
    
    Signed-off-by: Huang Weiyi <weiyi.huang at gmail.com>
    Signed-off-by: Sascha Hauer <s.hauer at pengutronix.de>

commit 4859484b0957ddc7fe3e0fa349d98b0f1c7876bd
Author: Jiri Slaby <jirislaby at gmail.com>
Date:   Fri Jun 19 23:24:11 2009 +0200

    HID: hiddev, fix lock imbalance
    
    Add omitted BKL to one switch/case.
    
    Cc: Stable <stable at kernel.org>
    Signed-off-by: Jiri Slaby <jirislaby at gmail.com>
    Signed-off-by: Jiri Kosina <jkosina at suse.cz>

commit d4ec36bac3de39b7e10ec8f42fbdd20d9a9ed753
Author: Wolfram Sang <w.sang at pengutronix.de>
Date:   Sun Jun 21 12:32:39 2009 +0200

    sched: Documentation/sched-rt-group: Fix style issues & bump version
    
    - add missing closing bracket
    - fix two 80-chars issues (as the rest of the document adheres to it)
    - bump a reference to kernel version, so the document does not feel aged
    
    Signed-off-by: Wolfram Sang <w.sang at pengutronix.de>
    Cc: Peter Zijlstra <a.p.zijlstra at chello.nl>
    LKML-Reference: <1245580359-4465-1-git-send-email-w.sang at pengutronix.de>
    Signed-off-by: Ingo Molnar <mingo at elte.hu>

commit c78a87d0a1fc885dfdbe21fd5e07787691dfb068
Author: David Teigland <teigland at redhat.com>
Date:   Thu Jun 18 13:20:24 2009 -0500

    dlm: fix plock use-after-free
    
    Fix a regression from the original addition of nfs lock support
    586759f03e2e9031ac5589912a51a909ed53c30a.  When a synchronous
    (non-nfs) plock completes, the waiting thread will wake up and
    free the op struct.  This races with the user thread in
    dev_write() which goes on to read the op's callback field to
    check if the lock is async and needs a callback.  This check
    can happen on the freed op.  The fix is to note the callback
    value before the op can be freed.
    
    Signed-off-by: David Teigland <teigland at redhat.com>

commit a566a6b11c86147fe9fc9db7ab15f9eecca3e862
Author: Steven Whitehouse <swhiteho at redhat.com>
Date:   Mon Jun 15 08:26:48 2009 +0100

    dlm: Fix uninitialised variable warning in lock.c
    
      CC [M]  fs/dlm/lock.o
    fs/dlm/lock.c: In function ‘find_rsb’:
    fs/dlm/lock.c:438: warning: ‘r’ may be used uninitialized in this function
    
    Since r is used on the error path to set r_ret, set it to NULL.
    
    Signed-off-by: Steven Whitehouse <swhiteho at redhat.com>
    Signed-off-by: David Teigland <teigland at redhat.com>

commit 43a1a3ed6bf5a1b9ae197b4f5f20033baf19db61
Author: Ira Snyder <iws at ovro.caltech.edu>
Date:   Thu May 28 09:26:40 2009 +0000

    fsldma: do not clear bandwidth control bits on the 83xx controller
    
    The 83xx controller does not support the external pause feature. The bit
    in the mode register that controls external pause on the 85xx controller
    happens to be part of the bandwidth control settings for the 83xx
    controller.
    
    This patch fixes the driver so that it only clears the external pause bit
    if the hardware is the 85xx controller. When driving the 83xx controller,
    the bit is left untouched. This follows the existing convention that mode
    registers settings are not touched unless necessary.
    
    Signed-off-by: Ira W. Snyder <iws at ovro.caltech.edu>
    Signed-off-by: Dan Williams <dan.j.williams at intel.com>

commit be30b226f2ae618cd719e40267d9923db1db9001
Author: Ira Snyder <iws at ovro.caltech.edu>
Date:   Thu May 28 09:20:42 2009 +0000

    fsldma: enable external start for the 83xx controller
    
    The 83xx controller has external start capability, but lacks external pause
    capability. Hook up the external start function pointer for the 83xx
    controller.
    
    Signed-off-by: Ira W. Snyder <iws at ovro.caltech.edu>
    Signed-off-by: Dan Williams <dan.j.williams at intel.com>

commit a7aea373b4ca428f1be2c1fedd2f26c8e3f2864d
Author: Ira W. Snyder <iws at ovro.caltech.edu>
Date:   Thu Apr 23 16:17:54 2009 -0700

    fsldma: use PCI Read Multiple command
    
    By default, the Freescale 83xx DMA controller uses the PCI Read Line
    command when reading data over the PCI bus. Setting the controller to use
    the PCI Read Multiple command instead allows the controller to read much
    larger bursts of data, which provides a drastic speed increase.
    
    The slowdown due to using PCI Read Line was only observed when a PCI-to-PCI
    bridge was between the devices trying to communicate.
    
    A simple test driver showed an increase from 4MB/sec to 116MB/sec when
    performing DMA over the PCI bus. Using DMA to transfer between blocks of
    local SDRAM showed no change in performance with this patch. The dmatest
    driver was also used to verify the correctness of the transfers, and showed
    no errors.
    
    Signed-off-by: Ira W. Snyder <iws at ovro.caltech.edu>
    Acked-by: Timur Tabi <timur at freescale.com>
    Acked-by: Kumar Gala <galak at kernel.crashing.org>
    Signed-off-by: Dan Williams <dan.j.williams at intel.com>

-----------------------------------------------------------------------


hooks/post-receive
--
linux-cr
-------------- next part --------------
_______________________________________________
Containers mailing list
Containers at lists.linux-foundation.org
https://lists.linux-foundation.org/mailman/listinfo/containers


More information about the Devel mailing list