[cr][git]linux-cr branch, ckpt-v17, created. v2.6.27-rc5-46164-gcb4f8e4

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

 



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-v17 has been created
        at  cb4f8e444888f12d994fb914adb23d3742fd6cb1 (commit)

- Log -----------------------------------------------------------------
commit cb4f8e444888f12d994fb914adb23d3742fd6cb1
Author: Oren Laadan <orenl@xxxxxxxxxxxxxxx>
Date:   Wed Jul 22 00:44:03 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>.
    
    Signed-off-by: Oren Laadan <orenl@xxxxxxxxxxxxxxx>

commit 0a3495391ddfa5167441a02e462404dad155610f
Author: Serge E. Hallyn <serue@xxxxxxxxxx>
Date:   Wed Jul 22 00:43:54 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.
    
    Signed-off-by: Serge E. Hallyn <serue@xxxxxxxxxx>

commit d1c1d8bab0d23e1cc920eac0df1535b07b613a26
Author: Serge E. Hallyn <serue@xxxxxxxxxx>
Date:   Wed Jul 22 00:43:22 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:
    	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@xxxxxxxxxx>
    [orenl@xxxxxxxxxxxxxxx: merge with ckpt-v16-dev]

commit 19d51ab85fc19b2428fa57ead74a33059e6bbebe
Author: Serge E. Hallyn <serue@xxxxxxxxxx>
Date:   Tue Jul 21 21:58:04 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@xxxxxxxxxx>

commit e248742ebc0308bafd6a57a437cb4becd69531c5
Author: Serge E. Hallyn <serue@xxxxxxxxxx>
Date:   Tue Jul 21 21:58:03 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);
    
    Signed-off-by: Serge E. Hallyn <serue@xxxxxxxxxx>

commit 3c7bbff64db2840848d273365dcdeec2c2b17afe
Author: Dan Smith <danms@xxxxxxxxxx>
Date:   Tue Jul 21 21:58:03 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@xxxxxxxxxx>
    Signed-off-by: Dan Smith <danms@xxxxxxxxxx>

commit 30d9f0c70c6f5e4d62de857dc8e25ff074570146
Author: Dan Smith <danms@xxxxxxxxxx>
Date:   Tue Jul 21 21:58:03 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@xxxxxxxxxx>
    Signed-off-by: Oren Laadan <orenl@xxxxxxxxxxxxxxx>
    
    1: https://lists.linux-foundation.org/pipermail/containers/2009-February/015821.html (all the way at the bottom)

commit dff5f938429342dd29a042f09734979a2069a903
Author: Oren Laadan <orenl@xxxxxxxxxxxxxxx>
Date:   Tue Jul 21 21:58:02 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@xxxxxxxxxx>

commit 15f0c9abb9d92578e5d1fa53f288943fef231c44
Author: Oren Laadan <orenl@xxxxxxxxxxxxxxx>
Date:   Tue Jul 21 21:58:02 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[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@xxxxxxxxxxxxxxx>

commit f94775bf4f68db06fed951d5516ff8d7347dba5e
Author: Oren Laadan <orenl@xxxxxxxxxxxxxxx>
Date:   Tue Jul 21 21:57:58 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@xxxxxxxxxxxxxxx>

commit 3b5d97581427cc8b57a6b32b591277d656fa765e
Author: Oren Laadan <orenl@xxxxxxxxxxxxxxx>
Date:   Tue Jul 21 13:17:01 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[v17]:
      - Restore objects in the right namespace
      - Properly initialize ctx->deferqueue
      - Fix compilation with CONFIG_CHECKPOINT=n
    
    Signed-off-by: Oren Laadan <orenl@xxxxxxxxxxxxxxx>

commit a5df69850fb92e6fb542ac21850fe0d52d1bc3b5
Author: Oren Laadan <orenl@xxxxxxxxxxxxxxx>
Date:   Tue Jul 21 13:17:01 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@xxxxxxxxxx>]
      - Fix compilation with CONFIG_SYSVIPC=n
      - Update to match UTS changes
    
    Signed-off-by: Oren Laadan <orenl@xxxxxxxxxxxxxxx>

commit 5c90b930f89eae72bdc2772a7f704c07c6eda5e7
Author: Oren Laadan <orenl@xxxxxxxxxxxxxxx>
Date:   Tue Jul 21 13:17:01 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@xxxxxxxxxxxxxxx>

commit e1cee4c2f7044ebc411d511233b2becfab873313
Author: Oren Laadan <orenl@xxxxxxxxxxxxxxx>
Date:   Tue Jul 21 13:17:01 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[v17]
      - Fix deferqueue_add() function
    
    Signed-off-by: Oren Laadan <orenl@xxxxxxxxxxxxxxx>

commit 6ccf81990d9920eb504a53e47deda93e6906da69
Author: Dan Smith <danms@xxxxxxxxxx>
Date:   Tue Jul 21 13:17:01 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@xxxxxxxxxx>
    Signed-off-by: Oren Laadan <orenl@xxxxxxxxxxxxxxx>

commit 3ca3313b33b9baf98d8cd82ed1e4064b61e856f6
Author: Oren Laadan <orenl@xxxxxxxxxxxxxxx>
Date:   Tue Jul 21 13:17:01 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@xxxxxxxxxx>
    
    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@xxxxxxxxxxxxxxx>

commit 7d6a8ed63d154ce205db684a4bab833c094b09b2
Author: Oren Laadan <orenl@xxxxxxxxxxxxxxx>
Date:   Tue Jul 21 13:17:01 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[v17]:
      - Forward-declare 'ckpt_ctx' et-al, don't use checkpoint_types.h
    
    Signed-off-by: Oren Laadan <orenl@xxxxxxxxxxxxxxx>

commit a85111be31c01e87da53cae1fb4dcecabaa83a0b
Author: Oren Laadan <orenl@xxxxxxxxxxxxxxx>
Date:   Tue Jul 21 13:17:01 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@xxxxxxxxxxxxxxx>

commit e9e4ed6e3c810f2bfd7da3fd5796f46ec68634c5
Author: Oren Laadan <orenl@xxxxxxxxxxxxxxx>
Date:   Tue Jul 21 13:17:00 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@xxxxxxxxxxxxxxx>

commit f71c3f60dee52b311165e4945a5a7aeec29b7d34
Author: Oren Laadan <orenl@xxxxxxxxxxxxxxx>
Date:   Tue Jul 21 13:17:00 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.
    
    Signed-off-by: Oren Laadan <orenl@xxxxxxxxxxxxxxx>

commit b28384550f38921778b19390398b96405d69239d
Author: Oren Laadan <orenl@xxxxxxxxxxxxxxx>
Date:   Tue Jul 21 13:17:00 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@xxxxxxxxxxxxxxx>

commit f12254c74fcf1e7aadb4541e953fd3fdbd276e62
Author: Oren Laadan <orenl@xxxxxxxxxxxxxxx>
Date:   Tue Jul 21 13:17:00 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@xxxxxxxxxxxxxxx>

commit d88bc1173a159df716b774738b761e121ef31f09
Author: Oren Laadan <orenl@xxxxxxxxxxxxxxx>
Date:   Tue Jul 21 13:17:00 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[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@xxxxxxxxx>)
    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@xxxxxxxxxxxxxxx>

commit c3cd79a8d0e1666a6049216b519ad6f3394c11bd
Author: Oren Laadan <orenl@xxxxxxxxxxxxxxx>
Date:   Tue Jul 21 13:17:00 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@xxxxxxxxxxxxxxx>

commit d12e97a75dc6eb4338df9807bb0db99f0fd870f6
Author: Oren Laadan <orenl@xxxxxxxxxxxxxxx>
Date:   Tue Jul 21 13:17:00 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@xxxxxxxxxxxxxxx>

commit 64ec541b7ffe78d55c5edc567081158aa664b0c4
Author: Dave Hansen <dave@xxxxxxxxxxxxxxxxxx>
Date:   Tue Jul 21 13:17:00 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.
    
    Signed-off-by: Dave Hansen <dave@xxxxxxxxxxxxxxxxxx>

commit c642a91f59de9b4dd022cfff6301317aca70fb57
Author: Oren Laadan <orenl@xxxxxxxxxxxxxxx>
Date:   Tue Jul 21 13:17:00 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[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@xxxxxxxxxxxxxxx>

commit 0be12f2d171c8a8e51d36b25216615cb3afdf72e
Author: Oren Laadan <orenl@xxxxxxxxxxxxxxx>
Date:   Tue Jul 21 13:17:00 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[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@xxxxxxxxxxxxxxx>

commit fcb322e721c2b9b665ba8594bb5c9c97d1dd5c95
Author: Oren Laadan <orenl@xxxxxxxxxxxxxxx>
Date:   Tue Jul 21 13:17:00 2009 -0400

    c/r: introduce '->checkpoint()' method in 'struct file_operations'
    
    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 introduce vfs_fcntl() so that it can be called from restart (see
    patch adding restart of files).
    
    Changelog[v17]
      - Forward-declare 'ckpt_ctx' et-al, don't use checkpoint_types.h
    
    Signed-off-by: Oren Laadan <orenl@xxxxxxxxxxxxxxx>

commit 910c3df126d8f44e0d1ca9526fb0dfa9dd887c14
Author: Oren Laadan <orenl@xxxxxxxxxxxxxxx>
Date:   Tue Jul 21 13:17:00 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).  Of course, by this time most of the checkpoint
    image has been written out to disk, so this is purely advisory.  But
    then, it's probably naive to argue that anything more than an advisory
    'this went wrong' error code is useful.
    
    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.
    
    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@xxxxxxxxxxxxxxx>

commit 3e8f745f577ba85d6a5b82a36b7128d5879c70fd
Author: Oren Laadan <orenl@xxxxxxxxxxxxxxx>
Date:   Tue Jul 21 13:17:00 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[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@xxxxxxxxx>)
    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@xxxxxxxxxxxxxxx>

commit 7891e26585dbc19d1824a0ab9b4ce0c4851bb663
Author: Matt Helsley <matthltc@xxxxxxxxxx>
Date:   Tue Jul 21 13:16:44 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@xxxxxxxxxx>
    [orenl@xxxxxxxxxxxxxxx: move save/restore code to checkpoint/process.c]

commit 5c79b44ac7f2af8b006b9a38581bbe28cfbb84ee
Author: Oren Laadan <orenl@xxxxxxxxxxxxxxx>
Date:   Tue Jul 21 13:15: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[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@xxxxxxxxxxxxxxx>

commit 10b04de65897fbdc7339474b6e9ae8e88591f59a
Author: Oren Laadan <orenl@xxxxxxxxxxxxxxx>
Date:   Tue Jul 21 13:15: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@xxxxxxxxxxxxxxx>

commit c79d0d7717e639b4a6b6aed998007831efdf2abe
Author: Oren Laadan <orenl@xxxxxxxxxxxxxxx>
Date:   Tue Jul 21 13:15: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[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@xxxxxxxxxxxxxxx>

commit 3002f6c85bdcc830611aa54166750aaca4f933ee
Author: Oren Laadan <orenl@xxxxxxxxxxxxxxx>
Date:   Tue Jul 21 13:15: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[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@xxxxxxxxxxxxxxx>

commit af9d5a0ff64aab7f53b0b470595b94d9cc5b7330
Author: Oren Laadan <orenl@xxxxxxxxxxxxxxx>
Date:   Tue Jul 21 13:03:20 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.
    
    Signed-off-by: Oren Laadan <orenl@xxxxxxxxxxxxxxx>

commit cc8e6738f78b87f2752425746a99c168c03d981b
Author: Oren Laadan <orenl@xxxxxxxxxxxxxxx>
Date:   Tue Jul 21 13:03:00 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@xxxxxxxxxxxxxxx>
    Acked-by: Serge Hallyn <serue@xxxxxxxxxx>

commit 941b62b4d8d60514cc6dbb7cb5b3a586b36a5c5e
Author: Oren Laadan <orenl@xxxxxxxxxxxxxxx>
Date:   Tue Jul 21 13:02:59 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@xxxxxxxxxxxxxxx>

commit e59a6da27e4f1892e43caf98515e08263116a1e6
Author: Oren Laadan <orenl@xxxxxxxxxxxxxxx>
Date:   Tue Jul 21 13:02:59 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@xxxxxxxxxxxxxxx>

commit 5e199f6787436a16a89a51ac4692b66531d857a3
Author: Oren Laadan <orenl@xxxxxxxxxxxxxxx>
Date:   Tue Jul 21 13:02:59 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[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@xxxxxxxxxxxxxxx>

commit 213e128413b08bf002e2f4e74322a79bd9c9c684
Author: Oren Laadan <orenl@xxxxxxxxxxxxxxx>
Date:   Tue Jul 21 13:02:58 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@xxxxxxxxxxxxxxx>
    Acked-by: Serge Hallyn <serue@xxxxxxxxxx>
    Signed-off-by: Dave Hansen <dave@xxxxxxxxxxxxxxxxxx>

commit 7e3a42ccedfe39c53366eb67fcfe0619cce4fcea
Author: Oren Laadan <orenl@xxxxxxxxxxxxxxx>
Date:   Tue Jul 21 13:02:58 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[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@xxxxxxxxxxxxxxx>
    Acked-by: Serge Hallyn <serue@xxxxxxxxxx>
    Signed-off-by: Dave Hansen <dave@xxxxxxxxxxxxxxxxxx>

commit 85cd12a30e3492464bc5d55fac26d70ffeb195f8
Author: Sukadev Bhattiprolu <sukadev@xxxxxxxxxxxxxxxxxx>
Date:   Tue Jul 21 13:02:58 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@xxxxxxxxxxxxxxxxxx>

commit 5e6aa6046575f734b1a729ba7e9df8f84f726b54
Author: Sukadev Bhattiprolu <sukadev@xxxxxxxxxxxxxxxxxx>
Date:   Tue Jul 21 13:02:57 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@xxxxxxxxxxxxxxxxxx>
    Acked-by: Serge Hallyn <serue@xxxxxxxxxx>
    Reviewed-by: Oren Laadan <orenl@xxxxxxxxxxxxxxx>

commit c943055d0369dbd1b9750a4fee65efd8c35603fc
Author: Sukadev Bhattiprolu <sukadev@xxxxxxxxxxxxxxxxxx>
Date:   Tue Jul 21 13:02:57 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@xxxxxxxxxxxxxxxxxx>
    Acked-by: Serge Hallyn <serue@xxxxxxxxxx>
    Reviewed-by: Oren Laadan <orenl@xxxxxxxxxxxxxxx>

commit 852706340524ee889b6b39f3d95851ccd7304bfb
Author: Sukadev Bhattiprolu <sukadev@xxxxxxxxxxxxxxxxxx>
Date:   Tue Jul 21 13:02:57 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@xxxxxxxxxxxxxxxxxx>
    Acked-by: Serge Hallyn <serue@xxxxxxxxxx>
    Reviewed-by: Oren Laadan <orenl@xxxxxxxxxxxxxxx>

commit df3d617516c52ebfb61f7c8532818fc021f79950
Author: Sukadev Bhattiprolu <sukadev@xxxxxxxxxxxxxxxxxx>
Date:   Tue Jul 21 13:02:56 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@xxxxxxxxxxxxxxxxxx>
    Acked-by: Serge Hallyn <serue@xxxxxxxxxx>
    Reviewed-by: Oren Laadan <orenl@xxxxxxxxxxxxxxx>

commit 54a5bd453108b266524f3fb641bc40f5b0a43cb0
Author: Sukadev Bhattiprolu <sukadev@xxxxxxxxxxxxxxxxxx>
Date:   Tue Jul 21 13:02:56 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@xxxxxxxxxxxxxxxxxx>
    Acked-by: Serge Hallyn <serue@xxxxxxxxxx>
    Reviewed-by: Oren Laadan <orenl@xxxxxxxxxxxxxxx>

commit 0dd5c33d8568f34532c9300b4128553b5fcc3fe1
Author: Sukadev Bhattiprolu <sukadev@xxxxxxxxxxxxxxxxxx>
Date:   Tue Jul 21 13:02:56 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@xxxxxxxxxxxxxxxxxx>
    Acked-by: Serge Hallyn <serue@xxxxxxxxxx>
    Reviewed-by: Oren Laadan <orenl@xxxxxxxxxxxxxxx>

commit 8f1bfa90e4defe9467e051d0eedbd3e6e0e76e84
Author: Oren Laadan <orenl@xxxxxxxxxxxxxxx>
Date:   Tue Jul 21 13:02:55 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@xxxxxxxxxxxxxxx>

commit fb57fc0b669c69bb04822912a8627b8e677de60a
Author: Dave Hansen <dave@xxxxxxxxxxxxxxxxxx>
Date:   Tue Jul 21 13:02:55 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@xxxxxxxxxxxxxxxxxx>
    Acked-by: Oren Laadan <orenl@xxxxxxxxxxxxxxx>

commit 5552bd01b557c1895974c159b27a7417cc8f3fe6
Author: Oren Laadan <orenl@xxxxxxxxxxxxxxx>
Date:   Tue Jul 21 12:54:18 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@xxxxxxxxxxxxxxx>
    CC: Matt Helsley <matthltc@xxxxxxxxxx>
    Cc: Paul Menage <menage@xxxxxxxxxx>
    Cc: Li Zefan <lizf@xxxxxxxxxxxxxx>
    Cc: Cedric Le Goater <legoater@xxxxxxx>

commit e311c00924252eb9f9b867d5fba2fff31bdd73d2
Author: Matt Helsley <matthltc@xxxxxxxxxx>
Date:   Tue Jul 21 12:24:24 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@xxxxxxxxxxxxxxx>
    Signed-off-by: Matt Helsley <matthltc@xxxxxxxxxx>
    Cc: Paul Menage <menage@xxxxxxxxxx>
    Cc: Li Zefan <lizf@xxxxxxxxxxxxxx>
    Cc: Cedric Le Goater <legoater@xxxxxxx>

commit 211c6a21e3ba65402435c3e8f85e2bbd73d79c2d
Author: Matt Helsley <matthltc@xxxxxxxxxx>
Date:   Tue Jul 21 12:24:10 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@xxxxxxxxxx>
    Cc: Oren Laadan <orenl@xxxxxxxxxxxxxxx>
    Cc: Cedric Le Goater <legoater@xxxxxxx>
    Cc: Paul Menage <menage@xxxxxxxxxx>
    Cc: Li Zefan <lizf@xxxxxxxxxxxxxx>

commit 41d05856910cc42764261fb0e45309a642ba2c3d
Author: Matt Helsley <matthltc@xxxxxxxxxx>
Date:   Tue Jul 21 12:24:03 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@xxxxxxxxxxxxxxx>
    Signed-off-by: Matt Helsley <matthltc@xxxxxxxxxx>
    Cc: Cedric Le Goater <legoater@xxxxxxx>
    Cc: Paul Menage <menage@xxxxxxxxxx>
    Cc: Li Zefan <lizf@xxxxxxxxxxxxxx>
    Cc: Rafael J. Wysocki <rjw@xxxxxxx>
    Cc: Pavel Machek <pavel@xxxxxxx>
    Cc: linux-pm@xxxxxxxxxxxxxxxxxxxxxxxxxx
    
    Seems like a candidate for -stable.

commit 61ab533509f107678ae432925688b714388da3e5
Author: Serge E. Hallyn <serue@xxxxxxxxxx>
Date:   Tue Jul 21 12:22:23 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@xxxxxxxxxx>

commit 3f8c08d9d3d1c004be3b2632348ce44b10124cbc
Author: Serge E. Hallyn <serue@xxxxxxxxxx>
Date:   Tue Jul 21 12:22:23 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@xxxxxxxxxx>

commit a17e34be2221b7df61e8c909973b44c0c5d8f121
Author: Alexey Dobriyan <adobriyan@xxxxxxxxx>
Date:   Tue Jul 21 12:22:23 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@xxxxxxxxx>

commit b09726314706d740283f72ca61c75ca54277495f
Author: Alexey Dobriyan <adobriyan@xxxxxxxxx>
Date:   Tue Jul 21 12:22:12 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.
    
    Signed-off-by: Alexey Dobriyan <adobriyan@xxxxxxxxx>
    Signed-off-by: Oren Laadan <orenl@xxxxxxxxxxxxxxx>

commit 6847e154e3cd74fca6084124c097980a7634285a
Author: Linus Torvalds <torvalds@xxxxxxxxxxxxxxxxxxxx>
Date:   Mon Jul 13 18:18:52 2009 -0700

    Linux 2.6.31-rc3

commit 1cf29683f4414296dc772a87caa207cab16c310c
Merge: 4a390e07fc53ce9dd615d7b788e9ecc73f87ad94 96577c43827697ca1af5982fa256a34786d0c720
Author: Linus Torvalds <torvalds@xxxxxxxxxxxxxxxxxxxx>
Date:   Mon Jul 13 16:39:25 2009 -0700

    Merge branch 'for_linus' of git://git.kernel.org/pub/scm/linux/kernel/git/tytso/ext4
    
    * 'for_linus' of git://git.kernel.org/pub/scm/linux/kernel/git/tytso/ext4:
      jbd2: fix race between write_metadata_buffer and get_write_access
      ext4: Fix ext4_mb_initialize_context() to initialize all fields
      ext4: fix null handler of ioctls in no journal mode
      ext4: Fix buffer head reference leak in no-journal mode
      ext4: Move __ext4_journalled_writepage() to avoid forward declaration
      ext4: Fix mmap/truncate race when blocksize < pagesize && !nodellaoc
      ext4: Fix mmap/truncate race when blocksize < pagesize && delayed allocation
      ext4: Don't look at buffer_heads outside i_size.
      ext4: Fix goal inum check in the inode allocator
      ext4: fix no journal corruption with locale-gen
      ext4: Calculate required journal credits for inserting an extent properly
      ext4: Fix truncation of symlinks after failed write
      jbd2: Fix a race between checkpointing code and journal_get_write_access()
      ext4: Use rcu_barrier() on module unload.
      ext4: naturally align struct ext4_allocation_request
      ext4: mark several more functions in mballoc.c as noinline
      ext4: Fix potential reclaim deadlock when truncating partial block
      jbd2: Remove GFP_ATOMIC kmalloc from inside spinlock critical region
      ext4: Fix type warning on 64-bit platforms in tracing events header

commit 96577c43827697ca1af5982fa256a34786d0c720
Author: dingdinghua <dingdinghua85@xxxxxxxxx>
Date:   Mon Jul 13 17:55:35 2009 -0400

    jbd2: fix race between write_metadata_buffer and get_write_access
    
    The function jbd2_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@xxxxxxxxx>
    Signed-off-by: "Theodore Ts'o" <tytso@xxxxxxx>

commit 4a390e07fc53ce9dd615d7b788e9ecc73f87ad94
Merge: a4dc32374ed6dd56e09039ea8b7151c3a3e2307d f6387184f5196242edecbb5385bcc3481fae212a
Author: Linus Torvalds <torvalds@xxxxxxxxxxxxxxxxxxxx>
Date:   Mon Jul 13 10:24:43 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: stlc45xx: convert config_interface to bss_info_changed, fixing a build error
      Staging: comedi: s626: use subvendor:subdevice ids for SAA7146 board
      Staging: prevent rtl8192su from crashing dev_ioctl in SIOCGIWNAME
      Staging: prevent rtl8187se from crashing dev_ioctl() in SIOCGIWNAME
      Staging: rtl8192su: convert to net_device_ops
      Staging: serqt_usb2: declare qt_open static in serqt_usb2
      Staging: serqt_usb2: fix qt_close parameters in serqt_usb2
      Staging: comedi: jr3_pci.c: add required includes
      Staging: meilhaus: add email address to TODO
      Staging: rspiusb: use NULL virtual address instead of a bogus one
      Staging: vt6655: compile fix
      Staging: rt2870: Add USB ID for Sitecom WL-608

commit a4dc32374ed6dd56e09039ea8b7151c3a3e2307d
Merge: 51feb98d2547a389be2f666514f5bcd658f79eab 38c7dc373029e4666b17850054dd43c1c96bb264
Author: Linus Torvalds <torvalds@xxxxxxxxxxxxxxxxxxxx>
Date:   Mon Jul 13 10:24: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:
      wm97xx_batery: replace driver_data with dev_get_drvdata()
      omap: video: remove direct access of driver_data
      Sound: remove direct access of driver_data
      driver model: fix show/store prototypes in doc.
      Firmware: firmware_class, fix lock imbalance
      Driver Core: remove BUS_ID_SIZE
      sparc: remove driver-core BUS_ID_SIZE
      partitions: fix broken uevent_suppress conversion
      devres: WARN() and return, don't crash on device_del() of uninitialized device

commit 51feb98d2547a389be2f666514f5bcd658f79eab
Merge: 8f8f013478133eb98e35e1d669c98c5e39d769c7 dc7520c17982ca4232233d2781e5cde29e58fbad
Author: Linus Torvalds <torvalds@xxxxxxxxxxxxxxxxxxxx>
Date:   Mon Jul 13 10:23:03 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: (48 commits)
      USB: otg: fix module reinsert issue
      USB: handle zero-length usbfs submissions correctly
      USB: EHCI: report actual_length for iso transfers
      USB: option: remove unnecessary and erroneous code
      USB: cypress_m8: remove invalid Clear-Halt
      USB: musb_host: undo incorrect change in musb_advance_schedule()
      USB: fix LANGID=0 regression
      USB: serial: sierra driver id_table additions
      USB serial: Add ID for Turtelizer, an FT2232L-based JTAG/RS-232 adapter.
      USB: fix race leading to a write after kfree in usbfs
      USB: Sierra: fix oops upon device close
      USB: option.c: add A-Link 3GU device id
      USB: Serial: Add support for Arkham Technology adapters
      USB: Fix option_ms regression in 2.6.31-rc2
      USB: gadget audio: select SND_PCM
      USB: ftdi: support NDI devices
      Revert USB: usbfs: deprecate and hide option for !embedded
      USB: usb.h: fix kernel-doc notation
      USB: RNDIS gadget, fix issues talking from PXA
      USB: serial: FTDI with product code FB80 and vendor id 0403
      ...

commit 8f8f013478133eb98e35e1d669c98c5e39d769c7
Author: Dave Kleikamp <shaggy@xxxxxxxxxxxxxxxxxx>
Date:   Mon Jul 13 11:02:24 2009 -0500

    update JFS entry in MAINTAINERS
    
    JFS hasn't really been supported for a while.  It's still maintained,
    but saying it's supported is a stretch.  Updating my preferred email
    address as well.
    
    Signed-off-by: Dave Kleikamp <shaggy@xxxxxxxxxxxxxxxxxx>
    Signed-off-by: Linus Torvalds <torvalds@xxxxxxxxxxxxxxxxxxxx>

commit 5fddcdb70fd9e8fd52d42ed52a572fecb8eb7cde
Author: Huang Weiyi <weiyi.huang@xxxxxxxxx>
Date:   Mon Jul 13 15:09:25 2009 +0100

    mn10300: remove duplicated #include
    
    Remove duplicated #include('s) in
      arch/mn10300/kernel/sys_mn10300.c
    
    Signed-off-by: Huang Weiyi <weiyi.huang@xxxxxxxxx>
    Signed-off-by: David Howells <dhowells@xxxxxxxxxx>
    Signed-off-by: Linus Torvalds <torvalds@xxxxxxxxxxxxxxxxxxxx>

commit 1d03d2bd6e6421224d618b120348bd5ee328d96a
Author: Jean Delvare <khali@xxxxxxxxxxxx>
Date:   Mon Jul 13 12:39:05 2009 +0200

    Fix staging drivers after smp_lock.h redux
    
    Commit 405f55712dfe464b3240d7816cc4fe4174831be2 ("headers: smp_lock.h
    redux") broke the build of two staging drivers. Fix them.
    
    Signed-off-by: Jean Delvare <khali@xxxxxxxxxxxx>
    Cc: Alexey Dobriyan <adobriyan@xxxxxxxxx>
    Signed-off-by: Linus Torvalds <torvalds@xxxxxxxxxxxxxxxxxxxx>

commit 833576b362e15c38be3bfe43942cda693e56287c
Author: Theodore Ts'o <tytso@xxxxxxx>
Date:   Mon Jul 13 09:45:52 2009 -0400

    ext4: Fix ext4_mb_initialize_context() to initialize all fields
    
    Pavel Roskin pointed out that kmemcheck indicated that
    ext4_mb_store_history() was accessing uninitialized values of
    ac->ac_tail and ac->ac_buddy leading to garbage in the mballoc
    history.  Fix this by initializing the entire structure to all zeros
    first.
    
    Also, two fields were getting doubly initialized by the caller of
    ext4_mb_initialize_context, so remove them for efficiency's sake.
    
    Signed-off-by: "Theodore Ts'o" <tytso@xxxxxxx>

commit ac046f1d6121ccdda6db66bd88acd52418f489b2
Author: Peng Tao <bergwolf@xxxxxxxxx>
Date:   Mon Jul 13 09:30:17 2009 -0400

    ext4: fix null handler of ioctls in no journal mode
    
    The EXT4_IOC_GROUP_ADD and EXT4_IOC_GROUP_EXTEND ioctls should not
    flush the journal in no_journal mode.  Otherwise, running resize2fs on
    a mounted no_journal partition triggers the following error messages:
    
    BUG: unable to handle kernel NULL pointer dereference at 00000014
    IP: [<c039d282>] _spin_lock+0x8/0x19
    *pde = 00000000
    Oops: 0002 [#1] SMP
    
    Signed-off-by: Peng Tao <bergwolf@xxxxxxxxx>
    Signed-off-by: "Theodore Ts'o" <tytso@xxxxxxx>

commit e6b5d30104db5f34110678ecab14988f1f1eff63
Author: Curt Wohlgemuth <curtw@xxxxxxxxxx>
Date:   Mon Jul 13 09:07:20 2009 -0400

    ext4: Fix buffer head reference leak in no-journal mode
    
    We found a problem with buffer head reference leaks when using an ext4
    partition without a journal.  In particular, calls to ext4_forget() would
    not to a brelse() on the input buffer head, which will cause pages they
    belong to to not be reclaimable.
    
    Further investigation showed that all places where ext4_journal_forget() and
    ext4_journal_revoke() are called are subject to the same problem.  The patch
    below changes __ext4_journal_forget/__ext4_journal_revoke to do an explicit
    release of the buffer head when the journal handle isn't valid.
    
    Signed-off-by: Curt Wohlgemuth <curtw@xxxxxxxxxx>
    Signed-off-by: "Theodore Ts'o" <tytso@xxxxxxx>

commit dc7520c17982ca4232233d2781e5cde29e58fbad
Author: Ajay Kumar Gupta <ajay.gupta@xxxxxx>
Date:   Fri Jul 3 13:18:45 2009 +0530

    USB: otg: fix module reinsert issue
    
    Platform_device instance (pd) is not set to NULL in
    usb_nop_xceiv_unregister() causing usb_nop_xceiv_register()
    to fail during module reinsert.
    
    From: Ajay Kumar Gupta <ajay.gupta@xxxxxx>
    Signed-off-by: Babu Ravi <ravibabu@xxxxxx>
    Acked-by: David Brownell <dbrownell@xxxxxxxxxxxxxxxxxxxxx>

commit 9180135bc80ab11199d482b6111e23f74d65af4a
Author: Alan Stern <stern@xxxxxxxxxxxxxxxxxxx>
Date:   Mon Jun 29 11:04:54 2009 -0400

    USB: handle zero-length usbfs submissions correctly
    
    This patch (as1262) fixes a bug in usbfs: It refuses to accept
    zero-length transfers, and it insists that the buffer pointer be valid
    even if there is no data being transferred.
    
    The patch also consolidates a bunch of repetitive access_ok() checks
    into a single check, which incidentally fixes the lack of such a check
    for Isochronous URBs.
    
    Signed-off-by: Alan Stern <stern@xxxxxxxxxxxxxxxxxxx>
    Cc: stable <stable@xxxxxxxxxx>
    Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxx>

commit ec6d67e39f5638c792eb7490bf32586ccb9d8005
Author: Alan Stern <stern@xxxxxxxxxxxxxxxxxxx>
Date:   Mon Jun 29 14:34:59 2009 -0400

    USB: EHCI: report actual_length for iso transfers
    
    This patch (as1259b) makes ehci-hcd return the total number of bytes
    transferred in urb->actual_length for Isochronous transfers.
    Until now, the actual_length value was unaccountably left at 0.
    
    Signed-off-by: Alan Stern <stern@xxxxxxxxxxxxxxxxxxx>
    Acked-by: David Brownell <dbrownell@xxxxxxxxxxxxxxxxxxxxx>
    Cc: stable <stable@xxxxxxxxxx>
    Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxx>

commit f092c240494f2d807401d93f95f683909b90af96
Author: Alan Stern <stern@xxxxxxxxxxxxxxxxxxx>
Date:   Thu Jul 9 12:58:43 2009 -0400

    USB: option: remove unnecessary and erroneous code
    
    This patch (as1264) removes a bunch of unnecessary and erroneous stuff
    from the option USB-serial driver.  Clearly there's no need to verify
    that the device pointer stored in the URBs is right or to store the
    same pointer over again.  After all, the pointer can't change once it
    has been set up.
    
    There's also no need to call usb_clear_halt for the IN endpoint
    multiple times -- in fact, doing so is an error since every time after
    the first there will be active URBs queued for that endpoint.  Since
    the Clear-Halts don't appear to be needed at all, the patch simply
    removes them.
    
    Signed-off-by: Alan Stern <stern@xxxxxxxxxxxxxxxxxxx>
    Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxx>

commit 4d2fae8b3597bc787f1f1c06637ce5ab8187e5a7
Author: Alan Stern <stern@xxxxxxxxxxxxxxxxxxx>
Date:   Thu Jul 9 12:59:57 2009 -0400

    USB: cypress_m8: remove invalid Clear-Halt
    
    This patch (as1265) removes an erroneous call to usb_clear_halt from
    the cypress_m8 driver.  The call isn't valid because it is made from
    interrupt context whereas usb_clear_halt is a blocking routine.
    
    Presumably the code has never been executed; if it did it would cause
    an oops.  So instead treat -EPIPE like any other sort of unexplained
    error.
    
    Signed-off-by: Alan Stern <stern@xxxxxxxxxxxxxxxxxxx>
    Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxx>

commit 1fe975f9302e6c5a8f66401e305685396b2e4577
Author: Sergei Shtylyov <sshtylyov@xxxxxxxxxxxxx>
Date:   Fri Jul 10 20:02:44 2009 +0300

    USB: musb_host: undo incorrect change in musb_advance_schedule()
    
    Commit c9cd06b3d6ea825c62e277def929cc4315802b48 (musb_host: refactor
    URB giveback) included due to my overlook the change incorrect in the
    context of the current kernel -- undo it.
    
    Signed-off-by: Sergei Shtylyov <sshtylyov@xxxxxxxxxxxxx>
    Acked-by: David Brownell <dbrownell@xxxxxxxxxxxxxxxxxxxxx>
    Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxx>

commit 0cce2eda19923e5e5ccc8b042dec5af87b3ffad0
Author: Daniel Mack <daniel@xxxxxxxx>
Date:   Fri Jul 10 11:04:58 2009 +0200

    USB: fix LANGID=0 regression
    
    commit b7af0bb ("USB: allow malformed LANGID descriptors") broke support
    for devices without string descriptor support.
    
    Reporting string descriptors is optional to USB devices, and a device
    lets us know it can't deal with strings by responding to the LANGID
    request with a STALL token.
    
    The kernel handled that correctly before b7af0bb came in, but failed
    hard if the LANGID was reported but broken. More than that, if a device
    was not able to provide string descriptors, the LANGID was retrieved
    over and over again at each string read request.
    
    This patch changes the behaviour so that
    
     a) the LANGID is only queried once
     b) devices which can't handle string requests are not asked again
     c) devices with malformed LANGID values have a sane fallback to 0x0409
    
    Signed-off-by: Daniel Mack <daniel@xxxxxxxx>
    Acked-by: Alan Stern <stern@xxxxxxxxxxxxxxxxxxx>
    Cc: stable <stable@xxxxxxxxxx>
    Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxx>

commit c5f3d87d61a116fdf2e4a2804d5e32cf8a4eeac7
Author: Elina Pasheva <epasheva@xxxxxxxxxxxxxxxxxx>
Date:   Thu Jul 9 17:55:18 2009 -0700

    USB: serial: sierra driver id_table additions
    
    - Updated the id_table with all devices that Sierra Wireless currently
       support
     - Re-ordered the contents of the id_table for better readability
    
    Signed-off-by: Elina Pasheva <epasheva@xxxxxxxxxxxxxxxxxx>
    Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxx>

commit 145114125cf07afc91e5b132ec41c353284cdb2a
Author: Krzysztof Halasa <khc@xxxxxxxxx>
Date:   Fri Jul 10 01:06:23 2009 +0200

    USB serial: Add ID for Turtelizer, an FT2232L-based JTAG/RS-232 adapter.
    
    Adds USB ID for Turtelizer, an FT2232L-based JTAG/RS-232 adapter.
    
    Signed-off-by: Krzysztof Ha³asa <khc@xxxxxxxxx>
    Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxx>

commit 516a1a07f0219d6672fb6b8e49fb9d5d533c2e89
Author: Oliver Neukum <oliver@xxxxxxxxxx>
Date:   Wed Jul 8 19:09:23 2009 +0200

    USB: fix race leading to a write after kfree in usbfs
    
    this fixes a race between async_completed() and proc_reapurbnonblock().
    
    CPU A                   CPU B
    
    spin_lock(&ps->lock);
    list_move_tail(&as->asynclist, &ps->async_completed);
    spin_unlock(&ps->lock);
    
                                    if (!(as = async_getcompleted(ps)))
                                            return -EAGAIN;
                                    return processcompl(as, (void __user * __user *)arg);
    
    processcompl() calls free_async() which calls kfree(as)
    
    as->status = urb->status;
    if (as->signr) {
            sinfo.si_signo = as->signr;
            sinfo.si_errno = as->status;
            sinfo.si_code = SI_ASYNCIO;
            sinfo.si_addr = as->userurb;
            kill_pid_info_as_uid(as->signr, &sinfo, as->pid, as->uid,
                                  as->euid, as->secid);
    }
    snoop(&urb->dev->dev, "urb complete\n");
    snoop_urb(urb, as->userurb);
    
    write after kfree
    
    Signed-off-by: Oliver Neukum <oliver@xxxxxxxxxx>

commit 7bae0a070db4bc2761dd9515f450cdfa3f3f248c
Author: Alan Stern <stern@xxxxxxxxxxxxxxxxxxx>
Date:   Tue Jul 7 09:50:14 2009 -0400

    USB: Sierra: fix oops upon device close
    
    This patch (as1263) fixes a mixup that occurred when conflicting
    patches for the sierra driver were merged incorrectly.  The former
    sierra_shutdown routine should have been become sierra_release, not
    sierra_disconnect.
    
    The symptom this fixes is an oops when the device file is closed after
    a Sierra device has been unplugged (Bugzilla #13675).
    
    Signed-off-by: Alan Stern <stern@xxxxxxxxxxxxxxxxxxx>
    Tested-by: Peter Naulls <peter@xxxxxxxxxxxxxxxxxxxx>
    Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxx>

commit c3325eb16d36a49f9a5ae09241c418cfd1d3f4f5
Author: Anssi Hannula <anssi.hannula@xxxxxxxxx>
Date:   Mon Jul 6 19:08:59 2009 +0300

    USB: option.c: add A-Link 3GU device id
    
    Add A-Link 3GU device id 1e0e:9200 into option driver. The device
    has 4 interfaces, of which 1 is handled by storage and the other 3
    by option driver.
    
    The device appears first as CD-only 1e0e:f000 device and must be
    switched to 1e0e:9200 mode either by using "eject CD" or
    usb_modeswitch.
    
    For the record, the device does not work with generic usbserial
    driver (usb disconnect when sending the ATDT command).
    
    Signed-off-by: Anssi Hannula <anssi.hannula@xxxxxxxxx>
    Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxx>

commit 0601e116e30caf35520522cb621d05866663cab2
Author: Amit Kucheria <amit.kucheria@xxxxxxxxxxxxx>
Date:   Mon Jul 6 14:19:59 2009 +0300

    USB: Serial: Add support for Arkham Technology adapters
    
    As reported by David Potts from Arkham Technology, the current driver
    works with their hardware on addition of the device ids.
    
    Signed-off-by: Amit Kucheria <amit.kucheria@xxxxxxxxxxxxx>
    Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxx>

commit 2ab2178c3303583a0551f6b6bf4ba070afbf875f
Author: Jonathan McDowell <noodles@xxxxxxxx>
Date:   Sun Jul 5 12:29:51 2009 +0100

    USB: Fix option_ms regression in 2.6.31-rc2
    
    Commit 32ebbe7b6ad44ae9c276419710b56de6ba705303 which filters the
    SCSI REZERO command in option_ms based on a SCSI INQUIRY with a vendor
    of Option breaks my Option Icon 225 (0af0:6971). This device returns a
    vendor of ZCOPTION for the ZeroCD device. The following trivial patch
    fixes things for me.
    
    Signed-Off-By: Jonathan McDowell <noodles@xxxxxxxx>
    Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxx>

commit 04950737d6bed9d234483216ee36ed760d9404eb
Author: Randy Dunlap <randy.dunlap@xxxxxxxxxx>
Date:   Fri Jul 3 13:26:57 2009 -0700

    USB: gadget audio: select SND_PCM
    
    Fix USB gadget audio: select SND_PCM, like many other sound
    drivers do, to fix build errors:
    
    drivers/built-in.o: In function `f_audio_playback_work':
    audio.c:(.text+0x15a3e7): undefined reference to `snd_pcm_kernel_ioctl'
    audio.c:(.text+0x15a471): undefined reference to `snd_pcm_lib_write'
    drivers/built-in.o: In function `_snd_pcm_hw_param_set':
    audio.c:(.text+0x15aca7): undefined reference to `snd_interval_refine'
    drivers/built-in.o: In function `gaudio_setup':
    (.init.text+0x12adf): undefined reference to `_snd_pcm_hw_params_any'
    drivers/built-in.o: In function `gaudio_setup':
    (.init.text+0x12b43): undefined reference to `snd_pcm_kernel_ioctl'
    
    Signed-off-by: Randy Dunlap <randy.dunlap@xxxxxxxxxx>
    Acked-by: David Brownell <dbrownell@xxxxxxxxxxxxxxxxxxxxx>
    Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxx>

commit b760dac290c3482e6883d5f79a2357c82239a3ff
Author: Martin Geleynse <mgeleyns@xxxxxxxxxxxx>
Date:   Thu Jul 2 13:10:35 2009 -0400

    USB: ftdi: support NDI devices
    
    It enhances the driver for FTDI-based USB serial adapters to recognize and
    support Northern Digital Inc (NDI) measurement equipment. NDI has been
    providing this patch for various kernel flavors for several years and we would
    like to see these changes built in to the driver so that our equipement works
    without the need for customers to patch the kernel themselves.
    
    The patch makes small modifications to 2 files: ./drivers/usb/serial/ftdi_sio.c
    and ./drivers/usb/serial/ftdi_sio.h. It accomplishes 3 things:
    
    1. Define the VID and PIDs to allow the driver to recognize the NDI devices.
    2. Map the 19200 baud rate setting to our higher baud rate of 1.2Mb
       We would have chosen to map 38400 to the higher rate, similar to what
       several other vendors have done, but some of our legacy customers actually
       use 38400, therefore we remap 19200 to the higher rate.
    3. We set the default transmit latency in the FTDI chip to 1ms for our devices.
       Our devices are typically polled at 60Hz and the default ftdi latency
       seriously affects turn-around time and results in missed data frames. We
       have created a modprobe option that allows this setting to be increased.
       This has proven necessary particularly in some virtualized environments.
    
    Signed-off-by: Martin P. Geleynse <mgeleyns@xxxxxxxxxxxx>
    Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxx>

commit e12df02a171d1c10ee664e6571c0e4cb7e1b7c92
Author: Greg Kroah-Hartman <gregkh@xxxxxxx>
Date:   Thu Jul 9 21:35:49 2009 -0700

    Revert USB: usbfs: deprecate and hide option for !embedded
    
    This reverts commit cc71329b3b89b4a5be849b617f2c4f151f0b9213, so that
    Red Hat machines can boot properly.  It seems that the Red Hat initrd
    code tries to watch the /proc/bus/usb/devices file to monitor usb
    devices showing up.  While this task is prone to lots of races and does
    not show the true state of the system, they seem to like it.
    
    So for now, don't move this option under the EMBEDDED config option.
    
    
    Cc: Scott James Remnant <scott@xxxxxxxxxxxxx>
    Cc: Kay Sievers <kay.sievers@xxxxxxxx>
    Cc: Dave Airlie <airlied@xxxxxxxxx>
    Cc: Peter Jones <pjones@xxxxxxxxxx>
    Cc: Jeff Chua <jeff.chua.linux@xxxxxxxxx>
    Cc: Dave Jones <davej@xxxxxxxxxx>
    Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxx>

commit e376bbbb6a82cf119c93bde66937f66c72cba27b
Author: Randy Dunlap <randy.dunlap@xxxxxxxxxx>
Date:   Thu Jun 18 10:39:11 2009 -0700

    USB: usb.h: fix kernel-doc notation
    
    Fix usb.h kernel-doc warnings:
    
    Warning(include/linux/usb.h:918): Excess struct/union/enum/typedef member 'nodename' description in 'usb_device_driver'
    Warning(include/linux/usb.h:939): No description found for parameter 'nodename'
    Warning(include/linux/usb.h:1219): No description found for parameter 'sg'
    Warning(include/linux/usb.h:1219): No description found for parameter 'num_sgs'
    
    Signed-off-by: Randy Dunlap <randy.dunlap@xxxxxxxxxx>
    Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxx>

commit 4e19f220d4e84f5728cb7edde36352ab425cfba4
Author: David Brownell <dbrownell@xxxxxxxxxxxxxxxxxxxxx>
Date:   Fri Jun 19 03:09:04 2009 -0700

    USB: RNDIS gadget, fix issues talking from PXA
    
    The reworked Ethernet gadget has an RNDIS interop problem when used
    with the CDC subset driver ... e.g. on PXA 2xx and 3xx hardware,
    which currently has a hard time talking to MS-Windows hosts.
    
    The issue is that Microsoft requires USB_CLASS_COMM.  Fix by tweaking
    the CDC subset driver to not switch to USB_CLASS_VENDOR_SPEC if RNDIS
    is used in some other device configuration.
    
    [ UPDATED:  some "statements" were comma-terminated; fix that. ]
    
    Signed-off-by: David Brownell <dbrownell@xxxxxxxxxxxxxxxxxxxxx>
    Cc: Aric Blumer <aric@xxxxxxxxxxxxxx>
    Cc: stable <stable@xxxxxxxxxx>
    Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxx>

commit b34efeeab84e0887b30fee101612a72786ddced2
Author: Folkert van Heusden <folkert@xxxxxxxxxxxxxx>
Date:   Fri Jun 19 22:14:42 2009 +0200

    USB: serial: FTDI with product code FB80 and vendor id 0403
    
    It seems an USB device with vendor id 0403 and product code FB80 has an
    FTDI serial io chip as well: http://ftdichip.com/Drivers/D2XX.htm
    This device in fact is a true random generantor by comsci:
    http://comscire.com/Products/R2000KU/
    So the following patch should add support for this device if I am
    correct. Not tested as I do not own this device (I would like support in
    the kernel so that my entropybroker application (which distributes
    entrop data (random values) between servers and clients)).
    
    
    From: Folkert van Heusden <folkert@xxxxxxxxxxxxxx>
    Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxx>

commit 6e4061210150d1d6d388c5fba05f6b49a306a27e
Author: Jason Wessel <jason.wessel@xxxxxxxxxxxxx>
Date:   Mon Jun 22 11:32:20 2009 -0500

    USB: console: Fix regression in usb console on kernel boot
    
    The commit 335f8514f200e63d689113d29cb7253a5c282967 introduced a
    regression which stopped usb consoles from working correctly as a
    kernel boot console as well as interactive login device.
    
    The addition of the serial_close() which in turn calls
    tty_port_close_start() will change the reference count of port.count
    and warn about it.  The usb console code had previously incremented
    the port.count to indicate it was making use of the device as a
    console and the forced change causes a double open on the usb device
    which leads to a non obvious kernel oops later on when the tty is
    freed.
    
    To fix the problem instead make use of port->console to track if the
    port is in fact an active console port to avoid double initialization
    of the usb serial device.  The port.count is incremented and
    decremented only with in the scope of usb_console_setup() for the
    purpose of the low level driver initialization.
    
    Signed-off-by: Jason Wessel <jason.wessel@xxxxxxxxxxxxx>
    Acked-by: Alan Cox <alan@xxxxxxxxxxxxxxx>
    Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxx>

commit bf7fbb022f0a3da27a2bcf8d7c973c813d942384
Author: Frans Pop <elendil@xxxxxxxxx>
Date:   Fri Jun 26 16:10:19 2009 +0200

    USB: add missing class descriptions used in usb/devices file
    
    Added descriptions (for WIRELESS_CONTROLLER and MISC) were taken from
    the usb-devices script now included in usbutils.
    
    Also sort the classes in the same order as in include/linux/usb/ch9.h
    for easier comparison for future updates.
    
    Signed-off-by: Frans Pop <elendil@xxxxxxxxx>
    Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxx>

commit d794a02111cd3393da69bc7d6dd2b6074bd037cc
Author: Oliver Neukum <oliver@xxxxxxxxxx>
Date:   Sun Jun 28 23:34:14 2009 +0200

    USB: fix memleak in usbfs
    
    This patch fixes a memory leak in devio.c::processcompl
    
    If writing to user space fails the packet must be discarded, as it
    already has been removed from the queue of completed packets.
    
    Signed-off-by: Oliver Neukum <oliver@xxxxxxxxxx>
    Cc: stable <stable@xxxxxxxxxx>
    Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxx>

commit ba516de332c0e574457e58fb5aa0293e628b7b10
Author: Alan Stern <stern@xxxxxxxxxxxxxxxxxxx>
Date:   Mon Jun 29 17:36:14 2009 -0400

    USB: EHCI: check for STALL before other errors
    
    This patch (as1257) revises the way ehci-hcd detects STALLs.  The
    logic is a little peculiar because there's no hardware status bit
    specifically meant to indicate a STALL.  You just have to guess that a
    STALL was received if the BABBLE bit (which is fatal) isn't set and
    the transfer stopped before all its retries were used up.
    
    The existing code doesn't do this properly, because it tests for MMF
    (Missed MicroFrame) and DBE (Data Buffer Error) before testing the
    retry counter.  Thus, if a transaction gets either MMF or DBE the
    corresponding flag is set and the transaction is retried.  If the
    second attempt receives a STALL then -EPIPE is the correct return
    value.  But the existing code would see the MMF or DBE flag instead
    and return -EPROTO, -ENOSR, or -ECOMM.
    
    Signed-off-by: Alan Stern <stern@xxxxxxxxxxxxxxxxxxx>
    Acked-by: David Brownell <dbrownell@xxxxxxxxxxxxxxxxxxxxx>
    Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxx>

commit 914b701280a76f96890ad63eb0fa99bf204b961c
Author: Alan Stern <stern@xxxxxxxxxxxxxxxxxxx>
Date:   Mon Jun 29 10:47:30 2009 -0400

    USB: EHCI: use the new clear_tt_buffer interface
    
    This patch (as1256) changes ehci-hcd and all the other drivers in the
    EHCI family to make use of the new clear_tt_buffer callbacks.  When a
    Clear-TT-Buffer request is in progress for a QH, the QH is not allowed
    to be linked into the async schedule until the request is finished.
    At that time, if there are any URBs queued for the QH, it is linked
    into the async schedule.
    
    Signed-off-by: Alan Stern <stern@xxxxxxxxxxxxxxxxxxx>
    Cc: stable <stable@xxxxxxxxxx>
    Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxx>

commit cb88a1b887bb8908f6e00ce29e893ea52b074940
Author: Alan Stern <stern@xxxxxxxxxxxxxxxxxxx>
Date:   Mon Jun 29 10:43:32 2009 -0400

    USB: fix the clear_tt_buffer interface
    
    This patch (as1255) updates the interface for calling
    usb_hub_clear_tt_buffer().  Even the name of the function is changed!
    
    When an async URB (i.e., Control or Bulk) going through a high-speed
    hub to a non-high-speed device is cancelled or fails, the hub's
    Transaction Translator buffer may be left busy still trying to
    complete the transaction.  The buffer has to be cleared; that's what
    usb_hub_clear_tt_buffer() does.
    
    It isn't safe to send any more URBs to the same endpoint until the TT
    buffer is fully clear.  Therefore the HCD needs to be told when the
    Clear-TT-Buffer request has finished.  This patch adds a callback
    method to struct hc_driver for that purpose, and makes the hub driver
    invoke the callback at the proper time.
    
    The patch also changes a couple of names; "hub_tt_kevent" and
    "tt.kevent" now look rather antiquated.
    
    Signed-off-by: Alan Stern <stern@xxxxxxxxxxxxxxxxxxx>
    Cc: stable <stable@xxxxxxxxxx>
    Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxx>

commit 87ea8c887905d8b13ae90b537117592ed027632a
Author: Oliver Neukum <oliver@xxxxxxxxxx>
Date:   Tue Jun 30 09:44:24 2009 +0200

    USB: fix uninitialised variable in ti_do_download
    
    Signed-off-by: Oliver Neukum <oliver@xxxxxxxxxx>
    Cc: stable <stable@xxxxxxxxxx>
    Cc: Andrew Morton <akpm@xxxxxxxxxxxxxxxxxxxx>
    Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxx>

commit 71f9f6cc9eef47fddc05f34b3d32677ab2e0f1fa
Author: Dan Williams <dcbw@xxxxxxxxxx>
Date:   Tue Jun 30 16:09:28 2009 -0400

    USB: option: add Novatel Ovation MC760
    
    Used by Virgin Mobile with the Broadband2Go service, for example.
    
    Signed-off-by: Dan Williams <dcbw@xxxxxxxxxx>
    Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxx>

commit 5186ffee2320942c3dc9745f7930e0eb15329ca6
Author: Arseniy Lartsev <ars3n@xxxxxxxxx>
Date:   Wed Jul 1 16:27:26 2009 +0400

    USB: cdc-acm: work around some broken devices
    
    This patch introduces a work around for cdc-acm devices which are
    low speed contrary to the specification, which requires bulk endpoints
    which are banned in low speed and converted by usbcore to virtual
    interrupt endpoints if they are used nevertheless.
    
    Signed-off-by: Arseniy Lartsev <ars3n@xxxxxxxxx>
    Cc: Oliver Neukum <oliver@xxxxxxxxxx>
    Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxx>

commit 89368d3d11a5b2eff83ad8e752be67f77a372bad
Author: David Brownell <dbrownell@xxxxxxxxxxxxxxxxxxxxx>
Date:   Wed Jul 1 03:36:16 2009 -0700

    USB: musb: silence "suspend as a_wait_vrise is_active" msgs
    
    Get rid of some obnoxious and inappropriate messaging, mostly on
    DaVinci, when usbcore tries to autosuspend a root hub if just a
    mini/micro-A connector is connected.  Symptom: endless stream of
    messages reading like:
    
     musb_bus_suspend 2221: trying to suspend as a_wait_vrise is_active=1
    
    Improve that musb bus suspend primitive a bit.  Take advantage of
    this call to update the OTG state machine if appropriate, moving
    the device out of the A_WAIT_VRISE state.  There's basically no
    timer for that state transition just now, except with tusb6010;
    that can make trouble.
    
    Signed-off-by: David Brownell <dbrownell@xxxxxxxxxxxxxxxxxxxxx>
    Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxx>

commit 6d84599b3c3a7bccc04ec4133220d150b92fe0f8
Author: David Brownell <dbrownell@xxxxxxxxxxxxxxxxxxxxx>
Date:   Wed Jul 1 03:43:58 2009 -0700

    USB: gadget: pxa25x compiler warning fix
    
    Fix config-dependent compiler warning:
    
      CC      drivers/usb/gadget/pxa25x_udc.o
    drivers/usb/gadget/pxa25x_udc.c: In function 'pxa25x_udc_irq':
    drivers/usb/gadget/pxa25x_udc.c:1806: warning: array subscript is above array bounds
    
    Signed-off-by: David Brownell <dbrownell@xxxxxxxxxxxxxxxxxxxxx>
    Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxx>

commit 56a075dcd64b25c828af1752dff0ac1e6833e135
Author: Philipp Zabel <philipp.zabel@xxxxxxxxx>
Date:   Wed Jul 1 03:42:45 2009 -0700

    USB: gadget: pxa25x uses gpio_is_valid
    
    Use gpio_is_valid instead of assuming that every GPIO
    number != 0 is valid while 0 is not.
    
    Signed-off-by: Philipp Zabel <philipp.zabel@xxxxxxxxx>
    Acked-by: Eric Miao <eric.y.miao@xxxxxxxxx>
    Signed-off-by: David Brownell <dbrownell@xxxxxxxxxxxxxxxxxxxxx>
    Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxx>

commit 30899ca7f20571c4bd64544dec261171f6ec255b
Author: Kevin Hilman <khilman@xxxxxxxxxxxxxxxxxxx>
Date:   Wed Jul 1 03:33:46 2009 -0700

    USB: musb: davinci dm6446evm GPIO renumbering
    
    Numbering for GPIOs on the pcf857x chips on the dm644x EVM board
    changed when DaVinci chips with more GPIOs were supported.  Update
    the GPIO number used for nVBUS_DRV.
    
    Longer term, we need a better abstraction of board-specific setup in
    this code so we're not hard-coding board specific GPIOs into the
    driver, but for now this at least gets it back to working with
    mainline davinci core code.
    
    Signed-off-by: Kevin Hilman <khilman@xxxxxxxxxxxxxxxxxxx>
    Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxx>

commit d163ef248385fc434e44b04a5151ae5d6a6c2d16
Author: David Brownell <dbrownell@xxxxxxxxxxxxxxxxxxxxx>
Date:   Wed Jul 1 03:32:43 2009 -0700

    USB: musb: davinci dm355 updates (remainder)
    
    Finish merging updates for DM355 chips into musb/davinci.c now
    that its support is in mainline:  kick in new DRVVBUS controls.
    
    Signed-off-by: David Brownell <dbrownell@xxxxxxxxxxxxxxxxxxxxx>
    Signed-off-by: Kevin Hilman <khilman@xxxxxxxxxxxxxxxxxxx>
    Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxx>

commit 6bc2146e2b01654534a1cae127ef96bf4b5f3d53
Author: Qiuping Chen <cqiuping@xxxxxxxxx>
Date:   Wed Jul 1 03:49:29 2009 -0700

    USB: gadget: rndis conformance tweak
    
    Support OID_802_3_MAC_OPTIONS in gen_ndis_query_resp() of rndis.c to
    make RNDIS gadget pass 1c_SetMulticast subtest in Microsoft NDISTest6:
    
      http://www.microsoft.com/whdc/DevTools/tools/NDIStest.mspx
    
    The other tests in NDISTest6 are passed.
    
    [ dbrownell@xxxxxxxxxxxxxxxxxxxxx: remove OID_802_3_MAXIMUM_LIST_SIZE
    setting ... it was bogus, this code only handles one entry, not 32.
    And we don't know what would break if we lied about that... ]
    
    Signed-off-by: Helen Chen <helen.chen@xxxxxxxxx>
    Signed-off-by: David Brownell <dbrownell@xxxxxxxxxxxxxxxxxxxxx>
    Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxx>

commit ca157c4a51fa6209f28c316f4a63d594adb79518
Author: Oliver Neukum <oliver@xxxxxxxxxx>
Date:   Thu Jul 2 16:41:39 2009 +0200

    USB: fix memory leak in usbtmc
    
    If an error is returned kfree must also be called.
    
    
    Signed-off-by: Oliver Neukum <oliver@xxxxxxxxxx>
    Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxx>

commit 45e83889eb291714d3a4727e98e2488074affbf8
Author: Arnd Bergmann <arnd@xxxxxxxx>
Date:   Fri Jun 19 05:35:34 2009 -0700

    USB: buildfix ppc randconfig
    
    We could just make the USB_OHCI_HCD_PPC_OF option implicit
    and selected only if at least one of USB_OHCI_HCD_PPC_OF_BE
    and USB_OHCI_HCD_PPC_OF_LE are set.
    
    [ dbrownell@xxxxxxxxxxxxxxxxxxxxx: fix patch manglation and dependencies ]
    
    Signed-off-by: Arnd Bergmann <arnd@xxxxxxxx>
    Tested-by: Subrata Modak <subrata@xxxxxxxxxxxxxxxxxx>
    Signed-off-by: David Brownell <dbrownell@xxxxxxxxxxxxxxxxxxxxx>
    Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxx>

commit 3c43f27bf57b0502df2478253699559ee1d43f6d
Author: Greg Kroah-Hartman <gregkh@xxxxxxx>
Date:   Fri Jun 26 08:05:20 2009 -0700

    USB: ti_usb_3410_5052: fix duplicate device ids.
    
    commit 1a1fab513734b3a4fca1bee8229e5ff7e1cb873c accidentally added the
    device id to both tables in the driver, which causes problems as this is
    only a single port device, not a multiple port device.
    
    Cc: stable <stable@xxxxxxxxxx>
    Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxx>

commit 05cbc2d58224d01925bfb93a0c3f0ab1f11b1eea
Author: Greg Kroah-Hartman <gregkh@xxxxxxx>
Date:   Tue Jun 23 16:01:06 2009 -0700

    USB: gadget: audio: provide correct device id
    
    The audio gadget driver should use a "Linux" device id, instead
    of relying on NetChip's vendor id.  So provide one out of our reserved
    namespace.
    
    Cc: Bryan Wu <cooloney@xxxxxxxxxx>
    Cc: Mike Frysinger <vapier@xxxxxxxxxx>
    Cc: David Brownell <david-b@xxxxxxxxxxx>
    Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxx>

commit 1a74826fa1cd6c2e382f927403b4440675f0f55a
Author: Greg Kroah-Hartman <gregkh@xxxxxxx>
Date:   Tue Jun 23 15:58:48 2009 -0700

    Revert "USB: Add Intel Langwell USB OTG Transceiver Drive"
    
    This reverts commit 453f77558810ffa669ed5a510a7173ec49def396.
    
    The driver should not have been accepted as the MSRT code is not
    in the main kernel yet, which this depends on.
    
    Cc: Alan Cox <alan@xxxxxxxxxxxxxxxxxxx>
    Cc: Hao Wu <hao.wu@xxxxxxxxx>
    Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxx>

commit e3a3174519bae99fe3a3d3b9dfda68d820527b44
Author: Brad Lu <Brad.Lu@xxxxxxxxx>
Date:   Tue Jun 16 18:04:00 2009 +0800

    USB: option.c to support Qisda H21/H20 usb modem
    
    This patch added Qisda(VID) & H21/H20(PID) into to supporting list.
    Please help to check this patch,
    
    From: Brad Lu <Brad.Lu@xxxxxxxxx>
    Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxx>

commit 83dfdaa362fd9f1ed8bfa0bba50fff08c063380b
Author: Kai Engert <kaie@xxxxxxx>
Date:   Fri Jun 12 08:51:37 2009 +0200

    USB: option.c: add Qualcomm/Option iCON 210 modem
    
    Add modem portion of USB device labeled:
    Model iCON 210, Qualcomm 3G HSDPA, designed in EU by Option
    
    Device starts in usb-storage mode (1e0e:f000) and requires the use of a tool
    like usb_modeswitch to switch it to modem mode (1e0e:9000).
    
    Signed-off-by: Kai Engert <kaie@xxxxxxx>
    Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxx>

commit 4198e4f7e0b756d8a847e408b0017495833538b3
Author: Mike Frysinger <vapier@xxxxxxxxxx>
Date:   Thu Jun 11 21:59:00 2009 -0400

    USB: isp1760: use __devexit_p() for remove function
    
    The isp1760_plat_remove function is declared with __devexit, so the
    .remove assignment needs to be wrapped with __devexit_p().
    
    Signed-off-by: Mike Frysinger <vapier@xxxxxxxxxx>
    Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxx>

commit a455212d19d312f6a99b3a4a86fb79fb91dd76c7
Author: Alan Stern <stern@xxxxxxxxxxxxxxxxxxx>
Date:   Thu Jun 11 14:56:22 2009 -0400

    USB: EHCI: update toggle state for linked QHs
    
    This is an update to the "usb-ehci-update-toggle-state-for-linked-qhs"
    patch.  Since an HCD's endpoint_reset method can be called in
    interrupt context, it mustn't assume that interrupts are enabled or
    that it can sleep.
    
    So we revert to the original way of refreshing QHs' toggle bits.  Now
    the endpoint_reset method merely clears the toggle flag in the device
    structure (as was done before) and starts an async QH unlink.  When the
    QH is linked again, after the unlink finishes and an URB is queued,
    the qh_refresh() routine will update the QH's toggle bit.
    
    Signed-off-by: Alan Stern <stern@xxxxxxxxxxxxxxxxxxx>
    Tested-by: David <david@xxxxxxxxxxxxxxx>
    CC: David Brownell <david-b@xxxxxxxxxxx>
    Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxx>

commit 9525dcb30f5f412748f58a0537002ea47cfe55de
Author: Roel Kluin <roel.kluin@xxxxxxxxx>
Date:   Wed Jun 10 12:57:35 2009 -0700

    USB: fhci: mutually exclusive port_status
    
    FHCI_PORT_DISABLED, -LOW and -FULL are mutually exclusive as status.
    
    Signed-off-by: Roel Kluin <roel.kluin@xxxxxxxxx>
    Cc: Anton Vorontsov <avorontsov@xxxxxxxxxxxxx>
    Signed-off-by: Andrew Morton <akpm@xxxxxxxxxxxxxxxxxxxx>
    Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxx>

commit 9d37ff64567f852a222c78e7d13037bb02395dc7
Author: Jan Capek <jan@xxxxxxxxxxx>
Date:   Wed Jun 10 18:58:52 2009 +0200

    USB: ftdi_sio - product ID's for CCS PIC programmers
    
    The product ID's for the following devices have been added:
    - LOAD-n-GO
    - ICD-U64
    - PRIME-8
    
    Signed-off-by: Jan Capek <jan@xxxxxxxxxxx>
    Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxx>

commit c03e7d4bc1c39ae74a5e9f7bd7e9fd12898e42b8
Author: Paulius Zaleckas <paulius.zaleckas@xxxxxxxxxxxx>
Date:   Tue Jun 9 11:11:16 2009 +0300

    USB: gadget: fix imx_udc entry in Kconfig
    
    Move USB_GADGET_IMX to the right section of Kconfig as this
    controller is available only as integrated on i.MX CPU.
    
    Signed-off-by: Paulius Zaleckas <paulius.zaleckas@xxxxxxxxxxxx>
    Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxx>

commit 8540d66615c39010168ab97eaafb476ec2851298
Author: Gianpaolo Cugola <gianpaoloc@xxxxxxxxx>
Date:   Fri Jun 5 22:57:52 2009 +0200

    USB: pl2303: New vendor and product id for the prolific driver
    
    I recently bought a PC interface for the Cressi Edy dive computer
    (www.cressi.it) and discovered that it uses the pl2303 chip, albeit
    with ad-hoc vendor and product ids (04b8, 0521 respectively). Being in
    the process of writing a linux software for such device (cressi only
    provides a windows software), I patched the pl2303 linux driver to
    have the interface recognized. I am submitting you the patch (very
    basic) for inclusion in next kernel version.
    
    From: Gianpaolo Cugola <gianpaoloc@xxxxxxxxx>
    Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxx>

commit f6387184f5196242edecbb5385bcc3481fae212a
Author: Alexander Beregalov <a.beregalov@xxxxxxxxx>
Date:   Sat Jun 20 20:58:33 2009 +0400

    Staging: stlc45xx: convert config_interface to bss_info_changed, fixing a build error
    
    See commit 2d0ddec5b2b (mac80211: unify config_interface and
    bss_info_changed)
    
    This fixes a build error.
    
    Signed-off-by: Alexander Beregalov <a.beregalov@xxxxxxxxx>
    Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxx>

commit 8231eb5672e7a020174eb7ce0436766eea57cae8
Author: Herton Ronaldo Krzesinski <herton@xxxxxxxxxxxxxxx>
Date:   Thu Jun 18 14:43:56 2009 -0300

    Staging: comedi: s626: use subvendor:subdevice ids for SAA7146 board
    
    The current s626 comedi driver in staging conflicts with philips SAA7146
    media/dvb based cards, because it claims the same vendor:device pci id
    for all subdevice/subvendor ids. What happens is that for people that have a
    philips SAA7146 media/dvb based card, s626 if available gets loaded by udev
    and makes system freeze (https://qa.mandriva.com/show_bug.cgi?id=51445).
    
    The s626 driver shouldn't claim all 1131:7146 devices. Fix this by
    specifying specific known subvendor:subdevice ids in its pci id table
    list.
    
    Also s626_attach is modified to use now pci_get_subsys instead of
    pci_get_device as reported by Ian Abbott, and now we loop over pci id
    table entries in case more ids are added in the future.
    
    Reference: http://lkml.org/lkml/2009/6/16/552
    
    Signed-off-by: Herton Ronaldo Krzesinski <herton@xxxxxxxxxxxxxxx>
    Signed-off-by: Ian Abbott <abbotti@xxxxxxxxx>
    Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxx>

commit 91fca6da389b897483b4c1edea29885172989fda
Author: Dan Aloni <dan@xxxxxxxxx>
Date:   Wed Jun 24 22:34:39 2009 +0300

    Staging: prevent rtl8192su from crashing dev_ioctl in SIOCGIWNAME
    
    (adapted from the rtl8187se patch)
    
    ieee80211_wx_get_name() ignores sizeof(wrqu->name) which is IFNAMSIZ (16), and
    on certain conditions, the concatenated string will be larger than IFNAMSIZ
    including the terminating zero.
    
        length ("802.11" ++ "b" ++ "/g" ++ " linked" ++ "\x00") == 17
    
    This fix uses strl{cpy,cat} in addition to the reduction of the total
    possible length of the output string by a char.
    
    It can be applied to 2.6.30-stable as well.
    
    Signed-off-by: Dan Aloni <dan@xxxxxxxxx>
    Cc: Bartlomiej Zolnierkiewicz <bzolnier@xxxxxxxxx>
    Cc: stable <stable@xxxxxxxxxx>
    Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxx>

commit 02c8baecf5d8850dba40b47cdf003ed2e04e66dd
Author: Dan Aloni <dan@xxxxxxxxx>
Date:   Sat Jun 20 16:32:22 2009 +0300

    Staging: prevent rtl8187se from crashing dev_ioctl() in SIOCGIWNAME
    
    I repeatedly get __stack_chk_fail panic()s with this driver before
    applying the attached fix.
    
    ieee80211_wx_get_name() ignores sizeof(wrqu->name) which is IFNAMSIZ (16), and
    on certain conditions, the concatenated string will be larger than IFNAMSIZ
    including the terminating zero.
    
        length ("802.11" ++ "b" ++ "/g" ++ " linked" ++ "\x00") == 17
    
    This fix uses strl{cpy,cat} in addition to the reduction of the total
    possible length of the output string by a char.
    
    It can be applied to 2.6.30-stable as well.
    
    Signed-off-by: Dan Aloni <dan@xxxxxxxxx>
    Cc: Bartlomiej Zolnierkiewicz <bzolnier@xxxxxxxxx>
    Cc: stable <stable@xxxxxxxxxx>
    Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxx>

commit 77b9288197b6034c44abe2619aff62cba056a713
Author: Bartlomiej Zolnierkiewicz <bzolnier@xxxxxxxxx>
Date:   Thu Jun 11 20:49:07 2009 +0200

    Staging: rtl8192su: convert to net_device_ops
    
    commit e3804cbebb67887879102925961d41b503f7fbe3 removed
    COMPAT_NET_DEV_OPS so this change is needed to make rtl8192su
    buildable again.
    
    Loosely based on Alexander's patch for rtl8187se, untested.
    
    Cc: Alexander Beregalov <a.beregalov@xxxxxxxxx>
    Cc: David S. Miller <davem@xxxxxxxxxxxxx>
    Signed-off-by: Bartlomiej Zolnierkiewicz <bzolnier@xxxxxxxxx>
    Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxx>

commit 35e2bed559ab80641f1764aae570d92711ddc2fa
Author: Bill Pemberton <wfp5p@xxxxxxxxxxxx>
Date:   Fri Jun 19 12:32:57 2009 -0400

    Staging: serqt_usb2: declare qt_open static in serqt_usb2
    
    Signed-off-by: Bill Pemberton <wfp5p@xxxxxxxxxxxx>
    Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxx>

commit d9dea3c1c0814a87cc579b425e9776b8ed46b31f
Author: Bill Pemberton <wfp5p@xxxxxxxxxxxx>
Date:   Fri Jun 19 12:32:56 2009 -0400

    Staging: serqt_usb2: fix qt_close parameters in serqt_usb2
    
    The parameter list for qt_close() was from the old non usb-serial
    driver.
    
    Signed-off-by: Bill Pemberton <wfp5p@xxxxxxxxxxxx>
    Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxx>

commit 9b5de0a0a79111445d99ff7e4c6c1125523f84df
Author: Alexander Beregalov <a.beregalov@xxxxxxxxx>
Date:   Sat Jun 20 03:52:47 2009 +0400

    Staging: comedi: jr3_pci.c: add required includes
    
    Fix this build errors:
    jr3_pci.c:739: error: 'jiffies' undeclared
    jr3_pci.c:748: error: implicit declaration of function 'msecs_to_jiffies'
    jr3_pci.c:763: error: implicit declaration of function 'add_timer'
    jr3_pci.c:790: error: implicit declaration of function 'init_timer'
    jr3_pci.c:951: error: implicit declaration of function 'del_timer_sync'
    
    Signed-off-by: Alexander Beregalov <a.beregalov@xxxxxxxxx>
    Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxx>

commit e5a85d2179d0150688c1c4343c3c1b4a71bf6588
Author: Greg Kroah-Hartman <gregkh@xxxxxxx>
Date:   Thu Jul 2 12:55:39 2009 -0700

    Staging: meilhaus: add email address to TODO
    
    Meilhaus Support also wants to be notified of changes to these drivers.
    
    Cc: David Kiliani <mail@xxxxxxxxxxxxxxx>
    Cc: Meilhaus Support <support@xxxxxxxxxxx>
    Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxx>

commit aea0d43bdec32cc4a7ba53d6c82616de3964357a
Author: Pete Zaitcev <zaitcev@xxxxxxxxxx>
Date:   Wed Jun 10 14:44:14 2009 -0600

    Staging: rspiusb: use NULL virtual address instead of a bogus one
    
    The main problem here is that I just cannot see how this could ever
    be correct:
    
    	usb_fill_bulk_urb(pdx->PixelUrb[frameInfo][i], pdx->udev, epAddr,
    		(dma_addr_t *) sg_dma_address(&pdx->sgl[frameInfo][i]),
     		sg_dma_len(&pdx->sgl[frameInfo][i]),
    
    You cannot take a DMA address, cast it to a _pointer to_ a DMA address,
    and then regard it as a virtual address of the transfer buffer.
    However, finding the right virtual address was too hard for me,
    so I just stubbed it with NULL. At least usbmon won't oops then
    (it will not show any data but it's better than crashing).
    
    Also, too big a buffer was allocated elsewhere.
    
    And since we're at it, drop clearly unnecessary usb_buffer_alloc too,
    leaving it where it may be useful.
    
    Signed-off-by: Pete Zaitcev <zaitcev@xxxxxxxxxx>
    Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxx>

commit f408adeb517e1b17102acd889251d5ab60c1fb88
Author: Alan Cox <alan@xxxxxxxxxxxxxxx>
Date:   Wed Jun 10 17:30:49 2009 +0100

    Staging: vt6655: compile fix
    
    At least make it compile
    
    Signed-off-by: Alan Cox <alan@xxxxxxxxxxxxxxx>
    Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxx>

commit 8dfb00571819ce491ce1760523d50e85bcd2185f
Author: Jorrit Schippers <jorrit@xxxxxxxx>
Date:   Wed Jun 10 15:34:26 2009 +0200

    Staging: rt2870: Add USB ID for Sitecom WL-608
    
    Add the USB id 0x0DF6,0x003F to the rt2870.h file such that the
    Sitecom WL-608 device will be recognized by this driver.
    
    Signed-off-by: Jorrit Schippers <jorrit@xxxxxxxx>
    Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxx>

commit 38c7dc373029e4666b17850054dd43c1c96bb264
Author: Alexander Beregalov <a.beregalov@xxxxxxxxx>
Date:   Tue Jun 23 17:50:06 2009 +0400

    wm97xx_batery: replace driver_data with dev_get_drvdata()
    
    direct access of driver_data is going away.
    
    Signed-off-by: Alexander Beregalov <a.beregalov@xxxxxxxxx>
    Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxx>

commit 5e9a8bd65761bf0c1ee26d8514ef3e9ff22ee465
Author: Greg Kroah-Hartman <gregkh@xxxxxxx>
Date:   Tue Jun 23 08:31:46 2009 -0700

    omap: video: remove direct access of driver_data
    
    dev_set/get_drvdata() should be used instead, as driver_data is going
    away.
    
    
    Cc: Imre Deak <imre.deak@xxxxxxxxx>
    Cc: Russell King <rmk+kernel@xxxxxxxxxxxxxxxx>
    Cc: Andrew Morton <akpm@xxxxxxxxxxxxxxxxxxxx>
    Acked-by: Trilok Soni <soni.trilok@xxxxxxxxx>
    Cc: Tony Lindgren <tony@xxxxxxxxxxx>
    Cc: Felipe Contreras <felipe.contreras@xxxxxxxxx>
    Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxx>

commit 864e1e8db436dfd784340d0aef18ea303d157bcb
Author: Greg Kroah-Hartman <gregkh@xxxxxxx>
Date:   Mon Jun 22 15:46:03 2009 -0700

    Sound: remove direct access of driver_data
    
    This is the last in-kernel direct usage of driver_data, replace it with
    the proper dev_get/set_drvdata() calls.
    
    Cc: Takashi Iwai <tiwai@xxxxxxx>
    Cc: Jaroslav Kysela <perex@xxxxxxxx>
    Acked-by: Mark Brown <broonie@xxxxxxxxxxxxxxxxxxxxxxxxxxx>
    Cc: Liam Girdwood <lrg@xxxxxxxxxxxxxxx>
    Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxx>

commit 909662e1e7290945fa3bca038bc3b7bb5d19499f
Author: vibi sreenivasan <vibi_sreenivasan@xxxxxxx>
Date:   Wed Jul 8 15:37:03 2009 -0700

    driver model: fix show/store prototypes in doc.
    
    FIX prototypes for show & store method in struct driver_attribute
    
    Signed-off-by: vibi sreenivasan <vibi_sreenivasan@xxxxxxx>
    Signed-off-by: Randy Dunlap <randy.dunlap@xxxxxxxxxx>
    Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxx>

commit 308975fa7ab2a8e0b91186158128668c823790ce
Author: Jiri Slaby <jirislaby@xxxxxxxxx>
Date:   Sun Jun 21 23:57:31 2009 +0200

    Firmware: firmware_class, fix lock imbalance
    
    Add omitted unlock in firmware_data_read.
    
    Signed-off-by: Jiri Slaby <jirislaby@xxxxxxxxx>
    Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxx>

commit 4ead0a2b6b3aa0b527871ec978c3ef12aafb6bfb
Author: Kay Sievers <kay.sievers@xxxxxxxx>
Date:   Thu Jul 2 23:25:44 2009 +0200

    Driver Core: remove BUS_ID_SIZE
    
    The name size limit is gone from the driver-core, this is
    the removal of the last left-over.
    
    Signed-off-by: Kay Sievers <kay.sievers@xxxxxxxx>
    Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxx>

commit 08f42877aff6b966a386c47e0aeb98e7645db2a9
Author: Kay Sievers <kay.sievers@xxxxxxxx>
Date:   Thu Jul 2 23:27:22 2009 +0200

    sparc: remove driver-core BUS_ID_SIZE
    
    The name size limit is gone from the driver-core, the BUS_ID_SIZE
    value will be removed.
    
    Cc: David S. Miller <davem@xxxxxxxxxxxxx>
    Signed-off-by: Kay Sievers <kay.sievers@xxxxxxxx>
    Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxx>

commit f8c73c790c588fd70fda1632c8927a87b3d31dcd
Author: Heiko Carstens <heiko.carstens@xxxxxxxxxx>
Date:   Thu Jun 11 15:14:40 2009 +0200

    partitions: fix broken uevent_suppress conversion
    
    git commit f67f129e "Driver core: implement uevent suppress in kobject"
    contains this chunk for fs/partitions/check.c:
    
     	/* suppress uevent if the disk supresses it */
    -	if (!ddev->uevent_suppress)
    +	if (!dev_get_uevent_suppress(pdev))
     		kobject_uevent(&pdev->kobj, KOBJ_ADD);
    
    However that should have been
    
    -	if (!ddev->uevent_suppress)
    +	if (!dev_get_uevent_suppress(ddev))
    
    Signed-off-by: Heiko Carstens <heiko.carstens@xxxxxxxxxx>
    Acked-by: Ming Lei <tom.leiming@xxxxxxxxx>
    Cc: stable <stable@xxxxxxxxxx>
    Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxx>

commit eb8d3c604fe7496323efb9a858bef84c489ca584
Author: Benjamin Herrenschmidt <benh@xxxxxxxxxxxxxxxxxxx>
Date:   Wed Jun 10 12:43:02 2009 -0700

    devres: WARN() and return, don't crash on device_del() of uninitialized device
    
    I just debugged an obscure crash caused by a device_del() of a all NULL'd
    out struct device (in usb-serial) and found that a patch like this one would
    have saved me time (in addition to improved chances of a bug report from
    users hitting similar driver bugs).
    
    [akpm@xxxxxxxxxxxxxxxxxxxx: cleanup]
    Signed-off-by: Benjamin Herrenschmidt <benh@xxxxxxxxxxxxxxxxxxx>
    Cc: Kay Sievers <kay.sievers@xxxxxxxx>
    Cc: Tejun Heo <tj@xxxxxxxxxx>
    Signed-off-by: Andrew Morton <akpm@xxxxxxxxxxxxxxxxxxxx>
    Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxx>

commit 7638d5322bd89d49e013a03fe2afaeb6d214fabd
Merge: dd0d9a46f573b086a67522f819566427dba9c4c7 264ef8a904943ed7d0b04fa958894d7a5c2b2c61
Author: Linus Torvalds <torvalds@xxxxxxxxxxxxxxxxxxxx>
Date:   Sun Jul 12 12:24:35 2009 -0700

    Merge branch 'kmemleak' of git://linux-arm.org/linux-2.6
    
    * 'kmemleak' of git://linux-arm.org/linux-2.6:
      kmemleak: Remove alloc_bootmem annotations introduced in the past
      kmemleak: Add callbacks to the bootmem allocator
      kmemleak: Allow partial freeing of memory blocks
      kmemleak: Trace the kmalloc_large* functions in slub
      kmemleak: Scan objects allocated during a scanning episode
      kmemleak: Do not acquire scan_mutex in kmemleak_open()
      kmemleak: Remove the reported leaks number limitation
      kmemleak: Add more cond_resched() calls in the scanning thread
      kmemleak: Renice the scanning thread to +10

commit dd0d9a46f573b086a67522f819566427dba9c4c7
Author: Artem Bityutskiy <Artem.Bityutskiy@xxxxxxxxx>
Date:   Thu Jul 9 10:44:30 2009 +0100

    AFS: Fix compilation warning
    
    Fix the following warning:
    
      fs/afs/dir.c: In function 'afs_d_revalidate':
      fs/afs/dir.c:567: warning: 'fid.vnode' may be used uninitialized in this function
      fs/afs/dir.c:567: warning: 'fid.unique' may be used uninitialized in this function
    
    by marking the 'fid' variable as an uninitialized_var.  The problem is
    that gcc doesn't always manage to work out that fid is always set on the
    path through the function that uses it.
    
    Cc: linux-afs@xxxxxxxxxxxxxxxxxxx
    Cc: linux-kernel@xxxxxxxxxxxxxxx
    Signed-off-by: Artem Bityutskiy <Artem.Bityutskiy@xxxxxxxxx>
    Signed-off-by: David Howells <dhowells@xxxxxxxxxx>
    Signed-off-by: Linus Torvalds <torvalds@xxxxxxxxxxxxxxxxxxxx>

commit 405f55712dfe464b3240d7816cc4fe4174831be2
Author: Alexey Dobriyan <adobriyan@xxxxxxxxx>
Date:   Sat Jul 11 22:08:37 2009 +0400

    headers: smp_lock.h redux
    
    * Remove smp_lock.h from files which don't need it (including some headers!)
    * Add smp_lock.h to files which do need it
    * Make smp_lock.h include conditional in hardirq.h
      It's needed only for one kernel_locked() usage which is under CONFIG_PREEMPT
    
      This will make hardirq.h inclusion cheaper for every PREEMPT=n config
      (which includes allmodconfig/allyesconfig, BTW)
    
    Signed-off-by: Alexey Dobriyan <adobriyan@xxxxxxxxx>
    Signed-off-by: Linus Torvalds <torvalds@xxxxxxxxxxxxxxxxxxxx>

commit f9fabcb58a6d26d6efde842d1703ac7cfa9427b6
Author: Julien Tinnes <jt@xxxxxxx>
Date:   Fri Jun 26 20:27:40 2009 +0200

    personality: fix PER_CLEAR_ON_SETID
    
    We have found that the current PER_CLEAR_ON_SETID mask on Linux doesn't
    include neither ADDR_COMPAT_LAYOUT, nor MMAP_PAGE_ZERO.
    
    The current mask is READ_IMPLIES_EXEC|ADDR_NO_RANDOMIZE.
    
    We believe it is important to add MMAP_PAGE_ZERO, because by using this
    personality it is possible to have the first page mapped inside a
    process running as setuid root.  This could be used in those scenarios:
    
     - Exploiting a NULL pointer dereference issue in a setuid root binary
     - Bypassing the mmap_min_addr restrictions of the Linux kernel: by
       running a setuid binary that would drop privileges before giving us
       control back (for instance by loading a user-supplied library), we
       could get the first page mapped in a process we control.  By further
       using mremap and mprotect on this mapping, we can then completely
       bypass the mmap_min_addr restrictions.
    
    Less importantly, we believe ADDR_COMPAT_LAYOUT should also be added
    since on x86 32bits it will in practice disable most of the address
    space layout randomization (only the stack will remain randomized).
    
    Signed-off-by: Julien Tinnes <jt@xxxxxxx>
    Signed-off-by: Tavis Ormandy <taviso@xxxxxxxxxxxxxxxx>
    Cc: stable@xxxxxxxxxx
    Acked-by: Christoph Hellwig <hch@xxxxxxxxxxxxx>
    Acked-by: Kees Cook <kees@xxxxxxxxxx>
    Acked-by: Eugene Teo <eugene@xxxxxxxxxx>
    [ Shortened lines and fixed whitespace as per Christophs' suggestion ]
    Signed-off-by: Linus Torvalds <torvalds@xxxxxxxxxxxxxxxxxxxx>

commit a137802ee839ace40079bebde24cfb416f73208a
Author: Linus Torvalds <torvalds@xxxxxxxxxxxxxxxxxxxx>
Date:   Sun Jul 12 11:25:04 2009 -0700

    Don't use '-fwrapv' compiler option: it's buggy in gcc-4.1.x
    
    This causes kernel images that don't run init to completion with certain
    broken gcc versions.
    
    This fixes kernel bugzilla entry:
    	http://bugzilla.kernel.org/show_bug.cgi?id=13012
    
    I suspect the gcc problem is this:
    	http://gcc.gnu.org/bugzilla/show_bug.cgi?id=28230
    
    Fix the problem by using the -fno-strict-overflow flag instead, which
    not only does not exist in the known-to-be-broken versions of gcc (it
    was introduced later than fwrapv), but seems to be much less disturbing
    to gcc too: the difference in the generated code by -fno-strict-overflow
    are smaller (compared to using neither flag) than when using -fwrapv.
    
    Reported-by: Barry K. Nathan <barryn@xxxxxxxxx>
    Pushed-by: Frans Pop <elendil@xxxxxxxxx>
    Cc: Andrew Morton <akpm@xxxxxxxxxxxxxxxxxxxx>
    Cc: stable@xxxxxxxxxx
    Signed-off-by: Linus Torvalds <torvalds@xxxxxxxxxxxxxxxxxxxx>

commit 8b9f2caa02e96bb92327e3b4557adbb3f1203dc7
Merge: 81e4e1ba7ed4a1fdcf0e2ee944f1575010471464 ec05a8d75d0777cd221f61a88437a31e4cfb83d8
Author: Linus Torvalds <torvalds@xxxxxxxxxxxxxxxxxxxx>
Date:   Sat Jul 11 11:32:28 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: (abituguru3) DMI probing for AB9, AB9 QuadQT and IX38 QuadGT
      hwmon: (sht15) Remove unnecessary semicolon
      hwmon: (max6650) Fix lock imbalance

commit 81e4e1ba7ed4a1fdcf0e2ee944f1575010471464
Author: Linus Torvalds <torvalds@xxxxxxxxxxxxxxxxxxxx>
Date:   Sat Jul 11 11:22:34 2009 -0700

    Revert "fuse: Fix build error" as unnecessary
    
    This reverts commit 097041e576ee3a50d92dd643ee8ca65bf6a62e21.
    
    Trond had a better fix, which is the parent of this one ("Fix compile
    error due to congestion_wait() changes")
    
    Requested-by: Trond Myklebust <Trond.Myklebust@xxxxxxxxxx>
    Acked-by: Larry Finger <Larry.Finger@xxxxxxxxxxxx>
    Signed-off-by: Linus Torvalds <torvalds@xxxxxxxxxxxxxxxxxxxx>

commit 373c0a7ed3ea3b34efedb7c83ffb521adff7c894
Author: Trond Myklebust <Trond.Myklebust@xxxxxxxxxx>
Date:   Sat Jul 11 10:06:54 2009 -0400

    Fix compile error due to congestion_wait() changes
    
    Move the definition of BLK_RW_ASYNC/BLK_RW_SYNC into linux/backing-dev.h
    so that it is available to all callers of set/clear_bdi_congested().
    
    This replaces commit 097041e576ee3a50d92dd643ee8ca65bf6a62e21 ("fuse:
    Fix build error"), which will be reverted.
    
    Signed-off-by: Trond Myklebust <Trond.Myklebust@xxxxxxxxxx>
    Acked-by: Larry Finger <Larry.Finger@xxxxxxxxxxxx>
    Cc: Jens Axboe <jens.axboe@xxxxxxxxxx>
    Cc: Miklos Szeredi <miklos@xxxxxxxxxx>
    Signed-off-by: Linus Torvalds <torvalds@xxxxxxxxxxxxxxxxxxxx>

commit ec05a8d75d0777cd221f61a88437a31e4cfb83d8
Author: Alistair John Strachan <alistair@xxxxxxxxxxxxx>
Date:   Sat Jul 11 13:42:38 2009 +0200

    hwmon: (abituguru3) DMI probing for AB9, AB9 QuadQT and IX38 QuadGT
    
    Switch the AB9, AB9 QuadQT and IX38 QuadGT over from port
    probing to the preferred DMI probe method.
    
    Signed-off-by: Alistair John Strachan <alistair@xxxxxxxxxxxxx>
    Tested-by: dan <dan@xxxxxxxxx>
    Tested-by: Nygel Lyndley <nygel.lyndley@xxxxxxxxx>
    Tested-by: Dmitriy Fedchenko <dmitriy-fedc@xxxxxxxxx>
    Acked-by: Hans de Goede <hdegoede@xxxxxxxxxx>
    Signed-off-by: Jean Delvare <khali@xxxxxxxxxxxx>

commit 24205e0850dd8a79c597e366daafdd5f31a24656
Author: Joe Perches <joe@xxxxxxxxxxx>
Date:   Sat Jul 11 13:42:37 2009 +0200

    hwmon: (sht15) Remove unnecessary semicolon
    
    Signed-off-by: Joe Perches <joe@xxxxxxxxxxx>
    Signed-off-by: Jean Delvare <khali@xxxxxxxxxxxx>

commit 025dc740d01f99ccba945df1f9ef9e06b1c15d96
Author: Jiri Slaby <jirislaby@xxxxxxxxx>
Date:   Sat Jul 11 13:42:37 2009 +0200

    hwmon: (max6650) Fix lock imbalance
    
    Add omitted update_lock to one switch/case in set_div.
    
    Signed-off-by: Jiri Slaby <jirislaby@xxxxxxxxx>
    Acked-by: Hans J. Koch <hjk@xxxxxxxxxxxxx>
    Signed-off-by: Jean Delvare <khali@xxxxxxxxxxxx>

commit f00caa76297a534e30c3ec85382fbc3fd0dcbc69
Merge: 8711c67bee675b4f7a378c71ad5a59c981ec3df0 3ae30796663cc8e144e5b586198b10bc97f1ec38
Author: Linus Torvalds <torvalds@xxxxxxxxxxxxxxxxxxxx>
Date:   Fri Jul 10 19:19:09 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 - targa and targa-2ch fix
      ALSA: hda - fix beep tone calculation for IDT/STAC codecs
      ALSA: hda - Missing volume controls for Intel HDA (ALC269/EeePC)
      ALSA: hda - Disable AMD SB600 64bit address support only
      ALSA: hda - Check widget types while parsing capture source in patch_via.c
      ALSA: hda - Fix capture source selection in patch_via.c
      ALSA: hda - Add missing EAPD initialization for VIA codecs
      ALSA: hda - Clean up VT170x dig-in initialization code
      ALSA: hda - Fix error path in the sanity check in azx_pcm_open()
      ALSA: hda - move 8086:fb30 quirk (stac9205) to the proper section
      ASoC: Fix wm8753 register cache size and initialization
      ASoC: add locking to mpc5200-psc-ac97 driver
      ASoC: Fix mpc5200-psc-ac97 to ensure the data ready bit is cleared
      ASoC: Fix register cache initialisation for WM8753

commit 8711c67bee675b4f7a378c71ad5a59c981ec3df0
Author: Bartlomiej Zolnierkiewicz <bzolnier@xxxxxxxxx>
Date:   Fri Jul 10 12:34:27 2009 +0200

    isofs: fix Joliet regression
    
    commit 5404ac8e4418ab3d254950ee4f9bcafc1da20b4a ("isofs: cleanup mount
    option processing") missed conversion of joliet option flag resulting
    in non-working Joliet support.
    
    CC: walt <w41ter@xxxxxxxxx>
    Signed-off-by: Bartlomiej Zolnierkiewicz <bzolnier@xxxxxxxxx>
    Signed-off-by: Jan Kara <jack@xxxxxxx>
    Signed-off-by: Linus Torvalds <torvalds@xxxxxxxxxxxxxxxxxxxx>

commit d4fc4a7bfc2dee626f4fec1e209e58eaa4312de6
Author: Alan Cox <alan@xxxxxxxxxxxxxxx>
Date:   Thu Jul 9 13:36:58 2009 +0100

    tty: Fix the PL2303 private methods for sysrq
    
    PL2303 has private data shovelling methods that also have no fast path. Fix
    them to work the same way as the default handler.
    
    Signed-off-by: Alan Cox <alan@xxxxxxxxxxxxxxx>
    Signed-off-by: Linus Torvalds <torvalds@xxxxxxxxxxxxxxxxxxxx>

commit 24a15a62dcb1968bf4ffdae55c88fa934d971180
Author: Alan Cox <alan@xxxxxxxxxxxxxxx>
Date:   Thu Jul 9 13:36:22 2009 +0100

    tty: Fix USB kref leak
    
    The sysrq code acquired a kref leak. Fix it by passing the tty separately
    from the caller (thus effectively using the callers kref which all the
    callers hold anyway)
    
    Signed-off-by: Alan Cox <alan@xxxxxxxxxxxxxxx>
    Signed-off-by: Linus Torvalds <torvalds@xxxxxxxxxxxxxxxxxxxx>

commit 4cd1de0afaaa45309f34d7282ea4c07d9b56a3ff
Author: Alan Cox <alan@xxxxxxxxxxxxxxx>
Date:   Thu Jul 9 13:35:52 2009 +0100

    tty: Sort out the USB sysrq changes that wrecked performance
    
    We can't go around calling all sorts of magic per character functions at
    full rate 3G data speed.
    
    Signed-off-by: Alan Cox <alan@xxxxxxxxxxxxxxx>
    Signed-off-by: Linus Torvalds <torvalds@xxxxxxxxxxxxxxxxxxxx>

commit d6be791cbd4d6a96f0ec1c8c44166038c76d1330
Merge: 44c695b13bee558c73a89bc79f6253a4ba637386 83c2099f5e1f0a4621ed4f20fc539069c636a24b
Author: Linus Torvalds <torvalds@xxxxxxxxxxxxxxxxxxxx>
Date:   Fri Jul 10 19:15:34 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 compilation warnings
      UBI: fix NOR flash recovery
      UBI: nicify image sequence number handling
      UBI: add image sequence number to EC header
      UBI: remove bogus debugging checks
      UBI: add empty eraseblocks verification

commit 44c695b13bee558c73a89bc79f6253a4ba637386
Merge: eee33abe592da1763550e6e55b1cfb7fdc6a9b4c 061125476039a9a998878468a6abe235b1cee347
Author: Linus Torvalds <torvalds@xxxxxxxxxxxxxxxxxxxx>
Date:   Fri Jul 10 19:14:48 2009 -0700

    Merge branch 'linux-next' of git://git.infradead.org/ubifs-2.6
    
    * 'linux-next' of git://git.infradead.org/ubifs-2.6:
      UBIFS: fix corruption dump
      UBIFS: clean up free space checking
      UBIFS: small amendments in the LEB scanning code
      UBIFS: dump a little more in case of corruptions
      MAINTAINERS: update ahunter's e-mail address
      UBIFS: allow more than one volume to be mounted
      UBIFS: fix assertion warning
      UBIFS: minor spelling and grammar fixes
      UBIFS: fix 64-bit divisions in debug print
      UBIFS: few spelling fixes
      UBIFS: set write-buffer timout to 3-5 seconds
      UBIFS: slightly optimize write-buffer timer usage
      UBIFS: improve debugging messaged
      UBIFS: fix integer overflow warning

commit eee33abe592da1763550e6e55b1cfb7fdc6a9b4c
Merge: 04eef90c2e2fb860db71bff5f60d5ff0ec4c6dea 07606309ff5a9136e340b9ca87c831650c1ec47a
Author: Linus Torvalds <torvalds@xxxxxxxxxxxxxxxxxxxx>
Date:   Fri Jul 10 19:12:51 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] define KTIME_SCALAR for 32-bit s390
      [S390] add generic atomic64 support for 31 bit
      [S390] improve suspend/resume error messages
      [S390] set SCHED_OMIT_FRAME_POINTER for s390
      [S390] add __ucmpdi2() helper function
      [S390] perf_counter build fix
      [S390] shutdown actions: save/return rc from init function
      [S390] dasd: correct debugfeature sense dump
      [S390] udelay: disable lockdep to avoid false positives
      [S390] monreader: fix dev_set_drvdata conversion
      [S390] sclp: fix compile error for !SCLP_CONSOLE

commit 04eef90c2e2fb860db71bff5f60d5ff0ec4c6dea
Merge: bb8ad2815a1210bfa56b8f8ebf0e40fbdf9198ff bc47df0fa705887242c26c7b040e7cf0170ab1f1
Author: Linus Torvalds <torvalds@xxxxxxxxxxxxxxxxxxxx>
Date:   Fri Jul 10 19:12:24 2009 -0700

    Merge branch 'for-linus' of git://git.open-osd.org/linux-open-osd
    
    * 'for-linus' of git://git.open-osd.org/linux-open-osd:
      osdblk: Adjust queue limits to lower device's limits
      osdblk: a Linux block device for OSD objects
      MAINTAINERS: Add osd maintained files (F:)
      exofs: Avoid using file_fsync()
      exofs: Remove IBM copyrights
      exofs: Fix bio leak in error handling path (sync read)

commit bb8ad2815a1210bfa56b8f8ebf0e40fbdf9198ff
Merge: c368b4921bc6e309aba2fbee0efcbbc965008d9f 5019914ca3b7517b2d82db2e92e3f683ac48e535
Author: Linus Torvalds <torvalds@xxxxxxxxxxxxxxxxxxxx>
Date:   Fri Jul 10 19:10:59 2009 -0700

    Merge branch 'drm-intel-next' of git://git.kernel.org/pub/scm/linux/kernel/git/anholt/drm-intel
    
    * 'drm-intel-next' of git://git.kernel.org/pub/scm/linux/kernel/git/anholt/drm-intel: (22 commits)
      drm/i915: Fix for LVDS VBT change on IGDNG
      drm/i915: Zap the GTT mapping when transitioning from untiled to tiled.
      drm/i915: Refactor calls to unmap_mapping_range
      drm/i915: Avoid saving/restore the modesetting registers twice in KMS mode
      drm: Disable the unused connectors explicitly when resuming with KMS.
      drm/i915: Restore the KMS modeset for every activated CRTC
      drm/i915: Fix harmless warning from patch merged after i2c rework.
      drm/i915: Disable GEM when a broken video BIOS takes up the whole aperture.
      drm/i915: Check the LID device to decide whether the LVDS should be initialized
      drm/i915: Move lock to more reasonable location
      drm/i915: Add gtt_offset to gem object list debugfs output
      drm/i915: Remove gtt_bound from drm_i915_gem_object
      drm/i915: Disable VGA output when doing DRM_MODE_DPMS_OFF.
      drm/i915: crt fetch EDID by DVI-I converter on G4x platform
      drm/i915: Don't update display FIFO watermark on IGDNG
      drm/i915: Adjust DisplayPort clocks to use 96MHz reference
      drm/i915: Make driver less chatty
      drm/i915: fix up a raw 64bit divide
      drm/i915: enable sdvo lvds scaling function.
      drm/i915: Set SSC frequency for 8xx chips correctly
      ...

commit c368b4921bc6e309aba2fbee0efcbbc965008d9f
Author: Amerigo Wang <amwang@xxxxxxxxxx>
Date:   Fri Jul 10 15:02:44 2009 -0700

    Doc: move Documentation/exception.txt into x86 subdir
    
    exception.txt only explains the code on x86, so it's better to
    move it into Documentation/x86 directory.
    
    And also rename it to exception-tables.txt which looks much
    more reasonable.
    
    This patch is on top of the previous one.
    
    Signed-off-by: WANG Cong <amwang@xxxxxxxxxx>
    Signed-off-by: Randy Dunlap <randy.dunlap@xxxxxxxxxx>
    Signed-off-by: Linus Torvalds <torvalds@xxxxxxxxxxxxxxxxxxxx>

commit 3697cd9aa80125f7717c3c7e7253cfa49a39a388
Author: Amerigo Wang <amwang@xxxxxxxxxx>
Date:   Fri Jul 10 15:02:41 2009 -0700

    Doc: update Documentation/exception.txt
    
    Update Documentation/exception.txt.
    Remove trailing whitespaces in it.
    
    Signed-off-by: WANG Cong <amwang@xxxxxxxxxx>
    Signed-off-by: Randy Dunlap <randy.dunlap@xxxxxxxxxx>
    Signed-off-by: Linus Torvalds <torvalds@xxxxxxxxxxxxxxxxxxxx>

commit 097041e576ee3a50d92dd643ee8ca65bf6a62e21
Author: Larry Finger <Larry.Finger@xxxxxxxxxxxx>
Date:   Fri Jul 10 20:06:42 2009 -0500

    fuse: Fix build error
    
    When building v2.6.31-rc2-344-g69ca06c, the following build errors are
    found due to missing includes:
    
     CC [M]  fs/fuse/dev.o
    fs/fuse/dev.c: In function â??request_endâ??:
    fs/fuse/dev.c:289: error: â??BLK_RW_SYNCâ?? undeclared (first use in this function)
    ...
    fs/nfs/write.c: In function â??nfs_set_page_writebackâ??:
    fs/nfs/write.c:207: error: â??BLK_RW_ASYNCâ?? undeclared (first use in this function)
    
    Signed-off-by: Larry Finger@xxxxxxxxxxxx>
    Signed-off-by: Linus Torvalds <torvalds@xxxxxxxxxxxxxxxxxxxx>

commit 69ca06c9454169c4a9303e8834adae9080f94859
Merge: 9f2d8be4266f8861af806d964ae5db2949b670f3 32f2e807a3938b24d0831211e6094f9e44b2fc83
Author: Linus Torvalds <torvalds@xxxxxxxxxxxxxxxxxxxx>
Date:   Fri Jul 10 14:29:58 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:
      cfq-iosched: reset oom_cfqq in cfq_set_request()
      block: fix sg SG_DXFER_TO_FROM_DEV regression
      block: call blk_scsi_ioctl_init()
      Fix congestion_wait() sync/async vs read/write confusion

commit 9f2d8be4266f8861af806d964ae5db2949b670f3
Merge: ac3f482236793c75caae2c2ebb3f3e5f8b7393e1 d9a0a345ab7a58a30ec38e5bb7401a28714914d2
Author: Linus Torvalds <torvalds@xxxxxxxxxxxxxxxxxxxx>
Date:   Fri Jul 10 14:27:21 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 disorder in cp count on error during deleting checkpoints
      nilfs2: fix lockdep warning between regular file and inode file
      nilfs2: fix incorrect KERN_CRIT messages in case of write failures
      nilfs2: fix hang problem of log writer which occurs after write failures
      nilfs2: remove unlikely directive causing mis-conversion of error code

commit ac3f482236793c75caae2c2ebb3f3e5f8b7393e1
Merge: 85be928c4101670f99cdd7c927798aa4dcbb3168 f39d1b9792881ce4eb982ec8cc65258bf95674b5
Author: Linus Torvalds <torvalds@xxxxxxxxxxxxxxxxxxxx>
Date:   Fri Jul 10 14:25:59 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:
      dma-debug: Fix the overlap() function to be correct and readable
      oprofile: reset bt_lost_no_mapping with other stats
      x86/oprofile: rename kernel parameter for architectural perfmon to arch_perfmon
      signals: declare sys_rt_tgsigqueueinfo in syscalls.h
      rcu: Mark Hierarchical RCU no longer experimental
      dma-debug: Put all hash-chain locks into the same lock class
      dma-debug: fix off-by-one error in overlap function

commit 85be928c4101670f99cdd7c927798aa4dcbb3168
Merge: d86ee4809d0329d4aa0d0f2c76c2295a16862799 805d127d62472f17c7d79baa001a7651afe2fa47
Author: Linus Torvalds <torvalds@xxxxxxxxxxxxxxxxxxxx>
Date:   Fri Jul 10 14:25:03 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: (50 commits)
      perf report: Add "Fractal" mode output - support callchains with relative overhead rate
      perf_counter tools: callchains: Manage the cumul hits on the fly
      perf report: Change default callchain parameters
      perf report: Use a modifiable string for default callchain options
      perf report: Warn on callchain output request from non-callchain file
      x86: atomic64: Inline atomic64_read() again
      x86: atomic64: Clean up atomic64_sub_and_test() and atomic64_add_negative()
      x86: atomic64: Improve atomic64_xchg()
      x86: atomic64: Export APIs to modules
      x86: atomic64: Improve atomic64_read()
      x86: atomic64: Code atomic(64)_read and atomic(64)_set in C not CPP
      x86: atomic64: Fix unclean type use in atomic64_xchg()
      x86: atomic64: Make atomic_read() type-safe
      x86: atomic64: Reduce size of functions
      x86: atomic64: Improve atomic64_add_return()
      x86: atomic64: Improve cmpxchg8b()
      x86: atomic64: Improve atomic64_read()
      x86: atomic64: Move the 32-bit atomic64_t implementation to a .c file
      x86: atomic64: The atomic64_t data type should be 8 bytes aligned on 32-bit too
      perf report: Annotate variable initialization
      ...

commit d86ee4809d0329d4aa0d0f2c76c2295a16862799
Author: Peter Zijlstra <a.p.zijlstra@xxxxxxxxx>
Date:   Fri Jul 10 14:57:57 2009 +0200

    sched: optimize cond_resched()
    
    Optimize cond_resched() by removing one conditional.
    
    Currently cond_resched() checks system_state ==
    SYSTEM_RUNNING in order to avoid scheduling before the
    scheduler is running.
    
    We can however, as per suggestion of Matt, use
    PREEMPT_ACTIVE to accomplish that very same.
    
    Suggested-by: Matt Mackall <mpm@xxxxxxxxxxx>
    Signed-off-by: Peter Zijlstra <a.p.zijlstra@xxxxxxxxx>
    Acked-by: Matt Mackall <mpm@xxxxxxxxxxx>
    Signed-off-by: Linus Torvalds <torvalds@xxxxxxxxxxxxxxxxxxxx>

commit c99e6efe1ba04561e7d93a81f0be07e37427e835
Author: Peter Zijlstra <a.p.zijlstra@xxxxxxxxx>
Date:   Fri Jul 10 14:57:56 2009 +0200

    sched: INIT_PREEMPT_COUNT
    
    Pull the initial preempt_count value into a single
    definition site.
    
    Maintainers for: alpha, ia64 and m68k, please have a look,
    your arch code is funny.
    
    The header magic is a bit odd, but similar to the KERNEL_DS
    one, CPP waits with expanding these macros until the
    INIT_THREAD_INFO macro itself is expanded, which is in
    arch/*/kernel/init_task.c where we've already included
    sched.h so we're good.
    
    Cc: tony.luck@xxxxxxxxx
    Cc: rth@xxxxxxxxxxx
    Cc: geert@xxxxxxxxxxxxxx
    Signed-off-by: Peter Zijlstra <a.p.zijlstra@xxxxxxxxx>
    Acked-by: Matt Mackall <mpm@xxxxxxxxxxx>
    Signed-off-by: Linus Torvalds <torvalds@xxxxxxxxxxxxxxxxxxxx>

commit 5019914ca3b7517b2d82db2e92e3f683ac48e535
Author: Zhenyu Wang <zhenyu.z.wang@xxxxxxxxx>
Date:   Fri Jul 10 14:39:59 2009 +0800

    drm/i915: Fix for LVDS VBT change on IGDNG
    
    IGDNG mobile chip's LVDS data block removes panel fitting
    register definition. So this fixes offset for LVDS timing
    block parsing. Thanks for Michael Fu to catch this.
    
    Signed-off-by: Zhenyu Wang <zhenyu.z.wang@xxxxxxxxx>
    Signed-off-by: Eric Anholt <eric@xxxxxxxxxx>

commit d05ca301997c94c2ef3c112b15319d13fa8cddab
Author: Eric Anholt <eric@xxxxxxxxxx>
Date:   Fri Jul 10 13:02:26 2009 -0700

    drm/i915: Zap the GTT mapping when transitioning from untiled to tiled.
    
    As of 52dc7d32b88156248167864f77a9026abe27b432, we could leave an old
    linear GTT mapping in place, so that apps trying to GTT-mapped write in
    tiled data wouldn't get the fence added, and garbage would get displayed.
    
    Signed-off-by: Eric Anholt <eric@xxxxxxxxxx>

commit 901782b21ecb2af4dde1598b3142bf0e80b20853
Author: Chris Wilson <chris@xxxxxxxxxxxxxxxxxx>
Date:   Fri Jul 10 08:18:50 2009 +0100

    drm/i915: Refactor calls to unmap_mapping_range
    
    As we call unmap_mapping_range() twice in identical fashion, refactor
    and attempt to explain why we need to call unmap_mapping_range().
    
    Signed-off-by: Chris Wilson <chris@xxxxxxxxxxxxxxxxxx>
    Signed-off-by: Eric Anholt <eric@xxxxxxxxxx>

commit f39d1b9792881ce4eb982ec8cc65258bf95674b5
Author: Ingo Molnar <mingo@xxxxxxx>
Date:   Fri Jul 10 21:38:02 2009 +0200

    dma-debug: Fix the overlap() function to be correct and readable
    
    Linus noticed how unclean and buggy the overlap() function is:
    
     - It uses convoluted (and bug-causing) positive checks for
       range overlap - instead of using a more natural negative
       check.
    
     - Even the positive checks are buggy: a positive intersection
       check has four natural cases while we checked only for three,
       missing the (addr < start && addr2 == end) case for example.
    
     - The variables are mis-named, making it non-obvious how the
       check was done.
    
     - It needlessly uses u64 instead of unsigned long. Since these
       are kernel memory pointers and we explicitly exclude highmem
       ranges anyway we cannot ever overflow 32 bits, even if we
       could. (and on 64-bit it doesnt matter anyway)
    
    All in one, this function needs a total revamp. I used Linus's
    suggestions minus the paranoid checks (we cannot overflow really
    because if we get totally bad DMA ranges passed far more things
    break in the systems than just DMA debugging). I also fixed a
    few other small details i noticed.
    
    Reported-by: Linus Torvalds <torvalds@xxxxxxxxxxxxxxxxxxxx>
    Cc: Joerg Roedel <joerg.roedel@xxxxxxx>
    Signed-off-by: Ingo Molnar <mingo@xxxxxxx>

commit fccdaba4317604602e5802c3afc4021f2fb8132e
Author: Zhao Yakui <yakui.zhao@xxxxxxxxx>
Date:   Wed Jul 8 14:13:14 2009 +0800

    drm/i915: Avoid saving/restore the modesetting registers twice in KMS mode
    
    In KMS mode we now use the normal mode-setting paths to set the modes
    back to the current configuration, so we don't need to also run the more
    limited non-KMS implementation of modesetting for resume.
    
    Signed-off-by: Zhao Yakui <yakui.zhao@xxxxxxxxx>
    Acked-by: Jesse Barnes <jbarnes@xxxxxxxxxxxxxxxx>
    Signed-off-by: Eric Anholt <eric@xxxxxxxxxx>

commit af4fcb574efa90373b02ae0bb8b54d710c32eeb4
Author: Zhao Yakui <yakui.zhao@xxxxxxxxx>
Date:   Wed Jul 8 14:13:13 2009 +0800

    drm: Disable the unused connectors explicitly when resuming with KMS.
    
    Signed-off-by: Zhao Yakui <yakui.zhao@xxxxxxxxx>
    Acked-by:  Jesse Barnes <jbarnes@xxxxxxxxxxxxxxxx>
    Acked-by:  Dave Airlie <airlied@xxxxxxxxxx>
    Signed-off-by: Eric Anholt <eric@xxxxxxxxxx>

commit 354ff96772540d2e836194bf14dd9c05c274055c
Author: Zhao Yakui <yakui.zhao@xxxxxxxxx>
Date:   Wed Jul 8 14:13:12 2009 +0800

    drm/i915: Restore the KMS modeset for every activated CRTC
    
    Restore the modeset for every activated CRTC in course of resume.
    This is realized by calling the function of drm_helper_resume_force_mode.
    Note: it is meaningful only for the KMS mode.
    
    https://bugs.freedesktop.org/show_bug.cgi?id=21719
    https://bugs.freedesktop.org/show_bug.cgi?id=21708
    https://bugs.freedesktop.org/show_bug.cgi?id=22285
    https://bugs.freedesktop.org/show_bug.cgi?id=22263
    
    Signed-off-by: Zhao Yakui <yakui.zhao@xxxxxxxxx>
    Signed-off-by: Eric Anholt <eric@xxxxxxxxxx>

commit 883e860daf5c75a0035c33cb6f8881ee62d6efaf
Author: Eric Anholt <eric@xxxxxxxxxx>
Date:   Fri Jul 10 12:28:30 2009 -0700

    drm/i915: Fix harmless warning from patch merged after i2c rework.
    
    Signed-off-by: Eric Anholt <eric@xxxxxxxxxx>

commit 2a34f5e6b61c7e8f3b6f25847bcda88511b0ead4
Author: Eric Anholt <eric@xxxxxxxxxx>
Date:   Thu Jul 2 09:30:50 2009 -0700

    drm/i915: Disable GEM when a broken video BIOS takes up the whole aperture.
    
    This is seen on some G41 systems, where the BIOS will consume all but
    a few KB of the aperture.  This should be bad for all operating systems, as
    it means that the OS can't dynamically manage memory between graphics and
    the rest of the system, and OSes that did static memory management
    statically add memory in addition to the BIOS allocation anyway.  So, instead
    of working around it, just fail out verbosely.
    
    fd.o bug #21574
    
    Signed-off-by: Eric Anholt <eric@xxxxxxxxxx>
    Reviewed-by: Ian Romanick <ian.d.romanick@xxxxxxxxx>

commit 2a6f86bc5ed4af2ff04bc927eb77789c70e53a1e
Merge: b690a3770e99497982d48a93e30cb7de549aead8 e1af3aec3e2e7d21d4b3054323779d478c19d907
Author: Linus Torvalds <torvalds@xxxxxxxxxxxxxxxxxxxx>
Date:   Fri Jul 10 11:41:41 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 trace_print_seq()
      kprobes: No need to unlock kprobe_insn_mutex
      tracing/fastboot: Document the need of initcall_debug
      trace_export: Repair missed fields
      tracing: Fix stack tracer sysctl handling

commit 32f2e807a3938b24d0831211e6094f9e44b2fc83
Author: Vivek Goyal <vgoyal@xxxxxxxxxx>
Date:   Thu Jul 9 22:13:16 2009 +0200

    cfq-iosched: reset oom_cfqq in cfq_set_request()
    
    In case memory is scarce, we now default to oom_cfqq. Once memory is
    available again, we should allocate a new cfqq and stop using oom_cfqq for
    a particular io context.
    
    Once a new request comes in, check if we are using oom_cfqq, and if yes,
    try to allocate a new cfqq.
    
    Tested the patch by forcing the use of oom_cfqq and upon next request thread
    realized that it was using oom_cfqq and it allocated a new cfqq.
    
    Signed-off-by: Vivek Goyal <vgoyal@xxxxxxxxxx>
    Signed-off-by: Jens Axboe <jens.axboe@xxxxxxxxxx>

commit ecb554a846f8e9d2a58f6d6c118168a63ac065aa
Author: FUJITA Tomonori <fujita.tomonori@xxxxxxxxxxxxx>
Date:   Thu Jul 9 14:46:53 2009 +0200

    block: fix sg SG_DXFER_TO_FROM_DEV regression
    
    I overlooked SG_DXFER_TO_FROM_DEV support when I converted sg to use
    the block layer mapping API (2.6.28).
    
    Douglas Gilbert explained SG_DXFER_TO_FROM_DEV:
    
    http://www.spinics.net/lists/linux-scsi/msg37135.html
    
    =
    The semantics of SG_DXFER_TO_FROM_DEV were:
       - copy user space buffer to kernel (LLD) buffer
       - do SCSI command which is assumed to be of the DATA_IN
         (data from device) variety. This would overwrite
         some or all of the kernel buffer
       - copy kernel (LLD) buffer back to the user space.
    
    The idea was to detect short reads by filling the original
    user space buffer with some marker bytes ("0xec" it would
    seem in this report). The "resid" value is a better way
    of detecting short reads but that was only added this century
    and requires co-operation from the LLD.
    =
    
    This patch changes the block layer mapping API to support this
    semantics. This simply adds another field to struct rq_map_data and
    enables __bio_copy_iov() to copy data from user space even with READ
    requests.
    
    It's better to add the flags field and kills null_mapped and the new
    from_user fields in struct rq_map_data but that approach makes it
    difficult to send this patch to stable trees because st and osst
    drivers use struct rq_map_data (they were converted to use the block
    layer in 2.6.29 and 2.6.30). Well, I should clean up the block layer
    mapping API.
    
    zhou sf reported this regiression and tested this patch:
    
    http://www.spinics.net/lists/linux-scsi/msg37128.html
    http://www.spinics.net/lists/linux-scsi/msg37168.html
    
    Reported-by: zhou sf <sxzzsf@xxxxxxxxx>
    Tested-by: zhou sf <sxzzsf@xxxxxxxxx>
    Cc: stable@xxxxxxxxxx
    Signed-off-by: FUJITA Tomonori <fujita.tomonori@xxxxxxxxxxxxx>
    Signed-off-by: Jens Axboe <jens.axboe@xxxxxxxxxx>

commit 76da03467a1a78811777561bbb1fa56175ee4778
Author: FUJITA Tomonori <fujita.tomonori@xxxxxxxxxxxxx>
Date:   Thu Jul 9 09:48:28 2009 +0200

    block: call blk_scsi_ioctl_init()
    
    Currently, blk_scsi_ioctl_init() is not called since it lacks
    an initcall marking. This causes the command table to be
    unitialized, hence somce commands are block when they should
    not have been.
    
    This fixes a regression introduced by commit
    018e0446890661504783f92388ecce7138c1566d
    
    Signed-off-by: FUJITA Tomonori <fujita.tomonori@xxxxxxxxxxxxx>
    Signed-off-by: Jens Axboe <jens.axboe@xxxxxxxxxx>

commit 8aa7e847d834ed937a9ad37a0f2ad5b8584c1ab0
Author: Jens Axboe <jens.axboe@xxxxxxxxxx>
Date:   Thu Jul 9 14:52:32 2009 +0200

    Fix congestion_wait() sync/async vs read/write confusion
    
    Commit 1faa16d22877f4839bd433547d770c676d1d964c accidentally broke
    the bdi congestion wait queue logic, causing us to wait on congestion
    for WRITE (== 1) when we really wanted BLK_RW_ASYNC (== 0) instead.
    
    Signed-off-by: Jens Axboe <jens.axboe@xxxxxxxxxx>

commit 2b8777ca0c944bf6498c45ed9c5c246bd63a719e
Author: Maynard Johnson <maynardj@xxxxxxxxxx>
Date:   Wed May 27 10:15:08 2009 -0500

    oprofile: reset bt_lost_no_mapping with other stats
    
    The bt_lost_no_mapping is not getting reset at the start of a
    profiling run, thus the oprofiled.log shows erroneous values for this
    statistic. The attached patch fixes this problem.
    
    Signed-off-by: Maynard Johnson <maynardj@xxxxxxxxxx>
    Signed-off-by: Robert Richter <robert.richter@xxxxxxx>
    Signed-off-by: Ingo Molnar <mingo@xxxxxxx>

commit 3ae30796663cc8e144e5b586198b10bc97f1ec38
Merge: f371f12f3e9840771026aa6a9312b554c5bfd6ec 005b10769c05fb16db70f7689ffb5ba17e3fc324
Author: Takashi Iwai <tiwai@xxxxxxx>
Date:   Fri Jul 10 11:17:12 2009 +0200

    Merge branch 'fix/hda' into for-linus
    
    * fix/hda:
      ALSA: hda - targa and targa-2ch fix
      ALSA: hda - fix beep tone calculation for IDT/STAC codecs
      ALSA: hda - Missing volume controls for Intel HDA (ALC269/EeePC)
      ALSA: hda - Disable AMD SB600 64bit address support only
      ALSA: hda - Check widget types while parsing capture source in patch_via.c
      ALSA: hda - Fix capture source selection in patch_via.c
      ALSA: hda - Add missing EAPD initialization for VIA codecs
      ALSA: hda - Clean up VT170x dig-in initialization code
      ALSA: hda - Fix error path in the sanity check in azx_pcm_open()
      ALSA: hda - move 8086:fb30 quirk (stac9205) to the proper section

commit f371f12f3e9840771026aa6a9312b554c5bfd6ec
Merge: 7ce1695c40e765e99cd790f55fc68037bc05d080 637a935aaba2f05e2178c9d1b714d7a2c36c8b44
Author: Takashi Iwai <tiwai@xxxxxxx>
Date:   Fri Jul 10 11:17:11 2009 +0200

    Merge branch 'fix/asoc' into for-linus
    
    * fix/asoc:
      ASoC: Fix wm8753 register cache size and initialization
      ASoC: add locking to mpc5200-psc-ac97 driver
      ASoC: Fix mpc5200-psc-ac97 to ensure the data ready bit is cleared
      ASoC: Fix register cache initialisation for WM8753

commit b690a3770e99497982d48a93e30cb7de549aead8
Merge: 016d3569bf7b21375451d91be6ee2ad4ffff5211 cf1eaab2525e8ae1d53eaf923981c96cb31e57c8
Author: Linus Torvalds <torvalds@xxxxxxxxxxxxxxxxxxxx>
Date:   Thu Jul 9 20:45:01 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] w83627hf_wdt.c: add support for the W83627EHF support
      [WATCHDOG] SA1100 watchdog maximum timeout
      [WATCHDOG] w83697ug, fix lock imbalance
      [WATCHDOG] drivers/watchdog/bcm47xx_wdt.c: Remove unnecessary semicolons

commit 016d3569bf7b21375451d91be6ee2ad4ffff5211
Author: Krzysztof Helt <krzysztof.h1@xxxxx>
Date:   Thu Jul 9 20:14:10 2009 +0200

    mx3fb: fix regression with uninitalized fb_info->mm_lock mutex
    
    Remove call to the mx3fb_set_par() and the mx3fb_blank() before the
    register_framebuffer().
    
    This fixes a problem with uninitialized the fb_info->mm_lock mutex
    introduced by the commit 537a1bf059f " fbdev: add mutex for fb_mmap
    locking"
    
    Signed-off-by: Krzysztof Helt <krzysztof.h1@xxxxx>
    Signed-off-by: Linus Torvalds <torvalds@xxxxxxxxxxxxxxxxxxxx>

commit afecb0d02ad5554cb59c2a30c262da200beaa002
Author: Krzysztof Helt <krzysztof.h1@xxxxx>
Date:   Thu Jul 9 20:15:44 2009 +0200

    sm501fb: fix regression with uninitalized fb_info->mm_lock mutex
    
    Remove call to the fb_set_par() before the register_framebuffer().
    
    This fixes a problem with uninitialized the fb_info->mm_lock mutex
    introduced by the commit 537a1bf059f " fbdev: add mutex for fb_mmap
    locking"
    
    Signed-off-by: Krzysztof Helt <krzysztof.h1@xxxxx>
    Signed-off-by: Linus Torvalds <torvalds@xxxxxxxxxxxxxxxxxxxx>

commit c2cc49a2f8a479dde96a599646d30b6cc9dbed78
Merge: e864561c12bc743789eab76242b8314d394daa52 d0c280d26de9422c9c943f8f486b9830cd9bea70
Author: Linus Torvalds <torvalds@xxxxxxxxxxxxxxxxxxxx>
Date:   Thu Jul 9 20:40:58 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: when ATTR_READONLY is set, only clear write bits on non-directories
      cifs: remove cifsInodeInfo->inUse counter
      cifs: convert cifs_get_inode_info and non-posix readdir to use cifs_iget
      [CIFS] update cifs version number
      cifs: add and use CIFSSMBUnixSetFileInfo for setattr calls
      cifs: make a separate function for filling out FILE_UNIX_BASIC_INFO
      cifs: rename CIFSSMBUnixSetInfo to CIFSSMBUnixSetPathInfo
      cifs: add pid of initiating process to spnego upcall info
      cifs: fix regression with O_EXCL creates and optimize away lookup
      cifs: add new cifs_iget function and convert unix codepath to use it

commit e864561c12bc743789eab76242b8314d394daa52
Merge: 42359da44112565e12a5209befb36dc6b6d6cd9c e594e96e8a14101a6decabf6746bd5186287debc
Author: Linus Torvalds <torvalds@xxxxxxxxxxxxxxxxxxxx>
Date:   Thu Jul 9 20:33:18 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: (29 commits)
      cxgb3: Fix crash caused by stashing wrong netdev_queue
      ixgbe: Fix coexistence of FCoE and Flow Director in 82599
      memory barrier: adding smp_mb__after_lock
      net: adding memory barrier to the poll and receive callbacks
      netpoll: Fix carrier detection for drivers that are using phylib
      includecheck fix: include/linux, rfkill.h
      p54: tx refused but queue active
      Atheros Kconfig needs to be dependent on WLAN_80211
      mac80211: fix docbook
      mac80211_hwsim: avoid NULL access
      ssb: Add support for 4318E
      b43: Add support for 4318E
      zd1211rw: adding SONY IFU-WLM2 (054c:0257) as a zd1211b device
      zd1211rw: 07b8:6001 is a ZD1211B
      r6040: bump driver version to 0.24 and date to 08 July 2009
      r6040: restore MIER register correctly when IRQ line is shared
      ipv4: Fix fib_trie rebalancing, part 4 (root thresholds)
      davinci_emac: fix kernel oops when changing MAC address while interface is down
      igb: set lan id prior to configuring phy
      mac80211: minstrel: avoid accessing negative indices in rix_to_ndx()
      ...

commit 42359da44112565e12a5209befb36dc6b6d6cd9c
Author: Dave Jones <davej@xxxxxxxxxx>
Date:   Thu Jul 9 21:54:39 2009 -0400

    Fix compile error in bmac.c
    
    Looks like the change in ad361c9884e809340f6daca80d56a9e9c871690a
    wasn't compile tested.
    
    Signed-off-by: Dave Jones <davej@xxxxxxxxxx>
    Acked-by: David S. Miller <davem@xxxxxxxxxxxxx>
    Signed-off-by: Linus Torvalds <torvalds@xxxxxxxxxxxxxxxxxxxx>

commit 8d7ff4f2a0b22b7d6d7bc3982257d1dadea22824
Author: Robert Richter <robert.richter@xxxxxxx>
Date:   Tue Jun 23 11:48:14 2009 +0200

    x86/oprofile: rename kernel parameter for architectural perfmon to arch_perfmon
    
    The short name of the achitecture is 'arch_perfmon'. This patch
    changes the kernel parameter to use this name.
    
    Cc: Andi Kleen <andi@xxxxxxxxxxxxxx>
    Signed-off-by: Robert Richter <robert.richter@xxxxxxx>
    Signed-off-by: Ingo Molnar <mingo@xxxxxxx>

commit e594e96e8a14101a6decabf6746bd5186287debc
Author: Roland Dreier <rdreier@xxxxxxxxx>
Date:   Thu Jul 9 09:30:25 2009 +0000

    cxgb3: Fix crash caused by stashing wrong netdev_queue
    
    Commit c3a8c5b6 ("cxgb3: move away from LLTX") exposed a bug in how
    cxgb3 looks up the netdev_queue it stashes away in a qset during
    initialization.  For multiport devices, the TX queue index it uses is
    offset by the first_qset index of each port.  This leads to a crash
    once LLTX is removed, since hard_start_xmit is called with one TX
    queue lock held, while the TX reclaim timer task grabs a different
    (wrong) TX queue lock when it frees skbs.
    
    Fix this by removing the first_qset offset used to look up the TX
    queue passed into t3_sge_alloc_qset() from setup_sge_qsets().
    
    Signed-off-by: Roland Dreier <rolandd@xxxxxxxxx>
    Acked-by: Divy Le Ray <divy@xxxxxxxxxxx>
    Signed-off-by: David S. Miller <davem@xxxxxxxxxxxxx>

commit 8faa2a786a5337683109d77ccf880339fdcdb332
Author: Yi Zou <yi.zou@xxxxxxxxx>
Date:   Thu Jul 9 02:29:50 2009 +0000

    ixgbe: Fix coexistence of FCoE and Flow Director in 82599
    
    Fix coexistence of Fiber Channel over Ethernet (FCoE) and Flow Director (FDIR)
    in 82599 and remove the disabling of FDIR when FCoE is enabled.
    
    Currently, FDIR is turned off when FCoE is enabled under the assumption that
    FCoE is always enabled with DCB being turned on. However, FDIR does not have
    to be turned off all the time when FCoE is enabled since FCoE can be enabled
    without DCB being turned on, e.g., use link pause only. This patch makes sure
    that when DCB is turned on or off, FDIR is turned on or off correspondingly;
    and when FCoE is enabled, it does not disable FDIR, rather, it will have FDIR
    set up properly so FCoE and FDIR can coexist regardless of DCB being on or off.
    
    Signed-off-by: Yi Zou <yi.zou@xxxxxxxxx>
    Signed-off-by: Jeff Kirsher <jeffrey.t.kirsher@xxxxxxxxx>
    Signed-off-by: David S. Miller <davem@xxxxxxxxxxxxx>

commit ad46276952f1af34cd91d46d49ba13d347d56367
Author: Jiri Olsa <jolsa@xxxxxxxxxx>
Date:   Wed Jul 8 12:10:31 2009 +0000

    memory barrier: adding smp_mb__after_lock
    
    Adding smp_mb__after_lock define to be used as a smp_mb call after
    a lock.
    
    Making it nop for x86, since {read|write|spin}_lock() on x86 are
    full memory barriers.
    
    Signed-off-by: Jiri Olsa <jolsa@xxxxxxxxxx>
    Signed-off-by: Eric Dumazet <eric.dumazet@xxxxxxxxx>
    Signed-off-by: David S. Miller <davem@xxxxxxxxxxxxx>

commit a57de0b4336e48db2811a2030bb68dba8dd09d88
Author: Jiri Olsa <jolsa@xxxxxxxxxx>
Date:   Wed Jul 8 12:09:13 2009 +0000

    net: adding memory barrier to the poll and receive callbacks
    
    Adding memory barrier after the poll_wait function, paired with
    receive callbacks. Adding fuctions sock_poll_wait and sk_has_sleeper
    to wrap the memory barrier.
    
    Without the memory barrier, following race can happen.
    The race fires, when following code paths meet, and the tp->rcv_nxt
    and __add_wait_queue updates stay in CPU caches.
    
    CPU1                         CPU2
    
    sys_select                   receive packet
      ...                        ...
      __add_wait_queue           update tp->rcv_nxt
      ...                        ...
      tp->rcv_nxt check          sock_def_readable
      ...                        {
      schedule                      ...
                                    if (sk->sk_sleep && waitqueue_active(sk->sk_sleep))
                                            wake_up_interruptible(sk->sk_sleep)
                                    ...
                                 }
    
    If there was no cache the code would work ok, since the wait_queue and
    rcv_nxt are opposit to each other.
    
    Meaning that once tp->rcv_nxt is updated by CPU2, the CPU1 either already
    passed the tp->rcv_nxt check and sleeps, or will get the new value for
    tp->rcv_nxt and will return with new data mask.
    In both cases the process (CPU1) is being added to the wait queue, so the
    waitqueue_active (CPU2) call cannot miss and will wake up CPU1.
    
    The bad case is when the __add_wait_queue changes done by CPU1 stay in its
    cache, and so does the tp->rcv_nxt update on CPU2 side.  The CPU1 will then
    endup calling schedule and sleep forever if there are no more data on the
    socket.
    
    Calls to poll_wait in following modules were ommited:
    	net/bluetooth/af_bluetooth.c
    	net/irda/af_irda.c
    	net/irda/irnet/irnet_ppp.c
    	net/mac80211/rc80211_pid_debugfs.c
    	net/phonet/socket.c
    	net/rds/af_rds.c
    	net/rfkill/core.c
    	net/sunrpc/cache.c
    	net/sunrpc/rpc_pipe.c
    	net/tipc/socket.c
    
    Signed-off-by: Jiri Olsa <jolsa@xxxxxxxxxx>
    Signed-off-by: Eric Dumazet <eric.dumazet@xxxxxxxxx>
    Signed-off-by: David S. Miller <davem@xxxxxxxxxxxxx>

commit d0c280d26de9422c9c943f8f486b9830cd9bea70
Author: Jeff Layton <jlayton@xxxxxxxxxx>
Date:   Thu Jul 9 01:46:44 2009 -0400

    cifs: when ATTR_READONLY is set, only clear write bits on non-directories
    
    cifs: when ATTR_READONLY is set, only clear write bits on non-directories
    
    On windows servers, ATTR_READONLY apparently either has no meaning or
    serves as some sort of queue to certain applications for unrelated
    behavior. This MS kbase article has details:
    
    http://support.microsoft.com/kb/326549/
    
    Don't clear the write bits directory mode when ATTR_READONLY is set.
    
    Reported-by: pouchat@xxxxxxxxxxx
    Signed-off-by: Jeff Layton <jlayton@xxxxxxxxxx>
    Signed-off-by: Steve French <sfrench@xxxxxxxxxx>

commit aeaaf253c4dee7ff9af2f3f0595f3bb66964e944
Author: Jeff Layton <jlayton@xxxxxxxxxx>
Date:   Thu Jul 9 01:46:39 2009 -0400

    cifs: remove cifsInodeInfo->inUse counter
    
    cifs: remove cifsInodeInfo->inUse counter
    
    It was purported to be a refcounter of some sort, but was never
    used that way. It never served any purpose that wasn't served equally well
    by the I_NEW flag.
    
    Signed-off-by: Jeff Layton <jlayton@xxxxxxxxxx>
    Reviewed-by: Christoph Hellwig <hch@xxxxxx>
    Signed-off-by: Steve French <sfrench@xxxxxxxxxx>

commit 0b8f18e358384a52c1ed7fa7129c08e7eaf86bb6
Author: Jeff Layton <jlayton@xxxxxxxxxx>
Date:   Thu Jul 9 01:46:37 2009 -0400

    cifs: convert cifs_get_inode_info and non-posix readdir to use cifs_iget
    
    cifs: convert cifs_get_inode_info and non-posix readdir to use cifs_iget
    
    Rather than allocating an inode and filling it out, have
    cifs_get_inode_info fill out a cifs_fattr and call cifs_iget. This means
    a pretty hefty reorganization of cifs_get_inode_info.
    
    For the readdir codepath, add a couple of new functions for filling out
    cifs_fattr's from different FindFile response infolevels.
    
    Finally, remove cifs_new_inode since there are no more callers.
    
    Signed-off-by: Jeff Layton <jlayton@xxxxxxxxxx>
    Reviewed-by: Christoph Hellwig <hch@xxxxxx>
    Signed-off-by: Steve French <sfrench@xxxxxxxxxx>

commit e99da35f060f9a3407f7def474a1df31f3b8643a
Author: Zhao Yakui <yakui.zhao@xxxxxxxxx>
Date:   Fri Jun 26 09:46:18 2009 +0800

    drm/i915: Check the LID device to decide whether the LVDS should be initialized
    
    On some boxes the mobile chipset is used and there is no LVDS device. In such
    case we had better not initialize the LVDS output device so that one pipe can
    be used for other output device. For example: E-TOP.
    
    But unfortunately the LVDS device is still initialized on the boxes based on
    mobile chipset in KMS mode. It brings that this pipe occupied by LVDS can't be
    used for other output device.
    
    After checking the acpidump we find that there is no LID device on such boxes.
    In such case we can use the LID device to decide whether the LVDS device should
    be initialized.
    
    If there is no LID device, we can think that there is no LVDS device. It is
    unnecessary to initialize the LVDS output device.
    If there exists the LID device, it will continue the current flowchart.
    
    Maybe on some boxes there is no LVDS device but the LID device is found. In
    such case it should be added to the quirk list.
    
    http://bugs.freedesktop.org/show_bug.cgi?id=21496
    http://bugs.freedesktop.org/show_bug.cgi?id=21856
    http://bugs.freedesktop.org/show_bug.cgi?id=21127
    
    Signed-off-by: Zhao Yakui <yakui.zhao@xxxxxxxxx>
    Reviewed-by: Jesse Barnes <jbarnes@xxxxxxxxxxxxxxxx>
    [anholt: squashed in style fixups]
    Signed-off-by: Eric Anholt <eric@xxxxxxxxxx>

commit b77863bfa153e886f9f8faf1a791ba57a36efed0
Author: Steve French <sfrench@xxxxxxxxxx>
Date:   Thu Jul 9 22:51:38 2009 +0000

    [CIFS] update cifs version number
    
    Signed-off-by: Steve French <sfrench@xxxxxxxxxx>

commit 3bbeeb3c93a961bd01b969dd4395ecac0c09db8d
Author: Jeff Layton <jlayton@xxxxxxxxxx>
Date:   Thu Jul 9 20:02:50 2009 -0400

    cifs: add and use CIFSSMBUnixSetFileInfo for setattr calls
    
    cifs: add and use CIFSSMBUnixSetFileInfo for setattr calls
    
    When there's an open filehandle, SET_FILE_INFO is apparently preferred
    over SET_PATH_INFO. Add a new variant that sets a FILE_UNIX_INFO_BASIC
    infolevel via SET_FILE_INFO and switch cifs_setattr_unix to use the
    new call when there's an open filehandle available.
    
    Signed-off-by: Jeff Layton <jlayton@xxxxxxxxxx>
    Signed-off-by: Steve French <sfrench@xxxxxxxxxx>

commit 654cf14ac0a71c56c1f0032140c3403382ca076b
Author: Jeff Layton <jlayton@xxxxxxxxxx>
Date:   Thu Jul 9 20:02:49 2009 -0400

    cifs: make a separate function for filling out FILE_UNIX_BASIC_INFO
    
    cifs: make a separate function for filling out FILE_UNIX_BASIC_INFO
    
    The SET_FILE_INFO variant will need to do the same thing here. Break
    this code out into a separate function that both variants can call.
    
    Signed-off-by: Jeff Layton <jlayton@xxxxxxxxxx>
    Signed-off-by: Steve French <sfrench@xxxxxxxxxx>

commit 01ea95e3b6b16573a491ef98ad63f7a1bdcb504f
Author: Jeff Layton <jlayton@xxxxxxxxxx>
Date:   Thu Jul 9 20:02:49 2009 -0400

    cifs: rename CIFSSMBUnixSetInfo to CIFSSMBUnixSetPathInfo
    
    cifs: rename CIFSSMBUnixSetInfo to CIFSSMBUnixSetPathInfo
    
    ...in preparation of adding a SET_FILE_INFO variant.
    
    Signed-off-by: Jeff Layton <jlayton@xxxxxxxxxx>
    Signed-off-by: Steve French <sfrench@xxxxxxxxxx>

commit c4c1bff64dfff4e6dd0936a0340f56b9284512c8
Author: Jeff Layton <jlayton@xxxxxxxxxx>
Date:   Thu Jul 9 20:02:48 2009 -0400

    cifs: add pid of initiating process to spnego upcall info
    
    cifs: add pid of initiating process to spnego upcall info
    
    This will allow the upcall to poke in /proc/<pid>/environ and get
    the value of the $KRB5CCNAME env var for the process.
    
    Signed-off-by: Jeff Layton <jlayton@xxxxxxxxxx>
    Signed-off-by: Steve French <sfrench@xxxxxxxxxx>

commit cf1eaab2525e8ae1d53eaf923981c96cb31e57c8
Author: Slobodan TomiÄ? <stomic@xxxxxxxxx>
Date:   Sun Jun 28 21:20:36 2009 +0200

    [WATCHDOG] w83627hf_wdt.c: add support for the W83627EHF support
    
    Add support for the W83627EHF/EF and W83627EHG/EG chipsets.
    
    Signed-off-by: Slobodan TomiÄ? <stomic@xxxxxxxxx>
    Signed-off-by: Wim Van Sebroeck <wim@xxxxxxxxx>

commit a6f052e39c3832b5842c4f44d9b3a4295dacfc4a
Author: Raphael Assenat <raph@xxxxxx>
Date:   Mon Jun 29 13:56:52 2009 -0400

    [WATCHDOG] SA1100 watchdog maximum timeout
    
    This patch replaces the hardcoded 255 seconds limit for a real limit based on
    oscr_freq.
    
    Also, the 'firmware_version' field is changed to '1' to allow the user
    space application to easily detect that this driver supports a higher
    maximum timeout.
    
    Signed-off-by: Raphael Assenat <raph@xxxxxx>
    Signed-off-by: Wim Van Sebroeck <wim@xxxxxxxxx>

commit db5d2d8a5dfe0ae3e83ac618fd953ecc621adcdf
Author: Jiri Slaby <jirislaby@xxxxxxxxx>
Date:   Mon Jun 29 18:00:39 2009 +0200

    [WATCHDOG] w83697ug, fix lock imbalance
    
    Don't forget to unlock io_lock when w83697ug_select_wd_register fails in
    wdt_ctrl.
    
    Signed-off-by: Jiri Slaby <jirislaby@xxxxxxxxx>
    Signed-off-by: Wim Van Sebroeck <wim@xxxxxxxxx>

commit b86a6c6c7b0bfc26b3e8d4f48e16ee0b13716385
Author: Joe Perches <joe@xxxxxxxxxxx>
Date:   Sun Jun 28 09:26:57 2009 -0700

    [WATCHDOG] drivers/watchdog/bcm47xx_wdt.c: Remove unnecessary semicolons
    
    Signed-off-by: Joe Perches <joe@xxxxxxxxxxx>
    Signed-off-by: Wim Van Sebroeck <wim@xxxxxxxxx>

commit 005b10769c05fb16db70f7689ffb5ba17e3fc324
Author: David Heidelberger <d.okias@xxxxxxxxx>
Date:   Thu Jul 9 18:45:46 2009 +0200

    ALSA: hda - targa and targa-2ch fix
    
    Simplify ALC882_TARGA and return gpio3 to ALC883_TARGA_DIG and
    ALC883_TARGA_2ch_DIG, which I accidentally removed in commit id
    64a8be74357477558183b43156c5536b642de134
    
    Signed-off-by: David Heidelberger <d.okias@xxxxxxxxx>
    Signed-off-by: Takashi Iwai <tiwai@xxxxxxx>

commit 264ef8a904943ed7d0b04fa958894d7a5c2b2c61
Author: Catalin Marinas <catalin.marinas@xxxxxxx>
Date:   Tue Jul 7 10:33:01 2009 +0100

    kmemleak: Remove alloc_bootmem annotations introduced in the past
    
    kmemleak_alloc() calls were added in some places where alloc_bootmem was
    called. Since now kmemleak tracks bootmem allocations, these explicit
    calls should be run.
    
    Signed-off-by: Catalin Marinas <catalin.marinas@xxxxxxx>
    Cc: Ingo Molnar <mingo@xxxxxxx>
    Acked-by: Pekka Enberg <penberg@xxxxxxxxxxxxxx>

commit 369693dc93533097c0ca7243affb4f3244c336e8
Author: Paul Vojta <vojta@xxxxxxxxxxxxxxxxx>
Date:   Wed Jul 8 23:57:46 2009 -0700

    ALSA: hda - fix beep tone calculation for IDT/STAC codecs
    
    In the beep tone calculation for IDT/STAC codecs, lower numbers correspond
    to higher frequencies and vice versa.  The current code has this backwards,
    resulting in beep frequencies which are way too high (and sound bad on
    tinny laptop speakers, resulting in complaints).
    
    [Also added hz <= 0 check by tiwai]
    
    Signed-off-by: Paul Vojta <vojta@xxxxxxxxxxxxxxxxx>
    Signed-off-by: Takashi Iwai <tiwai@xxxxxxx>

commit 061125476039a9a998878468a6abe235b1cee347
Author: Artem Bityutskiy <Artem.Bityutskiy@xxxxxxxxx>
Date:   Mon Jun 29 19:27:14 2009 +0300

    UBIFS: fix corruption dump
    
    In the 'ubifs_recover_leb()' function, when we find corrupted
    empty space, we dump 8K starting from the offset where the last
    node ends. This is OK if the corrupted empty space is somewhere
    near that offset. But if the corruption is far at the end of the
    LEB, we will dump all 0xFF bytes and complitely ignore the
    interesting data. This is observed on a PPC ("kilauea") with
    NOR flash.
    
    This patch changes the behavior and teaches UBIFS to print only
    interesting data. I.e., now we find where corruption starts and
    start dumping from that offset.
    
    Signed-off-by: Artem Bityutskiy <Artem.Bityutskiy@xxxxxxxxx>
    Reviewed-by: Adrian Hunter <Adrian.Hunter@xxxxxxxxx>

commit 431102fed3effe4e4e19678830ddab7f05c34bf9
Author: Artem Bityutskiy <Artem.Bityutskiy@xxxxxxxxx>
Date:   Mon Jun 29 18:58:34 2009 +0300

    UBIFS: clean up free space checking
    
    recovery.c has 'is_empty()' helper and it is better to use
    this helper instead of re-implementing it in several places.
    This patch does this and removes some amount of unneeded code.
    
    Signed-off-by: Artem Bityutskiy <Artem.Bityutskiy@xxxxxxxxx>
    Reviewed-by: Adrian Hunter <Adrian.Hunter@xxxxxxxxx>

commit ed43f2f06cc1cec7ec2dc235c908530bc8c796eb
Author: Artem Bityutskiy <Artem.Bityutskiy@xxxxxxxxx>
Date:   Mon Jun 29 17:59:23 2009 +0300

    UBIFS: small amendments in the LEB scanning code
    
    This patch fixes few minor things I've spotted while going through
    code:
    
    1. Better document return codes
    2. If 'ubifs_scan_a_node()' returns some thing we do not expect,
       treat this as an error.
    3. Try to do recovery only when 'ubifs_scan()' returns %-EUCLEAN,
       not on any error.
    4. If empty space starts at a non-aligned address, print a message.
    
    Signed-off-by: Artem Bityutskiy <Artem.Bityutskiy@xxxxxxxxx>
    Reviewed-by: Adrian Hunter <Adrian.Hunter@xxxxxxxxx>

commit 086b3640c10ab448a6993c4bae1508f496f530c4
Author: Artem Bityutskiy <Artem.Bityutskiy@xxxxxxxxx>
Date:   Mon Jun 29 16:25:33 2009 +0300

    UBIFS: dump a little more in case of corruptions
    
    In case of corruptions, dump 8192 bytes instead of 4096. The
    largest node is 4096+ bytes, so it is better to see a node
    boundary, which is not always possible when only 4096 bytes
    are printed.
    
    Signed-off-by: Artem Bityutskiy <Artem.Bityutskiy@xxxxxxxxx>
    Reviewed-by: Adrian Hunter <Adrian.Hunter@xxxxxxxxx>

commit 34f25476ace556263784ea2f8173e22b25557a13
Merge: 2e3167308048ca6c810733384d8289082f7e4ec1 5e1596f75395e7a402e1059c518e633d2732dcf8
Author: Linus Torvalds <torvalds@xxxxxxxxxxxxxxxxxxxx>
Date:   Wed Jul 8 20:59:13 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] Fix compile failure in cpufreq.c

commit 1b614fb9a00e97b1eab54d4e442d405229c059dd
Author: Anton Vorontsov <avorontsov@xxxxxxxxxxxxx>
Date:   Wed Jul 8 20:09:44 2009 -0700

    netpoll: Fix carrier detection for drivers that are using phylib
    
    Using early netconsole and gianfar driver this error pops up:
    
      netconsole: timeout waiting for carrier
    
    It appears that net/core/netpoll.c:netpoll_setup() is using
    cond_resched() in a loop waiting for a carrier.
    
    The thing is that cond_resched() is a no-op when system_state !=
    SYSTEM_RUNNING, and so drivers/net/phy/phy.c's state_queue is never
    scheduled, therefore link detection doesn't work.
    
    I belive that the main problem is in cond_resched()[1], but despite
    how the cond_resched() story ends, it might be a good idea to call
    msleep(1) instead of cond_resched(), as suggested by Andrew Morton.
    
    [1] http://lkml.org/lkml/2009/7/7/463
    
    Signed-off-by: Anton Vorontsov <avorontsov@xxxxxxxxxxxxx>
    Signed-off-by: David S. Miller <davem@xxxxxxxxxxxxx>

commit d2daeabf62a5fb205d413c35cf604021db17536b
Merge: c3b85423072c0739d76b7c54080d3f3ccc5dad4d 1ce822fa04fd6878f079461a4b8affe4bb5ec27b
Author: David S. Miller <davem@xxxxxxxxxxxxx>
Date:   Wed Jul 8 18:13:13 2009 -0700

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

commit 2e3167308048ca6c810733384d8289082f7e4ec1
Author: Roland Dreier <rdreier@xxxxxxxxx>
Date:   Wed Jul 8 17:05:32 2009 -0700

    fealnx: Fix build breakage -- PR_CONT should be KERN_CONT
    
    Commit ad361c98 ("Remove multiple KERN_ prefixes from printk formats")
    broke the build for fealnx because it added some "printk(PR_CONT ..."
    calls, when PR_CONT doesn't exist; it should be "printk(KERN_CONT ..."
    
    Signed-off-by: Roland Dreier <rolandd@xxxxxxxxx>
    Cc: Joe Perches <joe@xxxxxxxxxxx>
    Signed-off-by: Linus Torvalds <torvalds@xxxxxxxxxxxxxxxxxxxx>

commit 5e1596f75395e7a402e1059c518e633d2732dcf8
Author: Dave Jones <davej@xxxxxxxxxx>
Date:   Wed Jul 8 16:14:23 2009 -0400

    [CPUFREQ] Fix compile failure in cpufreq.c
    
    managed_policy is out of scope for the non-smp case.
    Declare it locally where used (twice)
    
    Signed-off-by: Dave Jones <davej@xxxxxxxxxx>

commit 5ddf1e0ff00fd808c048d0b920784828276cc516
Author: Jeff Layton <jlayton@xxxxxxxxxx>
Date:   Sun Jul 5 11:01:02 2009 -0400

    cifs: fix regression with O_EXCL creates and optimize away lookup
    
    cifs: fix regression with O_EXCL creates and optimize away lookup
    
    Signed-off-by: Jeff Layton <jlayton@xxxxxxxxxx>
    Tested-by: Shirish Pargaonkar <shirishp@xxxxxxxxx>
    CC: Stable Kernel <stable@xxxxxxxxxx>
    Signed-off-by: Steve French <sfrench@xxxxxxxxxx>

commit 1d01e83557105e7b3bf1623ad2b814d55e1c2990
Author: Krzysztof Helt <krzysztof.h1@xxxxx>
Date:   Wed Jul 8 22:26:16 2009 +0200

    atmel_lcdfb: fix regression with uninitalized fb_info->mm_lock mutex
    
    Remove not needed locking of the fb_info->mm_lock mutex before a
    frambuffer is registered.
    
    This fixes a problem with uninitialized the fb_info->mm_lock mutex
    introduced by the commit 537a1bf059f " fbdev: add mutex for fb_mmap
    locking"
    
    Signed-off-by: Krzysztof Helt <krzysztof.h1@xxxxx>
    Signed-off-by: Linus Torvalds <torvalds@xxxxxxxxxxxxxxxxxxxx>

commit b5daa70a4a55a807e893fe7f94289c61c50a6e5f
Author: Krzysztof Helt <krzysztof.h1@xxxxx>
Date:   Wed Jul 8 21:59:17 2009 +0200

    fsl-diu-fb: fix regression with uninitalized fb_info->mm_lock mutex
    
    Remove call to the fsl_diu_set_par before the register_framebuffer().
    
    This fixes a problem with uninitialized the fb_info->mm_lock mutex
    introduced by the commit 537a1bf059f " fbdev: add mutex for fb_mmap
    locking"
    
    Signed-off-by: Krzysztof Helt <krzysztof.h1@xxxxx>
    Tested-by: "Kai Jiang" <b18973@xxxxxxxxxxxxx>
    Signed-off-by: Linus Torvalds <torvalds@xxxxxxxxxxxxxxxxxxxx>

commit 1ce822fa04fd6878f079461a4b8affe4bb5ec27b
Author: Jaswinder Singh Rajput <jaswinder@xxxxxxxxxx>
Date:   Wed Jul 8 21:25:54 2009 +0530

    includecheck fix: include/linux, rfkill.h
    
    fix the following 'make includecheck' warning:
    
      include/linux/rfkill.h: linux/types.h is included more than once.
    
    Signed-off-by: Jaswinder Singh Rajput <jaswinderrajput@xxxxxxxxx>
    Signed-off-by: John W. Linville <linville@xxxxxxxxxxxxx>

commit 47ab3840a389ff1b9959734995123e5bc94c3443
Author: Larry Finger <Larry.Finger@xxxxxxxxxxxx>
Date:   Wed Jul 8 08:33:02 2009 -0500

    p54: tx refused but queue active
    
    In the mainline kernel, p54usb will fail because the TX queue length can
    become < 0. This problem has been reported as Bugzilla #13725. The failure
    is expressed by the following message in the logs:
    
    WARNING: at net/mac80211/tx.c:1325 ieee80211_tx+0x23c/0x298 [mac80211]()
    Hardware name: HP Pavilion dv2700 Notebook PC
    tx refused but queue active
    
    This problem has been recently observed in the wireless-testing tree, where
    a full solution is being tested. That fix is too invasive for 2.6.31-rcX,
    but the simple change supplied here will prevent the failure.
    
    Signed-off-by: Larry Finger <Larry.Finger@xxxxxxxxxxxx>
    Signed-off-by: John W. Linville <linville@xxxxxxxxxxxxx>

commit 804ef71ee183121de5e9bca1d70d114c97300e17
Author: Jay Sternberg <jay.e.sternberg@xxxxxxxxx>
Date:   Tue Jul 7 11:18:46 2009 -0700

    Atheros Kconfig needs to be dependent on WLAN_80211
    
    Atheros top level menu needs a "depends WLAN_80211" to properly indent
    within menuconfig and xconfig interfaces.
    
    This is purely a visual issue but it effects all subsequent drivers.
    The issue is the top level menu does not include a dependency on
    WLAN_80211 so within the tree structure, Atheros is at the same level as
    WLAN_80211 but when WLAN_80211 collapsed, the menu disappears along with
    all subsequent drives, so it is really a subordinate.
    
    Signed-off-by: Jay Sternberg <jay.e.sternberg@xxxxxxxxx>
    Signed-off-by: John W. Linville <linville@xxxxxxxxxxxxx>

commit b9744d19e35d74f965fb94bd55f9313d3a7d9e54
Author: Johannes Berg <johannes@xxxxxxxxxxxxxxxx>
Date:   Tue Jul 7 11:10:12 2009 +0200

    mac80211: fix docbook
    
    These two functions no longer exist in mac80211,
    so trying to insert them generates warnings in
    the document.
    
    Signed-off-by: Johannes Berg <johannes@xxxxxxxxxxxxxxxx>
    Signed-off-by: John W. Linville <linville@xxxxxxxxxxxxx>

commit 4ff176674e75bdee9022dded415fb805f15700ad
Author: Johannes Berg <johannes@xxxxxxxxxxxxxxxx>
Date:   Tue Jul 7 03:43:02 2009 +0200

    mac80211_hwsim: avoid NULL access
    
    There's a race condition -- started can be set to true
    before channel is set due to the way mac80211 callbacks
    currently work (->start should probably pass the channel
    we would like to have initially). For now simply add a
    check to hwsim to avoid dereferencing the NULL channel
    pointer.
    
    Signed-off-by: Johannes Berg <johannes@xxxxxxxxxxxxxxxx>
    Signed-off-by: John W. Linville <linville@xxxxxxxxxxxxx>

commit 2fbddeb5c409c90be4706ea2beb7f1fc02100c72
Author: Clyde McPherson <ccmcphe@xxxxxxxxxxx>
Date:   Tue Jun 30 22:39:43 2009 -0500

    ssb: Add support for 4318E
    
    Added support for the Broadcom 4318E chipset on PCMCIA/CF cards. The
    4318E can do 802.11A/B/G, only B and G mode are supported in b43.
    
    Signed-off-by: Clyde McPherson <ccmcphe@xxxxxxxxxxx>
    Signed-off-by: Larry Finger <Larry.Finger@xxxxxxxxxxxx>
    Signed-off-by: John W. Linville <linville@xxxxxxxxxxxxx>

commit cff782cd94df7adea84af6aa9516c8088f7ea950
Author: Clyde McPherson <ccmcphe@xxxxxxxxxxx>
Date:   Tue Jun 30 22:39:28 2009 -0500

    b43: Add support for 4318E
    
    Added support for the Broadcom 4318E chipset on PCMCIA/CF cards. The
    4318E can do 802.11A/B/G, only B and G mode are supported in b43.
    
    Signed-off-by: Clyde McPherson <ccmcphe@xxxxxxxxxxx>
    Signed-off-by: Larry Finger <Larry.Finger@xxxxxxxxxxxx>
    Signed-off-by: John W. Linville <linville@xxxxxxxxxxxxx>

commit 8b339d05805fb91cc0b5179af5b4d05d9f8b949c
Author: Hin-Tak Leung <hintak.leung@xxxxxxxxx>
Date:   Fri Jun 26 05:28:15 2009 +0100

    zd1211rw: adding SONY IFU-WLM2 (054c:0257) as a zd1211b device
    
    Yevgen Kotikov reported success on the sourceforge zd1211-devs list
    with the following details:
    
    Brand/retail: SONY IFU-WLM2
    USB-IDs: Vendor: 0x054C Device: 0x0257
    chip ID: zd1211b chip 054c:0257 v4802 high 00-0b-6b AL2230_RF pa0 -----
    FCC ID: unknown
    
    Signed-off-by: Hin-Tak Leung <htl10@xxxxxxxxxxxxxxxxxxxxx>
    Tested-by: Yevgen Kotikov <yevgen.kotikov@xxxxxxxxx>
    Signed-off-by: John W. Linville <linville@xxxxxxxxxxxxx>

commit b4b223cdd5981f776491134faa7bc4ac342b44d4
Author: Pascal Terjan <pterjan@xxxxxxxxxxxx>
Date:   Thu Jun 18 17:54:03 2009 +0200

    zd1211rw: 07b8:6001 is a ZD1211B
    
    On a shuttle machine here we got 07b8:6001 device, handled by zd1211rw, which does not work.
    Scanning is OK but association does not work, we get "direct probe to AP xxx timed out"
    
    It appears that this simple patch makes the device work perfectly.
    
    This id was already there in initial import of the driver so I don't know if it has ever been
    working as ZD1211 (which would mean they changed it and kept the id :( ).
    
    Signed-off-by: Pascal Terjan <pterjan@xxxxxxxxxxxx>
    Signed-off-by: John W. Linville <linville@xxxxxxxxxxxxx>

commit c3b85423072c0739d76b7c54080d3f3ccc5dad4d
Author: Florian Fainelli <florian@xxxxxxxxxxx>
Date:   Wed Jul 8 03:05:48 2009 +0000

    r6040: bump driver version to 0.24 and date to 08 July 2009
    
    Signed-off-by: Florian Fainelli <florian@xxxxxxxxxxx>
    Signed-off-by: David S. Miller <davem@xxxxxxxxxxxxx>

commit 35976d4d557c5017c2180a083e8bd970cf73f3d5
Author: Florian Fainelli <florian@xxxxxxxxxxx>
Date:   Wed Jul 8 03:05:14 2009 +0000

    r6040: restore MIER register correctly when IRQ line is shared
    
    When the r6040 device IRQ line is shared we will enter the driver
    interrupt service routine, mask off the device interrupt enable
    register (MIER) and return with IRQ_NONE, we would then leave the
    device with interrupts disabled, this patch fixes that issue.
    
    Reported-by: Steve Holland <sdh4@xxxxxxxxxxx>
    Signed-off-by: Joe Chou <joe.chou@xxxxxxxxxx>
    Signed-off-by: Florian Fainelli <florian@xxxxxxxxxxx>
    Signed-off-by: David S. Miller <davem@xxxxxxxxxxxxx>

commit 345aa031207d02d7438c1aa96ed9315911ecd745
Author: Jarek Poplawski <jarkao2@xxxxxxxxx>
Date:   Tue Jul 7 19:39:16 2009 -0700

    ipv4: Fix fib_trie rebalancing, part 4 (root thresholds)
    
    Pawel Staszewski wrote:
    <blockquote>
    Some time ago i report this:
    http://bugzilla.kernel.org/show_bug.cgi?id=6648
    
    and now with 2.6.29 / 2.6.29.1 / 2.6.29.3 and 2.6.30 it back
    dmesg output:
    oprofile: using NMI interrupt.
    Fix inflate_threshold_root. Now=15 size=11 bits
    ...
    Fix inflate_threshold_root. Now=15 size=11 bits
    
    cat /proc/net/fib_triestat
    Basic info: size of leaf: 40 bytes, size of tnode: 56 bytes.
    Main:
            Aver depth:     2.28
            Max depth:      6
            Leaves:         276539
            Prefixes:       289922
            Internal nodes: 66762
              1: 35046  2: 13824  3: 9508  4: 4897  5: 2331  6: 1149  7: 5
    9: 1  18: 1
            Pointers: 691228
    Null ptrs: 347928
    Total size: 35709  kB
    </blockquote>
    
    It seems, the current threshold for root resizing is too aggressive,
    and it causes misleading warnings during big updates, but it might be
    also responsible for memory problems, especially with non-preempt
    configs, when RCU freeing is delayed long after call_rcu.
    
    It should be also mentioned that because of non-atomic changes during
    resizing/rebalancing the current lookup algorithm can miss valid leaves
    so it's additional argument to shorten these activities even at a cost
    of a minimally longer searching.
    
    This patch restores values before the patch "[IPV4]: fib_trie root
    node settings", commit: 965ffea43d4ebe8cd7b9fee78d651268dd7d23c5 from
    v2.6.22.
    
    Pawel's report:
    <blockquote>
    I dont see any big change of (cpu load or faster/slower
    routing/propagating routes from bgpd or something else) - in avg there
    is from 2% to 3% more of CPU load i dont know why but it is - i change
    from "preempt" to "no preempt" 3 times and check this my "mpstat -P ALL
    1 30"
    always avg cpu load was from 2 to 3% more compared to "no preempt"
    [...]
    cat /proc/net/fib_triestat
    Basic info: size of leaf: 20 bytes, size of tnode: 36 bytes.
    Main:
            Aver depth:     2.44
            Max depth:      6
            Leaves:         277814
            Prefixes:       291306
            Internal nodes: 66420
              1: 32737  2: 14850  3: 10332  4: 4871  5: 2313  6: 942  7: 371  8: 3  17: 1
            Pointers: 599098
    Null ptrs: 254865
    Total size: 18067  kB
    </blockquote>
    
    According to this and other similar reports average depth is slightly
    increased (~0.2), and root nodes are shorter (log 17 vs. 18), but
    there is no visible performance decrease. So, until memory handling is
    improved or added parameters for changing this individually, this
    patch resets to safer defaults.
    
    Reported-by: Pawel Staszewski <pstaszewski@xxxxxxxxx>
    Reported-by: Jorge Boncompte [DTI2] <jorge@xxxxxxxx>
    Signed-off-by: Jarek Poplawski <jarkao2@xxxxxxxxx>
    Tested-by: Pawel Staszewski <pstaszewski@xxxxxxxxx>
    Signed-off-by: David S. Miller <davem@xxxxxxxxxxxxx>

commit 64c8165b44a91c09b19afb4110610ed242286639
Author: Pablo Bitton <pablo.bitton@xxxxxxxxx>
Date:   Tue Jul 7 19:11:10 2009 -0700

    davinci_emac: fix kernel oops when changing MAC address while interface is down
    
    Check that network interface is running before changing its MAC address.
    Otherwise, rxch is accessed when it's NULL - causing a kernel oops.
    Moreover, check that the new MAC address is valid.
    
    Signed-off-by: Pablo Bitton <pablo.bitton@xxxxxxxxx>
    Signed-off-by: Chaithrika U S <chaithrika@xxxxxx>
    Tested-by: Chaithrika U S <chaithrika@xxxxxx>
    [tested on DM6467 EVM]
    Signed-off-by: David S. Miller <davem@xxxxxxxxxxxxx>

commit 19e588e7d156cc4415585edd8c27c3075f62eaf8
Author: Alexander Duyck <alexander.h.duyck@xxxxxxxxx>
Date:   Tue Jul 7 13:01:55 2009 +0000

    igb: set lan id prior to configuring phy
    
    The igb driver was defaulting to using the lock for pci-e function 0 for
    all of the phys due to the fact that the lan id was not being set prior to
    initialization.  This change makes it so that the function id is set prior
    to checking for the phy id.
    
    Signed-off-by: Alexander Duyck <alexander.h.duyck@xxxxxxxxx>
    Signed-off-by: Jeff Kirsher <jeffrey.t.kirsher@xxxxxxxxx>
    Signed-off-by: David S. Miller <davem@xxxxxxxxxxxxx>

commit 44b572809581d5a10dbe35aa6bf689f32b9c5ad6
Author: Yinghai Lu <yinghai@xxxxxxxxxx>
Date:   Wed Jul 8 09:50:19 2009 -0700

    x86: don't clear nodes_states[N_NORMAL_MEMORY] when numa is not compiled in
    
    Alex found that specjbb2005 still can not run with hugepages on an
    x86-64 machine.  This only happens when numa is not compiled in.
    
    The root cause: node_set_state will not set it back for us in that case,
    so don't clear that when numa is not select in config
    
    [ v2: use node_clear_state instead ]
    Reported-and-Tested-by: Alex Shi <alex.shi@xxxxxxxxx>
    Signed-off-by: Yinghai Lu <yinghai@xxxxxxxxxx>
    Reviewed-by: Christoph Lameter <cl@xxxxxxxxxxxxxxxxxxxx>
    Signed-off-by: Linus Torvalds <torvalds@xxxxxxxxxxxxxxxxxxxx>

commit ad361c9884e809340f6daca80d56a9e9c871690a
Author: Joe Perches <joe@xxxxxxxxxxx>
Date:   Mon Jul 6 13:05:40 2009 -0700

    Remove multiple KERN_ prefixes from printk formats
    
    Commit 5fd29d6ccbc98884569d6f3105aeca70858b3e0f ("printk: clean up
    handling of log-levels and newlines") changed printk semantics.  printk
    lines with multiple KERN_<level> prefixes are no longer emitted as
    before the patch.
    
    <level> is now included in the output on each additional use.
    
    Remove all uses of multiple KERN_<level>s in formats.
    
    Signed-off-by: Joe Perches <joe@xxxxxxxxxxx>
    Signed-off-by: Linus Torvalds <torvalds@xxxxxxxxxxxxxxxxxxxx>

commit e3288775ff63900fbb7db505f2b9a1bee98f07df
Author: Alan Cox <alan@xxxxxxxxxxxxxxx>
Date:   Tue Jul 7 16:39:54 2009 +0100

    tty: maintainers data was edited wrongly by someone
    
    Move tty entries to tty not trivial. Noted by David Brownell.
    
    Signed-off-by: Alan Cox <alan@xxxxxxxxxxxxxxx>
    Signed-off-by: Linus Torvalds <torvalds@xxxxxxxxxxxxxxxxxxxx>

commit d945cb9cce20ac7143c2de8d88b187f62db99bdc
Author: Alan Cox <alan@xxxxxxxxxxxxxxx>
Date:   Tue Jul 7 16:39:41 2009 +0100

    pty: Rework the pty layer to use the normal buffering logic
    
    This fixes the ppp problems and various other issues with call locking
    caused by one side of a pty called in one locking context trying to match
    another with differing rules on the other side. We also get a big slack
    space to work with that means we can bury the flow control deadlock case
    for any conceivable real world situation.
    
    Signed-off-by: Alan Cox <alan@xxxxxxxxxxxxxxx>
    Signed-off-by: Linus Torvalds <torvalds@xxxxxxxxxxxxxxxxxxxx>

commit b4b21cac88caa4078f5755b0bd3770af5fe9c146
Merge: 728b690fd5c185c639a5db0819bd6e0385b14188 a2e1b4c31257c07f148a89eb7eea7ca959fd0642
Author: Linus Torvalds <torvalds@xxxxxxxxxxxxxxxxxxxx>
Date:   Wed Jul 8 09:36: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] Powernow-k8: support family 0xf with 2 low p-states
      [CPUFREQ] fix (utter) cpufreq_add_dev mess
      [CPUFREQ] Cleanup locking in conservative governor
      [CPUFREQ] Cleanup locking in ondemand governor
      [CPUFREQ] Mark policy_rwsem as going static in cpufreq.c wont be exported
      [CPUFREQ] Eliminate the recent lockdep warnings in cpufreq

commit 728b690fd5c185c639a5db0819bd6e0385b14188
Merge: ed7ba2ef09254b2fd9698708b407f4652d26e36a d01730d74d2b0155da50d44555001706294014f7
Author: Linus Torvalds <torvalds@xxxxxxxxxxxxxxxxxxxx>
Date:   Wed Jul 8 09:35:50 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: Fix possible deadlock during parallel quotaon and quotaoff

commit ed7ba2ef09254b2fd9698708b407f4652d26e36a
Merge: 4b99d3527041bec1abe9903263a3a1b7d2ba0c4a 886a7a3371da8ee46a13f8e598a536bd8765b837
Author: Linus Torvalds <torvalds@xxxxxxxxxxxxxxxxxxxx>
Date:   Wed Jul 8 09:35:22 2009 -0700

    Merge branch 'for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/rafael/suspend-2.6
    
    * 'for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/rafael/suspend-2.6:
      PM: Clear -EAGAIN in dpm_prepare
      x86: Fix resume from suspend when CONFIG_CC_STACKPROTECTOR

commit 4b99d3527041bec1abe9903263a3a1b7d2ba0c4a
Author: Sheng Yang <sheng@xxxxxxxxxxxxxxx>
Date:   Wed Jul 8 11:52:52 2009 +0100

    intel-iommu: Fix intel_iommu_unmap_range() with size 0
    
    After some API change, intel_iommu_unmap_range() introduced a assumption that
    parameter size != 0, otherwise the dma_pte_clean_range() would have a
    overflowed argument. But the user like KVM don't have this assumption before,
    then some BUG() triggered.
    
    Fix it by ignoring size = 0.
    
    Signed-off-by: Sheng Yang <sheng@xxxxxxxxxxxxxxx>
    Signed-off-by: David Woodhouse <David.Woodhouse@xxxxxxxxx>
    Signed-off-by: Linus Torvalds <torvalds@xxxxxxxxxxxxxxxxxxxx>

commit 0f2f2221b4ad816567394a52643963428fd353cd
Author: Catalin Marinas <catalin.marinas@xxxxxxx>
Date:   Wed Jul 8 11:17:40 2009 +0100

    Free struct device in fw_dev_release()
    
    The f_dev in _request_firmware() is allocated via the fw_setup_device()
    and fw_register_device() calls and its class set to firmware_class (the
    class release function is fw_dev_release).
    
    Commit 6acf70f078ca replaced the kfree(dev) in fw_dev_release() with a
    put_device() call but my understanding is that the release function is
    called via put_device -> kobject_put -> kref_put -> koject_release etc.
    and it should call kfree since it's the last to see this device
    structure alive.
    
    Because of that, the _request_firmware() function on its -ENOENT error
    path only calls device_unregister(f_dev) which would eventually call
    fw_dev_release() but there is no kfree (the subsequent put_device call
    would just make the kref negative).
    
    Signed-off-by: Catalin Marinas <catalin.marinas@xxxxxxx>
    Acked-by: Cornelia Huck <cornelia.huck@xxxxxxxxxx>
    Acked-by: Ming Lei <tom.leiming@xxxxxxxxx>
    Signed-off-by: Linus Torvalds <torvalds@xxxxxxxxxxxxxxxxxxxx>

commit d5ce5b40bc66880d1732461d4b47d7fc3331ed30
Author: Catalin Marinas <catalin.marinas@xxxxxxx>
Date:   Wed Jul 8 11:17:34 2009 +0100

    Free the memory allocated by memdup_user() in fs/sysfs/bin.c
    
    Commit 1c8542c7bb replaced kmalloc() with memdup_user() in the write()
    function but also dropped the kfree(temp). The memdup_user() function
    allocates memory which is never freed.
    
    Signed-off-by: Catalin Marinas <catalin.marinas@xxxxxxx>
    Cc: Parag Warudkar <parag.warudkar@xxxxxxxxx>
    Signed-off-by: Linus Torvalds <torvalds@xxxxxxxxxxxxxxxxxxxx>

commit 5e75c5f5d723074b1ceefe916c3005888e431d12
Merge: d6d4655172f9c5b9402bb453ed9145a7ab5c46d0 eeafa5ef6de5acf678624a21f7dba7d43ba73845
Author: Linus Torvalds <torvalds@xxxxxxxxxxxxxxxxxxxx>
Date:   Wed Jul 8 09:32:41 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: gpio_mouse - use standard driver registration method
      Input: mark serio and i8042 as suspended when hibernating too
      Input: add support for generic GPIO-based matrix keypad
      Input: arrange keyboards alphabetically
      Input: gpio-keys - avoid possibility of sleeping in timer function
      Input: gpio-keys - revert 'change timer to workqueue'
      Input: dm355evm_keys - fix kconfig symbol names
      Input: wacom - add DTF720a support and fix rotation on Intuos3
      Input: i8042 - more reset quirks for MSI Wind-clone netbooks

commit d6d4655172f9c5b9402bb453ed9145a7ab5c46d0
Merge: b43f3cbd21ffbd719fd4fa6642bfe6af255ded34 ea96025a26ab8949adab1a8e81419202f92f3f7f
Author: Linus Torvalds <torvalds@xxxxxxxxxxxxxxxxxxxx>
Date:   Wed Jul 8 09:32: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: Don't use alloc_bootmem() in init_IRQ() path
      powerpc: Fix spin_event_timeout() to be robust over context switches
      powerpc: Use pr_devel() in do_dcache_icache_coherency()
      powerpc/cell: Use pr_devel() in axon_msi.c
      powerpc: Use pr_devel() in arch/powerpc/mm/gup.c
      powerpc: Cleanup & use pr_devel() in arch/powerpc/mm/slb.c
      powerpc/perf_counter: Remove duplicated #include
      powerpc: Use pr_devel() in arch/powerpc/mm/mmu_context_nohash.c
      powerpc/pseries: Use pr_devel() in xics.c
      powerpc: Remove unnecessary semicolons
      powerpc/pseries: Use pr_devel() in pseries LPAR HPTE routines
      powerpc/44x: Fix build error with -Werror for Warp platform
      powerpc/4xx: Have Warp take advantage of GPIO LEDs default-state = keep
      powerpc/44x: Update Warp defconfig

commit b43f3cbd21ffbd719fd4fa6642bfe6af255ded34
Author: Alexey Dobriyan <adobriyan@xxxxxxxxx>
Date:   Wed Jul 8 01:54:37 2009 +0400

    headers: mnt_namespace.h redux
    
    Fix various silly problems wrt mnt_namespace.h:
    
     - exit_mnt_ns() isn't used, remove it
     - done that, sched.h and nsproxy.h inclusions aren't needed
     - mount.h inclusion was need for vfsmount_lock, but no longer
     - remove mnt_namespace.h inclusion from files which don't use anything
       from mnt_namespace.h
    
    Signed-off-by: Alexey Dobriyan <adobriyan@xxxxxxxxx>
    Signed-off-by: Linus Torvalds <torvalds@xxxxxxxxxxxxxxxxxxxx>

commit 622f8061a68d3f7a576c20a47b7f3bae7c8cfbef
Merge: 6c96895e999f5c44a95a5cad6a6e32e7bd6e28b6 dd4da3a55f99efbfd46674ebefdcc2878a57ef2a
Author: Linus Torvalds <torvalds@xxxxxxxxxxxxxxxxxxxx>
Date:   Wed Jul 8 09:24:01 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:
      serial: sh-sci: fix sci interrupt handler
      video: hitfb: Move over to dev_pm_ops.
      video: hitfb: Convert to framebuffer_alloc().
      video: sh_mobile_lcdcfb: Convert to framebuffer_alloc().
      sh: add r8a66597 usb0 host to the se7724 board
      usb: allow sh7724 to enable on-chip r8a66597
      sh-sci: update receive error handling for muxed irqs
      sh: define PERF_COUNTER_INDEX_OFFSET.

commit 6c96895e999f5c44a95a5cad6a6e32e7bd6e28b6
Author: Linus Torvalds <torvalds@xxxxxxxxxxxxxxxxxxxx>
Date:   Wed Jul 8 09:20:11 2009 -0700

    Revert "fb: Initialize fb_info mutexes in framebuffer_alloc()"
    
    This reverts commit 4148df9b0f38bdd362dd91d52076926c11cbe5a9.
    
    Let's hope that the mm_lock initialization is now correct with all
    drivers, following Krzysztof's patches.
    
    Requested-by: Krzysztof Helt <krzysztof.h1@xxxxxxxxx>
    Signed-off-by: Linus Torvalds <torvalds@xxxxxxxxxxxxxxxxxxxx>

commit 99f5d48b98fb52db6da379c1b1fd6c87438ee45a
Author: Krzysztof Helt <krzysztof.h1@xxxxx>
Date:   Tue Jul 7 22:34:13 2009 +0200

    matroxfb: fix regression with uninitalized fb_info->mm_lock mutex (second head)
    
    Remove redundant locking by the mm_lock mutex before a second head of
    matrox framebuffer is registered.
    
    This fixes a problem with uninitialized the fb_info->mm_lock mutex
    introduced by the commit 537a1bf059f " fbdev: add mutex for fb_mmap
    locking"
    
    Signed-off-by: Krzysztof Helt <krzysztof.h1@xxxxx>
    Signed-off-by: Linus Torvalds <torvalds@xxxxxxxxxxxxxxxxxxxx>

commit d7272e5bd9ead4389849db9749b8c4dabd459dd1
Author: Krzysztof Helt <krzysztof.h1@xxxxx>
Date:   Tue Jul 7 22:06:48 2009 +0200

    matroxfb: fix regression with uninitalized fb_info->mm_lock mutex
    
    Remove redundant call to the matroxfb_update_fix() before matrox
    frambuffer is registered.
    
    This fixes a problem with uninitialized the fb_info->mm_lock mutex
    introduced by the commit 537a1bf059f " fbdev: add mutex for fb_mmap
    locking"
    
    Signed-off-by: Krzysztof Helt <krzysztof.h1@xxxxx>
    Signed-off-by: Linus Torvalds <torvalds@xxxxxxxxxxxxxxxxxxxx>

commit f1b9c339bf30c90114b7c8f285d25e67c7080f90
Author: Krzysztof Helt <krzysztof.h1@xxxxx>
Date:   Tue Jul 7 19:24:54 2009 +0200

    w100fb: fix regression with uninitalized fb_info->mm_lock mutex
    
    Remove redundant call to the w100fb_set_par() before w100 frambuffer is
    registered.
    
    This fixes a problem with uninitialized the fb_info->mm_lock mutex
    introduced by the commit 537a1bf059f " fbdev: add mutex for fb_mmap
    locking"
    
    Signed-off-by: Krzysztof Helt <krzysztof.h1@xxxxx>
    Signed-off-by: Linus Torvalds <torvalds@xxxxxxxxxxxxxxxxxxxx>

commit feaa61e49b126c2206051a234b8f14ccc75b9f61
Author: Krzysztof Helt <krzysztof.h1@xxxxx>
Date:   Tue Jul 7 19:15:16 2009 +0200

    atafb: fix regression with uninitalized fb_info->mm_lock mutex
    
    Remove redundant locking of the fb_info->mm_lock mutex before the
    frambuffer is registered.
    
    This fixes a problem with uninitialized the fb_info->mm_lock mutex
    introduced by the commit 537a1bf059f " fbdev: add mutex for fb_mmap
    locking"
    
    Signed-off-by: Krzysztof Helt <krzysztof.h1@xxxxx>
    Signed-off-by: Linus Torvalds <torvalds@xxxxxxxxxxxxxxxxxxxx>

commit 0c8ddf7f8bf770cf49086af85078c4660d387c55
Author: Krzysztof Helt <krzysztof.h1@xxxxx>
Date:   Tue Jul 7 19:07:57 2009 +0200

    i810fb: fix regression with uninitalized fb_info->mm_lock mutex
    
    Remove redundant call to the encode_fix() before i810 frambuffer is
    registered.
    
    This fixes a problem with uninitialized the fb_info->mm_lock mutex
    introduced by the commit 537a1bf059f " fbdev: add mutex for fb_mmap
    locking"
    
    Signed-off-by: Krzysztof Helt <krzysztof.h1@xxxxx>
    Signed-off-by: Linus Torvalds <torvalds@xxxxxxxxxxxxxxxxxxxx>

commit e9bf0cc7cbfbf3952cdf8028aa0d348d09ecdba1
Author: Parag Warudkar <parag.lkml@xxxxxxxxx>
Date:   Wed Jul 8 11:46:02 2009 -0400

    elfcore.h : Fix UML build breakage
    
    Commit a65e7bfcd74e4c0939f235d2bf9f48ddb3a57991 broke the UML build with
    the following error -
    
      In file included from fs/proc/kcore.c:17:
      include/linux/elfcore.h: In function 'elf_core_copy_task_regs':
      include/linux/elfcore.h:129: error: implicit declaration of function 'task_pt_regs'
    
    Fix this by restoring the previous behavior of returning 0 for all arches
    like UML that don't define task_pt_regs.
    
    Signed-off-by: Parag Warudkar <parag.lkml@xxxxxxxxx>
    Acked-by: Amerigo Wang <xiyou.wangcong@xxxxxxxxx>
    Signed-off-by: Linus Torvalds <torvalds@xxxxxxxxxxxxxxxxxxxx>

commit 508f711090e06477081fd94cb9298b1b14dda9ff
Author: Darren Salt <linux@xxxxxxxxxxxxxxxxxxxxxxxxxxx>
Date:   Wed Jul 8 15:29:49 2009 +0100

    ALSA: hda - Missing volume controls for Intel HDA (ALC269/EeePC)
    
    There is a regression, introduced in aa202455eec51699e44f658530728162cefa1307
    (in alsa-kernel) which I noticed when trying to use the headphone socket on
    my EeeCPC 901: the output was *very* quiet, practically silent.
    
    This patch corrects the control types to that which was obviously intended in
    the referenced commit.
    
    Signed-off-by: Darren Salt <linux@xxxxxxxxxxxxxxxxxxxxxxxxxxx>
    Signed-off-by: Takashi Iwai <tiwai@xxxxxxx>

commit ec3a354bd46cbdaa7933ba57a142ee2d2dbde0e5
Author: Catalin Marinas <catalin.marinas@xxxxxxx>
Date:   Tue Jul 7 10:33:01 2009 +0100

    kmemleak: Add callbacks to the bootmem allocator
    
    This patch adds kmemleak_alloc/free callbacks to the bootmem allocator.
    This would allow scanning of such blocks and help avoiding a whole class
    of false positives and more kmemleak annotations.
    
    Signed-off-by: Catalin Marinas <catalin.marinas@xxxxxxx>
    Cc: Ingo Molnar <mingo@xxxxxxx>
    Acked-by: Pekka Enberg <penberg@xxxxxxxxxxxxxx>
    Reviewed-by: Johannes Weiner <hannes@xxxxxxxxxxx>

commit 53238a60dd4a679f6fe5613a7ed46899587205cf
Author: Catalin Marinas <catalin.marinas@xxxxxxx>
Date:   Tue Jul 7 10:33:00 2009 +0100

    kmemleak: Allow partial freeing of memory blocks
    
    Functions like free_bootmem() are allowed to free only part of a memory
    block. This patch adds support for this via the kmemleak_free_part()
    callback which removes the original object and creates one or two
    additional objects as a result of the memory block split.
    
    Signed-off-by: Catalin Marinas <catalin.marinas@xxxxxxx>
    Cc: Ingo Molnar <mingo@xxxxxxx>
    Acked-by: Pekka Enberg <penberg@xxxxxxxxxxxxxx>

commit e4f7c0b44a8ac8935f223195af9ea637d0c08091
Author: Catalin Marinas <catalin.marinas@xxxxxxx>
Date:   Tue Jul 7 10:32:59 2009 +0100

    kmemleak: Trace the kmalloc_large* functions in slub
    
    The kmalloc_large() and kmalloc_large_node() functions were missed when
    adding the kmemleak hooks to the slub allocator. However, they should be
    traced to avoid false positives.
    
    Signed-off-by: Catalin Marinas <catalin.marinas@xxxxxxx>
    Cc: Christoph Lameter <cl@xxxxxxxxxxxxxxxxxxxx>
    Acked-by: Pekka Enberg <penberg@xxxxxxxxxxxxxx>

commit 2587362eaf5c9df4e08de11e6340e3c4a88ed4c8
Author: Catalin Marinas <catalin.marinas@xxxxxxx>
Date:   Tue Jul 7 10:32:58 2009 +0100

    kmemleak: Scan objects allocated during a scanning episode
    
    Many of the false positives in kmemleak happen on busy systems where
    objects are allocated during a kmemleak scanning episode. These objects
    aren't scanned by default until the next memory scan. When such object
    is added, for example, at the head of a list, it is possible that all
    the other objects in the list become unreferenced until the next scan.
    
    This patch adds checking for newly allocated objects at the end of the
    scan and repeats the scanning on these objects. If Linux allocates
    new objects at a higher rate than their scanning, it stops after a
    predefined number of passes.
    
    Signed-off-by: Catalin Marinas <catalin.marinas@xxxxxxx>

commit b87324d082d9d898e3c06b2a07a2b94b2430b8ba
Author: Catalin Marinas <catalin.marinas@xxxxxxx>
Date:   Tue Jul 7 10:32:58 2009 +0100

    kmemleak: Do not acquire scan_mutex in kmemleak_open()
    
    Initially, the scan_mutex was acquired in kmemleak_open() and released
    in kmemleak_release() (corresponding to /sys/kernel/debug/kmemleak
    operations). This was causing some lockdep reports when the file was
    closed from a different task than the one opening it. This patch moves
    the scan_mutex acquiring in kmemleak_write() or kmemleak_seq_start()
    with releasing in kmemleak_seq_stop().
    
    Signed-off-by: Catalin Marinas <catalin.marinas@xxxxxxx>

commit 288c857d66a400ca4846dd700eb1c4820d738bb9
Author: Catalin Marinas <catalin.marinas@xxxxxxx>
Date:   Tue Jul 7 10:32:57 2009 +0100

    kmemleak: Remove the reported leaks number limitation
    
    Since the leaks are no longer printed to the syslog, there is no point
    in keeping this limitation. All the suspected leaks are shown on
    /sys/kernel/debug/kmemleak file.
    
    Signed-off-by: Catalin Marinas <catalin.marinas@xxxxxxx>

commit 886a7a3371da8ee46a13f8e598a536bd8765b837
Author: Sebastian Ott <sebott@xxxxxxxxxxxxxxxxxx>
Date:   Wed Jul 8 13:26:05 2009 +0200

    PM: Clear -EAGAIN in dpm_prepare
    
    When the last device in the dpm list is unregistered directly after its
    prepare() callback returned with -EAGAIN, the return code is passed to
    the calling function, resulting in a suspend failure. Prevent this by
    clearing the return code after -EAGAIN.
    
    Signed-off-by: Sebastian Ott <sebott@xxxxxxxxxxxxxxxxxx>
    Signed-off-by: Rafael J. Wysocki <rjw@xxxxxxx>

commit 00024be9689963c55cf2ab10ce3fb4502016c09a
Author: Peter Chubb <peter.chubb@xxxxxxxxxxxx>
Date:   Wed Jul 8 13:20:13 2009 +0200

    x86: Fix resume from suspend when CONFIG_CC_STACKPROTECTOR
    
    Patch 08687aec71bc9134fe336e561f6did877bacf74fc0a (x86: unify
    power/cpu_(32|64).c)  renamed cpu_32.c to cpu.c, but did not update
    the special compilation flags for the file for the new name.
    
    This patch fixes the compilation flags, and therefore fixes resume
    from suspend on my Acer Aspire One.
    
    [rjw: The regression from 2.6.30 fixed by this patch is tracked as
     http://bugzilla.kernel.org/show_bug.cgi?id=13661]
    
    Signed-off-by: Peter Chubb <peterc@xxxxxxxxxxxx>
    Signed-off-by: Rafael J. Wysocki <rjw@xxxxxxx>

commit 83c2099f5e1f0a4621ed4f20fc539069c636a24b
Author: Artem Bityutskiy <Artem.Bityutskiy@xxxxxxxxx>
Date:   Wed Jul 8 10:15:41 2009 +0300

    UBI: fix compilation warnings
    
    The recent "UBI: fix NOR flash recovery" introduced compilation
    warnings which were immediately spotted by our linux-next keeper.
    This patch fixes them.
    
    Reported-by: Stephen Rothwell <sfr@xxxxxxxxxxxxxxxx>
    Signed-off-by: Artem Bityutskiy <Artem.Bityutskiy@xxxxxxxxx>

commit dc4c2e6bde77735071dbef7aca6bd6c0116102b3
Author: Andiry Brienza <andiry.xu@xxxxxxx>
Date:   Wed Jul 8 13:55:31 2009 +0800

    ALSA: hda - Disable AMD SB600 64bit address support only
    
    HDA driver disabled HD audio 64bit address support for all AMD
    SB600/SB700/SB800 platforms with commit
    09240cf429505891d6123ce14a29f58f2a60121e due to one SB600 issue
    reported by community, but we do not see the similar issue on
    SB700/SB800 platforms.
    This patch is to refine the workaround for SB600 only.
    
    Signed-off-by: Andiry Xu <andiry.xu@xxxxxxx>
    Signed-off-by: Takashi Iwai <tiwai@xxxxxxx>

commit eeafa5ef6de5acf678624a21f7dba7d43ba73845
Author: Saeed Bishara <saeed@xxxxxxxxxxx>
Date:   Tue Jul 7 22:11:52 2009 -0700

    Input: gpio_mouse - use standard driver registration method
    
    This patch is needed when the gpio's became available only at late
    stages, for example, when using i2c gpio expander.
    
    Signed-off-by: Saeed Bishara <saeed@xxxxxxxxxxx>
    Signed-off-by: Dmitry Torokhov <dtor@xxxxxxx>

commit ddaa43433dd77535e4e132787f199f58ce224f44
Author: Thadeu Lima de Souza Cascardo <cascardo@xxxxxxxxxxxxxx>
Date:   Tue Jul 7 22:10:02 2009 -0700

    Input: mark serio and i8042 as suspended when hibernating too
    
    Serio ports are not being restarted any longer because resume operations
    after hibernate do nothing, since the device has not been marked as
    suspended. This happens because suspend is only considering the SUSPEND
    event but not the FREEZE event.
    
    Note that this driver has still to migrate to dev_pm_ops, but this fixes
    this particular bug now.
    
    Signed-off-by: Thadeu Lima de Souza Cascardo <cascardo@xxxxxxxxxxxxxx>
    Signed-off-by: Dmitry Torokhov <dtor@xxxxxxx>

commit 1c55d521f4e58be55735d7ac47e8197d6791fa9a
Author: Takashi Iwai <tiwai@xxxxxxx>
Date:   Wed Jul 8 07:45:46 2009 +0200

    ALSA: hda - Check widget types while parsing capture source in patch_via.c
    
    Check the widget type and don't take invalid widgets while parsing
    the capture source in patch_via.c.
    
    Also, fixed some compile warnings introduced in the previous commit.
    
    Signed-off-by: Takashi Iwai <tiwai@xxxxxxx>

commit ea96025a26ab8949adab1a8e81419202f92f3f7f
Author: Anton Vorontsov <avorontsov@xxxxxxxxxxxxx>
Date:   Wed Jul 1 10:59:57 2009 +0000

    powerpc: Don't use alloc_bootmem() in init_IRQ() path
    
    This patch fixes various badnesses like this for all interrupt
    controllers:
    
    ------------[ cut here ]------------
    Badness at c04db9dc [verbose debug info unavailable]
    NIP: c04db9dc LR: c04db9ac CTR: 00000000
    REGS: c053de30 TRAP: 0700   Not tainted  (2.6.31-rc1-00432-ge69b2b5-dirty)
    MSR: 00021000 <ME,CE>  CR: 22020084  XER: 00000000
    TASK = c0500480[0] 'swapper' THREAD: c053c000
    GPR00: 00000001 c053dee0 c0500480 00000000 00000050 00000020 3fffffff 00000000
    GPR08: 00000001 c0540000 e0080080 00000000 22000084 64183600 3ff8f800 00000000
    GPR16: 841b0240 449a0303 00000000 00000000 00000000 00000000 00000000 c04f5bf4
    GPR24: 00000000 00000000 00000000 00000050 00000020 00000000 3fffffff 00000050
    NIP [c04db9dc] alloc_arch_preferred_bootmem+0x48/0x74
    LR [c04db9ac] alloc_arch_preferred_bootmem+0x18/0x74
    Call Trace:
    [c053dee0] [c000a5a4] __of_address_to_resource+0x44/0xd0 (unreliable)
    [c053def0] [c04dba58] ___alloc_bootmem_nopanic+0x50/0x108
    [c053df20] [c04dbb28] ___alloc_bootmem+0x18/0x50
    [c053df30] [c04d5de0] qe_ic_init+0x5c/0x1b0
    [c053df70] [c04d77b0] mpc85xx_mds_pic_init+0xb8/0x10c
    [c053dfb0] [c04cf374] init_IRQ+0x28/0x3c
    
    p.s. commit 85355bb272db31a3f2dd99d547eef794805e1319 ("powerpc: Fix
    mpic alloc warning") missed some alloc_bootmem() instances, this is
    now fixed.
    
    Signed-off-by: Anton Vorontsov <avorontsov@xxxxxxxxxxxxx>
    Acked-by: Timur Tabi <timur@xxxxxxxxxxxxx>
    Signed-off-by: Benjamin Herrenschmidt <benh@xxxxxxxxxxxxxxxxxxx>

commit ad9064d5e22a6a24f828dad63c4775c4d7280bd4
Author: Grant Likely <grant.likely@xxxxxxxxxxxx>
Date:   Mon Jun 29 13:40:51 2009 +0000

    powerpc: Fix spin_event_timeout() to be robust over context switches
    
    Current implementation of spin_event_timeout can be interrupted by an
    IRQ or context switch after testing the condition, but before checking
    the timeout.  This can cause the loop to report a timeout when the
    condition actually became true in the middle.
    
    This patch adds one final check of the condition upon exit of the loop
    if the last test of the condition was still false.
    
    Signed-off-by: Grant Likely <grant.likely@xxxxxxxxxxxx>
    Acked-by: Timur Tabi <timur@xxxxxxxxxxxxx>
    Signed-off-by: Benjamin Herrenschmidt <benh@xxxxxxxxxxxxxxxxxxx>

commit 30c5af435b2e3e5700b0e4a53ac37a39b3b3516e
Author: Michael Ellerman <michael@xxxxxxxxxxxxxx>
Date:   Wed Jun 17 18:13:52 2009 +0000

    powerpc: Use pr_devel() in do_dcache_icache_coherency()
    
    pr_debug() can now result in code being generated even when DEBUG
    is not defined. That's not really desirable in some places.
    
    With CONFIG_DYNAMIC_DEBUG=y:
    
    size before:
       text    data     bss     dec     hex filename
       2036     368       8    2412     96c arch/powerpc/mm/pgtable.o
    
    size after:
       text    data     bss     dec     hex filename
       1677     248       8    1933     78d arch/powerpc/mm/pgtable.o
    
    Signed-off-by: Michael Ellerman <michael@xxxxxxxxxxxxxx>
    Signed-off-by: Benjamin Herrenschmidt <benh@xxxxxxxxxxxxxxxxxxx>

commit 33875f03307452650309a7d071678b2ca5f2fc26
Author: Michael Ellerman <michael@xxxxxxxxxxxxxx>
Date:   Wed Jun 17 18:13:53 2009 +0000

    powerpc/cell: Use pr_devel() in axon_msi.c
    
    pr_debug() can now result in code being generated even when DEBUG
    is not defined. That's not really desirable in some places.
    
    With CONFIG_DYNAMIC_DEBUG=y:
    
    size before:
       text    data     bss     dec     hex filename
       7083    1616       0    8699    21fb arch/powerpc/../axon_msi.o
    
    size after:
       text    data     bss     dec     hex filename
       5772    1208       0    6980    1b44 arch/powerpc/../axon_msi.o
    
    Signed-off-by: Michael Ellerman <michael@xxxxxxxxxxxxxx>
    Signed-off-by: Benjamin Herrenschmidt <benh@xxxxxxxxxxxxxxxxxxx>

commit 29e5fa59e5ebe06d6bd7e04e7752a47ead23f89e
Author: Michael Ellerman <michael@xxxxxxxxxxxxxx>
Date:   Wed Jun 17 18:13:51 2009 +0000

    powerpc: Use pr_devel() in arch/powerpc/mm/gup.c
    
    pr_debug() can now result in code being generated even when DEBUG
    is not defined. That's not really desirable in some places.
    
    With CONFIG_DYNAMIC_DEBUG=y:
    
    size before:
       text    data     bss     dec     hex filename
       3252     384       0    3636     e34 arch/powerpc/mm/gup.o
    
    size after:
       text    data     bss     dec     hex filename
       2576      96       0    2672     a70 arch/powerpc/mm/gup.o
    
    Signed-off-by: Michael Ellerman <michael@xxxxxxxxxxxxxx>
    Signed-off-by: Benjamin Herrenschmidt <benh@xxxxxxxxxxxxxxxxxxx>

commit 651e2dd2a1c47bb078d446f123a9ae950ba7a1f0
Author: Michael Ellerman <michael@xxxxxxxxxxxxxx>
Date:   Wed Jun 17 18:13:51 2009 +0000

    powerpc: Cleanup & use pr_devel() in arch/powerpc/mm/slb.c
    
    pr_debug() can now result in code being generated even when DEBUG
    is not defined. That's not really desirable in some places.
    
    With CONFIG_DYNAMIC_DEBUG=y:
    
    size before:
       text    data     bss     dec     hex filename
       3261     416       4    3681     e61 arch/powerpc/mm/slb.o
    
    size after:
       text    data     bss     dec     hex filename
       2861     248       4    3113     c29 arch/powerpc/mm/slb.o
    
    Signed-off-by: Michael Ellerman <michael@xxxxxxxxxxxxxx>
    Signed-off-by: Benjamin Herrenschmidt <benh@xxxxxxxxxxxxxxxxxxx>

commit 3665ee36fac936b2ad0ab170d101a3e2c8eb3fd2
Author: Huang Weiyi <weiyi.huang@xxxxxxxxx>
Date:   Sat Jun 20 13:37:00 2009 +0000

    powerpc/perf_counter: Remove duplicated #include
    
    Remove duplicated #include('s) in
      arch/powerpc/kernel/mpc7450-pmu.c
      arch/powerpc/kernel/ppc970-pmu.c
    
    Signed-off-by: Huang Weiyi <weiyi.huang@xxxxxxxxx>
    Signed-off-by: Benjamin Herrenschmidt <benh@xxxxxxxxxxxxxxxxxxx>

commit a1ac38ab98e8a79ce225347b725f3b9751c70f1e
Author: Michael Ellerman <michael@xxxxxxxxxxxxxx>
Date:   Wed Jun 17 18:13:54 2009 +0000

    powerpc: Use pr_devel() in arch/powerpc/mm/mmu_context_nohash.c
    
    pr_debug() can now result in code being generated even when DEBUG
    is not defined. That's not really desirable in some places.
    
    With CONFIG_DYNAMIC_DEBUG=y:
    
    size before:
       text	   data	    bss	    dec	    hex	filename
       1508	     48	     28	   1584	    630	powerpc/mm/mmu_context_nohash.o
    
    size after:
       text	   data	    bss	    dec	    hex	filename
       1088	      0	     28	   1116	    45c	powerpc/mm/mmu_context_nohash.o
    
    Signed-off-by: Michael Ellerman <michael@xxxxxxxxxxxxxx>
    Signed-off-by: Benjamin Herrenschmidt <benh@xxxxxxxxxxxxxxxxxxx>

commit b69e9e931d2c6116921fdb260684e0546285c3c8
Author: Michael Ellerman <michael@xxxxxxxxxxxxxx>
Date:   Wed Jun 17 18:13:53 2009 +0000

    powerpc/pseries: Use pr_devel() in xics.c
    
    pr_debug() can now result in code being generated even when DEBUG
    is not defined. That's not really desirable in some places.
    
    With CONFIG_DYNAMIC_DEBUG=y:
    
    size before:
       text    data     bss     dec     hex filename
       7720    5488     296   13504    34c0 platforms/pseries/xics.o
    
    size after:
       text    data     bss     dec     hex filename
       7535	   5456	    296	  13287	   33e7	platforms/pseries/xics.o
    
    Signed-off-by: Michael Ellerman <michael@xxxxxxxxxxxxxx>
    Signed-off-by: Benjamin Herrenschmidt <benh@xxxxxxxxxxxxxxxxxxx>

commit d258e64ef595792d6f749518354b69583e9a97f4
Author: Joe Perches <joe@xxxxxxxxxxx>
Date:   Sun Jun 28 06:26:10 2009 +0000

    powerpc: Remove unnecessary semicolons
    
    Signed-off-by: Joe Perches <joe@xxxxxxxxxxx>
    Acked-by: Geoff Levand <geoffrey.levand@xxxxxxxxxxx>
    Signed-off-by: Benjamin Herrenschmidt <benh@xxxxxxxxxxxxxxxxxxx>

commit 551a232c87b7781712c57c31f3e0851303d9f591
Author: Michael Ellerman <michael@xxxxxxxxxxxxxx>
Date:   Wed Jun 17 18:13:50 2009 +0000

    powerpc/pseries: Use pr_devel() in pseries LPAR HPTE routines
    
    pr_debug() can now result in code being generated even when DEBUG
    is not defined. That's not really desirable in some places.
    
    In particular, pSeries_lpar_hpte_insert() goes from 185 instructions
    to 77 instructions as a result of this patch. Luckily that code
    isn't called very often ...
    
    With CONFIG_DYNAMIC_DEBUG=y:
    
    size before:
       text    data     bss     dec     hex filename
       7284    1552     296    9132    23ac platforms/pseries/lpar.o
    
    size after:
       text    data     bss     dec     hex filename
       5806    1096     296    7198    1c1e platforms/pseries/lpar.o
    
    Signed-off-by: Michael Ellerman <michael@xxxxxxxxxxxxxx>
    Signed-off-by: Benjamin Herrenschmidt <benh@xxxxxxxxxxxxxxxxxxx>

commit 01cc82623aea0b96ee2cba4534d1954ad793cfc3
Merge: faf80d62e44dc627efb741f48db50c1858d1667c a22ebd069d5b533392e9bef77b73147a2f82b30b
Author: Benjamin Herrenschmidt <benh@xxxxxxxxxxxxxxxxxxx>
Date:   Wed Jul 8 13:49:38 2009 +1000

    Merge commit 'jwb/merge' into merge

commit a17458fc9d9edc98b7c5865cdc42681cf9059f1c
Author: Ben Gamari <bgamari.foss@xxxxxxxxx>
Date:   Wed Jul 1 15:01:36 2009 -0400

    drm/i915: Move lock to more reasonable location
    
    Make this consistent with the unlock statement. Also fix a
    minor typo in debugfs formatting
    
    Signed-off-by: Ben Gamari <bgamari.foss@xxxxxxxxx>
    Signed-off-by: Eric Anholt <eric@xxxxxxxxxx>

commit a01c75b338d7c743a8982011f01a4714ad2956de
Author: Ben Gamari <bgamari.foss@xxxxxxxxx>
Date:   Wed Jul 1 15:01:35 2009 -0400

    drm/i915: Add gtt_offset to gem object list debugfs output
    
    This is quite useful for verifying that objects are actually mapped when
    they need to be.
    
    Signed-off-by: Ben Gamari <bgamari.foss@xxxxxxxxx>
    Signed-off-by: Eric Anholt <eric@xxxxxxxxxx>

commit b5323599af68caa2da08b7041400b62049afb91e
Author: Ben Gamari <bgamari.foss@xxxxxxxxx>
Date:   Wed Jul 1 15:01:34 2009 -0400

    drm/i915: Remove gtt_bound from drm_i915_gem_object
    
    This wasn't even used as far as I could tell and will only confuse
    people (like me).
    
    Signed-off-by: Ben Gamari <bgamari.foss@xxxxxxxxx>
    Signed-off-by: Eric Anholt <eric@xxxxxxxxxx>

commit febc7694a55277b70cd662de05ed8a957685959c
Author: ling.ma@xxxxxxxxx <ling.ma@xxxxxxxxx>
Date:   Thu Jun 25 11:55:57 2009 +0800

    drm/i915: Disable VGA output when doing DRM_MODE_DPMS_OFF.
    
    Signed-off-by: Ma Ling <ling.ma@xxxxxxxxx>
    Signed-off-by: Eric Anholt <eric@xxxxxxxxxx>

commit 8e4d36b993898b344f9176147f1dfeca583f81fd
Author: ling.ma@xxxxxxxxx <ling.ma@xxxxxxxxx>
Date:   Tue Jun 30 11:35:34 2009 +0800

    drm/i915: crt fetch EDID by DVI-I converter on G4x platform
    
    Usually crt mainly get modes via GPIOA ports.
    However on G4X platform we need to probe possible
    ports for DVI-I, which could be wired to GPIOD,
    then fetch our desired EDID, i.e on DG45ID platform
    we successfully fetch EDID by GPIOD port.
    
    It fixed freedesktop.org bug #21084
    
    Signed-off-by: Ma Ling <ling.ma@xxxxxxxxx>
    Signed-off-by: Eric Anholt <eric@xxxxxxxxxx>

commit 22bd50c5b9aaf46476cade52c4ae9afa21c44e15
Author: Zhenyu Wang <zhenyuw@xxxxxxxxxxxxxxx>
Date:   Mon Jul 6 17:27:52 2009 +0800

    drm/i915: Don't update display FIFO watermark on IGDNG
    
    Signed-off-by: Zhenyu Wang <zhenyuw@xxxxxxxxxxxxxxx>
    Signed-off-by: Eric Anholt <eric@xxxxxxxxxx>

commit 3938b45c1c75e53d45eb65ac253f12e86239c9ba
Author: Luciano Coelho <luciano.coelho@xxxxxxxxx>
Date:   Fri Jul 3 08:25:08 2009 +0300

    mac80211: minstrel: avoid accessing negative indices in rix_to_ndx()
    
    If rix is not found in mi->r[], i will become -1 after the loop.  This value
    is eventually used to access arrays, so we were accessing arrays with a
    negative index, which is obviously not what we want to do.  This patch fixes
    this potential problem.
    
    Signed-off-by: Luciano Coelho <luciano.coelho@xxxxxxxxx>
    Acked-by: Felix Fietkau <nbd@xxxxxxxxxxx>
    Signed-off-by: John W. Linville <linville@xxxxxxxxxxxxx>

commit 2dce4c2b5f0b43bd25bf9ea6ded06b7f8a54c91f
Author: Johannes Berg <johannes@xxxxxxxxxxxxxxxx>
Date:   Thu Jul 2 15:46:41 2009 +0200

    cfg80211: fix refcount leak
    
    The code in cfg80211's cfg80211_bss_update erroneously
    grabs a reference to the BSS, which means that it will
    never be freed.
    
    Signed-off-by: Johannes Berg <johannes@xxxxxxxxxxxxxxxx>
    Cc: stable@xxxxxxxxxx [2.6.29, 2.6.30]
    Signed-off-by: John W. Linville <linville@xxxxxxxxxxxxx>

commit 76d8b64e536362e16e38ee1c279c965ebfe094cc
Author: Johannes Berg <johannes@xxxxxxxxxxxxxxxx>
Date:   Mon Jun 29 10:53:53 2009 +0200

    hp-wmi: fix rfkill bug
    
    Fix the third (I think) polarity error I accidentally
    introduced in the rfkill rewrite to make wireless work
    again on (certain?) HP laptops.
    
    Signed-off-by: Johannes Berg <johannes@xxxxxxxxxxxxxxxx>
    Tested-by: Maciej Rutecki <maciej.rutecki@xxxxxxxxx>
    Signed-off-by: John W. Linville <linville@xxxxxxxxxxxxx>

commit 59615b5f9d1323898ca94e88e595b5b04115076a
Author: Andrey Yurovsky <andrey@xxxxxxxxxxx>
Date:   Thu Jun 25 16:07:42 2009 -0700

    mac80211: fix allocation in mesh_queue_preq
    
    We allocate a PREQ queue node in mesh_queue_preq, however the allocation
    may cause us to sleep.  Use GFP_ATOMIC to prevent this.
    
    [ 1869.126498] BUG: scheduling while atomic: ping/1859/0x10000100
    [ 1869.127164] Modules linked in: ath5k mac80211 ath
    [ 1869.128310] Pid: 1859, comm: ping Not tainted 2.6.30-wl #1
    [ 1869.128754] Call Trace:
    [ 1869.129293]  [<c1023a2b>] __schedule_bug+0x48/0x4d
    [ 1869.129866]  [<c13b5533>] __schedule+0x77/0x67a
    [ 1869.130544]  [<c1026f2e>] ? release_console_sem+0x17d/0x185
    [ 1869.131568]  [<c807cf47>] ? mesh_queue_preq+0x2b/0x165 [mac80211]
    [ 1869.132318]  [<c13b5b3e>] schedule+0x8/0x1f
    [ 1869.132807]  [<c1023c12>] __cond_resched+0x16/0x2f
    [ 1869.133478]  [<c13b5bf0>] _cond_resched+0x27/0x32
    [ 1869.134191]  [<c108a370>] kmem_cache_alloc+0x1c/0xcf
    [ 1869.134714]  [<c10273ae>] ? printk+0x15/0x17
    [ 1869.135670]  [<c807cf47>] mesh_queue_preq+0x2b/0x165 [mac80211]
    [ 1869.136731]  [<c807d1f8>] mesh_nexthop_lookup+0xee/0x12d [mac80211]
    [ 1869.138130]  [<c807417e>] ieee80211_xmit+0xe6/0x2b2 [mac80211]
    [ 1869.138935]  [<c80be46d>] ? ath5k_hw_setup_rx_desc+0x0/0x66 [ath5k]
    [ 1869.139831]  [<c80c97bc>] ? ath5k_tasklet_rx+0xba/0x506 [ath5k]
    [ 1869.140863]  [<c8075191>] ieee80211_subif_start_xmit+0x6c9/0x6e4
    [mac80211]
    [ 1869.141665]  [<c105cf1c>] ? handle_level_irq+0x78/0x9d
    [ 1869.142390]  [<c12e3f93>] dev_hard_start_xmit+0x168/0x1c7
    [ 1869.143092]  [<c12f1f17>] __qdisc_run+0xe1/0x1b7
    [ 1869.143612]  [<c12e25ff>] qdisc_run+0x18/0x1a
    [ 1869.144248]  [<c12e62f4>] dev_queue_xmit+0x16a/0x25a
    [ 1869.144785]  [<c13b6dcc>] ? _read_unlock_bh+0xe/0x10
    [ 1869.145465]  [<c12eacdb>] neigh_resolve_output+0x19c/0x1c7
    [ 1869.146182]  [<c130e2da>] ? ip_finish_output+0x0/0x51
    [ 1869.146697]  [<c130e2a0>] ip_finish_output2+0x182/0x1bc
    [ 1869.147358]  [<c130e327>] ip_finish_output+0x4d/0x51
    [ 1869.147863]  [<c130e9d5>] ip_output+0x80/0x85
    [ 1869.148515]  [<c130cc49>] dst_output+0x9/0xb
    [ 1869.149141]  [<c130dec6>] ip_local_out+0x17/0x1a
    [ 1869.149632]  [<c130e0bc>] ip_push_pending_frames+0x1f3/0x255
    [ 1869.150343]  [<c13247ff>] raw_sendmsg+0x5e6/0x667
    [ 1869.150883]  [<c1033c55>] ? insert_work+0x6a/0x73
    [ 1869.151834]  [<c8071e00>] ?
    ieee80211_invoke_rx_handlers+0x17da/0x1ae8 [mac80211]
    [ 1869.152630]  [<c132bd68>] inet_sendmsg+0x3b/0x48
    [ 1869.153232]  [<c12d7deb>] __sock_sendmsg+0x45/0x4e
    [ 1869.153740]  [<c12d8537>] sock_sendmsg+0xb8/0xce
    [ 1869.154519]  [<c80be46d>] ? ath5k_hw_setup_rx_desc+0x0/0x66 [ath5k]
    [ 1869.155289]  [<c1036b25>] ? autoremove_wake_function+0x0/0x30
    [ 1869.155859]  [<c115992b>] ? __copy_from_user_ll+0x11/0xce
    [ 1869.156573]  [<c1159d99>] ? copy_from_user+0x31/0x54
    [ 1869.157235]  [<c12df646>] ? verify_iovec+0x40/0x6e
    [ 1869.157778]  [<c12d869a>] sys_sendmsg+0x14d/0x1a5
    [ 1869.158714]  [<c8072c40>] ? __ieee80211_rx+0x49e/0x4ee [mac80211]
    [ 1869.159641]  [<c80c83fe>] ? ath5k_rxbuf_setup+0x6d/0x8d [ath5k]
    [ 1869.160543]  [<c80be46d>] ? ath5k_hw_setup_rx_desc+0x0/0x66 [ath5k]
    [ 1869.161434]  [<c80beba4>] ? ath5k_hw_get_rxdp+0xe/0x10 [ath5k]
    [ 1869.162319]  [<c80c97bc>] ? ath5k_tasklet_rx+0xba/0x506 [ath5k]
    [ 1869.163063]  [<c1005627>] ? enable_8259A_irq+0x40/0x43
    [ 1869.163594]  [<c101edb8>] ? __dequeue_entity+0x23/0x27
    [ 1869.164793]  [<c100187a>] ? __switch_to+0x2b/0x105
    [ 1869.165442]  [<c1021d5f>] ? finish_task_switch+0x5b/0x74
    [ 1869.166129]  [<c12d963a>] sys_socketcall+0x14b/0x17b
    [ 1869.166612]  [<c1002b95>] syscall_call+0x7/0xb
    
    Signed-off-by: Andrey Yurovsky <andrey@xxxxxxxxxxx>
    Signed-off-by: John W. Linville <linville@xxxxxxxxxxxxx>

commit a7a4e41ed62a6a1fce6eb503c920f615eca27f02
Author: Samuel Ortiz <sameo@xxxxxxxxxxxxxxx>
Date:   Wed Jun 24 16:07:22 2009 +0200

    iwmc3200wifi: add Kconfig help
    
    We're missing a Kconfig help for the iwmc3200wifi driver.
    
    Signed-off-by: Samuel Ortiz <samuel.ortiz@xxxxxxxxx>
    Signed-off-by: John W. Linville <linville@xxxxxxxxxxxxx>

commit cbfe89c67b58e2bd1b47f6986b3b793f06f3d9b0
Author: Vasanthakumar Thiagarajan <vasanth@xxxxxxxxxxx>
Date:   Wed Jun 24 18:58:47 2009 +0530

    ath9k: Fix leak in tx descriptor
    
    When we reclaim the tx desc, we always assume that the
    last desc is a holding desc, which is not true, and skip it.
    If the tx queue is drained during channel change, internal
    reset and etc, the last descriptor may not be the holding
    descriptor and we fail to reclaim them. This results in the
    following two issues.
    
    1. Tx stuck - We drop all the frames coming from upper layer
    due to shortage in tx desc.
    
    2. Crash - If we fail to reclaim a tx descriptor, we miss to
    update the tx BA window with the seq number of the frame
    associated to that desc, which, at some point, result in
    the following crash due to an assert failure in ath_tx_addto_baw().
    
    This patch fixes these two issues.
    
     kernel BUG at ../drivers/net/wireless/ath/ath9k/xmit.c:180!
    [155064.304164] invalid opcode: 0000 [#1] SMP
     Call Trace:
      [<fbc6d83b>] ? ath9k_tx+0xeb/0x160 [ath9k]
      [<fbbc9591>]  ipv6? __ieee80211_tx+0x41/0x120 [mac80211]
      [<fbbcb5ae>] ?  aes_i586ieee80211_master_start_xmit+0x28e/0x560 [mac80211]
      [<c037e501>]  aes_generic? _spin_lock_irqsave+0x31/0x40
      [<c02f347b>] ? dev_hard_start_xmit+0x16b/0x1c0
      [<c03058b5>] ? __qdisc_run+0x1b5/0x200
      [<fbbcda5a>] ?  af_packetieee80211_select_queue+0xa/0x100 [mac80211]
      [<c02f53b7>] ?  i915dev_queue_xmit+0x2e7/0x3f0
      [<fbbc9b49>] ? ieee80211_subif_start_xmit+0x369/0x7a0 [mac80211]
      [<c031bc35>] ? ip_output+0x55/0xb0
      [<c02e0188>] ? show_memcpy_count+0x18/0x60
      [<c02eb186>] ? __kfree_skb+0x36/0x90
      [<c02f2202>] ?  binfmt_miscdev_queue_xmit_nit+0xd2/0x110
      [<c02f347b>] ? dev_hard_start_xmit+0x16b/0x1c0
      [<c03058b5>] ? __qdisc_run+0x1b5/0x200
      [<c033bca7>] ?  scoarp_create+0x57/0x2a0
      [<c02f53b7>] ?  bridgedev_queue_xmit+0x2e7/0x3f0
      [<c03034a0>] ? eth_header+0x0/0xc0
      [<c033b95f>]  stp? arp_xmit+0x5f/0x70
      [<c033bf4f>] ? arp_send+0x5f/0x70
      [<c033c8f5>]  bnep? arp_solicit+0x105/0x210
      [<c02fa5aa>] ? neigh_timer_handler+0x19a/0x390
      [<c013bf88>] ? run_timer_softirq+0x138/0x210
      [<c02fa410>] ?  ppdevneigh_timer_handler+0x0/0x390
      [<c02fa410>] ? neigh_timer_handler+0x0/0x390
    
    Signed-off-by: Vasanthakumar Thiagarajan <vasanth@xxxxxxxxxxx>
    Signed-off-by: John W. Linville <linville@xxxxxxxxxxxxx>

commit fd4973c56f8d9baac8d269791a90e5119ce30a0e
Author: Larry Finger <Larry.Finger@xxxxxxxxxxxx>
Date:   Sat Jun 20 12:58:11 2009 -0500

    b43/b43legacy: fix radio LED initialization
    
    Fix condition in which radio LED did not initialize correctly, and remove
    4 compilation warnings.
    
    After the recent changes in rfkill, the radio LED used by b43/b43legacy
    did not always initialize correctly.
    
    Both b43 and b43legacy used the deprecated variable radio_enabled in
    struct ieee80211_conf.
    
    Signed-off-by: Larry Finger <Larry.Finger@xxxxxxxxxxxx>
    Signed-off-by: John W. Linville <linville@xxxxxxxxxxxxx>

commit 1f5fc70a250cc18f066072119e9fbbc20dad865f
Author: Jiri Slaby <jirislaby@xxxxxxxxx>
Date:   Sat Jun 20 12:31:11 2009 +0200

    Wireless: nl80211, fix lock imbalance
    
    Don't forget to unlock cfg80211_mutex in one fail path of
    nl80211_set_wiphy.
    
    Signed-off-by: Jiri Slaby <jirislaby@xxxxxxxxx>
    Signed-off-by: John W. Linville <linville@xxxxxxxxxxxxx>

commit 337b9d02b4873ceac91565272545fb6fd446d939
Author: Takashi Iwai <tiwai@xxxxxxx>
Date:   Tue Jul 7 18:18:59 2009 +0200

    ALSA: hda - Fix capture source selection in patch_via.c
    
    The fixed widget NIDs in patch_via.c seem wrong for some codecs,
    and it resulted in the invalid capture source selection.
    
    This patch adds the code to parse the topology instead of using
    fixed numbers in order to get the right MUX widget id corresponding
    to the ADCs.
    
    Signed-off-by: Takashi Iwai <tiwai@xxxxxxx>

commit d01730d74d2b0155da50d44555001706294014f7
Author: Jiaying Zhang <jiayingz@xxxxxxxxxx>
Date:   Tue Jul 7 18:15:21 2009 +0200

    quota: Fix possible deadlock during parallel quotaon and quotaoff
    
    The following test script triggers a deadlock on ext2 filesystem:
    while true; do quotaon /dev/hda >&/dev/null; usleep $RANDOM; done &
    while true; do quotaoff /dev/hda >&/dev/null; usleep $RANDOM; done &
    
    I found there is a potential deadlock between quotaon and quotaoff (or
    quotasync). Basically, all of quotactl operations need to be protected by
    dqonoff_mutex. vfs_quota_off and vfs_quota_sync also call sb->s_op->quota_write
    that needs to grab the i_mutex of the quota file.  But in vfs_quota_on_inode
    (called from quotaon operation), the current code tries to grab  the i_mutex of
    the quota file first before getting quonoff_mutex.
    
    Reverse the order in which we take locks in vfs_quota_on_inode().
    
    Jan Kara: Changed changelog to be more readable, made lockdep happy with
      I_MUTEX_QUOTA.
    
    Signed-off-by: Jiaying Zhang <jiayingz@xxxxxxxxxx>
    Signed-off-by: Jan Kara <jack@xxxxxxx>

commit 07606309ff5a9136e340b9ca87c831650c1ec47a
Author: Martin Schwidefsky <schwidefsky@xxxxxxxxxx>
Date:   Tue Jul 7 16:37:13 2009 +0200

    [S390] define KTIME_SCALAR for 32-bit s390
    
    32-bit s390 has efficient support for 64/32-bit conversions, define
    KTIME_SCALAR to enable the use of the plain scalar nanosecond based
    representation of ktime.
    
    Signed-off-by: Martin Schwidefsky <schwidefsky@xxxxxxxxxx>

commit 25ca1251dc55673da1f3c6ddc1bf93fbb7fc83fc
Author: Heiko Carstens <heiko.carstens@xxxxxxxxxx>
Date:   Tue Jul 7 16:37:12 2009 +0200

    [S390] add generic atomic64 support for 31 bit
    
    Performance counters need 64 bit atomic operations.
    To keep the patch small we use the simple generic atomic64_t implementation.
    The native implementation follows with the next kernel.
    
    Fixes this build bug:
    
    In file included from kernel/sched.c:42:
    include/linux/perf_counter.h:427: error: expected specifier-qualifier-list before 'atomic64_t'
    
    Signed-off-by: Heiko Carstens <heiko.carstens@xxxxxxxxxx>
    Signed-off-by: Martin Schwidefsky <schwidefsky@xxxxxxxxxx>

commit 2c48c4d631970b70d60a4f926b0f68f194a0d559
Author: Christian Borntraeger <borntraeger@xxxxxxxxxx>
Date:   Tue Jul 7 16:37:11 2009 +0200

    [S390] improve suspend/resume error messages
    
    From: Michael Holzheu <holzheu@xxxxxxxxxxxxxxxxxx>
    
    Signed-off-by: Michael Holzheu <holzheu@xxxxxxxxxxxxxxxxxx>
    Signed-off-by: Christian Borntraeger <borntraeger@xxxxxxxxxx>
    Signed-off-by: Martin Schwidefsky <schwidefsky@xxxxxxxxxx>

commit fca3e357d5de31e484c3e0ec7f356e4fc488eb7f
Author: Martin Schwidefsky <schwidefsky@xxxxxxxxxx>
Date:   Tue Jul 7 16:37:10 2009 +0200

    [S390] set SCHED_OMIT_FRAME_POINTER for s390
    
    The frame pointer is useless for s390 in the sched.c code.
    
    Signed-off-by: Martin Schwidefsky <schwidefsky@xxxxxxxxxx>

commit 5075baca2e95840d76210c3cfda56134007462c9
Author: Heiko Carstens <heiko.carstens@xxxxxxxxxx>
Date:   Tue Jul 7 16:37:09 2009 +0200

    [S390] add __ucmpdi2() helper function
    
    Provide __ucmpdi2() helper function on 31 bit so we don't run
    again and again in compile errors like this one:
    
    kernel/built-in.o: In function `T.689':
    perf_counter.c:(.text+0x56c86): undefined reference to `__ucmpdi2'
    
    Signed-off-by: Heiko Carstens <heiko.carstens@xxxxxxxxxx>
    Signed-off-by: Martin Schwidefsky <schwidefsky@xxxxxxxxxx>

commit 2651fa2bcb1a7b06793441d50dcbf98efda592c6
Author: Heiko Carstens <heiko.carstens@xxxxxxxxxx>
Date:   Tue Jul 7 16:37:08 2009 +0200

    [S390] perf_counter build fix
    
    Add PERF_COUNTER_INDEX_OFFSET define to fix this build bug:
    
    kernel/perf_counter.c: In function 'perf_counter_index':
    kernel/perf_counter.c:1889: error: 'PERF_COUNTER_INDEX_OFFSET' undeclared
    
    Same fix as for FRV since s390 doesn't support hw counters.
    
    Signed-off-by: Heiko Carstens <heiko.carstens@xxxxxxxxxx>
    Signed-off-by: Martin Schwidefsky <schwidefsky@xxxxxxxxxx>

commit 81088819d588ba4d2dce3bf083fafc91974b14e0
Author: Frank Munzert <munzert@xxxxxxxxxx>
Date:   Tue Jul 7 16:37:07 2009 +0200

    [S390] shutdown actions: save/return rc from init function
    
    We always returned -EINVAL when setting of a shutdown action failed. This was
    misleading, if for example the hardware did not support the shutdown action.
    Now we save each shutdown action's init return code and return it when the
    action is being set.
    
    Signed-off-by: Frank Munzert <munzert@xxxxxxxxxx>
    Signed-off-by: Martin Schwidefsky <schwidefsky@xxxxxxxxxx>

commit aeec92ca3a1d5ca96efe76988fd4df943a90300d
Author: Stefan Haberland <stefan.haberland@xxxxxxxxxx>
Date:   Tue Jul 7 16:37:06 2009 +0200

    [S390] dasd: correct debugfeature sense dump
    
    remove loop, add some debug data and use get_sense function
    
    Signed-off-by: Stefan Haberland <stefan.haberland@xxxxxxxxxx>
    Signed-off-by: Martin Schwidefsky <schwidefsky@xxxxxxxxxx>

commit bb8c29caffdda55d3df0315ff2485f7df7290b1d
Author: Heiko Carstens <heiko.carstens@xxxxxxxxxx>
Date:   Tue Jul 7 16:37:05 2009 +0200

    [S390] udelay: disable lockdep to avoid false positives
    
    Our udelay implementation enables interrupts to receive a special timer
    interrupt regardless of the context it is called from.
    This might lead to false positive lockdep reports. Since lockdep isn't
    aware of the fact that only a single interrupt source is enabled it
    warns about possible deadlocks that in reality won't happen, like
    the one below.
    To fix this disable lockdep before enabling interrupts.
    
    [ 254.040888] =================================
    [ 254.040904] [ INFO: inconsistent lock state ]
    [ 254.040910] 2.6.30 #9
    [ 254.040914] ---------------------------------
    [ 254.040920] inconsistent {IN-HARDIRQ-W} -> {HARDIRQ-ON-W} usage.
    [ 254.040927] swapper/0 [HC0[0]:SC1[1]:HE1:SE0] takes:
    [ 254.040934] (sch->lock){?.-...}, at: [<00000000002e4778>] ccw_device_timeout+0x48/0x2f0
    [ 254.040961] {IN-HARDIRQ-W} state was registered at:
    [ 254.040969] [<0000000000096f74>] __lock_acquire+0x9d4/0x188c
    [ 254.040985] [<0000000000097f68>] lock_acquire+0x13c/0x16c
    [ 254.040998] [<00000000004527e0>] _spin_lock+0x74/0xb8
    [ 254.041016] [<0000000000457eb2>] do_IRQ+0xde/0x208
    [ 254.041031] [<000000000002d190>] io_return+0x0/0x8
    [ 254.041049] [<0000000000029faa>] vtime_stop_cpu+0xbe/0x114
    [ 254.041066] irq event stamp: 259629
    [ 254.041076] hardirqs last enabled at (259628): [<000000000045238e>] _spin_unlock_irq+0x5e/0x9c
    [ 254.041095] hardirqs last disabled at (259629): [<000000000045292e>] _spin_lock_irq+0x4a/0xc4
    [ 254.041126] softirqs last enabled at (259614): [<000000000006500e>] __do_softirq+0x296/0x2b0
    [ 254.041137] softirqs last disabled at (259619): [<0000000000024cf6>] do_softirq+0x102/0x108
    [ 254.041147]
    [ 254.041148] other info that might help us debug this:
    [ 254.041153] 2 locks held by swapper/0:
    [ 254.041157] #0: (&priv->timer){+.-...}, at: [<000000000006bf9a>] run_timer_softirq+0x19a/0x340
    [ 254.041170] #1: (sch->lock){?.-...}, at: [<00000000002e4778>] ccw_device_timeout+0x48/0x2f0
    [ 254.041182]
    [ 254.041310] Call Trace:
    [ 254.041313] ([<00000000000174fc>] show_trace+0x16c/0x170)
    [ 254.041321] [<0000000000017578>] show_stack+0x78/0x104
    [ 254.041327] [<000000000044d0ca>] dump_stack+0xc6/0xd4
    [ 254.041342] [<00000000000949b4>] print_usage_bug+0x1c8/0x1fc
    [ 254.041353] [<0000000000094e8a>] mark_lock+0x4a2/0x670
    [ 254.041364] [<00000000000950e2>] mark_held_locks+0x8a/0xb4
    [ 254.041375] [<0000000000095398>] trace_hardirqs_on_caller+0x74/0x1ac
    [ 254.041388] [<00000000000954fa>] trace_hardirqs_on+0x2a/0x38
    [ 254.041402] [<000000000025f1ec>] __udelay_disabled+0xac/0xfc
    [ 254.041419] [<000000000025f432>] __udelay+0x12a/0x148
    [ 254.041433] [<00000000002d64d8>] cio_commit_config+0x170/0x290
    [ 254.041451] [<00000000002d6978>] cio_disable_subchannel+0x120/0x1cc
    [ 254.041468] [<00000000002e32a4>] ccw_device_recog_done+0x54/0x2f4
    [ 254.041485] [<00000000002e3638>] ccw_device_sense_id_done+0x50/0x90
    [ 254.041508] [<00000000002e615a>] snsid_callback+0xfa/0x3a8
    [ 254.041515] [<00000000002dd96c>] ccwreq_stop+0x80/0x90
    [ 254.041523] [<00000000002dda8e>] ccw_request_timeout+0xc2/0xd0
    [ 254.041530] [<00000000002e2f70>] ccw_device_request_event+0x58/0x90
    [ 254.041537] [<00000000002e47ae>] ccw_device_timeout+0x7e/0x2f0
    [ 254.041555] [<000000000006c02a>] run_timer_softirq+0x22a/0x340
    [ 254.041566] [<0000000000064eb0>] __do_softirq+0x138/0x2b0
    [ 254.041578] [<0000000000024cf6>] do_softirq+0x102/0x108
    [ 254.041590] [<00000000000647ce>] irq_exit+0xee/0x114
    [ 254.041603] [<0000000000457d88>] do_extint+0x130/0x17c
    [ 254.041617] [<000000000002d41e>] ext_no_vtime+0x1e/0x22
    [ 254.041631] [<0000000000029faa>] vtime_stop_cpu+0xbe/0x114
    [ 254.041646] ([<0000000000029f58>] vtime_stop_cpu+0x6c/0x114)
    [ 254.041662] [<000000000001d842>] cpu_idle+0x122/0x1c0
    [ 254.041679] [<00000000004482c6>] start_secondary+0xce/0xe0
    [ 254.041696] [<0000000000000000>] 0x0
    [ 254.041715] [<0000000000000000>] 0x0
    [ 254.041745] INFO: lockdep is turned off.
    
    Signed-off-by: Heiko Carstens <heiko.carstens@xxxxxxxxxx>
    Signed-off-by: Martin Schwidefsky <schwidefsky@xxxxxxxxxx>

commit 9935774217afd4cdda81ffd70e56dc6406710b06
Author: Heiko Carstens <heiko.carstens@xxxxxxxxxx>
Date:   Tue Jul 7 16:37:04 2009 +0200

    [S390] monreader: fix dev_set_drvdata conversion
    
    Fix this:
    
    drivers/s390/char/monreader.c: In function 'mon_open':
    drivers/s390/char/monreader.c:323: warning: passing argument 1 of 'dev_set_drvdata' from incompatible pointer type
    include/linux/device.h:457: note: expected 'struct device *' but argument is of type 'struct device **'
    drivers/s390/char/monreader.c: In function 'monreader_freeze':
    drivers/s390/char/monreader.c:466: warning: passing argument 1 of 'dev_get_drvdata' from incompatible pointer type
    include/linux/device.h:452: note: expected 'const struct device *' but argument is of type 'struct device **'
    
    Signed-off-by: Heiko Carstens <heiko.carstens@xxxxxxxxxx>
    Signed-off-by: Martin Schwidefsky <schwidefsky@xxxxxxxxxx>

commit c9568fddf130cfa0d61eb1205342dbc5ab0ed394
Author: Heiko Carstens <heiko.carstens@xxxxxxxxxx>
Date:   Tue Jul 7 16:37:03 2009 +0200

    [S390] sclp: fix compile error for !SCLP_CONSOLE
    
    Define an empty static inline version of sclp_console_pm_event()
    to fix the build error below for !SCLP_CONSOLE.
    
    drivers/s390/built-in.o: In function `sclp_rw_pm_event':
    sclp_rw.c:(.text+0x12f68): undefined reference to `sclp_console_pm_event'
    
    Signed-off-by: Heiko Carstens <heiko.carstens@xxxxxxxxxx>
    Signed-off-by: Martin Schwidefsky <schwidefsky@xxxxxxxxxx>

commit d3a11e601a51291fbdd40c47f6af6769b6e905ef
Author: Takashi Iwai <tiwai@xxxxxxx>
Date:   Tue Jul 7 13:43:35 2009 +0200

    ALSA: hda - Add missing EAPD initialization for VIA codecs
    
    If the output pin is used and EAPD capability is present, turn on
    the EAPD bit.  This fixes the silent output problem on ASUS laptops
    with VT1708S codec.
    
    Signed-off-by: Takashi Iwai <tiwai@xxxxxxx>

commit 55d1d6c1ef630dddd3cb5354c32a5aca954399e8
Author: Takashi Iwai <tiwai@xxxxxxx>
Date:   Tue Jul 7 13:39:03 2009 +0200

    ALSA: hda - Clean up VT170x dig-in initialization code
    
    Minor clean up for initializing the digital-in pin.
    No functional changes.
    
    Signed-off-by: Takashi Iwai <tiwai@xxxxxxx>

commit 4b8a96744c0c27ab94fb4e8155d4384c3b399e27
Author: Catalin Marinas <catalin.marinas@xxxxxxx>
Date:   Tue Jul 7 10:32:56 2009 +0100

    kmemleak: Add more cond_resched() calls in the scanning thread
    
    Following recent fix to no longer reschedule in the scan_block()
    function, the system may become unresponsive with !PREEMPT. This patch
    re-adds the cond_resched() call to scan_block() but conditioned by the
    allow_resched parameter.
    
    Signed-off-by: Catalin Marinas <catalin.marinas@xxxxxxx>
    Cc: Ingo Molnar <mingo@xxxxxxx>

commit bf2a76b317c6ccc6f7b6b1dc09664c5b6a155c61
Author: Catalin Marinas <catalin.marinas@xxxxxxx>
Date:   Tue Jul 7 10:32:55 2009 +0100

    kmemleak: Renice the scanning thread to +10
    
    This is a long-running thread but not high-priority. So it makes sense
    to renice it to +10.
    
    Signed-off-by: Catalin Marinas <catalin.marinas@xxxxxxx>

commit 7afdbf23c3acdec3eaf1b94f87132fff3d81ce73
Author: Arnd Bergmann <arnd@xxxxxxxx>
Date:   Tue Jul 7 10:23:43 2009 +0200

    signals: declare sys_rt_tgsigqueueinfo in syscalls.h
    
    sys_rt_tgsigqueueinfo needs to be declared in linux/syscalls.h so that
    architectures defining the system call table in C can reference it.
    
    Signed-off-by: Arnd Bergmann <arnd@xxxxxxxx>
    LKML-Reference: <200907071023.44008.arnd@xxxxxxxx>
    Signed-off-by: Thomas Gleixner <tglx@xxxxxxxxxxxxx>

commit ebf53f421308c2f59c9bcbad4c5c297a0d00199a
Author: Artem Bityutskiy <Artem.Bityutskiy@xxxxxxxxx>
Date:   Mon Jul 6 08:57:53 2009 +0300

    UBI: fix NOR flash recovery
    
    This commit fixes NOR flash recovery issues observed with Spansion
    S29GL512N NOR.
    
    When NOR erases, it first fills PEBs with zeroes, then sets all bytes
    to 0xFF. Filling with zeroes starts from the end of the PEB. And when
    power is cut, this results in PEBs containing correct EC and VID headers
    but corrupted with zeros at the end. This confuses UBI and it mistakinly
    accepts these PEBs and associate them with LEBs.
    
    Fis this issue by zeroing EC and VID magics before erasing PEBs, to
    make UBI later refuse zem.
    
    Signed-off-by: Artem Bityutskiy <Artem.Bityutskiy@xxxxxxxxx>

commit dd4da3a55f99efbfd46674ebefdcc2878a57ef2a
Author: SUGIOKA Toshinobu <sugioka@xxxxxxxxxxxx>
Date:   Tue Jul 7 05:32:07 2009 +0000

    serial: sh-sci: fix sci interrupt handler
    
    Fix up the error bit handling on SCI ports.
    
    Signed-off-by: SUGIOKA Toshinobu <sugioka@xxxxxxxxxxxx>
    Signed-off-by: Paul Mundt <lethal@xxxxxxxxxxxx>

commit 2b5c0c72ea404d6b554a8284031dd78748314b9e
Merge: 2dbc8a23cc2e677422f6dea991aca4e3d31ab65f dc53fffc105f68cb08ca872acd51550e89aa2e67
Author: Paul Mundt <lethal@xxxxxxxxxxxx>
Date:   Tue Jul 7 11:55:05 2009 +0900

    Merge branch 'master' of git://git.kernel.org/pub/scm/linux/kernel/git/torvalds/linux-2.6 into sh/for-2.6.31

commit 2dbc8a23cc2e677422f6dea991aca4e3d31ab65f
Author: Paul Mundt <lethal@xxxxxxxxxxxx>
Date:   Tue Jul 7 11:50:57 2009 +0900

    video: hitfb: Move over to dev_pm_ops.
    
    A trivial update to move hitfb over to dev_pm_ops.
    
    Signed-off-by: Paul Mundt <lethal@xxxxxxxxxxxx>

commit 684dcd056178a04374c71459dbd2b18c6d958ef7
Author: Paul Mundt <lethal@xxxxxxxxxxxx>
Date:   Tue Jul 7 11:44:56 2009 +0900

    video: hitfb: Convert to framebuffer_alloc().
    
    Follows the sh_mobile_lcdcfb change.
    
    Also fixes up a memory leak with cmap allocation.
    
    Signed-off-by: Paul Mundt <lethal@xxxxxxxxxxxx>

commit e33afddca174171a68d57476ead8947476ab9240
Author: Paul Mundt <lethal@xxxxxxxxxxxx>
Date:   Tue Jul 7 11:24:32 2009 +0900

    video: sh_mobile_lcdcfb: Convert to framebuffer_alloc().
    
    All fb_info structures need to be allocated with framebuffer_alloc() due
    to special initialization. Switch over to it.
    
    Signed-off-by: Paul Mundt <lethal@xxxxxxxxxxxx>

commit 5ca1ea23c4581f961afaddf1599970e6f05d02dc
Author: Greg Ungerer <gerg@xxxxxxxxxxxx>
Date:   Mon Jul 6 15:23:34 2009 +0000

    fec: fix definition of 5272 version of FEC_X_DES_ACTIVE register
    
    fec: fix definition of 5272 version of FEC_X_DES_ACTIVE register
    
    The ColdFire 5272 FEC driver has a different register address map
    than other users of the FEC driver. And its definition of the
    FEC_X_DES_ACTIVE register is incorrect, it should be 0x14.
    The fec interface cannot transmit data with the old value.
    
    Signed-off-by: Greg Ungerer <gerg@xxxxxxxxxxx>
    ----
    Signed-off-by: David S. Miller <davem@xxxxxxxxxxxxx>

commit 9ff1a91c027145a53bec618c8255a7bd0a89794b
Author: Greg Ungerer <gerg@xxxxxxxxxxx>
Date:   Mon Jul 6 18:10:25 2009 -0700

    fec: remove extra ";" from definition names
    
    Signed-off-by: Greg Ungerer <gerg@xxxxxxxxxxx>
    Signed-off-by: David S. Miller <davem@xxxxxxxxxxxxx>

commit a2e1b4c31257c07f148a89eb7eea7ca959fd0642
Author: Mark Langsdorf <mark.langsdorf@xxxxxxx>
Date:   Sun Jul 26 10:55:25 2009 -0500

    [CPUFREQ] Powernow-k8: support family 0xf with 2 low p-states
    
    Provide support for family 0xf processors with 2 P-states
    below the elevator voltage.  Remove the checks that prevent
    this configuration from being supported and increase the
    transition voltage to prevent errors during the transition.
    
    Signed-off-by: Mark Langsdorf <mark.langsdorf@xxxxxxx>
    Signed-off-by: Dave Jones <davej@xxxxxxxxxx>

commit 3f4a782b5ce2698b1870b5a7b573cd721d4fce33
Author: Mathieu Desnoyers <mathieu.desnoyers@xxxxxxxxxx>
Date:   Fri Jul 3 11:25:16 2009 -0400

    [CPUFREQ] fix (utter) cpufreq_add_dev mess
    
    OK, I've tried to clean it up the best I could, but please test this with
    concurrent cpu hotplug and cpufreq add/remove in loops. I'm sure we will make
    other interesting findings.
    
    This is step one of fixing the overall locking dependency mess in cpufreq.
    
    Signed-off-by: Mathieu Desnoyers <mathieu.desnoyers@xxxxxxxxxx>
    CC: Venkatesh Pallipadi <venkatesh.pallipadi@xxxxxxxxx>
    CC: rjw@xxxxxxx
    CC: mingo@xxxxxxx
    CC: Shaohua Li <shaohua.li@xxxxxxxxx>
    CC: Pekka Enberg <penberg@xxxxxxxxxxxxxx>
    CC: Dave Young <hidave.darkstar@xxxxxxxxx>
    CC: "Rafael J. Wysocki" <rjw@xxxxxxx>
    CC: Rusty Russell <rusty@xxxxxxxxxxxxxxx>
    CC: sven.wegener@xxxxxxxxxxx
    CC: cpufreq@xxxxxxxxxxxxxxx
    CC: Thomas Renninger <trenn@xxxxxxx>
    Signed-off-by: Dave Jones <davej@xxxxxxxxxx>

commit ee88415caf736b89500f16e0a545614541a45005
Author: venkatesh.pallipadi@xxxxxxxxx <venkatesh.pallipadi@xxxxxxxxx>
Date:   Thu Jul 2 17:08:33 2009 -0700

    [CPUFREQ] Cleanup locking in conservative governor
    
    Redesign the locking inside conservative driver. Make dbs_mutex handle all the
    global state changes inside the driver and invent a new percpu mutex
    to serialize percpu timer and frequency limit change.
    
    Signed-off-by: Venkatesh Pallipadi <venkatesh.pallipadi@xxxxxxxxx>
    Signed-off-by: Dave Jones <davej@xxxxxxxxxx>

commit 5a75c82828e7c088ca6e7b4827911dc29cc8e774
Author: venkatesh.pallipadi@xxxxxxxxx <venkatesh.pallipadi@xxxxxxxxx>
Date:   Thu Jul 2 17:08:32 2009 -0700

    [CPUFREQ] Cleanup locking in ondemand governor
    
    Redesign the locking inside ondemand driver. Make dbs_mutex handle all the
    global state changes inside the driver and invent a new percpu mutex
    to serialize percpu timer and frequency limit change.
    
    Signed-off-by: Venkatesh Pallipadi <venkatesh.pallipadi@xxxxxxxxx>
    Signed-off-by: Dave Jones <davej@xxxxxxxxxx>

commit 37c90e8887efd218dc4af949b7f498ca2da4af9f
Author: venkatesh.pallipadi@xxxxxxxxx <venkatesh.pallipadi@xxxxxxxxx>
Date:   Thu Jul 2 17:08:31 2009 -0700

    [CPUFREQ] Mark policy_rwsem as going static in cpufreq.c wont be exported
    
    lock_policy_rwsem_* and unlock_policy_rwsem_* routines in cpufreq.c are
    currently exported to drivers. Improper use of those locks can
    result in deadlocks and it is better to keep the locks localized.
    Two previous in-kernel users of these interfaces (ondemand and conservative),
    do not use this interfaces any more. Schedule them for removal.
    
    Signed-off-by: Venkatesh Pallipadi <venkatesh.pallipadi@xxxxxxxxx>
    Signed-off-by: Dave Jones <davej@xxxxxxxxxx>

commit 7d26e2d5e2da37e92c6c7644b26b294dedd8c982
Author: venkatesh.pallipadi@xxxxxxxxx <venkatesh.pallipadi@xxxxxxxxx>
Date:   Thu Jul 2 17:08:30 2009 -0700

    [CPUFREQ] Eliminate the recent lockdep warnings in cpufreq
    
    Commit b14893a62c73af0eca414cfed505b8c09efc613c although it was very
    much needed to properly cleanup ondemand timer, opened-up a can of worms
    related to locking dependencies in cpufreq.
    
    Patch here defines the need for dbs_mutex and cleans up its usage in
    ondemand governor. This also resolves the lockdep warnings reported here
    
    http://lkml.indiana.edu/hypermail/linux/kernel/0906.1/01925.html
    http://lkml.indiana.edu/hypermail/linux/kernel/0907.0/00820.html
    
    and few others..
    
    Signed-off-by: Venkatesh Pallipadi <venkatesh.pallipadi@xxxxxxxxx>
    Signed-off-by: Dave Jones <davej@xxxxxxxxxx>

commit faf80d62e44dc627efb741f48db50c1858d1667c
Merge: eca4ee0d1615c4fb01e437f674163542ec2dd072 febe04de3be4bf66f9339d8847db2806d99fd164
Author: Linus Torvalds <torvalds@xxxxxxxxxxxxxxxxxxxx>
Date:   Mon Jul 6 17:45: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 usage of bios intcall()
      x86: Remove unused function lapic_watchdog_ok()
      x86: Remove unused variable disable_x2apic
      x86, kvm: Fix section mismatches in kvm.c
      x86: Add missing annotation to arch/x86/lib/copy_user_64.S::copy_to_user
      x86: Fix fixmap page order for FIX_TEXT_POKE0,1
      amd-iommu: set evt_buf_size correctly
      amd-iommu: handle alias entries correctly in init code
      x86: Fix printk call in print_local_apic()
      x86: Declare check_efer() before it gets used
      x86: Mark device_nb as static and fix NULL noise
      x86: Remove double declaration of MSR_P6_EVNTSEL0 and MSR_P6_EVNTSEL1
      xen: Use kcalloc() in xen_init_IRQ()
      x86: Fix fixmap ordering
      x86: Fix symbol annotation for arch/x86/lib/clear_page_64.S::clear_page_c

commit eca4ee0d1615c4fb01e437f674163542ec2dd072
Merge: e5a7675dd503f778987ba1f181799ba5aadde319 557dca5f48a45df88a73e69ee0700cfd4e2358c9
Author: Linus Torvalds <torvalds@xxxxxxxxxxxxxxxxxxxx>
Date:   Mon Jul 6 16:47:54 2009 -0700

    Merge master.kernel.org:/home/rmk/linux-2.6-arm
    
    * master.kernel.org:/home/rmk/linux-2.6-arm:
      [ARM] amba: fix amba device resources
      [ARM] pgtable: file pte layout documentation
      [ARM] pgtable: swp pte layout documentation, definitions, and check
      [ARM] export __cpu_flush_dcache_page
      [ARM] 5576/1: Update kb9202_defconfig
      [ARM] 5581/1: U300 clock updates
      [ARM] 5579/1: Updated U300 defconfig

commit e5a7675dd503f778987ba1f181799ba5aadde319
Merge: eeaecb8619fb679006ab24a11ed292e37c74703c 3503e0acbfab0dbcd24ccadd5fe841f3f8290e81
Author: Linus Torvalds <torvalds@xxxxxxxxxxxxxxxxxxxx>
Date:   Mon Jul 6 16:47: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:
      Revert "ide: improve handling of Power Management requests"

commit eeaecb8619fb679006ab24a11ed292e37c74703c
Merge: dc53fffc105f68cb08ca872acd51550e89aa2e67 0ca1b08eba627b4245efd0f71b55a062bf163777
Author: Linus Torvalds <torvalds@xxxxxxxxxxxxxxxxxxxx>
Date:   Mon Jul 6 16:46:57 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: (39 commits)
      Revert "p54: Use SKB list handling helpers instead of by-hand code."
      sctp: fix warning at inet_sock_destruct() while release sctp socket
      tun/tap: Fix crashes if open() /dev/net/tun and then poll() it.
      dsa: fix 88e6xxx statistics counter snapshotting
      forcedeth: Fix NAPI race.
      drivers/net/smsc911x.c: Fix resource size off by 1 error
      pcnet_cs: add new id
      bnx2x: Fix the maximal values of coalescing timeouts.
      bnx2x: Disable HC coalescing when setting timeout to zero.
      tun: Fix device unregister race
      be2net: fix spurious interrupt handling in intx mode
      e1000e: disable K1 at 1000Mbps for 82577/82578
      e1000e: delay second read of PHY_STATUS register on failure of first read
      e1000e: prevent NVM corruption on sectors larger than 4K
      e1000e: do not write SmartSpeed register bits on parts without support
      e1000e: delay after LCD reset and proper checks for PHY configuration done
      e1000e: PHY loopback broken on 82578
      ixgbe: Not allow 8259x unsupported wol options change from ethtool
      ixgbe: fix inconsistent SFP/SFP+ failure results.
      ixgbe: fix regression on some 82598 adapters
      ...

commit dc53fffc105f68cb08ca872acd51550e89aa2e67
Merge: f560902c2d39c255bd67c0211f5dd80edb97a712 46b952a3c3a94afa339bd4961a4f3d1482436599
Author: Linus Torvalds <torvalds@xxxxxxxxxxxxxxxxxxxx>
Date:   Mon Jul 6 14:07:00 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: Fix IRQ swizzling for ARI-enabled devices
      ia64/PCI: adjust section annotation for pcibios_setup()
      x86/PCI: get root CRS before scanning children
      x86/PCI: fix boundary checking when using root CRS
      PCI MSI: Fix restoration of MSI/MSI-X mask states in suspend/resume
      PCI MSI: Unmask MSI if setup failed
      PCI MSI: shorten PCI_MSIX_ENTRY_* symbol names
      PCI: make pci_name() take const argument
      PCI: More PATA quirks for not entering D3
      PCI: fix kernel-doc warnings
      PCI: check if bus has a proper bridge device before triggering SBR
      PCI: remove pci_dac_dma_... APIs on mn10300
      PCI ECRC: Remove unnecessary semicolons
      PCI MSI: Return if alloc_msi_entry for MSI-X failed

commit f560902c2d39c255bd67c0211f5dd80edb97a712
Merge: 9861df15f44d98eb6fa9a839b558633ecee87194 db6e3f91efd2cf61b9965f722902199cf54adc4f
Author: Linus Torvalds <torvalds@xxxxxxxxxxxxxxxxxxxx>
Date:   Mon Jul 6 14:05:57 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: Fix cast warning for init.c
      microblaze: Wire up new syscalls
      microblaze: use generic syscalls.h
      microblaze: clean up signal handling
      microblaze: convert all simple headers to use asm-generic
      microblaze: use the generic lib/checksum.c
      microblaze: fall back on generic header files for the ABI

commit 9861df15f44d98eb6fa9a839b558633ecee87194
Merge: 8871b201da6e443b7ab2967050e3064360d0604f 67fc25ef34a27dc43ce6dfc98a8b249db304d641
Author: Linus Torvalds <torvalds@xxxxxxxxxxxxxxxxxxxx>
Date:   Mon Jul 6 14:05:09 2009 -0700

    Merge branch 'for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/penberg/slab-2.6
    
    * 'for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/penberg/slab-2.6:
      SLAB: Fix lockdep annotations
      fix RCU-callback-after-kmem_cache_destroy problem in sl[aou]b

commit 8871b201da6e443b7ab2967050e3064360d0604f
Merge: 085ff82c9c615d502d1e6754879d8d4ff590d143 0a6843483c256c859cd9542361812a29403f0fb5
Author: Linus Torvalds <torvalds@xxxxxxxxxxxxxxxxxxxx>
Date:   Mon Jul 6 14:04:25 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: (25 commits)
      V4L/DVB (12206): get_dvb_firmware: Correct errors in MPC718 firmware extraction logic
      V4L/DVB (12203): radio-si470x: fix lock imbalance
      V4L/DVB (12202): em28xx, fix lock imbalance
      V4L/DVB (12172): em28xx: Add autodetection code for Silvercrest 1.3 mpix
      V4L/DVB (12171): em28xx: fix webcam usage with different output formats
      V4L/DVB (12169): em28xx-video: fix VIDIOC_G_FMT and VIDIOC_ENUMFMT with webcams
      V4L/DVB (12156): em28xx: Fix tuning for Terratec Cinergy T XS USB (zl10353 version)
      V4L/DVB (12139): em28xx: add other video formats
      V4L/DVB (12138): em28xx: add support for Silvercrest Webcam
      V4L/DVB (12174): mt9v011: let's stick with datasheet values where it works
      V4L/DVB (12173): mt9v011: properly calculate image resolution registers
      V4L/DVB (12137): mt9v011: CodingStyle fixes
      V4L/DVB (12136): mt9v011: Some fixes at the register initialization table
      V4L/DVB (12135): Add a driver for mt9v011 sensor
      V4L/DVB (12166): cx23885: add FIXME comment above set_frontend override
      V4L/DVB (12165): cx23885: override set_frontend to allow rf input path switching on the HVR1275
      V4L/DVB (12148): move V4L2_PIX_FMT_SGRBG8 to the proper place
      V4L/DVB (12182): cx18: Add DVB-T support for Yuan MPC-718 cards with an MT352 or ZL10353
      V4L/DVB (12181): get_dvb_firmware: Add Yuan MPC718 MT352 DVB-T "firmware" extraction
      V4L/DVB (12180): cx18: Update Yuan MPC-718 card entry with better information and guesses
      ...

commit 085ff82c9c615d502d1e6754879d8d4ff590d143
Merge: f63bafe55654caf3a62f73500eafd1b89ca6f7ff 3dfc813d94bba2046c6aed216e0fd69ac93a8e03
Author: Linus Torvalds <torvalds@xxxxxxxxxxxxxxxxxxxx>
Date:   Mon Jul 6 14:03:59 2009 -0700

    Merge git://git.infradead.org/iommu-2.6
    
    * git://git.infradead.org/iommu-2.6:
      intel-iommu: Don't use identity mapping for PCI devices behind bridges
      intel-iommu: Use iommu_should_identity_map() at startup time too.
      intel-iommu: No mapping for non-PCI devices
      intel-iommu: Restore DMAR_BROKEN_GFX_WA option for broken graphics drivers
      intel-iommu: Add iommu_should_identity_map() function
      intel-iommu: Fix reattaching of devices to identity mapping domain
      intel-iommu: Don't set identity mapping for bypassed graphics devices
      intel-iommu: Fix dma vs. mm page confusion with aligned_nrpages()

commit f63bafe55654caf3a62f73500eafd1b89ca6f7ff
Merge: 4148df9b0f38bdd362dd91d52076926c11cbe5a9 ebbb16bffa646f853899ef3fdc0ac7abab888703
Author: Linus Torvalds <torvalds@xxxxxxxxxxxxxxxxxxxx>
Date:   Mon Jul 6 14:03:44 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:
      ieee1394: sbp2: add support for disks >2 TB (and 16 bytes long CDBs)
      firewire: sbp2: add support for disks >2 TB (and 16 bytes long CDBs)
      firewire: core: do not DMA-map stack addresses

commit 4148df9b0f38bdd362dd91d52076926c11cbe5a9
Author: Paul Mundt <lethal@xxxxxxxxxxxx>
Date:   Mon Jul 6 00:25:57 2009 +0900

    fb: Initialize fb_info mutexes in framebuffer_alloc()
    
    This way they'll be properly initialized early enough for users that may
    touch them before the framebuffer has been registered.
    
    Drivers that allocate their fb_info structure some other way (like
    matrocfb's broken static allocation) need to be fixed up appropriately.
    
    Signed-off-by: Paul Mundt <lethal@xxxxxxxxxxxx>
    Signed-off-by: Linus Torvalds <torvalds@xxxxxxxxxxxxxxxxxxxx>

commit 793285fcafce4719a05e0c99fa74b188157fe7fe
Author: Oleg Nesterov <oleg@xxxxxxxxxx>
Date:   Sun Jul 5 12:08:26 2009 -0700

    cred_guard_mutex: do not return -EINTR to user-space
    
    do_execve() and ptrace_attach() return -EINTR if
    mutex_lock_interruptible(->cred_guard_mutex) fails.
    
    This is not right, change the code to return ERESTARTNOINTR.
    
    Perhaps we should also change proc_pid_attr_write().
    
    Signed-off-by: Oleg Nesterov <oleg@xxxxxxxxxx>
    Cc: David Howells <dhowells@xxxxxxxxxx>
    Acked-by: Roland McGrath <roland@xxxxxxxxxx>
    Cc: James Morris <jmorris@xxxxxxxxx>
    Signed-off-by: Andrew Morton <akpm@xxxxxxxxxxxxxxxxxxxx>
    Signed-off-by: Linus Torvalds <torvalds@xxxxxxxxxxxxxxxxxxxx>

commit 82e3310ace59794ecf0f531eca94647b2863dfda
Author: Tobias Doerffel <tobias.doerffel@xxxxxxxxx>
Date:   Sun Jul 5 12:08:23 2009 -0700

    linux/sysrq.h needs linux/errno.h
    
    In include/linux/sysrq.h the constant EINVAL is being used but is undefined
    if include/linux/errno.h is not included before.
    
    Fix this by adding #include <linux/errno.h> at the beginning.
    
    Signed-off-by: Tobias Doerffel <tobias.doerffel@xxxxxxxxx>
    Signed-off-by: Andrew Morton <akpm@xxxxxxxxxxxxxxxxxxxx>
    Signed-off-by: Linus Torvalds <torvalds@xxxxxxxxxxxxxxxxxxxx>

commit 600ce1a0faafeed1ce6bcfd421bc040b941cbbc1
Author: InKi Dae <daeinki@xxxxxxxxx>
Date:   Sun Jul 5 12:08:21 2009 -0700

    drivers/video/s3c-fb.c: fix clock setting for Samsung SoC Framebuffer
    
    Correct the CLKVAL_F field value of VIDEO MAIN CONTROLLER 0 REGITSTER.
    
    Frame Rate is 1 / [ { (VSPW+1) + (VBPD+1) + (LIINEVAL + 1) + (VFPD+1)
    } x {(HSPW+1) + (HBPD +1)
    + (HFPD+1) + (HOZVAL + 1) } x { ( CLKVAL+1 ) / ( Frequency of Clock
    source ) } ] and VCLK = Video Clock Source / (CLKVAL +1).
    
    therefore CLKVAL_F should be "CLKVAL_F = Frequency of Clock source / pixel
    clock * refresh".
    
    for this, I added refresh value in platform data like below.
    
    static struct s3c_fb_pd_win xxx_fb_win0 = {
    	/* this is to ensure we use win0 */
    	.win_mode = {
    		.refresh	= 60,
    		.pixclock	= (66+4+2+480)*(15+5+3+800),
    		.left_margin	= 66,
    		.right_margin	= 2,
    		.upper_margin	= 15,
    		.lower_margin	= 3,
    		.hsync_len	= 4,
    		.vsync_len	= 5,
    		.xres		= 480,
    		.yres		= 800,
    	},
    	.max_bpp	= 32,
    	.default_bpp	= 24,
    };
    
    static struct s3c_fb_platdata xxx_lcd_pdata __initdata = {
    	.win[0]		= &xxx_fb_win0,
    	.vidcon0	= VIDCON0_VIDOUT_RGB | VIDCON0_PNRMODE_RGB,
    	.vidcon1	= VIDCON1_INV_HSYNC | VIDCON1_INV_VSYNC
    			| VIDCON1_INV_VCLK | VIDCON1_INV_VDEN,
    	.setup_gpio	= s5pc1xx_fb_gpio_setup_24bpp,
    };
    
    xxx_machine_init()
    {
                       .
                       .
                       .
                   s3c_fb_set_platdata(&xxx_lcd_pdata);
    }
    
    platform data defined in machine code should be setting using
    s3c_fb_set_platdata().
    
    Signed-off-by: InKi Dae <inki.dae@xxxxxxxxxxx>
    Cc: Kyungmin Park <kmpark@xxxxxxxxxxxxx>
    Cc: Krzysztof Helt <krzysztof.h1@xxxxxxxxx>
    Cc: Marek Szyprowski <m.szyprowski@xxxxxxxxxxx>
    Signed-off-by: Andrew Morton <akpm@xxxxxxxxxxxxxxxxxxxx>
    Signed-off-by: Linus Torvalds <torvalds@xxxxxxxxxxxxxxxxxxxx>

commit 5bfd7560979062ad75c9805c1719cec990b5db29
Author: Kevin Cernekee <cernekee@xxxxxxxxx>
Date:   Sun Jul 5 12:08:19 2009 -0700

    Fix virt_to_phys() warnings
    
    These warnings were observed on MIPS32 using 2.6.31-rc1 and gcc-4.2.0:
    
    mm/page_alloc.c: In function 'alloc_pages_exact':
    mm/page_alloc.c:1986: warning: passing argument 1 of 'virt_to_phys' makes pointer from integer without a cast
    
    drivers/usb/mon/mon_bin.c: In function 'mon_alloc_buff':
    drivers/usb/mon/mon_bin.c:1264: warning: passing argument 1 of 'virt_to_phys' makes pointer from integer without a cast
    
    [akpm@xxxxxxxxxxxxxxxxxxxx: fix kernel/perf_counter.c too]
    Signed-off-by: Kevin Cernekee <cernekee@xxxxxxxxx>
    Cc: Andi Kleen <andi@xxxxxxxxxxxxxx>
    Cc: Ralf Baechle <ralf@xxxxxxxxxxxxxx>
    Cc: Ingo Molnar <mingo@xxxxxxx>
    Signed-off-by: Andrew Morton <akpm@xxxxxxxxxxxxxxxxxxxx>
    Signed-off-by: Linus Torvalds <torvalds@xxxxxxxxxxxxxxxxxxxx>

commit c8236db9cd7aa492dcfcdcca702638e704abed49
Author: Josef Bacik <josef@xxxxxxxxxx>
Date:   Sun Jul 5 12:08:18 2009 -0700

    mm: mark page accessed before we write_end()
    
    In testing a backport of the write_begin/write_end AOPs, a 10% re-read
    regression was noticed when running iozone.  This regression was
    introduced because the old AOPs would always do a mark_page_accessed(page)
    after the commit_write, but when the new AOPs where introduced, the only
    place this was kept was in pagecache_write_end().
    
    This patch does the same thing in the generic case as what is done in
    pagecache_write_end(), which is just to mark the page accessed before we
    do write_end().
    
    Signed-off-by: Josef Bacik <jbacik@xxxxxxxxxx>
    Acked-by: Nick Piggin <npiggin@xxxxxxx>
    Signed-off-by: Andrew Morton <akpm@xxxxxxxxxxxxxxxxxxxx>
    Signed-off-by: Linus Torvalds <torvalds@xxxxxxxxxxxxxxxxxxxx>

commit a65e7bfcd74e4c0939f235d2bf9f48ddb3a57991
Author: Hui Zhu <teawater@xxxxxxxxx>
Date:   Sun Jul 5 12:08:15 2009 -0700

    elf: fix multithreaded program core dumping on arm
    
    Fix the multithread program core thread message error.
    
    This issue affects arches with neither has CORE_DUMP_USE_REGSET nor
    ELF_CORE_COPY_TASK_REGS, ARM is one of them.
    
    The thread message of core file is generated in elf_dump_thread_status.
    The register values is set by elf_core_copy_task_regs in this function.
    
    If an arch doesn't define ELF_CORE_COPY_TASK_REGS,
    elf_core_copy_task_regs() will do nothing.  Then the core file will not
    have the register message of thread.
    
    So add elf_core_copy_regs to set regiser values if ELF_CORE_COPY_TASK_REGS
    doesn't define.
    
    The following is how to reproduce this issue:
    
    cat 1.c
    #include <stdio.h>
    #include <pthread.h>
    #include <assert.h>
    
    void td1(void * i)
    {
           while (1)
           {
                   printf ("1\n");
                   sleep (1);
           }
    
           return;
    }
    
    void td2(void * i)
    {
           while (1)
           {
                   printf ("2\n");
                   sleep (1);
           }
    
           return;
    }
    
    int
    main(int argc,char *argv[],char *envp[])
    {
           pthread_t       t1,t2;
    
           pthread_create(&t1, NULL, (void*)td1, NULL);
           pthread_create(&t2, NULL, (void*)td2, NULL);
    
           sleep (10);
    
           assert(0);
    
           return (0);
    }
    arm-xxx-gcc -g -lpthread 1.c -o 1
    copy 1.c and 1 to a arm board.
    Goto this board.
    ulimit -c 1800000
    ./1
    # ./1
    1
    2
    1
    ...
    ...
    1
    1: 1.c:37: main: Assertion `0' failed.
    Aborted (core dumped)
    Then you can get a core file.
    gdb 1 core.xxx
    Without the patch:
    (gdb) info threads
     3 process 909  0x00000000 in ?? ()
     2 process 908  0x00000000 in ?? ()
    * 1 process 907  0x4a6e2238 in raise () from /lib/libc.so.6
    You can found that the pc of 909 and 908 is 0x00000000.
    With the patch:
    (gdb) info threads
     3 process 885  0x4a749974 in nanosleep () from /lib/libc.so.6
     2 process 884  0x4a749974 in nanosleep () from /lib/libc.so.6
    * 1 process 883  0x4a6e2238 in raise () from /lib/libc.so.6
    The pc of 885 and 884 is right.
    
    Signed-off-by: Hui Zhu <teawater@xxxxxxxxx>
    Cc: Amerigo Wang <xiyou.wangcong@xxxxxxxxx>
    Cc: Al Viro <viro@xxxxxxxxxxxxxxxxxx>
    Cc: David Howells <dhowells@xxxxxxxxxx>
    Cc: Roland McGrath <roland@xxxxxxxxxx>
    Cc: Jakub Jelinek <jakub@xxxxxxxxxx>
    Cc: Russell King <rmk@xxxxxxxxxxxxxxxx>
    Signed-off-by: Andrew Morton <akpm@xxxxxxxxxxxxxxxxxxxx>
    Signed-off-by: Linus Torvalds <torvalds@xxxxxxxxxxxxxxxxxxxx>

commit 3beab0b42413e83a7907db7176b54c840fc75a81
Author: Zhang, Yanmin <yanmin_zhang@xxxxxxxxxxxxxxx>
Date:   Sun Jul 5 12:08:08 2009 -0700

    sys_sync(): fix 16% performance regression in ffsb create_4k test
    
    I run many ffsb test cases on JBODs (typically 13/12 disks).  Comparing
    with kernel 2.6.30, 2.6.31-rc1 has about 16% regression with
    ffsb_create_4k.  The sub test case creates files continuously for 10
    minitues and every file is 1MB.
    
    Bisect located below patch.
    
    5cee5815d1564bbbd505fea86f4550f1efdb5cd0 is first bad commit
    commit 5cee5815d1564bbbd505fea86f4550f1efdb5cd0
    Author: Jan Kara <jack@xxxxxxx>
    Date:   Mon Apr 27 16:43:51 2009 +0200
    
        vfs: Make sys_sync() use fsync_super() (version 4)
    
        It is unnecessarily fragile to have two places (fsync_super() and do_sync())
        doing data integrity sync of the filesystem. Alter __fsync_super() to
        accommodate needs of both callers and use it. So after this patch
        __fsync_super() is the only place where we gather all the calls needed to
        properly send all data on a filesystem to disk.
    
    As a matter of fact, ffsb calls sys_sync in the end to make sure all data
    is flushed to disks and the flushing is counted into the result.  vmstat
    shows ffsb is blocked when syncing for a long time.  With 2.6.30, ffsb is
    blocked for a short time.
    
    I checked the patch and did experiments to recover the original methods.
    Eventually, the root cause is the patch deletes the calling to
    wakeup_pdflush when syncing, so only ffsb is blocked on disk I/O.
    wakeup_pdflush could ask pdflush to write back pages with ffsb at the
    same time.
    
    [akpm@xxxxxxxxxxxxxxxxxxxx: restore comment too]
    Signed-off-by: Zhang Yanmin <yanmin_zhang@xxxxxxxxxxxxxxx>
    Cc: Jan Kara <jack@xxxxxxx>
    Cc: Al Viro <viro@xxxxxxxxxxxxxxxxxx>
    Acked-by: Jens Axboe <jens.axboe@xxxxxxxxxx>
    Signed-off-by: Andrew Morton <akpm@xxxxxxxxxxxxxxxxxxxx>
    Signed-off-by: Linus Torvalds <torvalds@xxxxxxxxxxxxxxxxxxxx>

commit f386c61fe1a1f36f0e434f1b577e6b112698caf7
Author: Peter Oberparleiter <oberpar@xxxxxxxxxxxxxxxxxx>
Date:   Sun Jul 5 12:08:06 2009 -0700

    gcov: exclude code operating in userspace from profiling
    
    Fix for this issue on x86_64:
    
    rostedt@xxxxxxxxxxx wrote:
    > On bootup of the latest kernel my init segfaults. Debugging it,
    > I found  that vread_tsc (a vsyscall) increments some strange
    > kernel memory:
    >
    > 0000000000000000 <vread_tsc>:
    >    0:   55                      push   %rbp
    >    1:   48 ff 05 00 00 00 00    incq   0(%rip)
    >                         # 8 <vread_tsc+0x8>
    >                         4: R_X86_64_PC32        .bss+0x3c
    >    8:   48 89 e5                mov    %rsp,%rbp
    >    b:   66 66 90                xchg   %ax,%ax
    >    e:   48 ff 05 00 00 00 00    incq   0(%rip)
    >                         # 15 <vread_tsc+0x15>
    >                         11: R_X86_64_PC32       .bss+0x44
    >   15:   66 66 90                xchg   %ax,%ax
    >   18:   48 ff 05 00 00 00 00    incq   0(%rip)
    >                         # 1f <vread_tsc+0x1f>
    >                         1b: R_X86_64_PC32       .bss+0x4c
    >   1f:   0f 31                   rdtsc
    >
    >
    > Those "incq" is very bad to happen in vsyscall memory, since
    > userspace can not modify it. You need to make something prevent
    > profiling of vsyscall  memory (like I do with ftrace).
    
    Signed-off-by: Peter Oberparleiter <oberpar@xxxxxxxxxxxxxxxxxx>
    Cc: Ingo Molnar <mingo@xxxxxxx>
    Reported-by: Steven Rostedt <rostedt@xxxxxxxxxxx>
    Tested-by: Steven Rostedt <rostedt@xxxxxxxxxxx>
    Signed-off-by: Andrew Morton <akpm@xxxxxxxxxxxxxxxxxxxx>
    Signed-off-by: Linus Torvalds <torvalds@xxxxxxxxxxxxxxxxxxxx>

commit 28df30e61b46a33d1f0bb60757747396886ef687
Author: Jiri Slaby <jirislaby@xxxxxxxxx>
Date:   Sun Jul 5 12:08:03 2009 -0700

    rtc: ds1374, fix lock imbalance
    
    When i2c_smbus_read_byte_data fails in ds1374_work, we forgot to unlock
    the held lock.  Fix that.
    
    Signed-off-by: Jiri Slaby <jirislaby@xxxxxxxxx>
    Cc: Alessandro Zummo <a.zummo@xxxxxxxxxxxx>
    Cc: Scott Wood <scottwood@xxxxxxxxxxxxx>
    Signed-off-by: Andrew Morton <akpm@xxxxxxxxxxxxxxxxxxxx>
    Signed-off-by: Linus Torvalds <torvalds@xxxxxxxxxxxxxxxxxxxx>

commit efc0cfa6d16103bd72a7c398f1321816b635370f
Author: Florian Fainelli <florian@xxxxxxxxxxx>
Date:   Sun Jul 5 12:08:02 2009 -0700

    vlynq: fix typo in Kconfig to enable debugging
    
    Fix a typo in the VLYNQ bus driver Kconfig which prevented to turn on
    VLYNQ bus debugging.
    
    Signed-off-by: Florian Fainelli <florian@xxxxxxxxxxx>
    Signed-off-by: Andrew Morton <akpm@xxxxxxxxxxxxxxxxxxxx>
    Signed-off-by: Linus Torvalds <torvalds@xxxxxxxxxxxxxxxxxxxx>

commit 9e2db5c90a25acf7657edb3687b8d5813ccddfee
Author: Robert P. J. Day <rpjday@xxxxxxxxxxxxxx>
Date:   Sun Jul 5 12:08:00 2009 -0700

    vlynq: correct typo of missing "CONFIG_" prefix in ifdef
    
    Fix a typo in the vlynq bus driver which was missing the CONFIG_ prefix to
    turn on debugging code.
    
    Signed-off-by: Robert P. J. Day <rpjday@xxxxxxxxxxxxxx>
    Signed-off-by: Florian Fainelli <florian@xxxxxxxxxxx>
    Signed-off-by: Andrew Morton <akpm@xxxxxxxxxxxxxxxxxxxx>
    Signed-off-by: Linus Torvalds <torvalds@xxxxxxxxxxxxxxxxxxxx>

commit cbad1cbb51d92c0b5c3f47ef9dbf125de81fae08
Author: Krzysztof Helt <krzysztof.h1@xxxxx>
Date:   Mon Jul 6 21:11:24 2009 +0200

    sisfb: fix regression with uninitalized fb_info->mm_lock mutex
    
    Remove redundant call to the sisfb_get_fix() before sis frambuffer is
    registered.
    
    This fixes a problem with uninitialized the fb_info->mm_lock mutex
    introduced by the commit 537a1bf059f " fbdev: add mutex for fb_mmap
    locking"
    
    Signed-off-by: Krzysztof Helt <krzysztof.h1@xxxxx>
    Tested-by: Wu Zhangjin <wuzhangjin@xxxxxxxxx>
    Signed-off-by: Linus Torvalds <torvalds@xxxxxxxxxxxxxxxxxxxx>

commit 0ca1b08eba627b4245efd0f71b55a062bf163777
Author: David S. Miller <davem@xxxxxxxxxxxxx>
Date:   Mon Jul 6 12:49:18 2009 -0700

    Revert "p54: Use SKB list handling helpers instead of by-hand code."
    
    This reverts commit a1091aae19b1d9c85d91c86915a611387f67a26b.

commit 1bc4ee4088c9a502db0e9c87f675e61e57fa1734
Author: Wei Yongjun <yjwei@xxxxxxxxxxxxxx>
Date:   Sun Jul 5 19:45:48 2009 +0000

    sctp: fix warning at inet_sock_destruct() while release sctp socket
    
    Commit 'net: Move rx skb_orphan call to where needed' broken sctp protocol
    with warning at inet_sock_destruct(). Actually, sctp can do this right with
    sctp_sock_rfree_frag() and sctp_skb_set_owner_r_frag() pair.
    
        sctp_sock_rfree_frag(skb);
        sctp_skb_set_owner_r_frag(skb, newsk);
    
    This patch not revert the commit d55d87fdff8252d0e2f7c28c2d443aee17e9d70f,
    instead remove the sctp_sock_rfree_frag() function.
    
    ------------[ cut here ]------------
    WARNING: at net/ipv4/af_inet.c:151 inet_sock_destruct+0xe0/0x142()
    Modules linked in: sctp ipv6 dm_mirror dm_region_hash dm_log dm_multipath
    scsi_mod ext3 jbd uhci_hcd ohci_hcd ehci_hcd [last unloaded: scsi_wait_scan]
    Pid: 1808, comm: sctp_test Not tainted 2.6.31-rc2 #40
    Call Trace:
     [<c042dd06>] warn_slowpath_common+0x6a/0x81
     [<c064a39a>] ? inet_sock_destruct+0xe0/0x142
     [<c042dd2f>] warn_slowpath_null+0x12/0x15
     [<c064a39a>] inet_sock_destruct+0xe0/0x142
     [<c05fde44>] __sk_free+0x19/0xcc
     [<c05fdf50>] sk_free+0x18/0x1a
     [<ca0d14ad>] sctp_close+0x192/0x1a1 [sctp]
     [<c0649f7f>] inet_release+0x47/0x4d
     [<c05fba4d>] sock_release+0x19/0x5e
     [<c05fbab3>] sock_close+0x21/0x25
     [<c049c31b>] __fput+0xde/0x189
     [<c049c3de>] fput+0x18/0x1a
     [<c049988f>] filp_close+0x56/0x60
     [<c042f422>] put_files_struct+0x5d/0xa1
     [<c042f49f>] exit_files+0x39/0x3d
     [<c043086a>] do_exit+0x1a5/0x5dd
     [<c04a86c2>] ? d_kill+0x35/0x3b
     [<c0438fa4>] ? dequeue_signal+0xa6/0x115
     [<c0430d05>] do_group_exit+0x63/0x8a
     [<c0439504>] get_signal_to_deliver+0x2e1/0x2f9
     [<c0401d9e>] do_notify_resume+0x7c/0x6b5
     [<c043f601>] ? autoremove_wake_function+0x0/0x34
     [<c04a864e>] ? __d_free+0x3d/0x40
     [<c04a867b>] ? d_free+0x2a/0x3c
     [<c049ba7e>] ? vfs_write+0x103/0x117
     [<c05fc8fa>] ? sys_socketcall+0x178/0x182
     [<c0402a56>] work_notifysig+0x13/0x19
    ---[ end trace 9db92c463e789fba ]---
    
    Signed-off-by: Wei Yongjun <yjwei@xxxxxxxxxxxxxx>
    Acked-by: Herbert Xu <herbert@xxxxxxxxxxxxxxxxxxx>
    Acked-by: Vlad Yasevich <vladislav.yasevich@xxxxxx>
    Signed-off-by: David S. Miller <davem@xxxxxxxxxxxxx>

commit 3c8a9c63d5fd738c261bd0ceece04d9c8357ca13
Author: Mariusz Kozlowski <m.kozlowski@xxxxxxxxxx>
Date:   Sun Jul 5 19:48:35 2009 +0000

    tun/tap: Fix crashes if open() /dev/net/tun and then poll() it.
    
    Fix NULL pointer dereference in tun_chr_pool() introduced by commit
    33dccbb050bbe35b88ca8cf1228dcf3e4d4b3554 ("tun: Limit amount of queued
    packets per device") and triggered by this code:
    
    	int fd;
    	struct pollfd pfd;
    	fd = open("/dev/net/tun", O_RDWR);
    	pfd.fd = fd;
    	pfd.events = POLLIN | POLLOUT;
    	poll(&pfd, 1, 0);
    
    Reported-by: Eugene Kapun <abacabadabacaba@xxxxxxxxx>
    Signed-off-by: Mariusz Kozlowski <m.kozlowski@xxxxxxxxxx>
    Signed-off-by: David S. Miller <davem@xxxxxxxxxxxxx>

commit 3503e0acbfab0dbcd24ccadd5fe841f3f8290e81
Author: David S. Miller <davem@xxxxxxxxxxxxx>
Date:   Mon Jul 6 12:39:27 2009 -0700

    Revert "ide: improve handling of Power Management requests"
    
    This reverts commit a1317f714af7aed60ddc182d0122477cbe36ee9b.

commit db6e3f91efd2cf61b9965f722902199cf54adc4f
Author: Michal Simek <monstr@xxxxxxxxx>
Date:   Mon Jul 6 08:21:09 2009 +0200

    microblaze: Fix cast warning for init.c
    
    Signed-off-by: Michal Simek <monstr@xxxxxxxxx>

commit 4ae78338157a1fe2d7a398d86bb9f9043d600d2b
Author: Michal Simek <monstr@xxxxxxxxx>
Date:   Wed Jul 1 15:32:14 2009 +0200

    microblaze: Wire up new syscalls
    
    Wire up new syscalls rt_tgsigqueueinfo and perf_counter_open.
    
    Signed-off-by: Michal Simek <monstr@xxxxxxxxx>

commit e513588f75912f022677866244de6b19b98b8d9a
Author: Arnd Bergmann <arnd@xxxxxxxx>
Date:   Thu Jun 18 19:55:30 2009 +0200

    microblaze: use generic syscalls.h
    
    The prototypes in syscalls.h all make sense for
    microblaze, but for some of them, the actual implementation
    in sys_microblaze.c needs to be adapted.
    
    Signed-off-by: Arnd Bergmann <arnd@xxxxxxxx>
    Signed-off-by: Michal Simek <monstr@xxxxxxxxx>

commit 3183e06863f49a500fc76427db4d60825a26f81b
Author: Arnd Bergmann <arnd@xxxxxxxx>
Date:   Thu Jun 18 19:55:29 2009 +0200

    microblaze: clean up signal handling
    
    When legacy signal handling is disabled, the
    arch/microblaze/kernel/signal.c implementation can
    be much simpler, as most of it is handled generically
    from kernel/signal.c.
    
    This is also a prerequisite for using the generic
    asm/unistd.h, which does not provide __NR_sigreturn,
    because this macro is referenced by the current signal.c
    implementation.
    
    Signed-off-by: Arnd Bergmann <arnd@xxxxxxxx>
    Signed-off-by: Michal Simek <monstr@xxxxxxxxx>

commit 0a58458341fd571e521be542ff746a4a8995980c
Author: Remis Lima Baima <remis.developer@xxxxxxxxxxxxxx>
Date:   Thu Jun 18 19:55:33 2009 +0200

    microblaze: convert all simple headers to use asm-generic
    
    All the simple microblaze header files were adapted to use their
    asm-generic implementations. These files are more simple and were quite
    straightforward to change.
    
    fb.h, vga.h and parport.h previously did not exist, using
    the generic version makes it possible to build more drivers
    successfully in allyesonfig.
    
    Signed-off-by: Remis Lima Baima <remis.developer@xxxxxxxxxxxxxx>
    Signed-off-by: Arnd Bergmann <arnd@xxxxxxxx>
    Signed-off-by: Michal Simek <monstr@xxxxxxxxx>

commit 14f8738976991d2f8fb6ab6e10e9003562c3d6bb
Author: Remis Lima Baima <remis.developer@xxxxxxxxxxxxxx>
Date:   Thu Jun 18 19:55:32 2009 +0200

    microblaze: use the generic lib/checksum.c
    
    The microblaze checksum code is mostly identical to
    the asm-generic+lib version, so use that instead.
    
    Signed-off-by: Remis Lima Baima <remis.developer@xxxxxxxxxxxxxx>
    Signed-off-by: Michal Simek <monstr@xxxxxxxxx>

commit 81d8279ea31a3fc6d4ffacd87119a04c561ca62e
Author: Arnd Bergmann <arnd@xxxxxxxx>
Date:   Thu Jun 18 19:55:27 2009 +0200

    microblaze: fall back on generic header files for the ABI
    
    Almost all of the ABI relevant header files now have generic
    versions, so use those now in order to reduce the amount
    of architecture specific code.
    
    Signed-off-by: Arnd Bergmann <arnd@xxxxxxxx>
    Signed-off-by: Michal Simek <monstr@xxxxxxxxx>

commit 67fc25ef34a27dc43ce6dfc98a8b249db304d641
Merge: 8e4a718ff38d8539938ec3421935904c27e00c39 ec5a36f94e7ca4b1f28ae4dd135cd415a704e772
Author: Pekka Enberg <penberg@xxxxxxxxxxxxxx>
Date:   Mon Jul 6 10:51:54 2009 +0300

    Merge branch 'slab/urgent' into for-linus

commit 1ded3f59f35a2642852b3e2a1c0fa8a97777e9af
Author: Stephane Contri <Stephane.Contri@xxxxxxxxxxxxxxx>
Date:   Thu Jul 2 23:26:48 2009 +0000

    dsa: fix 88e6xxx statistics counter snapshotting
    
    The bit that tells us whether a statistics counter snapshot operation
    has completed is located in the GLOBAL register block, not in the
    GLOBAL2 register block, so fix up mv88e6xxx_stats_wait() to poll the
    right register address.
    
    Signed-off-by: Stephane Contri <Stephane.Contri@xxxxxxxxxxxxxxx>
    Signed-off-by: Lennert Buytenhek <buytenh@xxxxxxxxxxx>
    Cc: stable@xxxxxxxxxx
    Signed-off-by: David S. Miller <davem@xxxxxxxxxxxxx>

commit 78c29bd95bd8d2c3bcf7932cb3ab8ae01cd8f58f
Author: Eric Dumazet <eric.dumazet@xxxxxxxxx>
Date:   Thu Jul 2 04:04:45 2009 +0000

    forcedeth: Fix NAPI race.
    
    Eric Dumazet a écrit :
    > Ingo Molnar a écrit :
    >>> The following changes since commit 52989765629e7d182b4f146050ebba0abf2cb0b7:
    >>>   Linus Torvalds (1):
    >>>         Merge git://git.kernel.org/.../davem/net-2.6
    >>>
    >>> are available in the git repository at:
    >>>
    >>>   master.kernel.org:/pub/scm/linux/kernel/git/davem/net-2.6.git master
    >> Hm, something in this lot quickly wrecked networking here - see the
    >> tx timeout dump below. It starts with:
    >>
    >> [  351.004596] WARNING: at net/sched/sch_generic.c:246 dev_watchdog+0x10b/0x19c()
    >> [  351.011815] Hardware name: System Product Name
    >> [  351.016220] NETDEV WATCHDOG: eth0 (forcedeth): transmit queue 0 timed out
    >>
    >> Config attached. Unfortunately i've got no time to do bisection
    >> today.
    >
    >
    >
    > forcedeth might have a problem, in its netif_wake_queue() logic, but
    > I could not see why a recent patch could make this problem visible now.
    >
    > CPU0/1: AMD Athlon(tm) 64 X2 Dual Core Processor 3800+ stepping 02
    > is not a new cpu either :)
    >
    > forcedeth uses an internal tx_stop without appropriate barrier.
    >
    > Could you try following patch ?
    >
    > (random guess as I dont have much time right now)
    
    We might have a race in napi_schedule(), leaving interrupts disabled forever.
    I cannot test this patch, I dont have the hardware...
    
    Tested-by: Ingo Molnar <mingo@xxxxxxx>
    
    Signed-off-by: David S. Miller <davem@xxxxxxxxxxxxx>

commit 3942453948015228d6b1ae9835a6f6ca3e842aaa
Author: Julia Lawall <julia@xxxxxxx>
Date:   Sat Jul 4 11:31:47 2009 +0000

    drivers/net/smsc911x.c: Fix resource size off by 1 error
    
    The call resource_size(res) returns res->end - res->start + 1 and thus the
    second change is semantics-preserving.  res_size is then used as the second
    argument of a call to request_mem_region, and the memory allocated by this
    call appears to be the same as what is released in the two calls to
    release_mem_region.  So the size argument for those calls should be
    resource_size(size) as well.  Alternatively, in the second call to
    release_mem_region, the second argument could be res_size, as that variable
    has already been initialized at the point of this call.
    
    The problem was found using the following semantic patch:
    (http://www.emn.fr/x-info/coccinelle/)
    
    // <smpl>
    @@
    struct resource *res;
    @@
    
    - (res->end - res->start) + 1
    + resource_size(res)
    
    @@
    struct resource *res;
    @@
    
    - res->end - res->start
    + BAD(resource_size(res))
    // </smpl>
    
    Signed-off-by: Julia Lawall <julia@xxxxxxx>
    Signed-off-by: David S. Miller <davem@xxxxxxxxxxxxx>

commit 4c3dd308adbda61f2ab46a14a0adcca8e1338ea5
Author: Ken Kawasaki <ken_kawasaki@xxxxxxxxxxxxxxx>
Date:   Sat Jul 4 14:17:10 2009 +0000

    pcnet_cs: add new id
    
    add new id (RIOS System PC CARD3 ETHERNET).
    
    Signed-off-by: Ken Kawasaki <ken_kawasaki@xxxxxxxxxxxxxxx>
    Signed-off-by: David S. Miller <davem@xxxxxxxxxxxxx>

commit 1e9d9987598fa58f4bd8e72ee152c879136d6723
Author: Eilon Greenstein <eilong@xxxxxxxxxxxx>
Date:   Sun Jul 5 04:18:14 2009 +0000

    bnx2x: Fix the maximal values of coalescing timeouts.
    
    This patch properly defines the maximum values for rx/tx coalescing timeouts.
    
    Signed-off-by: Vlad Zolotarov <vladz@xxxxxxxxxxxx>
    Signed-off-by: Eilon Greenstein <eilong@xxxxxxxxxxxx>
    Signed-off-by: David S. Miller <davem@xxxxxxxxxxxxx>

commit 3799cf47e3497a472b05f88e7a52a14931597d78
Author: Eilon Greenstein <eilong@xxxxxxxxxxxx>
Date:   Sun Jul 5 04:18:12 2009 +0000

    bnx2x: Disable HC coalescing when setting timeout to zero.
    
    Problem reported by Flavio Leitner <fleitner@xxxxxxxxxx>:
    When setting rx/tx coalescing timeout to the values less than 12 traffic was
    stopped.
    
    The FW supports coalescing in 12us granularity, and so value of less then 12
    should be interpreted as disabling coalescing
    
    Signed-off-by: Vlad Zolotarov <vladz@xxxxxxxxxxxx>
    Signed-off-by: Eilon Greenstein <eilong@xxxxxxxxxxxx>
    Signed-off-by: David S. Miller <davem@xxxxxxxxxxxxx>

commit d23e43658aed286b885d398ff0810f04f6aae97f
Author: Herbert Xu <herbert@xxxxxxxxxxxxxxxxxxx>
Date:   Thu Jul 2 23:03:55 2009 +0000

    tun: Fix device unregister race
    
    It is currently possible for an asynchronous device unregister
    to cause the same tun device to be unregistered twice.  This
    is because the unregister in tun_chr_close only checks whether
    __tun_get(tfile) != NULL.  This however has nothing to do with
    whether the device has already been unregistered.  All it tells
    you is whether __tun_detach has been called.
    
    This patch fixes this by using the most obvious thing to test
    whether the device has been unregistered.
    
    It also moves __tun_detach outside of rtnl_unlock since nothing
    that it does requires that lock.
    
    Signed-off-by: Herbert Xu <herbert@xxxxxxxxxxxxxxxxxxx>
    Signed-off-by: David S. Miller <davem@xxxxxxxxxxxxx>

commit 0a6843483c256c859cd9542361812a29403f0fb5
Author: Andy Walls <awalls@xxxxxxxxx>
Date:   Sun Jul 5 16:22:45 2009 -0300

    V4L/DVB (12206): get_dvb_firmware: Correct errors in MPC718 firmware extraction logic
    
    The extraction routine for the MPC718 "firmware" had 2 bugs in it, where one
    bug masked the effect of the other.  The loop iteration should have set
    $prevlen = $currlen at the end of the loop, and the if() check should have used
    && instead of || for deciding if the firmware length is reasonable.
    
    Signed-off-by: Andy Walls <awalls@xxxxxxxxx>
    Signed-off-by: Mauro Carvalho Chehab <mchehab@xxxxxxxxxx>

commit a5ca3a1bc719cb9056acc6f24340a1e2674f21a0
Author: Jiri Slaby <jirislaby@xxxxxxxxx>
Date:   Sun Jul 5 15:44:20 2009 -0300

    V4L/DVB (12203): radio-si470x: fix lock imbalance
    
    There is one path with omitted unlock in si470x_fops_release. Fix that.
    
    Cc: Tobias Lorenz <tobias.lorenz@xxxxxxx>
    Signed-off-by: Jiri Slaby <jirislaby@xxxxxxxxx>
    Signed-off-by: Douglas Schilling Landgraf <dougsland@xxxxxxxxxx>
    Signed-off-by: Mauro Carvalho Chehab <mchehab@xxxxxxxxxx>

commit 11b79ea75ada39b7f1efdebdad520c93c3ac1f0e
Author: Jiri Slaby <jirislaby@xxxxxxxxx>
Date:   Sun Jul 5 14:06:41 2009 -0300

    V4L/DVB (12202): em28xx, fix lock imbalance
    
    There is one omitted unlock in em28xx_usb_probe. Fix that.
    
    Signed-off-by: Jiri Slaby <jirislaby@xxxxxxxxx>
    Signed-off-by: Douglas Schilling Landgraf <dougsland@xxxxxxxxxx>
    Signed-off-by: Mauro Carvalho Chehab <mchehab@xxxxxxxxxx>

commit 791a08fc01aaa293a73c9dce260327fdee288faf
Author: Mauro Carvalho Chehab <mchehab@xxxxxxxxxx>
Date:   Fri Jul 3 15:36:18 2009 -0300

    V4L/DVB (12172): em28xx: Add autodetection code for Silvercrest 1.3 mpix
    
    Signed-off-by: Mauro Carvalho Chehab <mchehab@xxxxxxxxxx>

commit 58fc1ce37aba8e6371e1ec8a90d650b1965ee6c8
Author: Mauro Carvalho Chehab <mchehab@xxxxxxxxxx>
Date:   Fri Jul 3 02:54:18 2009 -0300

    V4L/DVB (12171): em28xx: fix webcam usage with different output formats
    
    Discovered the bug that were limiting the output format to just RGB565.
    Now, it is possible to output image at Bayer format (the original one,
    as generated by Silvercrest sensor, and two others), and also on YUY.
    
    Adds Bayer formats also to the driver.
    
    Signed-off-by: Mauro Carvalho Chehab <mchehab@xxxxxxxxxx>

commit 557dca5f48a45df88a73e69ee0700cfd4e2358c9
Author: Russell King <rmk@xxxxxxxxxxxxxxxxxxxxxxx>
Date:   Sun Jul 5 22:39:08 2009 +0100

    [ARM] amba: fix amba device resources
    
    AMBA device resources were being reported as:
    
    10004000-10004fff : <BAD>
    
    This is because dev_name() was returning NULL prior to device_register.
    Ensure that the struct device is properly initialized, and the name is
    set before adding it to the device tree.
    
    Signed-off-by: Russell King <rmk+kernel@xxxxxxxxxxxxxxxx>

commit ed5f1431ebeeba8cc6739e9cd905a7895b66184c
Author: Mauro Carvalho Chehab <mchehab@xxxxxxxxxx>
Date:   Thu Jul 2 17:34:04 2009 -0300

    V4L/DVB (12169): em28xx-video: fix VIDIOC_G_FMT and VIDIOC_ENUMFMT with webcams
    
    Webcams have different constraints than other v4l devices. This patch
    makes the format ioctls to behave better. It also fixes a bug at open()
    handler, that were always reseting resolution to the maximum available
    one.
    
    Signed-off-by: Mauro Carvalho Chehab <mchehab@xxxxxxxxxx>

commit f797608cc4f19b44b83ec39c87e14af6fa07826d
Author: Devin Heitmueller <dheitmueller@xxxxxxxxxxxxxx>
Date:   Mon Jun 22 22:32:32 2009 -0300

    V4L/DVB (12156): em28xx: Fix tuning for Terratec Cinergy T XS USB (zl10353 version)
    
    Fix the code so that the zl10353 version of the Terratec Cinergy T XS USB
    starts working again.  This includes fixing what must have been a typo in the
    GPIO definition for the digital side of the board, and setting of the
    disable_i2c_gate_ctrl property for the zl10353 config, so that the i2c bus
    doesn't get wedged the first time something tries to close the gate.
    
    Also, add a printk() making clear that the mt352 version still isn't
    supported.  This issue is still being actively debugged, but in the meantime
    at least the dmesg output will show a very clear error...
    
    Thanks to Jelle de Jong for providing sample hardware to test with.
    
    Thanks to Simon Kenyon for testing various patches and providing SSH access to
    his environment so I could debug with access to a valid signal source.
    
    Cc: Jelle de Jong <jelledejong@xxxxxxxxxxxxx>
    Cc: Simon Kenyon <simon@xxxxxxxx>
    Signed-off-by: Devin Heitmueller <dheitmueller@xxxxxxxxxxxxxx>
    Signed-off-by: Mauro Carvalho Chehab <mchehab@xxxxxxxxxx>

commit 43cb9fe3291bb96390c1d188eb61c2d1581bb61e
Author: Mauro Carvalho Chehab <mchehab@xxxxxxxxxx>
Date:   Tue Jun 30 08:36:17 2009 -0300

    V4L/DVB (12139): em28xx: add other video formats
    
    Add suppport for the teste RGB565 format (16 bits/pixel).
    Currently, webcam support works only at RGB565, at 640x480.
    
    Signed-off-by: Mauro Carvalho Chehab <mchehab@xxxxxxxxxx>

commit 02e7804b2135ff941b8846f5820cf48fbfdadd54
Author: Mauro Carvalho Chehab <mchehab@xxxxxxxxxx>
Date:   Mon Jun 29 11:35:05 2009 -0300

    V4L/DVB (12138): em28xx: add support for Silvercrest Webcam
    
    This webcam uses a em2710 chipset, that identifies itself as em2820,
    plus a mt9v011 sensor, and a DY-301P lens.
    
    It needs a few different initializations than a normal em28xx device.
    
    Thanks to Hans de Goede <hdegoede@xxxxxxxxxx> and Douglas Landgraf
    <dougsland@xxxxxxxxxx> for providing the acces for the webcam during
    this weekend, I could make a patch for it while returning back from
    FISL/Fudcom LATAM 2009.
    
    Signed-off-by: Mauro Carvalho Chehab <mchehab@xxxxxxxxxx>

commit 6934e6fface7b7d5fe7e578c3f43cbe8f23af2d4
Author: Mauro Carvalho Chehab <mchehab@xxxxxxxxxx>
Date:   Sat Jul 4 08:15:11 2009 -0300

    V4L/DVB (12174): mt9v011: let's stick with datasheet values where it works
    
    The original driver for Silvercrest cameras were using some values that
    are different from what datasheet says. As result, it was taken very
    less snapshots per second than expected.
    
    A test with the datasheet values showed that they work fine and give a
    better frame rate. So, let's stick with datasheet values.
    
    Signed-off-by: Mauro Carvalho Chehab <mchehab@xxxxxxxxxx>

commit 27fe4a30a211a0561c72b0e519997e91fa91c452
Author: Mauro Carvalho Chehab <mchehab@xxxxxxxxxx>
Date:   Sat Jul 4 08:03:48 2009 -0300

    V4L/DVB (12173): mt9v011: properly calculate image resolution registers
    
    Instead of working with a table of precalculated values, fill them with
    the proper values. Also, adds format functions that allow changing the
    resolution, by cropping the image to the center of the sensor.
    
    While here, move the sensor version check to the probe routine, to
    indicate to the caller if the sensor is not supported by this driver.
    
    Also, fixes a stupid bug where we're using &buffer[] instead of
    buffer[].
    
    Signed-off-by: Mauro Carvalho Chehab <mchehab@xxxxxxxxxx>

commit fbe2800c932573e90e38a9c703165839e0c00515
Author: Mauro Carvalho Chehab <mchehab@xxxxxxxxxx>
Date:   Mon Jun 29 11:12:05 2009 -0300

    V4L/DVB (12137): mt9v011: CodingStyle fixes
    
    Signed-off-by: Mauro Carvalho Chehab <mchehab@xxxxxxxxxx>

commit afe09f821ffa733d1cbfbf4e7cc41bd1cb8dcffb
Author: Mauro Carvalho Chehab <mchehab@xxxxxxxxxx>
Date:   Mon Jun 29 11:03:22 2009 -0300

    V4L/DVB (12136): mt9v011: Some fixes at the register initialization table
    
    Signed-off-by: Mauro Carvalho Chehab <mchehab@xxxxxxxxxx>

commit 7dfba00d05f3c7db9510f3b54a472981cf1521af
Author: Mauro Carvalho Chehab <mchehab@xxxxxxxxxx>
Date:   Mon Jun 29 05:41:26 2009 -0300

    V4L/DVB (12135): Add a driver for mt9v011 sensor
    
    Adds driver for mt9v011 based on its datasheet, available at:
    	http://download.micron.com/pdf/datasheets/imaging/MT9V011.pdf
    
    The driver was tested with a webcam that will be added on a next patch.
    
    Signed-off-by: Mauro Carvalho Chehab <mchehab@xxxxxxxxxx>

commit b179bc4579f67c6f1df524c48b28cacf0c7a1b91
Author: Michael Krufky <mkrufky@xxxxxxxxxxxxxx>
Date:   Tue Jun 16 17:08:17 2009 -0300

    V4L/DVB (12166): cx23885: add FIXME comment above set_frontend override
    
    add FIXME comment to indicate that the set_frontend override is a
    temporary hack.  This will be done a better way in the next kernel.
    
    Signed-off-by: Michael Krufky <mkrufky@xxxxxxxxxxxxxx>
    Signed-off-by: Mauro Carvalho Chehab <mchehab@xxxxxxxxxx>

commit f35b9e8039c04f0cb9fe3a051ce941b1524a8798
Author: Michael Krufky <mkrufky@xxxxxxxxxxxxxx>
Date:   Fri May 8 22:39:24 2009 -0300

    V4L/DVB (12165): cx23885: override set_frontend to allow rf input path switching on the HVR1275
    
    Use separate RF input spigots for Antennae and Cable.
    
    Reviewed-by: Steven Toth <stoth@xxxxxxxxxxxxxx>
    Signed-off-by: Michael Krufky <mkrufky@xxxxxxxxxxxxxx>
    Signed-off-by: Mauro Carvalho Chehab <mchehab@xxxxxxxxxx>

commit 509dd025a4ac6f32921211557cfd434b81d8d7a7
Author: Mauro Carvalho Chehab <mchehab@xxxxxxxxxx>
Date:   Tue Jun 30 16:07:26 2009 -0300

    V4L/DVB (12148): move V4L2_PIX_FMT_SGRBG8 to the proper place
    
    Instead of defining a new pif format on an internal header, move it to
    the V4L2 API header.
    
    Signed-off-by: Mauro Carvalho Chehab <mchehab@xxxxxxxxxx>

commit ff861fb21e44ab178eddc6a1dd7c5478e3eb2ec5
Author: Andy Walls <awalls@xxxxxxxxx>
Date:   Fri Jul 3 11:54:40 2009 -0300

    V4L/DVB (12182): cx18: Add DVB-T support for Yuan MPC-718 cards with an MT352 or ZL10353
    
    Add DVB-T support for Yuan MPC-718 cards with an MT352 or ZL10353 demodulator.
    
    There are apparently some units with a DiBcom demodulator which could be
    supported by one of the dib7000 modules - but this is not implemented in the
    cx18 driver (yet).
    
    Due to lack of porgramming details for the MT352 and the mt352 module requiring
    a "demod_init" function, a "firmware" must be obtained and loaded to get
    DVB-T working for Yuan MPC-718 cards with an MT352.
    
    Tested-by: Steve Firth <firth650@xxxxxxxxxxxxxx>
    Signed-off-by: Andy Walls <awalls@xxxxxxxxx>
    Signed-off-by: Mauro Carvalho Chehab <mchehab@xxxxxxxxxx>

commit 9f38a920b232800fd4000ba3d4617b41198e017e
Author: Andy Walls <awalls@xxxxxxxxx>
Date:   Fri Jul 3 11:33:17 2009 -0300

    V4L/DVB (12181): get_dvb_firmware: Add Yuan MPC718 MT352 DVB-T "firmware" extraction
    
    Add routine to support extracting the MT352 DVB-T demodulator initialization
    sequence for Yuan MPC718 cards for use by the cx18 driver.
    
    This routine uses a hueristic for extracting a good sequence.  It should work
    on all different versions of the "yuanrap.sys" file, given the way the MT352
    tuning sequences are stored in all versions of that file I have seen so far.
    However, the current patch simply looks for one specific archive URL.
    
    Signed-off-by: Andy Walls <awalls@xxxxxxxxx>
    Signed-off-by: Mauro Carvalho Chehab <mchehab@xxxxxxxxxx>

commit 637fb3d70b1e53a127cba5ffae5aa3b2b9f57df6
Author: Andy Walls <awalls@xxxxxxxxx>
Date:   Fri Jul 3 11:30:27 2009 -0300

    V4L/DVB (12180): cx18: Update Yuan MPC-718 card entry with better information and guesses
    
    Signed-off-by: Andy Walls <awalls@xxxxxxxxx>
    Signed-off-by: Mauro Carvalho Chehab <mchehab@xxxxxxxxxx>

commit 6e707b4c6d1fcf0fca6a4525e0ff66d35e21a517
Author: Andy Walls <awalls@xxxxxxxxx>
Date:   Thu Jun 11 07:57:50 2009 -0300

    V4L/DVB (12167): tuner-xc2028: Fix 7 MHz DVB-T
    
    The following patch should fix 7 MHz DVB-T with the XC3028 using the
    DTV7 firmware from the xc3028-v27.fw firmware image.
    
    Tested-by: Terry Wu <terrywu2009@xxxxxxxxx>
    [mchehab@xxxxxxxxxx: thanks to John Ferlito, we have a real test in Australia]
    Signed-off-by: Andy Walls <awalls@xxxxxxxxx>
    Signed-off-by: Mauro Carvalho Chehab <mchehab@xxxxxxxxxx>

commit c06950ae4dccf59566fec7ae269aaeb24685c16c
Author: Guennadi Liakhovetski <g.liakhovetski@xxxxxx>
Date:   Wed Jun 24 10:31:25 2009 -0300

    V4L/DVB (12160): soc-camera: fix missing clean up on error path
    
    If soc_camera_init_user_formats() fails in soc_camera_probe(), we have to call
    client's .remove() method to unregister the video device.
    
    Reported-by: Kuninori Morimoto <morimoto.kuninori@xxxxxxxxxxx>
    Signed-off-by: Guennadi Liakhovetski <g.liakhovetski@xxxxxx>
    Signed-off-by: Mauro Carvalho Chehab <mchehab@xxxxxxxxxx>

commit 14df2ccead8f6da5a9c8f904fc629aaf849b7e55
Author: Stefan Herbrechtsmeier <hbmeier@xxxxxxxxxxxxxxxxxxxx>
Date:   Wed Jun 24 10:31:25 2009 -0300

    V4L/DVB (12159): soc_camera: Fix debug output of supported formats count
    
    The supported formats count must be set to 0 after debug output
    right before the second pass.
    
    Signed-off-by: Stefan Herbrechtsmeier <hbmeier@xxxxxxxxxxxxxxxxxxxx>
    Signed-off-by: Guennadi Liakhovetski <g.liakhovetski@xxxxxx>
    Signed-off-by: Mauro Carvalho Chehab <mchehab@xxxxxxxxxx>

commit 3175da83a0a85fa03c9c34061906a9ca0725af0d
Author: Hans Verkuil <hverkuil@xxxxxxxxx>
Date:   Fri Jun 26 15:35:04 2009 -0300

    V4L/DVB (12153): ttpci: config TTPCI_EEPROM depends on I2C
    
    If I2C is not enabled, then we shouldn't build ttpci_eeprom.c.
    
    Signed-off-by: Hans Verkuil <hverkuil@xxxxxxxxx>
    Signed-off-by: Mauro Carvalho Chehab <mchehab@xxxxxxxxxx>

commit fe96efc1a3c049f0a1bcd9b65e0faeb751ce5ec6
Author: Artem Bityutskiy <Artem.Bityutskiy@xxxxxxxxx>
Date:   Tue Jun 30 16:11:59 2009 +0300

    UBI: nicify image sequence number handling
    
    Move the image seq. number handling from I/O level to the scanning
    lever, where it really belongs to. Move the @image_seq_set variable
    to the @struct ubi_scan_info structure, which exists only during
    scanning.
    
    Signed-off-by: Artem Bityutskiy <Artem.Bityutskiy@xxxxxxxxx>

commit 0c6c7fa1313fcb69cae35e34168d2e83b8da854a
Author: Adrian Hunter <adrian.hunter@xxxxxxxxx>
Date:   Fri Jun 26 14:58:01 2009 +0300

    UBI: add image sequence number to EC header
    
    An image sequence number is added to the UBI erase-counter header
    to be able determine if the root file system contains a mixture
    of old and new images (because the flashing failed to complete).
    
    A change to nolo is also needed for this to take effect.
    
    Signed-off-by: Adrian Hunter <adrian.hunter@xxxxxxxxx>
    Signed-off-by: Artem Bityutskiy <Artem.Bityutskiy@xxxxxxxxx>

commit 1398788fe7b730db10e97dcb9f838603e41922d5
Author: Artem Bityutskiy <Artem.Bityutskiy@xxxxxxxxx>
Date:   Mon Jun 29 15:58:36 2009 +0300

    UBI: remove bogus debugging checks
    
    The 'paranoid_check_empty()' is bogus because, which is easilly
    seen on NOR flash, which has long erase cycles, and which may
    easilly end-up with half-erased eraseblocks. In this case the
    paranoid check fails. I is just wrong to assume that PEBs which
    do not have EC headers always contain all 0xFF. Such assumption
    should not be made on the I/O level, which is quite low.
    
    Thus, just kill the check.
    
    Signed-off-by: Artem Bityutskiy <Artem.Bityutskiy@xxxxxxxxx>

commit 40a71a87fa8e0cb3ec0fca4d152263734b203eb2
Author: Artem Bityutskiy <Artem.Bityutskiy@xxxxxxxxx>
Date:   Sun Jun 28 19:16:55 2009 +0300

    UBI: add empty eraseblocks verification
    
    This patch adds code which makes sure eraseblocks contain all 0xFF
    bytes before starting using them. The verification is done only when
    debugging checks are enabled.
    
    Signed-off-by: Artem Bityutskiy <Artem.Bityutskiy@xxxxxxxxx>

commit 8f6035732a0484a84a1c9cd85312de234ddaa309
Author: Artem Bityutskiy <Artem.Bityutskiy@xxxxxxxxx>
Date:   Fri Jul 3 11:21:54 2009 +0300

    MAINTAINERS: update ahunter's e-mail address
    
    Signed-off-by: Artem Bityutskiy <Artem.Bityutskiy@xxxxxxxxx>

commit 7fcd9c3ecbf09c0a77db7ba01aac75b32fb79a93
Author: Daniel Mack <daniel@xxxxxxxx>
Date:   Thu Jul 2 17:15:47 2009 +0200

    UBIFS: allow more than one volume to be mounted
    
    UBIFS uses a bdi device per volume, but does not care to hand out unique
    names to each of them. This causes an error when trying to mount more
    than one volumes. Append the UBI volume and device ID to avoid that.
    
    [Amended a bit by Artem Bityutskiy]
    
    Signed-off-by: Daniel Mack <daniel@xxxxxxxx>
    Cc: Artem Bityutskiy <dedekind@xxxxxxxxxxxxx>
    Cc: Adrian Hunter <ext-adrian.hunter@xxxxxxxxx>
    Cc: linux-mtd@xxxxxxxxxxxxxxxxxxx
    Signed-off-by: Artem Bityutskiy <Artem.Bityutskiy@xxxxxxxxx>

commit 1fb8bd01ed0af0d0577e010e8c6b4234de583fa6
Author: Artem Bityutskiy <Artem.Bityutskiy@xxxxxxxxx>
Date:   Sun Jun 28 18:31:58 2009 +0300

    UBIFS: fix assertion warning
    
    When debugging is enabled and an unclean file-system is mounter,
    the following assertion is triggered:
    
    UBIFS assert failed in ubifs_tnc_start_commit at 805 (pid 1081)
    Call Trace:
    [cfaffbd0] [c0006cf8] show_stack+0x44/0x16c (unreliable)
    [cfaffc10] [c011b738] ubifs_tnc_start_commit+0xbb8/0xd18
    [cfaffc90] [c0112670] do_commit+0x150/0xa44
    [cfaffd10] [c0125234] ubifs_rcvry_gc_commit+0xd8/0x544
    [cfaffd60] [c0100e9c] ubifs_fill_super+0xe78/0x15f8
    [cfaffdf0] [c0102118] ubifs_get_sb+0x20c/0x320
    [cfaffe70] [c007f764] vfs_kern_mount+0x58/0xe0
    [cfaffe90] [c007f83c] do_kern_mount+0x40/0xf8
    [cfaffeb0] [c0095c24] do_mount+0x550/0x758
    [cfafff10] [c0095ebc] sys_mount+0x90/0xe0
    [cfafff40] [c000ed4c] ret_from_syscall+0x0/0x3c
    
    The reason is that we initialize 'c->min_leb_idx' early, and do
    not re-calculate it after journal replay.
    
    Signed-off-by: Artem Bityutskiy <Artem.Bityutskiy@xxxxxxxxx>

commit 681947d2fa1a00629de33c4df3ca72c39f06a14c
Author: Adrian Hunter <adrian.hunter@xxxxxxxxx>
Date:   Wed Jun 24 09:59:38 2009 +0300

    UBIFS: minor spelling and grammar fixes
    
    Signed-off-by: Adrian Hunter <adrian.hunter@xxxxxxxxx>

commit 44737589442bf69d811e003d9d0064b8fc1541d6
Author: Adrian Hunter <adrian.hunter@xxxxxxxxx>
Date:   Wed Jun 24 10:15:12 2009 +0300

    UBIFS: fix 64-bit divisions in debug print
    
    Signed-off-by: Adrian Hunter <adrian.hunter@xxxxxxxxx>

commit cb54ef8b1304fe25f3d57031e0f85558a043239f
Author: Artem Bityutskiy <Artem.Bityutskiy@xxxxxxxxx>
Date:   Tue Jun 23 20:30:32 2009 +0300

    UBIFS: few spelling fixes
    
    Signed-off-by: Artem Bityutskiy <Artem.Bityutskiy@xxxxxxxxx>

commit 2a35a3a8ab3e94afd631ed4b45878ceb98f7ab28
Author: Artem Bityutskiy <Artem.Bityutskiy@xxxxxxxxx>
Date:   Tue Jun 23 20:26:33 2009 +0300

    UBIFS: set write-buffer timout to 3-5 seconds
    
    This patch cleans up write-buffer timeout initialization and
    sets it to 3-5 interval.
    
    Signed-off-by: Artem Bityutskiy <Artem.Bityutskiy@xxxxxxxxx>

commit 0b335b9d7d5f0b832e90ac469480789c07be80ad
Author: Artem Bityutskiy <Artem.Bityutskiy@xxxxxxxxx>
Date:   Tue Jun 23 12:30:43 2009 +0300

    UBIFS: slightly optimize write-buffer timer usage
    
    This patch adds the following minor optimization:
    
    1. If write-buffer does not use the timer, indicate it with the
       wbuf->no_timer variable, instead of using the wbuf->softlimit
       variable. This is better because wbuf->softlimit is of ktime_t
       type, and the ktime_to_ns function contains 64-bit multiplication.
    
    2. Do not call the 'hrtimer_cancel()' function for write-buffers
       which do not use timers.
    
    3. Do not cancel the timer in 'ubifs_put_super()' because the
       synchronization function does this.
    
    This patch also removes a confusing comment.
    
    Signed-off-by: Artem Bityutskiy <Artem.Bityutskiy@xxxxxxxxx>

commit 70aee2f153972f70fad5f7025134fec063f9efbe
Author: Artem Bityutskiy <Artem.Bityutskiy@xxxxxxxxx>
Date:   Thu Jun 18 13:37:15 2009 +0300

    UBIFS: improve debugging messaged
    
    1. Make the I/O debugging message print the journal head number.
    2. Add prints to timer functions.
    
    Signed-off-by: Artem Bityutskiy <Artem.Bityutskiy@xxxxxxxxx>

commit e3dc5a665d39112e98cfd5bbc7fda2963c00c12c
Author: Adrian Hunter <adrian.hunter@xxxxxxxxx>
Date:   Mon Jun 22 17:31:09 2009 +0300

    UBIFS: fix integer overflow warning
    
    Fix the following warning:
    
    fs/ubifs/io.c: In function 'ubifs_wbuf_init':
    fs/ubifs/io.c:860: warning: integer overflow in expression
    
    And limit maximum hrtimer delta to ULONG_MAX because the
    argument is 'unsigned long'.
    
    Signed-off-by: Adrian Hunter <adrian.hunter@xxxxxxxxx>
    Signed-off-by: Artem Bityutskiy <Artem.Bityutskiy@xxxxxxxxx>

commit 65b1bfc13e8f50034187e339aa12b81cd6785bd5
Author: Russell King <rmk@xxxxxxxxxxxxxxxxxxxxxxx>
Date:   Sun Jul 5 11:52:21 2009 +0100

    [ARM] pgtable: file pte layout documentation
    
    Document the layout of our file PTE entries.
    
    Signed-off-by: Russell King <rmk+kernel@xxxxxxxxxxxxxxxx>

commit fb93a1c75eb646fde35985e9af23da936775ae52
Author: Russell King <rmk@xxxxxxxxxxxxxxxxxxxxxxx>
Date:   Sun Jul 5 11:30:15 2009 +0100

    [ARM] pgtable: swp pte layout documentation, definitions, and check
    
    Document the layout of our swp PTE entries, adding definitions for
    the bit masks/shifts/sizes, and implement MAX_SWAPFILES_CHECK()
    such that we fail to build if we are unable to properly encode the
    swp type field.
    
    Signed-off-by: Russell King <rmk+kernel@xxxxxxxxxxxxxxxx>

commit ba9b42e4ff5eb68f9c946378229d7e45299d7151
Author: Russell King <rmk@xxxxxxxxxxxxxxxxxxxxxxx>
Date:   Sun Jul 5 10:50:37 2009 +0100

    [ARM] export __cpu_flush_dcache_page
    
    Now required for libsas:
    
      Kernel: arch/arm/boot/Image is ready
      Kernel: arch/arm/boot/zImage is ready
      Building modules, stage 2.
      MODPOST 1096 modules
    ERROR: "xscale_flush_kern_dcache_page" [drivers/scsi/libsas/libsas.ko] undefined!
    
    Signed-off-by: Russell King <rmk+kernel@xxxxxxxxxxxxxxxx>

commit a22ebd069d5b533392e9bef77b73147a2f82b30b
Author: Josh Boyer <jwboyer@xxxxxxxxxxxxxxxxxx>
Date:   Sun Jul 5 10:02:15 2009 -0400

    powerpc/44x: Fix build error with -Werror for Warp platform
    
    With -Werror enabled during the build, the warp.c file fails to build
    due to the temp_isr function not containing a return statement.  This
    fixes the build error and documents that the function never returns.
    
    Signed-off-by: Josh Boyer <jwboyer@xxxxxxxxxxxxxxxxxx>

commit ba703e1a7a0b32f740bcfba8e60ad193afa4e723
Author: Sean MacLennan <smaclennan@xxxxxxxxxxxx>
Date:   Sun Jun 28 11:22:51 2009 +0000

    powerpc/4xx: Have Warp take advantage of GPIO LEDs default-state = keep
    
    The GPIO LEDS driver now has a default state of "keep".  Update the Warp DTS
    and platform file to take advantage of this new state.  This removes the
    hardcoding of the two LEDs on the Warp.
    
    Signed-off-by: Sean MacLennan <smaclennan@xxxxxxxxxxxx>
    Signed-off-by: Josh Boyer <jwboyer@xxxxxxxxxxxxxxxxxx>

commit 7c3a742a86055df1d18aac25bb8652735b3491ef
Author: Sean MacLennan <smaclennan@xxxxxxxxxxxx>
Date:   Tue Jun 16 05:24:35 2009 +0000

    powerpc/44x: Update Warp defconfig
    
    * Enable GPIO LEDS and LED triggers
    * Move to SLUB
    * Enable HOTPLUG
    * Enable timestamps on printks
    * Enable UBIFS
    * Enable in-kernel config
    
    Signed-off-by: Sean MacLennan <smaclennan@xxxxxxxxxxxx>
    Signed-off-by: Josh Boyer <jwboyer@xxxxxxxxxxxxxxxxxx>

commit c285addb3991c9b73b8d1a2b652ce0f1f67e90e1
Author: Mauro Carvalho Chehab <mchehab@xxxxxxxxxx>
Date:   Thu Jun 25 16:28:23 2009 -0300

    V4L/DVB (12134): vivi: bug: don't assume that S_STD will be called before streaming
    
    precalculate_bars() improved vivi performance. However, it assumed that
    always before streaming, the driver would call VIDIOC_S_STD. This is not
    an API requirement, and the testing apps don't do that.
    
    Due to that, a regression were caused by the patch that added it.
    
    This patch moves the precalculate_bars to the proper place of the code,
    calling it at buffer_prepare() callback.
    
    Signed-off-by: Mauro Carvalho Chehab <mchehab@xxxxxxxxxx>

commit aba6653617754e12763a0d3c9dda332b66190a50
Author: Takashi Iwai <tiwai@xxxxxxx>
Date:   Sun Jul 5 11:44:46 2009 +0200

    ALSA: hda - Fix error path in the sanity check in azx_pcm_open()
    
    Release resources cleanly after errors in the sanity check in
    azx_pcm_open().
    
    Signed-off-by: Takashi Iwai <tiwai@xxxxxxx>

commit 805d127d62472f17c7d79baa001a7651afe2fa47
Author: Frederic Weisbecker <fweisbec@xxxxxxxxx>
Date:   Sun Jul 5 07:39:21 2009 +0200

    perf report: Add "Fractal" mode output - support callchains with relative overhead rate
    
    The current callchain displays the overhead rates as absolute:
    relative to the total overhead.
    
    This patch provides relative overhead percentage, in which each
    branch of the callchain tree is a independant instrumentated object.
    
    This provides a 'fractal' view of the call-chain profile: each
    sub-graph looks like a profile in itself - relative to its parent.
    
    You can produce such output by using the "fractal" mode
    that you can abbreviate via f, fr, fra, frac, etc...
    
    ./perf report -s sym -c fractal
    
    Example:
    
         8.46%  [k] copy_user_generic_string
                    |
                    |--52.01%-- generic_file_aio_read
                    |          do_sync_read
                    |          vfs_read
                    |          |
                    |          |--97.20%-- sys_pread64
                    |          |          system_call_fastpath
                    |          |          pread64
                    |          |
                    |           --2.81%-- sys_read
                    |                     system_call_fastpath
                    |                     __read
                    |
                    |--39.85%-- generic_file_buffered_write
                    |          __generic_file_aio_write_nolock
                    |          generic_file_aio_write
                    |          do_sync_write
                    |          reiserfs_file_write
                    |          vfs_write
                    |          |
                    |          |--97.05%-- sys_pwrite64
                    |          |          system_call_fastpath
                    |          |          __pwrite64
                    |          |
                    |           --2.95%-- sys_write
                    |                     system_call_fastpath
                    |                     __write_nocancel
    [...]
    
    Signed-off-by: Frederic Weisbecker <fweisbec@xxxxxxxxx>
    Cc: Peter Zijlstra <a.p.zijlstra@xxxxxxxxx>
    Cc: Mike Galbraith <efault@xxxxxx>
    Cc: Paul Mackerras <paulus@xxxxxxxxx>
    Cc: Anton Blanchard <anton@xxxxxxxxx>
    Cc: Jens Axboe <jens.axboe@xxxxxxxxxx>
    Cc: Arnaldo Carvalho de Melo <acme@xxxxxxxxxx>
    LKML-Reference: <1246772361-9960-5-git-send-email-fweisbec@xxxxxxxxx>
    Signed-off-by: Ingo Molnar <mingo@xxxxxxx>

commit e05b876c222178bc6abcfa9f23d8311731691046
Author: Frederic Weisbecker <fweisbec@xxxxxxxxx>
Date:   Sun Jul 5 07:39:20 2009 +0200

    perf_counter tools: callchains: Manage the cumul hits on the fly
    
    The cumul hits are the number of hits of every childs of a node
    plus the hits of the current nodes, required for percentage
    computing of a branch.
    
    Theses numbers are calculated during the sorting of the branches of
    the callchain tree using a depth first postfix traversal, so that
    cumulative hits are propagated in the right order.
    
    But if we plan to implement percentages relative to the parent and not
    absolute percentages (relative to the whole overhead), we need to know
    the cumulative hits of the parent before computing the children
    because the relative minimum acceptable number of entries (ie: minimum
    rate against the cumulative hits from the parent) is the basis to
    filter the children against a given rate.
    
    Then we need to handle the cumul hits on the fly to prepare the
    implementation of relative overhead rates.
    
    Signed-off-by: Frederic Weisbecker <fweisbec@xxxxxxxxx>
    Cc: Peter Zijlstra <a.p.zijlstra@xxxxxxxxx>
    Cc: Mike Galbraith <efault@xxxxxx>
    Cc: Paul Mackerras <paulus@xxxxxxxxx>
    Cc: Anton Blanchard <anton@xxxxxxxxx>
    Cc: Jens Axboe <jens.axboe@xxxxxxxxxx>
    Cc: Arnaldo Carvalho de Melo <acme@xxxxxxxxxx>
    LKML-Reference: <1246772361-9960-4-git-send-email-fweisbec@xxxxxxxxx>
    Signed-off-by: Ingo Molnar <mingo@xxxxxxx>

commit 94a8eb028a57854157a936c7e66b09e2559f115a
Author: Frederic Weisbecker <fweisbec@xxxxxxxxx>
Date:   Sun Jul 5 07:39:19 2009 +0200

    perf report: Change default callchain parameters
    
    The default callchain parameters are set to use the flat mode and never
    filter any overhead threshold of backtrace.
    
    But flat mode is boring compared to graph mode.
    Also the number of callchains may be very high if none is
    filtered.
    
    Let's change this to set the graph view and a minimum overhead of 0.5%
    as default parameters.
    
    Reported-by: Ingo Molnar <mingo@xxxxxxx>
    Signed-off-by: Frederic Weisbecker <fweisbec@xxxxxxxxx>
    Cc: Peter Zijlstra <a.p.zijlstra@xxxxxxxxx>
    Cc: Mike Galbraith <efault@xxxxxx>
    Cc: Paul Mackerras <paulus@xxxxxxxxx>
    Cc: Anton Blanchard <anton@xxxxxxxxx>
    Cc: Jens Axboe <jens.axboe@xxxxxxxxxx>
    Cc: Arnaldo Carvalho de Melo <acme@xxxxxxxxxx>
    LKML-Reference: <1246772361-9960-3-git-send-email-fweisbec@xxxxxxxxx>
    Signed-off-by: Ingo Molnar <mingo@xxxxxxx>

commit be9038859e56f729cc9d3b070a35fb8829a73696
Author: Frederic Weisbecker <fweisbec@xxxxxxxxx>
Date:   Sun Jul 5 07:39:18 2009 +0200

    perf report: Use a modifiable string for default callchain options
    
    If the user doesn't provide options to tune his callchain output
    (ie: if he uses -c without arguments) then the default value passed
    in the OPT_CALLBACK_DEFAULT() macro is used.
    
    But it's parsed later by strtok() which will replace comma separators
    to a zero. This may segfault as we are using a read-only string.
    
    Use a modifiable one instead, and also fix the "100%" default
    minimum threshold value by turning it into a 0 (output every callchains)
    as it was intended in the origin.
    
    Signed-off-by: Frederic Weisbecker <fweisbec@xxxxxxxxx>
    Cc: Peter Zijlstra <a.p.zijlstra@xxxxxxxxx>
    Cc: Mike Galbraith <efault@xxxxxx>
    Cc: Paul Mackerras <paulus@xxxxxxxxx>
    Cc: Anton Blanchard <anton@xxxxxxxxx>
    Cc: Jens Axboe <jens.axboe@xxxxxxxxxx>
    Cc: Arnaldo Carvalho de Melo <acme@xxxxxxxxxx>
    LKML-Reference: <1246772361-9960-2-git-send-email-fweisbec@xxxxxxxxx>
    Signed-off-by: Ingo Molnar <mingo@xxxxxxx>

commit 91b4eaea93f5be95f4477554399680a53aff2343
Author: Frederic Weisbecker <fweisbec@xxxxxxxxx>
Date:   Sun Jul 5 07:39:17 2009 +0200

    perf report: Warn on callchain output request from non-callchain file
    
    perf report segfaults while trying to handle callchains from a non
    callchain data file.
    
    Instead of a segfault, print a useful message to the user.
    
    Reported-by: Jens Axboe <jens.axboe@xxxxxxxxxx>
    Reported-by: Arnaldo Carvalho de Melo <acme@xxxxxxxxxx>
    Signed-off-by: Frederic Weisbecker <fweisbec@xxxxxxxxx>
    Cc: Peter Zijlstra <a.p.zijlstra@xxxxxxxxx>
    Cc: Mike Galbraith <efault@xxxxxx>
    Cc: Paul Mackerras <paulus@xxxxxxxxx>
    Cc: Anton Blanchard <anton@xxxxxxxxx>
    Cc: Jens Axboe <jens.axboe@xxxxxxxxxx>
    Cc: Arnaldo Carvalho de Melo <acme@xxxxxxxxxx>
    LKML-Reference: <1246772361-9960-1-git-send-email-fweisbec@xxxxxxxxx>
    Signed-off-by: Ingo Molnar <mingo@xxxxxxx>

commit d9a0a345ab7a58a30ec38e5bb7401a28714914d2
Author: Jiro SEKIBA <jir@xxxxxxxxx>
Date:   Sat Jul 4 23:00:53 2009 +0900

    nilfs2: fix disorder in cp count on error during deleting checkpoints
    
    This fixes a bug that checkpoint count gets wrong on errors when
    deleting a series of checkpoints.
    
    The count error is persistent since the checkpoint count is stored on
    disk.  Some userland programs refer to the count via ioctl, and this
    bugfix is needed to prevent malfunction of such programs.
    
    Signed-off-by: Jiro SEKIBA <jir@xxxxxxxxx>
    Signed-off-by: Ryusuke Konishi <konishi.ryusuke@xxxxxxxxxxxxx>
    Cc: stable@xxxxxxxxxx

commit ff54de363afa4583e2a6249f25fe21dfaeb11ea2
Author: Ryusuke Konishi <konishi.ryusuke@xxxxxxxxxxxxx>
Date:   Fri Jun 19 02:53:56 2009 +0900

    nilfs2: fix lockdep warning between regular file and inode file
    
    This will fix the following false positive of recursive locking which
    lockdep has detected:
    
    =============================================
    [ INFO: possible recursive locking detected ]
    2.6.30-nilfs #42
    ---------------------------------------------
    nilfs_cleanerd/10607 is trying to acquire lock:
     (&bmap->b_sem){++++-.}, at: [<e0d025b7>] nilfs_bmap_lookup_at_level+0x1a/0x74 [nilfs2]
    
    but task is already holding lock:
     (&bmap->b_sem){++++-.}, at: [<e0d024e0>] nilfs_bmap_truncate+0x19/0x6a [nilfs2]
    other info that might help us debug this:
    2 locks held by nilfs_cleanerd/10607:
     #0:  (&nilfs->ns_segctor_sem){++++.+}, at: [<e0d0d75a>] nilfs_transaction_begin+0xb6/0x10c [nilfs2]
     #1:  (&bmap->b_sem){++++-.}, at: [<e0d024e0>] nilfs_bmap_truncate+0x19/0x6a [nilfs2]
    
    Signed-off-by: Ryusuke Konishi <konishi.ryusuke@xxxxxxxxxxxxx>

commit 4a52df779700080de4afb0436d9dd9188514a69b
Author: Ryusuke Konishi <konishi.ryusuke@xxxxxxxxxxxxx>
Date:   Thu Jun 18 23:53:25 2009 +0900

    nilfs2: fix incorrect KERN_CRIT messages in case of write failures
    
    In case of write-failure retries, the following KERN_CRIT level
    messages are mistakenly output by nilfs_dat_commit_start() function:
    
    nilfs_dat_commit_start: vbn = 408463, start = 12506, end = 18446744073709551615, pbn = 530210
    nilfs_dat_commit_start: vbn = 408515, start = 12506, end = 18446744073709551615, pbn = 530211
    nilfs_dat_commit_start: vbn = 408464, start = 12506, end = 18446744073709551615, pbn = 530212
    ...
    
    This suppresses these messages.
    
    Signed-off-by: Ryusuke Konishi <konishi.ryusuke@xxxxxxxxxxxxx>
    Cc: stable@xxxxxxxxxx

commit 8227b29722fdbac72357aae155d171a5c777670c
Author: Ryusuke Konishi <konishi.ryusuke@xxxxxxxxxxxxx>
Date:   Thu Jun 18 23:52:23 2009 +0900

    nilfs2: fix hang problem of log writer which occurs after write failures
    
    Leandro Lucarella gave me a report that nilfs gets stuck after its
    write function fails.
    
    The problem turned out to be caused by bugs which leave writeback flag
    on pages.  This fixes the problem by ensuring to clear the writeback
    flag in error path.
    
    Reported-by: Leandro Lucarella <llucax@xxxxxxxxx>
    Signed-off-by: Ryusuke Konishi <konishi.ryusuke@xxxxxxxxxxxxx>
    Cc: stable@xxxxxxxxxx

commit 0cfae3d8795f388f9de78adb0171520d19da77e9
Author: Ryusuke Konishi <konishi.ryusuke@xxxxxxxxxxxxx>
Date:   Thu Jun 18 11:42:53 2009 +0900

    nilfs2: remove unlikely directive causing mis-conversion of error code
    
    The following error code handling in nilfs_segctor_write() function
    wrongly converted negative error codes to a truth value (i.e. 1):
    
       err = unlikely(err) ? : res;
    
    which originaly meant to be
    
       err = err ? : res;
    
    This mis-conversion caused that write or sync functions receive the
    unexpected error code.  This fixes the bug by removing the unlikely
    directive.
    
    Signed-off-by: Ryusuke Konishi <konishi.ryusuke@xxxxxxxxxxxxx>
    Cc: stable@xxxxxxxxxx

commit febe04de3be4bf66f9339d8847db2806d99fd164
Author: Akinobu Mita <akinobu.mita@xxxxxxxxx>
Date:   Wed Jul 1 11:13:07 2009 +0900

    x86: fix usage of bios intcall()
    
    Some intcall() misuses the input biosregs as output in
    cf06de7b9cdd3efee7a59dced1977b3c21d43732
    
    This fixes the problem vga=ask boot option doesn't show enough modes.
    
    Signed-off-by: Akinobu Mita <akinobu.mita@xxxxxxxxx>
    LKML-Reference: <20090701021307.GA3127@xxxxxxxxxxxxxxxxxxxxx>
    Signed-off-by: H. Peter Anvin <hpa@xxxxxxxxx>

commit 3dfc813d94bba2046c6aed216e0fd69ac93a8e03
Author: David Woodhouse <David.Woodhouse@xxxxxxxxx>
Date:   Sat Jul 4 19:11:08 2009 +0100

    intel-iommu: Don't use identity mapping for PCI devices behind bridges
    
    Our current strategy for pass-through mode is to put all devices into
    the 1:1 domain at startup (which is before we know what their dma_mask
    will be), and only _later_ take them out of that domain, if it turns out
    that they really can't address all of memory.
    
    However, when there are a bunch of PCI devices behind a bridge, they all
    end up with the same source-id on their DMA transactions, and hence in
    the same IOMMU domain. This means that we _can't_ easily move them from
    the 1:1 domain into their own domain at runtime, because there might be DMA
    in-flight from their siblings.
    
    So we have to adjust our pass-through strategy: For PCI devices not on
    the root bus, and for the bridges which will take responsibility for
    their transactions, we have to start up _out_ of the 1:1 domain, just in
    case.
    
    This fixes the BUG() we see when we have 32-bit-capable devices behind a
    PCI-PCI bridge, and use the software identity mapping.
    
    It does mean that we might end up using 'normal' mapping mode for some
    devices which could actually live with the faster 1:1 mapping -- but
    this is only for PCI devices behind bridges, which presumably aren't the
    devices for which people are most concerned about performance.
    
    Signed-off-by: David Woodhouse <David.Woodhouse@xxxxxxxxx>

commit 6941af2810c6fc970b88f7c0d52ba4e286acbee5
Author: David Woodhouse <David.Woodhouse@xxxxxxxxx>
Date:   Sat Jul 4 18:24:27 2009 +0100

    intel-iommu: Use iommu_should_identity_map() at startup time too.
    
    At boot time, the dma_mask won't have been set on any devices, so we
    assume that all devices will be 64-bit capable (and thus get a 1:1 map).
    
    Signed-off-by: David Woodhouse <David.Woodhouse@xxxxxxxxx>

commit 9731f4a202f29ff402ea2ddad7ff6f3a559c0c82
Author: Magnus Damm <damm@xxxxxxxxxx>
Date:   Fri Jul 3 09:40:03 2009 +0000

    sh: add r8a66597 usb0 host to the se7724 board
    
    Add USB host support for port CN27 on the Solution Engine 7724
    board. The r8a66597-hcd driver is hooked up as a platform device
    and some registers are configured to enable the USB host function.
    The hardware driving the USB port is the on-chip USB0 block in
    the sh7724 processor configured as USB host controller.
    
    Signed-off-by: Magnus Damm <damm@xxxxxxxxxx>
    Signed-off-by: Paul Mundt <lethal@xxxxxxxxxxxx>

commit 64614e66fbfcaa57598c1678d699520dfbf4f531
Author: Magnus Damm <damm@xxxxxxxxxx>
Date:   Fri Jul 3 09:12:46 2009 +0000

    usb: allow sh7724 to enable on-chip r8a66597
    
    The sh7724 processor has two on-chip r8a66597 blocks, so add
    it to the list of processors for SUPERH_ON_CHIP_R8A66597.
    
    Signed-off-by: Magnus Damm <damm@xxxxxxxxxx>
    Signed-off-by: Paul Mundt <lethal@xxxxxxxxxxxx>

commit 736768325efcbee7b0861d62670d01a54c2d158b
Author: David Woodhouse <David.Woodhouse@xxxxxxxxx>
Date:   Sat Jul 4 14:08:36 2009 +0100

    intel-iommu: No mapping for non-PCI devices
    
    This should fix kernel.org bug #11821, where the dcdbas driver makes up
    a platform device and then uses dma_alloc_coherent() on it, in an
    attempt to get memory < 4GiB.
    
    Signed-off-by: David Woodhouse <David.Woodhouse@xxxxxxxxx>

commit 02358fcfa54ce018a0bb56ca9f5a898de574a9d3
Author: Herton Ronaldo Krzesinski <herton@xxxxxxxxxxxxxxx>
Date:   Sat Jul 4 01:44:59 2009 -0300

    ALSA: hda - move 8086:fb30 quirk (stac9205) to the proper section
    
    Signed-off-by: Herton Ronaldo Krzesinski <herton@xxxxxxxxxxxxxxx>
    Signed-off-by: Takashi Iwai <tiwai@xxxxxxx>

commit 62edf5dc4a524e4cb525e6020b955a1ad593d9ba
Author: David Woodhouse <David.Woodhouse@xxxxxxxxx>
Date:   Sat Jul 4 10:59:46 2009 +0100

    intel-iommu: Restore DMAR_BROKEN_GFX_WA option for broken graphics drivers
    
    We need to give people a little more time to fix the broken drivers.
    Re-introduce this, but tied in properly with the 'iommu=pt' support this
    time. Change the config option name and make it default to 'no' too.
    
    Signed-off-by: David Woodhouse <David.Woodhouse@xxxxxxxxx>

commit 40e4aa34324bff3938a900014254f88943d05e15
Author: David Woodhouse <David.Woodhouse@xxxxxxxxx>
Date:   Sat Jul 4 10:55:41 2009 +0100

    intel-iommu: Add iommu_should_identity_map() function
    
    We do this twice, and it's about to get more complicated. This makes the
    code slightly clearer about what it's doing, too.
    
    Signed-off-by: David Woodhouse <David.Woodhouse@xxxxxxxxx>

commit 1b7bc0a1618b4de1e6f55c6d95b790f4ab6fcd9e
Author: David Woodhouse <David.Woodhouse@xxxxxxxxx>
Date:   Sat Jul 4 10:49:46 2009 +0100

    intel-iommu: Fix reattaching of devices to identity mapping domain
    
    When we reattach a device to the si_domain (because it's been removed
    from a VM), we weren't calling domain_context_mapping() to actually tell
    the hardware about that.
    
    We should really put the call to domain_context_mapping() into
    domain_add_dev_info() -- we never call the latter without also doing the
    former, and we can keep the error paths simple that way. But that's a
    cleanup which can wait for 2.6.32 now.
    
    Signed-off-by: David Woodhouse <David.Woodhouse@xxxxxxxxx>

commit a79f0da80a508448434476b77f9d3d1a469eab67
Author: Eric Dumazet <eric.dumazet@xxxxxxxxx>
Date:   Fri Jul 3 16:50:10 2009 +0200

    x86: atomic64: Inline atomic64_read() again
    
    Now atomic64_read() is light weight (no register pressure and
    small icache), we can inline it again.
    
    Also use "=&A" constraint instead of "+A" to avoid warning
    about unitialized 'res' variable. (gcc had to force 0 in eax/edx)
    
      $ size vmlinux.prev vmlinux.after
         text    data     bss     dec     hex filename
      4908667  451676 1684868 7045211  6b805b vmlinux.prev
      4908651  451676 1684868 7045195  6b804b vmlinux.after
    
    Signed-off-by: Eric Dumazet <eric.dumazet@xxxxxxxxx>
    Cc: Linus Torvalds <torvalds@xxxxxxxxxxxxxxxxxxxx>
    Cc: Peter Zijlstra <a.p.zijlstra@xxxxxxxxx>
    Cc: Mike Galbraith <efault@xxxxxx>
    Cc: Paul Mackerras <paulus@xxxxxxxxx>
    Cc: Arnaldo Carvalho de Melo <acme@xxxxxxxxxx>
    Cc: Frederic Weisbecker <fweisbec@xxxxxxxxx>
    Cc: David Howells <dhowells@xxxxxxxxxx>
    Cc: Andrew Morton <akpm@xxxxxxxxxxxxxxxxxxxx>
    Cc: Arnd Bergmann <arnd@xxxxxxxx>
    LKML-Reference: <4A4E1AA2.30002@xxxxxxxxx>
    [ Also fix typo in atomic64_set() export ]
    Signed-off-by: Ingo Molnar <mingo@xxxxxxx>

commit 1e4c64c46d413de84cc0b786bd6a9b555ba7d111
Author: David Woodhouse <David.Woodhouse@xxxxxxxxx>
Date:   Sat Jul 4 10:40:38 2009 +0100

    intel-iommu: Don't set identity mapping for bypassed graphics devices
    
    We should check iommu_dummy() _first_, because that means it's attached
    to an iommu that we've just disabled completely. At the moment, we might
    try to put the device into the identity mapping domain.
    
    Signed-off-by: David Woodhouse <David.Woodhouse@xxxxxxxxx>

commit 5a5e02a614e59db7536cd11029e6674adc41b191
Author: David Woodhouse <David.Woodhouse@xxxxxxxxx>
Date:   Sat Jul 4 09:35:44 2009 +0100

    intel-iommu: Fix dma vs. mm page confusion with aligned_nrpages()
    
    The aligned_nrpages() function rounds up to the next VM page, but
    returns its result as a number of DMA pages.
    
    Purely theoretical except on IA64, which doesn't boot with VT-d right
    now anyway.
    
    Signed-off-by: David Woodhouse <David.Woodhouse@xxxxxxxxx>

commit c001c213b109c8baeeb6d012b422bf059b18368f
Author: Sathya Perla <sathyap@xxxxxxxxxxxxxxxxx>
Date:   Wed Jul 1 01:06:07 2009 +0000

    be2net: fix spurious interrupt handling in intx mode
    
    Occasionally we may see an interrupt without an event in the eq.
    In intx, we currently see the event queue and return IRQ_NONE causing
    a the irq to be disabled ("no one cared".) Instead, read the CEV_ISR
    reg to check the existence of the interrupt.
    
    Signed-off-by: Sathya Perla <sathyap@xxxxxxxxxxxxxxxxx>
    Signed-off-by: David S. Miller <davem@xxxxxxxxxxxxx>

commit 7d3cabbcc86f7f69c47cb20c23ee84350ae6cfbb
Author: Bruce Allan <bruce.w.allan@xxxxxxxxx>
Date:   Wed Jul 1 13:29:08 2009 +0000

    e1000e: disable K1 at 1000Mbps for 82577/82578
    
    This workaround is required for an issue in hardware where noise on the
    interconnect between the MAC and PHY could be generated by a lower power
    mode (K1) at 1000Mbps resulting in bad packets.  Disable K1 while at 1000
    Mbps but keep it enabled for 10/100Mbps and when the cable is disconnected.
    
    Signed-off-by: Bruce Allan <bruce.w.allan@xxxxxxxxx>
    Signed-off-by: Jeff Kirsher <jeffrey.t.kirsher@xxxxxxxxx>
    Signed-off-by: David S. Miller <davem@xxxxxxxxxxxxx>

commit 906e8d9792b1c4a8b58c1383f4c00fc4c9936fc3
Author: Bruce Allan <bruce.w.allan@xxxxxxxxx>
Date:   Wed Jul 1 13:28:50 2009 +0000

    e1000e: delay second read of PHY_STATUS register on failure of first read
    
    Some PHYs may require two reads of the PHY_STATUS register to determine the
    link status.  If the PHY is being accessed by another thread it is possible
    the first read could timeout and fail.  In this case, put a delay in so
    the second read will pick up the correct link status.
    
    Signed-off-by: Bruce Allan <bruce.w.allan@xxxxxxxxx>
    Signed-off-by: Jeff Kirsher <jeffrey.t.kirsher@xxxxxxxxx>
    Signed-off-by: David S. Miller <davem@xxxxxxxxxxxxx>

commit 28c9195a570a32de2760310ca278d44a4fd060a4
Author: Bruce Allan <bruce.w.allan@xxxxxxxxx>
Date:   Wed Jul 1 13:28:32 2009 +0000

    e1000e: prevent NVM corruption on sectors larger than 4K
    
    Limit NVM writes to 4K sections to prevent NVM corruption on larger
    sector allocations (up to 64K).
    
    Signed-off-by: Bruce Allan <bruce.w.allan@xxxxxxxxx>
    Signed-off-by: Jeff Kirsher <jeffrey.t.kirsher@xxxxxxxxx>
    Signed-off-by: David S. Miller <davem@xxxxxxxxxxxxx>

commit 60f1292fcbdff03ef5caea56404d3d81d05026f6
Author: Bruce Allan <bruce.w.allan@xxxxxxxxx>
Date:   Wed Jul 1 13:28:14 2009 +0000

    e1000e: do not write SmartSpeed register bits on parts without support
    
    The driver was accessing register bits for features on parts that do
    not support that feature.  This could cause problems in the hardware.
    
    Signed-off-by: Bruce Allan <bruce.w.allan@xxxxxxxxx>
    Signed-off-by: Jeff Kirsher <jeffrey.t.kirsher@xxxxxxxxx>
    Signed-off-by: David S. Miller <davem@xxxxxxxxxxxxx>

commit fc0c7760aea07c74af3395ad18f96ba62eecac36
Author: Bruce Allan <bruce.w.allan@xxxxxxxxx>
Date:   Wed Jul 1 13:27:55 2009 +0000

    e1000e: delay after LCD reset and proper checks for PHY configuration done
    
    A previous workaround for 82578 to avoid link stall causes some PHY
    registers to get cleared inadvertently.  Add a delay after all LCD resets
    to make sure PHY registers are in a stable state before continuing.  Also,
    after resets check the EEC register for the state of PHY configuration
    performed by the MAC for ICH9 and earlier parts (as done before), but check
    the LAN_INIT_DONE bit in the STATUS register for ICH10 and newer parts (EEC
    doesn't exist in these newer parts).
    
    Signed-off-by: Bruce Allan <bruce.w.allan@xxxxxxxxx>
    Signed-off-by: Jeff Kirsher <jeffrey.t.kirsher@xxxxxxxxx>
    Signed-off-by: David S. Miller <davem@xxxxxxxxxxxxx>

commit e65fa87c225fadd1980068b7d360e08ac0e985dd
Author: Bruce Allan <bruce.w.allan@xxxxxxxxx>
Date:   Wed Jul 1 13:27:31 2009 +0000

    e1000e: PHY loopback broken on 82578
    
    PHY loopback on 82578 fails to work as a result of flushing the packets
    in the FIFO buffer in the link stall workaround.  Don't perform the
    workaround if in PHY loopback mode.
    
    Signed-off-by: Bruce Allan <bruce.w.allan@xxxxxxxxx>
    Signed-off-by: Jeff Kirsher <jeffrey.t.kirsher@xxxxxxxxx>
    Signed-off-by: David S. Miller <davem@xxxxxxxxxxxxx>

commit e5d57af52464f37dd3c67906a493a6400bc51b43
Author: Mallikarjuna R Chilakala <mallikarjuna.chilakala@xxxxxxxxx>
Date:   Thu Jul 2 12:51:10 2009 +0000

    ixgbe: Not allow 8259x unsupported wol options change from ethtool
    
    Wake-on-lan is currently only supported by 82599 KX4 devices, in all
    other cases return a proper value from ixgbe_wol_exclusion function call.
    Otherwise from ethtool we will be able to change wol options of
    unsupported 8259x devices.
    
    Signed-off-by: Mallikarjuna R Chilakala <mallikarjuna.chilakala@xxxxxxxxx>
    Signed-off-by: Jeff Kirsher <jeffrey.t.kirsher@xxxxxxxxx>
    Signed-off-by: David S. Miller <davem@xxxxxxxxxxxxx>

commit 5da43c1a78cbc16518017dfb058da6ec4829781b
Author: Don Skidmore <donald.c.skidmore@xxxxxxxxx>
Date:   Thu Jul 2 12:50:52 2009 +0000

    ixgbe: fix inconsistent SFP/SFP+ failure results.
    
    Currently if we loaded the driver, insert an unsupported module, and then
    attempt to "ifconfig up" the device it will be brought down but the netdev
    would not be unregistered. This behavior is different than all other
    code paths. This patch corrects that by down'ing the device and then
    scheduling the sfp_config_module_task tasklet. The tasklet will detect
    this condition (like it does with other code paths) and do the
    unregister_netdev().
    
    I also removed the log message as this condition (an unsupported SFP+
    module) will be logged in sfp_config_module_task.
    
    Signed-off-by: Don Skidmore <donald.c.skidmore@xxxxxxxxx>
    Signed-off-by: Jeff Kirsher <jeffrey.t.kirsher@xxxxxxxxx>
    Signed-off-by: David S. Miller <davem@xxxxxxxxxxxxx>

commit 19343de279d28e4ed039c8ad00510d19dc4d6d12
Author: Don Skidmore <donald.c.skidmore@xxxxxxxxx>
Date:   Thu Jul 2 12:50:31 2009 +0000

    ixgbe: fix regression on some 82598 adapters
    
    The change to check the SFP+ module again on open() was
    causing the XFP (non-SFP+) adapters to be rejected. We
    only want to try and re-identify the SFP+ module if the
    original probe found that this device was an SFP+ device.
    So for this code path (driver loaded with SFP module, module
    inserted, ifconfig up of the device) the type will be
    ixgbe_phy_unknown for an unidentified SFP+ module.  So we
    only check if that is the case.
    
    This problem also shows up on Copper devices.
    
    Signed-off-by: Peter P Waskiewicz Jr <peter.p.waskiewicz.jr@xxxxxxxxx>
    Signed-off-by: Don Skidmore <donald.c.skidmore@xxxxxxxxx>
    Signed-off-by: Jeff Kirsher <jeffrey.t.kirsher@xxxxxxxxx>
    Signed-off-by: David S. Miller <davem@xxxxxxxxxxxxx>

commit 63d6e1d80a8c3118be2ca0f1f21ba883f282060c
Author: Don Skidmore <donald.c.skidmore@xxxxxxxxx>
Date:   Thu Jul 2 12:50:12 2009 +0000

    ixgbe: fix issues with failing to detect insert of unsupported module
    
    Several small fixes around negative test case of the insertion of a
    IXGBE_ERR_NOT_SUPPORTED module.
    
    - mdio45_probe call was always failing due to mdio.prtad not being
    set.  The function set to mdio.mdio_read was still working as we just
    happen to always be at prtad == 0.  This will allow us to set the phy_id
    and phy.type correctly now.
    
    - There was timing issue with i2c calls when initiated from a tasklet.
    A small delay was added to allow the electrical oscillation to calm down.
    
    - Logic change in ixgbe_sfp_task that allows NOT_SUPPORTED condition
    to be recognized.
    
    Signed-off-by: Don Skidmore <donald.c.skidmore@xxxxxxxxx>
    Signed-off-by: Jeff Kirsher <jeffrey.t.kirsher@xxxxxxxxx>
    Signed-off-by: David S. Miller <davem@xxxxxxxxxxxxx>

commit e332471c035708441de89d4c59f7f7cdc2700c0d
Author: Ron Mercer <ron.mercer@xxxxxxxxxx>
Date:   Thu Jul 2 06:06:13 2009 +0000

    qlge: Fix sizeof usage.
    
    Some usage was only sizing a pointer rather than the data type.
    
    Signed-off-by: Ron Mercer <ron.mercer@xxxxxxxxxx>
    Signed-off-by: David S. Miller <davem@xxxxxxxxxxxxx>

commit 6a47330892e697ae27d2d56a3c4c7fec2015be93
Author: Ron Mercer <ron.mercer@xxxxxxxxxx>
Date:   Thu Jul 2 06:06:12 2009 +0000

    qlge: Add/use function for link up/down.
    
    We need to set/clear the mac address register when the link goes up/down
    respectively.  Without this both ports of a 2-port device can end up
    with the same mac address in a bonding scenario.
    The new ql_link_on() and ql_link_off() will also be used in handling
    certain firmware events.
    
    Signed-off-by: Ron Mercer <ron.mercer@xxxxxxxxxx>
    Signed-off-by: David S. Miller <davem@xxxxxxxxxxxxx>

commit 7fab3bfe08a2c5c4221685499ec4fef83ad82f83
Author: Ron Mercer <ron.mercer@xxxxxxxxxx>
Date:   Thu Jul 2 06:06:11 2009 +0000

    qlge: Fix MAC address bonding issue.
    
    This addes functionality to set/clear the MAC address in the hardware
    when the link goes up/down.
    The MAC address register is persistent across function resets. In
    bonding the same address can bounce from one port to the other.  This
    can cause packets to be delivered to the wrong port.
    This patch clears the MAC address in the hardware when the link is down
    and sets it when the link comes up.
    It was found that pulling/pushing the cable from one port to another
    causes the same MAC address to be in both ports.
    The next patch in this series will use this functionality as well.
    
    Signed-off-by: Ron Mercer <ron.mercer@xxxxxxxxxx>
    Signed-off-by: David S. Miller <davem@xxxxxxxxxxxxx>

commit 13cfd5be53d01a9316907512f17f34d3858450e8
Author: Ron Mercer <ron.mercer@xxxxxxxxxx>
Date:   Thu Jul 2 06:06:10 2009 +0000

    qlge: Fix tx byte counter.
    
    Signed-off-by: Ron Mercer <ron.mercer@xxxxxxxxxx>
    Signed-off-by: David S. Miller <davem@xxxxxxxxxxxxx>

commit 6e9e4795e688fd61fa83f7f4cad4992939fd4ca3
Author: Ron Mercer <ron.mercer@xxxxxxxxxx>
Date:   Thu Jul 2 06:06:09 2009 +0000

    qlge: Fix redundant call to free resources.
    
    The caller will free acquired resouces if a failure occurs.
    
    Signed-off-by: Ron Mercer <ron.mercer@xxxxxxxxxx>
    Signed-off-by: David S. Miller <davem@xxxxxxxxxxxxx>

commit 8b007de19026e91991ae70ca0def31c42435e008
Author: Ron Mercer <ron.mercer@xxxxxxxxxx>
Date:   Thu Jul 2 06:06:08 2009 +0000

    qlge: Fix carrier on condition.
    
    We were turning on the carrier without verifying the link was up.
    This adds link up to the link initialize check before turning carrier
    on.
    
    Signed-off-by: Ron Mercer <ron.mercer@xxxxxxxxxx>
    Signed-off-by: David S. Miller <davem@xxxxxxxxxxxxx>

commit a5f59dc926844bf95be2261c1bb0a24597b7a8c5
Author: Ron Mercer <ron.mercer@xxxxxxxxxx>
Date:   Thu Jul 2 06:06:07 2009 +0000

    qlge: Clear frame to queue routing before reset.
    
    Not clearing the routing bits can cause frames to erroneously get routed to
    management processor.
    
    Signed-off-by: Ron Mercer <ron.mercer@xxxxxxxxxx>
    Signed-off-by: David S. Miller <davem@xxxxxxxxxxxxx>

commit 4322c5bee85ed58042ec04235ec7086065ad5074
Author: Ron Mercer <ron.mercer@xxxxxxxxxx>
Date:   Thu Jul 2 06:06:06 2009 +0000

    qlge: Expand coverage of hw lock for config register.
    
    The hardware semaphore covers the configuration register as well as the
    ICB registers.  The ICB high and low regs contain the address of the
    initialization control block and the config register is used to signal
    the hardware that a block is ready to be downloaded.  Currently we were
    only protecting the ICB regs.  This changes expands to cover the config
    register as well.
    
    Signed-off-by: Ron Mercer <ron.mercer@xxxxxxxxxx>
    Signed-off-by: David S. Miller <davem@xxxxxxxxxxxxx>

commit a1ed05263b74921742b454ef52c30b609ec6940f
Author: Brian Haley <brian.haley@xxxxxx>
Date:   Thu Jul 2 07:10:52 2009 +0000

    IPv6: preferred lifetime of address not getting updated
    
    There's a bug in addrconf_prefix_rcv() where it won't update the
    preferred lifetime of an IPv6 address if the current valid lifetime
    of the address is less than 2 hours (the minimum value in the RA).
    
    For example, If I send a router advertisement with a prefix that
    has valid lifetime = preferred lifetime = 2 hours we'll build
    this address:
    
    3: eth0: <BROADCAST,MULTICAST,UP,LOWER_UP> mtu 1500 qlen 1000
        inet6 2001:1890:1109:a20:217:8ff:fe7d:4718/64 scope global dynamic
           valid_lft 7175sec preferred_lft 7175sec
    
    If I then send the same prefix with valid lifetime = preferred
    lifetime = 0 it will be ignored since the minimum valid lifetime
    is 2 hours:
    
    3: eth0: <BROADCAST,MULTICAST,UP,LOWER_UP> mtu 1500 qlen 1000
        inet6 2001:1890:1109:a20:217:8ff:fe7d:4718/64 scope global dynamic
           valid_lft 7161sec preferred_lft 7161sec
    
    But according to RFC 4862 we should always reset the preferred lifetime
    even if the valid lifetime is invalid, which would cause the address
    to immediately get deprecated.  So with this patch we'd see this:
    
    5: eth0: <BROADCAST,MULTICAST,UP,LOWER_UP> mtu 1500 qlen 1000
        inet6 2001:1890:1109:a20:21f:29ff:fe5a:ef04/64 scope global deprecated dynamic
           valid_lft 7163sec preferred_lft 0sec
    
    The comment winds-up being 5x the size of the code to fix the problem.
    
    Update the preferred lifetime of IPv6 addresses derived from a prefix
    info option in a router advertisement even if the valid lifetime in
    the option is invalid, as specified in RFC 4862 Section 5.5.3e.  Fixes
    an issue where an address will not immediately become deprecated.
    Reported by Jens Rosenboom.
    
    Signed-off-by: Brian Haley <brian.haley@xxxxxx>
    Signed-off-by: David S. Miller <davem@xxxxxxxxxxxxx>

commit 59cae0092e4da753b5a2adb32933e0d1b223bcc5
Author: Wei Yongjun <yjwei@xxxxxxxxxxxxxx>
Date:   Thu Jul 2 16:59:49 2009 +0000

    xfrm6: fix the proto and ports decode of sctp protocol
    
    The SCTP pushed the skb above the sctp chunk header, so the
    check of pskb_may_pull(skb, nh + offset + 1 - skb->data) in
    _decode_session6() will never return 0 and the ports decode
    of sctp will always fail. (nh + offset + 1 - skb->data < 0)
    
    Signed-off-by: Wei Yongjun <yjwei@xxxxxxxxxxxxxx>
    Acked-by: Herbert Xu <herbert@xxxxxxxxxxxxxxxxxxx>
    Signed-off-by: David S. Miller <davem@xxxxxxxxxxxxx>

commit c615c9f3f3cea60279b1bb38e8ef27bd575ecd0c
Author: Wei Yongjun <yjwei@xxxxxxxxxxxxxx>
Date:   Thu Jul 2 16:57:23 2009 +0000

    xfrm4: fix the ports decode of sctp protocol
    
    The SCTP pushed the skb data above the sctp chunk header, so the check
    of pskb_may_pull(skb, xprth + 4 - skb->data) in _decode_session4() will
    never return 0 because xprth + 4 - skb->data < 0, the ports decode of
    sctp will always fail.
    
    Signed-off-by: Wei Yongjun <yjwei@xxxxxxxxxxxxxx>
    Acked-by: Herbert Xu <herbert@xxxxxxxxxxxxxxxxxxx>
    Signed-off-by: David S. Miller <davem@xxxxxxxxxxxxx>

commit ddf9a003d32f720805ac30bcc15755e9289073de
Author: Ingo Molnar <mingo@xxxxxxx>
Date:   Fri Jul 3 20:11:30 2009 +0200

    x86: atomic64: Clean up atomic64_sub_and_test() and atomic64_add_negative()
    
    Linus noticed that the variable name 'old_val' is
    confusingly named in these functions - the correct
    naming is 'new_val'.
    
    Reported-by: Linus Torvalds <torvalds@xxxxxxxxxxxxxxxxxxxx>
    Cc: Eric Dumazet <eric.dumazet@xxxxxxxxx>
    Cc: Peter Zijlstra <a.p.zijlstra@xxxxxxxxx>
    Cc: Mike Galbraith <efault@xxxxxx>
    Cc: Paul Mackerras <paulus@xxxxxxxxx>
    Cc: Arnaldo Carvalho de Melo <acme@xxxxxxxxxx>
    Cc: Frederic Weisbecker <fweisbec@xxxxxxxxx>
    Cc: David Howells <dhowells@xxxxxxxxxx>
    Cc: Andrew Morton <akpm@xxxxxxxxxxxxxxxxxxxx>
    Cc: Arnd Bergmann <arnd@xxxxxxxx>
    LKML-Reference: <alpine.LFD.2.01.0907030942260.3210@xxxxxxxxxxxxxxxxxxxxx>
    Signed-off-by: Ingo Molnar <mingo@xxxxxxx>

commit 3a8d1788b37435baf6c296f4ea8beb4fa4955f44
Author: Ingo Molnar <mingo@xxxxxxx>
Date:   Fri Jul 3 19:56:36 2009 +0200

    x86: atomic64: Improve atomic64_xchg()
    
    Remove the read-first logic from atomic64_xchg() and simplify
    the loop.
    
    This function was the last user of __atomic64_read() - remove it.
    
    Also, change the 'real_val' assumption from the somewhat quirky
    1ULL << 32 value to the (just as arbitrary, but simpler) value
    of 0.
    
    Reported-by: Linus Torvalds <torvalds@xxxxxxxxxxxxxxxxxxxx>
    Cc: Eric Dumazet <eric.dumazet@xxxxxxxxx>
    Cc: Peter Zijlstra <a.p.zijlstra@xxxxxxxxx>
    Cc: Mike Galbraith <efault@xxxxxx>
    Cc: Paul Mackerras <paulus@xxxxxxxxx>
    Cc: Arnaldo Carvalho de Melo <acme@xxxxxxxxxx>
    Cc: Frederic Weisbecker <fweisbec@xxxxxxxxx>
    Cc: David Howells <dhowells@xxxxxxxxxx>
    Cc: Andrew Morton <akpm@xxxxxxxxxxxxxxxxxxxx>
    Cc: Arnd Bergmann <arnd@xxxxxxxx>
    LKML-Reference: <tip-05118ab8859492ac9ddda0154cf90e37b0a4a0b0@xxxxxxxxxxxxxx>
    Signed-off-by: Ingo Molnar <mingo@xxxxxxx>

commit 1fde902d52ee13ab9fab155bbae757fdf7daf0c1
Author: Ingo Molnar <mingo@xxxxxxx>
Date:   Fri Jul 3 17:28:57 2009 +0200

    x86: atomic64: Export APIs to modules
    
    atomic64_t primitives are used by a handful of drivers,
    so export the APIs consistently. These were inlined
    before.
    
    Also mark atomic64_32.o a core object, so that the symbols
    are available even if not linked to core kernel pieces.
    
    Cc: Eric Dumazet <eric.dumazet@xxxxxxxxx>
    Cc: Linus Torvalds <torvalds@xxxxxxxxxxxxxxxxxxxx>
    Cc: Peter Zijlstra <a.p.zijlstra@xxxxxxxxx>
    Cc: Mike Galbraith <efault@xxxxxx>
    Cc: Paul Mackerras <paulus@xxxxxxxxx>
    Cc: Arnaldo Carvalho de Melo <acme@xxxxxxxxxx>
    Cc: Frederic Weisbecker <fweisbec@xxxxxxxxx>
    Cc: David Howells <dhowells@xxxxxxxxxx>
    Cc: Andrew Morton <akpm@xxxxxxxxxxxxxxxxxxxx>
    Cc: Arnd Bergmann <arnd@xxxxxxxx>
    LKML-Reference: <tip-05118ab8859492ac9ddda0154cf90e37b0a4a0b0@xxxxxxxxxxxxxx>
    Signed-off-by: Ingo Molnar <mingo@xxxxxxx>

commit 637a935aaba2f05e2178c9d1b714d7a2c36c8b44
Author: Lars-Peter Clausen <lars@xxxxxxxxxx>
Date:   Fri Jul 3 01:04:16 2009 +0200

    ASoC: Fix wm8753 register cache size and initialization
    
    Register cache space was not being allocated for the final register,
    causing bugs when it was used.  Allocate space for it.
    
    Also ensure that the final register is displayed in sysfs.
    
    [Commit message rewritten to document actual issue. -- broonie]
    
    Signed-off-by: Lars-Peter Clausen <lars@xxxxxxxxxx>
    Signed-off-by: Mark Brown <broonie@xxxxxxxxxxxxxxxxxxxxxxxxxxx>

commit 67d7178f8fc64b7f68d7dd8a1b21dfa0d42c220c
Author: Eric Dumazet <eric.dumazet@xxxxxxxxx>
Date:   Fri Jul 3 13:23:02 2009 +0200

    x86: atomic64: Improve atomic64_read()
    
    Optimize atomic64_read() as a special open-coded
    cmpxchg8b variant. This generates nicer code:
    
    arch/x86/lib/atomic64_32.o:
    
       text	   data	    bss	    dec	    hex	filename
        435	      0	      0	    435	    1b3	atomic64_32.o.before
        431	      0	      0	    431	    1af	atomic64_32.o.after
    
    md5:
       bd8ab95e69c93518578bfaf0ea3be4d9  atomic64_32.o.before.asm
       2bdfd4bd1f6b7b61b7fc127aef90ce3b  atomic64_32.o.after.asm
    
    Cc: Linus Torvalds <torvalds@xxxxxxxxxxxxxxxxxxxx>
    Cc: Peter Zijlstra <a.p.zijlstra@xxxxxxxxx>
    Cc: Mike Galbraith <efault@xxxxxx>
    Cc: Paul Mackerras <paulus@xxxxxxxxx>
    Cc: Arnaldo Carvalho de Melo <acme@xxxxxxxxxx>
    Cc: Frederic Weisbecker <fweisbec@xxxxxxxxx>
    Cc: David Howells <dhowells@xxxxxxxxxx>
    Cc: Andrew Morton <akpm@xxxxxxxxxxxxxxxxxxxx>
    Cc: Arnd Bergmann <arnd@xxxxxxxx>
    LKML-Reference: <alpine.LFD.2.01.0907021653030.3210@xxxxxxxxxxxxxxxxxxxxx>
    Signed-off-by: Ingo Molnar <mingo@xxxxxxx>

commit 8e049ef054f1cc765f05f13e1396bb9a17c19e66
Author: Paul Mackerras <paulus@xxxxxxxxx>
Date:   Thu Jul 2 08:57:12 2009 +1000

    x86: atomic64: Code atomic(64)_read and atomic(64)_set in C not CPP
    
    Occasionally we get bugs where atomic_read or atomic_set are
    used on atomic64_t variables or vice versa.  These bugs don't
    generate warnings on x86 because atomic_read and atomic_set are
    coded as macros rather than C functions, so we don't get any
    type-checking on their arguments; similarly for atomic64_read
    and atomic64_set in 64-bit kernels.
    
    This converts them to C functions so that the arguments are
    type-checked and bugs like this will get caught more easily. It
    also converts atomic_cmpxchg and atomic_xchg, and
    atomic64_cmpxchg and atomic64_xchg on 64-bit, so we get
    type-checking on their arguments too.
    
    Compiling a typical 64-bit x86 config, this generates no new
    warnings, and the vmlinux text is 86 bytes smaller.
    
    Cc: Linus Torvalds <torvalds@xxxxxxxxxxxxxxxxxxxx>
    Cc: Peter Zijlstra <a.p.zijlstra@xxxxxxxxx>
    Cc: Mike Galbraith <efault@xxxxxx>
    Cc: Arnaldo Carvalho de Melo <acme@xxxxxxxxxx>
    Cc: Frederic Weisbecker <fweisbec@xxxxxxxxx>
    Cc: David Howells <dhowells@xxxxxxxxxx>
    Cc: Andrew Morton <akpm@xxxxxxxxxxxxxxxxxxxx>
    Cc: Arnd Bergmann <arnd@xxxxxxxx>
    LKML-Reference: <alpine.LFD.2.01.0907021653030.3210@xxxxxxxxxxxxxxxxxxxxx>
    Signed-off-by: Ingo Molnar <mingo@xxxxxxx>

commit 22a26e6663008e1fc4d1467aaff7e775124bce31
Merge: c7210e1ff8a95a0a6dba0d04a95b3ddd9d165fab 1bc6f83813441d15a74dfa97966fb68fa1bdec76
Author: Ingo Molnar <mingo@xxxxxxx>
Date:   Fri Jul 3 14:35:02 2009 +0200

    Merge branch 'amd-iommu/fixes' of git://git.kernel.org/pub/scm/linux/kernel/git/joro/linux-2.6-iommu into x86/urgent

commit c7210e1ff8a95a0a6dba0d04a95b3ddd9d165fab
Author: Jaswinder Singh Rajput <jaswinder@xxxxxxxxxx>
Date:   Thu Jul 2 22:35:35 2009 +0530

    x86: Remove unused function lapic_watchdog_ok()
    
    lapic_watchdog_ok() is a global function but no one is using it.
    
    Signed-off-by: Jaswinder Singh Rajput <jaswinderrajput@xxxxxxxxx>
    Cc: Andi Kleen <andi@xxxxxxxxxxxxxx>
    Cc: Yinghai Lu <yinghai@xxxxxxxxxx>
    LKML-Reference: <1246554335.2242.29.camel@xxxxxxxxxxxxxxxx>
    Signed-off-by: Ingo Molnar <mingo@xxxxxxx>

commit 23d0cd8e718723f1ddda37637bc6b7c34caec64a
Author: Jaswinder Singh Rajput <jaswinder@xxxxxxxxxx>
Date:   Thu Jul 2 22:33:59 2009 +0530

    x86: Remove unused variable disable_x2apic
    
    setup_nox2apic() is writing 1 to disable_x2apic but no one is reading it.
    
    Signed-off-by: Jaswinder Singh Rajput <jaswinderrajput@xxxxxxxxx>
    Cc: Yinghai Lu <yinghai@xxxxxxxxxx>
    Cc: Cyrill Gorcunov <gorcunov@xxxxxxxxx>
    LKML-Reference: <1246554239.2242.27.camel@xxxxxxxxxxxxxxxx>
    Signed-off-by: Ingo Molnar <mingo@xxxxxxx>

commit d3ac88157c1e9153f37cd2b9313117ae11735063
Author: Rakib Mullick <rakib.mullick@xxxxxxxxx>
Date:   Thu Jul 2 11:40:36 2009 +0600

    x86, kvm: Fix section mismatches in kvm.c
    
    The function paravirt_ops_setup() has been refering the
    variable no_timer_check, which is a __initdata. Thus generates
    the following warning. paravirt_ops_setup() function is called
    from kvm_guest_init() which is a __init function. So to fix
    this we mark paravirt_ops_setup as __init.
    
    The sections-check output that warned us about this was:
    
       LD      arch/x86/built-in.o
      WARNING: arch/x86/built-in.o(.text+0x166ce): Section mismatch in
      reference from the function paravirt_ops_setup() to the variable
      .init.data:no_timer_check
      The function paravirt_ops_setup() references
      the variable __initdata no_timer_check.
      This is often because paravirt_ops_setup lacks a __initdata
      annotation or the annotation of no_timer_check is wrong.
    
    Signed-off-by: Rakib Mullick <rakib.mullick@xxxxxxxxx>
    Acked-by: Avi Kivity <avi@xxxxxxxxxx>
    Cc: Andrew Morton <akpm@xxxxxxxxxxxxxxxxxxxx>
    LKML-Reference: <b9df5fa10907012240y356427b8ta4bd07f0efc6a049@xxxxxxxxxxxxxx>
    Signed-off-by: Ingo Molnar <mingo@xxxxxxx>

commit 3fd382cedfb4fb742a8cc17ba15288ec03131db1
Author: Mike Galbraith <efault@xxxxxx>
Date:   Thu Jul 2 07:27:20 2009 +0200

    x86: Add missing annotation to arch/x86/lib/copy_user_64.S::copy_to_user
    
    While examining symbol generation in perf_counter tools, I
    noticed that copy_to_user() had no size in vmlinux's symtab.
    
    Signed-off-by: Mike Galbraith <efault@xxxxxx>
    Acked-by: Alexander van Heukelum <heukelum@xxxxxxxxxxx>
    Acked-by: Cyrill Gorcunov <gorcunov@xxxxxxxxxx>
    LKML-Reference: <1246512440.13293.3.camel@xxxxxxxxxxxxxxxx>
    Signed-off-by: Ingo Molnar <mingo@xxxxxxx>

commit 12b9d7ccb841805e347fec8f733f368f43ddba40
Author: Mathieu Desnoyers <mathieu.desnoyers@xxxxxxxxxx>
Date:   Wed Jul 1 17:37:22 2009 -0400

    x86: Fix fixmap page order for FIX_TEXT_POKE0,1
    
    Masami reported:
    
    > Since the fixmap pages are assigned higher address to lower,
    > text_poke() has to use it with inverted order (FIX_TEXT_POKE1
    > to FIX_TEXT_POKE0).
    
    I prefer to just invert the order of the fixmap declaration.
    It's simpler and more straightforward.
    
    Backward fixmaps seems to be used by both x86 32 and 64.
    
    It's really rare but a nasty bug, because it only hurts when
    instructions to patch are crossing a page boundary. If this
    happens, the fixmap write accesses will spill on the following
    fixmap, which may very well crash the system. And this does not
    crash the system, it could leave illegal instructions in place.
    Thanks Masami for finding this.
    
    It seems to have crept into the 2.6.30-rc series, so this calls
    for a -stable inclusion.
    
    Signed-off-by: Mathieu Desnoyers <mathieu.desnoyers@xxxxxxxxxx>
    Acked-by: Masami Hiramatsu <mhiramat@xxxxxxxxxx>
    Cc: <stable@xxxxxxxxxx>
    LKML-Reference: <20090701213722.GH19926@Krystal>
    Signed-off-by: Ingo Molnar <mingo@xxxxxxx>

commit 199e23780a7e75c63a9e3d1108804e3af450ea3e
Author: Ingo Molnar <mingo@xxxxxxx>
Date:   Fri Jul 3 13:02:39 2009 +0200

    x86: atomic64: Fix unclean type use in atomic64_xchg()
    
    Linus noticed that atomic64_xchg() uses atomic_read(), which
    happens to work because atomic_read() is a macro so the
    .counter value gets u64-read on 32-bit too - but this is really
    bogus and serious bugs are waiting to happen.
    
    Fix atomic64_xchg() to use __atomic64_read() instead.
    
    No code changed:
    
    arch/x86/lib/atomic64_32.o:
    
       text	   data	    bss	    dec	    hex	filename
        435	      0	      0	    435	    1b3	atomic64_32.o.before
        435	      0	      0	    435	    1b3	atomic64_32.o.after
    
    md5:
       bd8ab95e69c93518578bfaf0ea3be4d9  atomic64_32.o.before.asm
       bd8ab95e69c93518578bfaf0ea3be4d9  atomic64_32.o.after.asm
    
    Reported-by: Linus Torvalds <torvalds@xxxxxxxxxxxxxxxxxxxx>
    Cc: Eric Dumazet <eric.dumazet@xxxxxxxxx>
    Cc: Peter Zijlstra <a.p.zijlstra@xxxxxxxxx>
    Cc: Mike Galbraith <efault@xxxxxx>
    Cc: Paul Mackerras <paulus@xxxxxxxxx>
    Cc: Arnaldo Carvalho de Melo <acme@xxxxxxxxxx>
    Cc: Frederic Weisbecker <fweisbec@xxxxxxxxx>
    Cc: David Howells <dhowells@xxxxxxxxxx>
    Cc: Andrew Morton <akpm@xxxxxxxxxxxxxxxxxxxx>
    Cc: Arnd Bergmann <arnd@xxxxxxxx>
    LKML-Reference: <alpine.LFD.2.01.0907021653030.3210@xxxxxxxxxxxxxxxxxxxxx>
    Signed-off-by: Ingo Molnar <mingo@xxxxxxx>

commit 3217120873598533234b6dedda9c371ce30001d0
Author: Ingo Molnar <mingo@xxxxxxx>
Date:   Fri Jul 3 13:06:01 2009 +0200

    x86: atomic64: Make atomic_read() type-safe
    
    Linus noticed that atomic64_xchg() uses atomic_read(), which
    happens to work because atomic_read() is a macro so the
    .counter value gets u64-read on 32-bit too - but this is really
    bogus and serious bugs are waiting to happen.
    
    Change atomic_read() to be a type-safe inline, and this exposes
    the atomic64 bogosity as well:
    
      arch/x86/lib/atomic64_32.c: In function â??atomic64_xchgâ??:
      arch/x86/lib/atomic64_32.c:39: warning: passing argument 1 of â??atomic_readâ?? from incompatible pointer type
    
    Reported-by: Linus Torvalds <torvalds@xxxxxxxxxxxxxxxxxxxx>
    Cc: Eric Dumazet <eric.dumazet@xxxxxxxxx>
    Cc: Peter Zijlstra <a.p.zijlstra@xxxxxxxxx>
    Cc: Mike Galbraith <efault@xxxxxx>
    Cc: Paul Mackerras <paulus@xxxxxxxxx>
    Cc: Arnaldo Carvalho de Melo <acme@xxxxxxxxxx>
    Cc: Frederic Weisbecker <fweisbec@xxxxxxxxx>
    Cc: David Howells <dhowells@xxxxxxxxxx>
    Cc: Andrew Morton <akpm@xxxxxxxxxxxxxxxxxxxx>
    Cc: Arnd Bergmann <arnd@xxxxxxxx>
    LKML-Reference: <alpine.LFD.2.01.0907021653030.3210@xxxxxxxxxxxxxxxxxxxxx>
    Signed-off-by: Ingo Molnar <mingo@xxxxxxx>

commit 3ac805d2afd3fa4a07cb5bcf352fd7fa83f28935
Author: Ingo Molnar <mingo@xxxxxxx>
Date:   Fri Jul 3 12:51:19 2009 +0200

    x86: atomic64: Reduce size of functions
    
    cmpxchg8b is a huge instruction in terms of register footprint,
    we almost never want to inline it, not even within the same
    code module.
    
    GCC 4.3 still messes up for two functions, under-judging the
    true cost of this instruction - so annotate two key functions
    to reduce the bloat:
    
    arch/x86/lib/atomic64_32.o:
    
       text	   data	    bss	    dec	    hex	filename
       1763	      0	      0	   1763	    6e3	atomic64_32.o.before
        435	      0	      0	    435	    1b3	atomic64_32.o.after
    
    Cc: Linus Torvalds <torvalds@xxxxxxxxxxxxxxxxxxxx>
    Cc: Eric Dumazet <eric.dumazet@xxxxxxxxx>
    Cc: Peter Zijlstra <a.p.zijlstra@xxxxxxxxx>
    Cc: Mike Galbraith <efault@xxxxxx>
    Cc: Paul Mackerras <paulus@xxxxxxxxx>
    Cc: Arnaldo Carvalho de Melo <acme@xxxxxxxxxx>
    Cc: Frederic Weisbecker <fweisbec@xxxxxxxxx>
    Cc: David Howells <dhowells@xxxxxxxxxx>
    Cc: Andrew Morton <akpm@xxxxxxxxxxxxxxxxxxxx>
    Cc: Arnd Bergmann <arnd@xxxxxxxx>
    LKML-Reference: <alpine.LFD.2.01.0907021653030.3210@xxxxxxxxxxxxxxxxxxxxx>
    Signed-off-by: Ingo Molnar <mingo@xxxxxxx>

commit 824975ef190e7dcb77718d1cc2cb53769b16d918
Author: Ingo Molnar <mingo@xxxxxxx>
Date:   Fri Jul 3 12:39:07 2009 +0200

    x86: atomic64: Improve atomic64_add_return()
    
    Linus noted (based on Eric Dumazet's numbers) that we would
    probably be better off not trying an atomic_read() in
    atomic64_add_return() but intead intentionally let the first
    cmpxchg8b fail - to get a cache-friendly 'give me ownership
    of this cacheline' transaction. That can then be followed
    by the real cmpxchg8b which sets the value local to the CPU.
    
    Reported-by: Linus Torvalds <torvalds@xxxxxxxxxxxxxxxxxxxx>
    Cc: Eric Dumazet <eric.dumazet@xxxxxxxxx>
    Cc: Peter Zijlstra <a.p.zijlstra@xxxxxxxxx>
    Cc: Mike Galbraith <efault@xxxxxx>
    Cc: Paul Mackerras <paulus@xxxxxxxxx>
    Cc: Arnaldo Carvalho de Melo <acme@xxxxxxxxxx>
    Cc: Frederic Weisbecker <fweisbec@xxxxxxxxx>
    Cc: David Howells <dhowells@xxxxxxxxxx>
    Cc: Andrew Morton <akpm@xxxxxxxxxxxxxxxxxxxx>
    Cc: Arnd Bergmann <arnd@xxxxxxxx>
    LKML-Reference: <alpine.LFD.2.01.0907021653030.3210@xxxxxxxxxxxxxxxxxxxxx>
    Signed-off-by: Ingo Molnar <mingo@xxxxxxx>

commit 69237f94e65d3d7f539f1adb98ef68685c595004
Author: Eric Dumazet <eric.dumazet@xxxxxxxxx>
Date:   Fri Jul 3 13:26:41 2009 +0200

    x86: atomic64: Improve cmpxchg8b()
    
    Rewrite cmpxchg8b() to not use %edi register but a generic "+m"
    constraint, to increase compiler freedom in code generation and
    possibly better code.
    
    Cc: Linus Torvalds <torvalds@xxxxxxxxxxxxxxxxxxxx>
    Cc: Peter Zijlstra <a.p.zijlstra@xxxxxxxxx>
    Cc: Mike Galbraith <efault@xxxxxx>
    Cc: Paul Mackerras <paulus@xxxxxxxxx>
    Cc: Arnaldo Carvalho de Melo <acme@xxxxxxxxxx>
    Cc: Frederic Weisbecker <fweisbec@xxxxxxxxx>
    Cc: David Howells <dhowells@xxxxxxxxxx>
    Cc: Andrew Morton <akpm@xxxxxxxxxxxxxxxxxxxx>
    Cc: Arnd Bergmann <arnd@xxxxxxxx>
    LKML-Reference: <alpine.LFD.2.01.0907021653030.3210@xxxxxxxxxxxxxxxxxxxxx>
    Signed-off-by: Ingo Molnar <mingo@xxxxxxx>

commit aacf682fd8c66b57383c407eecd9d4a28264ee91
Author: Eric Dumazet <eric.dumazet@xxxxxxxxx>
Date:   Fri Jul 3 12:14:27 2009 +0200

    x86: atomic64: Improve atomic64_read()
    
    Linus noticed that the 32-bit version of atomic64_read() was
    being overly complex with re-reading the value and doing a
    retry loop over that.
    
    Instead we can just rely on cmpxchg8b returning either the new
    value or returning the current value.
    
    We can use any 'old' value, which will be faster as it can be
    loaded via immediates. Using some value that is not equal to
    the real value in memory the instruction gets faster.
    
    This also has the advantage that the CPU could avoid dirtying
    the cacheline.
    
    Reported-by: Linus Torvalds <torvalds@xxxxxxxxxxxxxxxxxxxx>
    Cc: Peter Zijlstra <a.p.zijlstra@xxxxxxxxx>
    Cc: Mike Galbraith <efault@xxxxxx>
    Cc: Paul Mackerras <paulus@xxxxxxxxx>
    Cc: Arnaldo Carvalho de Melo <acme@xxxxxxxxxx>
    Cc: Frederic Weisbecker <fweisbec@xxxxxxxxx>
    Cc: David Howells <dhowells@xxxxxxxxxx>
    Cc: Andrew Morton <akpm@xxxxxxxxxxxxxxxxxxxx>
    Cc: Arnd Bergmann <arnd@xxxxxxxx>
    LKML-Reference: <alpine.LFD.2.01.0907021653030.3210@xxxxxxxxxxxxxxxxxxxxx>
    Signed-off-by: Ingo Molnar <mingo@xxxxxxx>

commit b7882b7c65abb00194bdb3d4a22d27d70fcc59ba
Author: Ingo Molnar <mingo@xxxxxxx>
Date:   Fri Jul 3 13:26:39 2009 +0200

    x86: atomic64: Move the 32-bit atomic64_t implementation to a .c file
    
    Linus noted that the atomic64_t primitives are all inlines
    currently which is crazy because these functions have a large
    register footprint anyway.
    
    Move them to a separate file: arch/x86/lib/atomic64_32.c
    
    Also, while at it, rename all uses of 'unsigned long long' to
    the much shorter u64.
    
    This makes the appearance of the prototypes a lot nicer - and
    it also uncovered a few bugs where (yet unused) API variants
    had 'long' as their return type instead of u64.
    
    [ More intrusive changes are not yet done in this patch. ]
    
    Reported-by: Linus Torvalds <torvalds@xxxxxxxxxxxxxxxxxxxx>
    Cc: Eric Dumazet <eric.dumazet@xxxxxxxxx>
    Cc: Peter Zijlstra <a.p.zijlstra@xxxxxxxxx>
    Cc: Mike Galbraith <efault@xxxxxx>
    Cc: Paul Mackerras <paulus@xxxxxxxxx>
    Cc: Arnaldo Carvalho de Melo <acme@xxxxxxxxxx>
    Cc: Frederic Weisbecker <fweisbec@xxxxxxxxx>
    Cc: David Howells <dhowells@xxxxxxxxxx>
    Cc: Andrew Morton <akpm@xxxxxxxxxxxxxxxxxxxx>
    Cc: Arnd Bergmann <arnd@xxxxxxxx>
    LKML-Reference: <alpine.LFD.2.01.0907021653030.3210@xxxxxxxxxxxxxxxxxxxxx>
    Signed-off-by: Ingo Molnar <mingo@xxxxxxx>

commit bbf2a330d92c5afccfd17592ba9ccd50f41cf748
Author: Eric Dumazet <eric.dumazet@xxxxxxxxx>
Date:   Fri Jul 3 00:08:26 2009 +0200

    x86: atomic64: The atomic64_t data type should be 8 bytes aligned on 32-bit too
    
    Locked instructions on two cache lines at once are painful. If
    atomic64_t uses two cache lines, my test program is 10x slower.
    
    The chance for that is significant: 4/32 or 12.5%.
    
    Make sure an atomic64_t is 8 bytes aligned.
    
    Signed-off-by: Eric Dumazet <eric.dumazet@xxxxxxxxx>
    Cc: Linus Torvalds <torvalds@xxxxxxxxxxxxxxxxxxxx>
    Cc: Peter Zijlstra <a.p.zijlstra@xxxxxxxxx>
    Cc: Mike Galbraith <efault@xxxxxx>
    Cc: Paul Mackerras <paulus@xxxxxxxxx>
    Cc: Arnaldo Carvalho de Melo <acme@xxxxxxxxxx>
    Cc: Frederic Weisbecker <fweisbec@xxxxxxxxx>
    Cc: David Howells <dhowells@xxxxxxxxxx>
    Cc: Andrew Morton <akpm@xxxxxxxxxxxxxxxxxxxx>
    Cc: Arnd Bergmann <arnd@xxxxxxxx>
    LKML-Reference: <alpine.LFD.2.01.0907021653030.3210@xxxxxxxxxxxxxxxxxxxxx>
    [ changed it to __aligned(8) as per Andrew's suggestion ]
    Signed-off-by: Ingo Molnar <mingo@xxxxxxx>

commit 029e5b1636d0511ef143af3a20c83c48e44c03f3
Author: Ingo Molnar <mingo@xxxxxxx>
Date:   Fri Jul 3 13:17:28 2009 +0200

    perf report: Annotate variable initialization
    
    Certain versions of GCC dont see the initialization that is done here:
    
      builtin-report.c: In function â??__cmd_reportâ??:
      builtin-report.c:1038: warning: â??symsâ?? may be used uninitialized in this function
    
    So annotate it with a NULL initialization.
    
    Cc: Peter Zijlstra <a.p.zijlstra@xxxxxxxxx>
    Cc: Mike Galbraith <efault@xxxxxx>
    Cc: Paul Mackerras <paulus@xxxxxxxxx>
    Cc: Arnaldo Carvalho de Melo <acme@xxxxxxxxxx>
    Cc: Frederic Weisbecker <fweisbec@xxxxxxxxx>
    LKML-Reference: <new-submission>
    Signed-off-by: Ingo Molnar <mingo@xxxxxxx>

commit 0827d6ba0b76be398a3c4298afd41f4965d2cdcb
Author: Grant Likely <grant.likely@xxxxxxxxxxxx>
Date:   Thu Jul 2 11:57:25 2009 -0600

    ASoC: add locking to mpc5200-psc-ac97 driver
    
    AC97 bus register read/write hooks need to provide locking, but the
    mpc5200-psc-ac97 driver does not.  This patch adds a mutex around
    the register access routines.
    
    Signed-off-by: Grant Likely <grant.likely@xxxxxxxxxxxx>
    Acked-by: Jon Smirl <jonsmirl@xxxxxxxxx>
    Signed-off-by: Mark Brown <broonie@xxxxxxxxxxxxxxxxxxxxxxxxxxx>

commit 07573534b0b030226ee5ab560e53aac7e6c0dd84
Author: Grant Likely <grant.likely@xxxxxxxxxxxx>
Date:   Thu Jul 2 11:57:19 2009 -0600

    ASoC: Fix mpc5200-psc-ac97 to ensure the data ready bit is cleared
    
    When doing register reads, it is possible for there to be a stale
    data ready bit set which will cause subsequent reads to return
    prematurely with incorrect data.  This patch fixes the issues by
    ensuring stale data is cleared before starting another transaction.
    
    Signed-off-by: Grant Likely <grant.likely@xxxxxxxxxxxx>
    Acked-by: Jon Smirl <jonsmirl@xxxxxxxxx>
    Signed-off-by: Mark Brown <broonie@xxxxxxxxxxxxxxxxxxxxxxxxxxx>

commit 1df892cba45f9856d369a6a317ad2d1e44bca423
Author: Mark Brown <broonie@xxxxxxxxxxxxxxxxxxxxxxxxxxx>
Date:   Fri Jul 3 10:33:39 2009 +0100

    ASoC: Fix register cache initialisation for WM8753
    
    The wrong register cache variable was being used to provide the size for
    the memcpy(), resulting in a copy of only a void * of data.
    
    Reported-by: Lars-Peter Clausen <lars@xxxxxxxxxx>
    Signed-off-by: Mark Brown <broonie@xxxxxxxxxxxxxxxxxxxxxxxxxxx>
    Cc: stable@xxxxxxxxxx

commit c222dce48cb2adf5ed68201fb2a59d00544b9a74
Merge: f6faac71d502be1c29c81b2f45657662c3b84470 b0a5b83ee0fce9dbf8ff5fe1f8c9ae7dfafe458c
Author: Ingo Molnar <mingo@xxxxxxx>
Date:   Fri Jul 3 11:03:10 2009 +0200

    Merge branch 'dma-debug/fixes' of git://git.kernel.org/pub/scm/linux/kernel/git/joro/linux-2.6-iommu into core/urgent

commit 44e18e9eda1f5c318a888989d929188eea93c8dc
Author: Magnus Damm <damm@xxxxxxxxxx>
Date:   Fri Jul 3 08:39:34 2009 +0000

    sh-sci: update receive error handling for muxed irqs
    
    This patch updates the receive error code for muxed
    interrupts in the sh-sci driver.
    
    Receive error interrupts may be generated by the hardware
    if RE or REIE bits in SCSCR are set. Update the muxed
    interrupt handling code to acknowledge error interrupts
    if RE or REIE is set, instead of only acknowledging if
    REIE is set.
    
    Without this patch error interrupts may be generated but
    never acked resulting in a "nobody cared" crash.
    
    Signed-off-by: Magnus Damm <damm@xxxxxxxxxx>
    Signed-off-by: Paul Mundt <lethal@xxxxxxxxxxxx>

commit 30d7a77dd5a9720430af72f6f62f5156fe073e55
Author: Arnaldo Carvalho de Melo <acme@xxxxxxxxxx>
Date:   Thu Jul 2 21:24:14 2009 -0300

    perf_counter tools: Adjust symbols in ET_EXEC files too
    
    Ingo Molnar wrote:
    
    > i just bisected a 'perf report' bug that would cause us to not
    > resolve all user-space symbols in a 'git gc' run to:
    >
    > f5812a7a336fb952d819e4427b9a2dce02368e82 is first bad commit
    > commit f5812a7a336fb952d819e4427b9a2dce02368e82
    > Author: Arnaldo Carvalho de Melo <acme@xxxxxxxxxx>
    > Date:   Tue Jun 30 11:43:17 2009 -0300
    >
    >     perf_counter tools: Adjust only prelinked symbol's addresses
    
    Rename ->prelinked to ->adjust_symbols and making what was done
    only for prelinked libraries also to ET_EXEC binaries, such as
    /usr/bin/git:
    
    [acme@doppio pahole]$ readelf -h /usr/bin/git | grep Type
      Type:                              EXEC (Executable file)
    [acme@doppio pahole]$
    
    And after installing the 'git-debuginfo' package, I get correct results:
    
    [acme@doppio linux-2.6-tip]$ perf report --sort comm,dso,symbol -d /usr/bin/git | head -20
    
     #
     # (1139614 samples)
     #
     # Overhead           Command  Shared Object              Symbol
     # ........  ................  .........................  ......
     #
        34.98%               git  /usr/bin/git               [.] send_sideband
        33.39%               git  /usr/bin/git               [.] enter_repo
         6.81%               git  /usr/bin/git               [.] diff_opt_parse
         4.95%               git  /usr/bin/git               [.] is_repository_shallow
         3.24%               git  /usr/bin/git               [.] odb_mkstemp
         1.39%               git  /usr/bin/git               [.] output
         1.34%               git  /usr/bin/git               [.] xmmap
         1.25%               git  /usr/bin/git               [.] receive_pack_config
         1.16%               git  /usr/bin/git               [.] git_pathdup
         0.90%               git  /usr/bin/git               [.] read_object_with_reference
         0.86%               git  /usr/bin/git               [.] show_patch_diff
         0.85%               git  /usr/bin/git               0x00000000095e2e
         0.69%               git  /usr/bin/git               [.] display
    [acme@doppio linux-2.6-tip]$
    
    I'll check what are the last cases where we can't resolve symbols, like
    this 0x00000000095e2e later.
    
    And I guess this will fix the problems Mike were seeing too:
    
     [acme@doppio linux-2.6-tip]$ readelf -h ../build/perf/vmlinux | grep Type
       Type:                              EXEC (Executable file)
     [acme@doppio linux-2.6-tip]$
    
    Cc: Peter Zijlstra <a.p.zijlstra@xxxxxxxxx>
    Cc: Mike Galbraith <efault@xxxxxx>
    Cc: Paul Mackerras <paulus@xxxxxxxxx>
    Cc: Frederic Weisbecker <fweisbec@xxxxxxxxx>
    LKML-Reference: <new-submission>
    Signed-off-by: Ingo Molnar <mingo@xxxxxxx>

commit 47220f623c3216ca276bad517ed208ea2ffceaa2
Author: Paul Mundt <lethal@xxxxxxxxxxxx>
Date:   Fri Jul 3 13:08:28 2009 +0900

    sh: define PERF_COUNTER_INDEX_OFFSET.
    
    Fixes up recent build breakage.
    
    Signed-off-by: Paul Mundt <lethal@xxxxxxxxxxxx>

commit b3d254955fb5797232ec329b136c363aa4fdaa05
Author: Keith Packard <keithp@xxxxxxxxxx>
Date:   Wed Jun 24 23:09:15 2009 -0700

    drm/i915: Adjust DisplayPort clocks to use 96MHz reference
    
    For some reason, the DP clocks were based off a 100MHz reference instead of
    the standard 96MHz reference. This caused some DP monitors to fail to lock
    to the signal.
    
    Signed-off-by: Keith Packard <keithp@xxxxxxxxxx>
    Signed-off-by: Eric Anholt <eric@xxxxxxxxxx>

commit 66d9e2102af038bcd3286a6efce83e1877e5997b
Author: Matthias Kaehlcke <matthias@xxxxxxxxxxxx>
Date:   Sun Jun 28 11:19:39 2009 +0100

    [ARM] 5576/1: Update kb9202_defconfig
    
    The default configuration file for the KwikByte kb9202 board was based on a 2.6.13-rc2 kernel and doesn't produce a bootable kernel. Update the
    configuration in order to produce a bootable image.
    
    Signed-off-by: Matthias Kaehlcke <matthias@xxxxxxxxxxxx>
    Signed-off-by: Russell King <rmk+kernel@xxxxxxxxxxxxxxxx>

commit 15da4b1612d608a47e095439b3dd1d77ffe20e0c
Author: Abhishek Kulkarni <adkulkar@xxxxxxxxxxxx>
Date:   Wed Jul 1 08:50:54 2009 +0000

    net/9p: Fix crash due to bad mount parameters.
    
    It is not safe to use match_int without checking the token type returned
    by match_token (especially when the token type returned is Opt_err and
    args is empty). Fix it.
    
    Signed-off-by: Abhishek Kulkarni <adkulkar@xxxxxxxxxxxx>
    Signed-off-by: David S. Miller <davem@xxxxxxxxxxxxx>

commit 887b5ea3683ce04966e35fa2e5fe215bedcde73c
Author: Alexander Duyck <alexander.h.duyck@xxxxxxxxx>
Date:   Wed Jul 1 13:38:26 2009 +0000

    if_ether: add define for 1588 aka Timesync
    
    This patch adds ETH_P_1588 protocol ID define.
    
    Signed-off-by: Alexander Duyck <alexander.h.duyck@xxxxxxxxx>
    Signed-off-by: David S. Miller <davem@xxxxxxxxxxxxx>

commit 42caa074042e22f873c408a0d13be657b16192f1
Author: Wade Farnsworth <wfarnsworth@xxxxxxxxxx>
Date:   Wed Jul 1 13:00:34 2009 +0000

    phylib: fixes for PHY_RESUMING state changes
    
    The PHY_HALTED state disables phydev->link, but the link will not be
    updated upon entering PHY_RESUMING.  Add a call to phy_read_status() to
    update the link before entering PHY_RUNNING.  If the link is not up at
    this point, enter the PHY_NOLINK state instead.
    
    Also, when transitioning from PHY_RESUMING to PHY_RUNNING, calls to
    netif_carrier_on() and phydev->adjust_link() are missing.  Add the calls
    similar to the other transitions to PHY_RUNNING.
    
    Signed-off-by: Wade Farnsworth <wfarnsworth@xxxxxxxxxx>
    Acked-by: Andy Fleming <afleming@xxxxxxxxxxxxx>
    Signed-off-by: David S. Miller <davem@xxxxxxxxxxxxx>

commit 67c38fc61af930fa03b042932b6b14fbf8126222
Author: Dhananjay Phadke <dhananjay@xxxxxxxxxx>
Date:   Wed Jul 1 11:41:43 2009 +0000

    netxen: avoid frequent firmware reset
    
    Restrict firmware reset to following cases -
    
    o chip rev is NX2031 (firmare doesn't support heartbit).
    o firmware is dead.
    o previous attempt to init firmware had failed.
    o we have got newer file firmware.
    
    This speeds up module load tremendously (by upto 8 sec),
    also avoids downtime for NCSI (management) pass-thru
    traffic.
    
    Signed-off-by: Dhananjay Phadke <dhananjay@xxxxxxxxxx>
    Signed-off-by: David S. Miller <davem@xxxxxxxxxxxxx>

commit 98e31bb00983a5b6d638a31e4ff77e5ca1ccf93e
Author: Dhananjay Phadke <dhananjay@xxxxxxxxxx>
Date:   Wed Jul 1 11:41:42 2009 +0000

    netxen: fix the version code macro
    
    Correct firmware encoding is 8 bit major, 8 bit minor and
    16 bit subversion. Flash has sizes rightly set, but original
    driver submission messed it leaving 16 bit major and 8 bit
    subversion.
    
    Also fix a infinite loop when cut-thru file firmware is
    invalid.
    
    Signed-off-by: Dhananjay Phadke <dhananjay@xxxxxxxxxx>
    Signed-off-by: David S. Miller <davem@xxxxxxxxxxxxx>

commit c56bd0c39ce31e694b6f32223c15bdd582263a3f
Author: Tilman Schmidt <tilman@xxxxxxx>
Date:   Wed Jul 1 11:20:57 2009 +0000

    gigaset: drop pointless check
    
    Drop a sanity check which doesn't serve any useful purpose anymore.
    
    Signed-off-by: Tilman Schmidt <tilman@xxxxxxx>
    Signed-off-by: David S. Miller <davem@xxxxxxxxxxxxx>

commit bceb0f126f25184eaec3f3c8f00c92b0d899e5de
Author: Tilman Schmidt <tilman@xxxxxxx>
Date:   Wed Jul 1 11:20:57 2009 +0000

    gigaset: accept connection establishment messages in any order
    
    ISDN connection setup failed if the "connection active" and
    "B channel up" messages from the device arrived in a different
    order than expected. Modify the state machine to accept them in
    any order.
    
    Impact: bugfix
    Signed-off-by: Tilman Schmidt <tilman@xxxxxxx>
    CC: stable <stable@xxxxxxxxxx>
    Signed-off-by: David S. Miller <davem@xxxxxxxxxxxxx>

commit 24b57c6988c5791628c89a8838910991abc9cc1e
Author: Frederic Weisbecker <fweisbec@xxxxxxxxx>
Date:   Thu Jul 2 20:14:35 2009 +0200

    perf_counter tools: Display percents of hits in callchain with overhead colors
    
    This adds the use of colors to signal at a glance the important
    overhead thresholds in callchains hit rates.
    
    Signed-off-by: Frederic Weisbecker <fweisbec@xxxxxxxxx>
    Cc: Peter Zijlstra <a.p.zijlstra@xxxxxxxxx>
    Cc: Mike Galbraith <efault@xxxxxx>
    Cc: Paul Mackerras <paulus@xxxxxxxxx>
    Cc: Anton Blanchard <anton@xxxxxxxxx>
    Cc: Arnaldo Carvalho de Melo <acme@xxxxxxxxxx>
    LKML-Reference: <1246558475-10624-3-git-send-email-fweisbec@xxxxxxxxx>
    Signed-off-by: Ingo Molnar <mingo@xxxxxxx>

commit 1e11fd82d247e4e48a1d6c49402214434538d3fd
Author: Frederic Weisbecker <fweisbec@xxxxxxxxx>
Date:   Thu Jul 2 20:14:34 2009 +0200

    perf_counter tools: Provide helper to print percents color
    
    Among perf annotate, perf report and perf top, we can find the
    common colored printing of percents according to the following
    rules:
    
        High overhead =  > 5%, colored in red
        Mid overhead =  > 0.5%, colored in green
        Low overhead =  < 0.5%, default color
    
    Factorize these multiple checks in a single function named
    percent_color_fprintf() and also provide a get_percent_color()
    for sites which print percentages and other things at the same
    time.
    
    Signed-off-by: Frederic Weisbecker <fweisbec@xxxxxxxxx>
    Cc: Peter Zijlstra <a.p.zijlstra@xxxxxxxxx>
    Cc: Mike Galbraith <efault@xxxxxx>
    Cc: Paul Mackerras <paulus@xxxxxxxxx>
    Cc: Anton Blanchard <anton@xxxxxxxxx>
    Cc: Arnaldo Carvalho de Melo <acme@xxxxxxxxxx>
    LKML-Reference: <1246558475-10624-2-git-send-email-fweisbec@xxxxxxxxx>
    Signed-off-by: Ingo Molnar <mingo@xxxxxxx>

commit c20ab37ef30f4a874cf27e84c12c73e584e6f5cc
Author: Frederic Weisbecker <fweisbec@xxxxxxxxx>
Date:   Thu Jul 2 20:14:33 2009 +0200

    perf_counter tools: Set the minimum percent for callchains to be displayed
    
    Callchains output may become a burden on a trace because even
    rarely hit site are exposed. This can be too much information.
    
    Let the user set a threshold as a minimum percent of hits using
    the new pattern for the -c option:
    
        -c mode,min_percent
    
    Example:
    
    $ perf report -s sym -c flat,4
    
         8.25%  [k] copy_user_generic_string
                 4.19%
                    copy_user_generic_string
                    generic_file_aio_read
                    do_sync_read
                    vfs_read
                    sys_pread64
                    system_call_fastpath
                    pread64
    
         5.39%  [k] search_by_key
         4.63%  0x00000000009e0a
         2.36%  [k] memcpy_c
    [...]
    
    $ perf report -s sym -c graph,2
    
         8.25%  [k] copy_user_generic_string
                    |
                    |--4.31%-- generic_file_aio_read
                    |          do_sync_read
                    |          vfs_read
                    |          |
                    |           --4.19%-- sys_pread64
                    |                     system_call_fastpath
                    |                     pread64
                    |
                     --3.24%-- generic_file_buffered_write
                               __generic_file_aio_write_nolock
                               generic_file_aio_write
                               do_sync_write
                               reiserfs_file_write
                               vfs_write
                               |
                                --3.14%-- sys_pwrite64
                                          system_call_fastpath
                                          __pwrite64
    
         5.39%  [k] search_by_key
                    |
                     --2.23%-- reiserfs_update_sd_size
    
         4.63%  0x00000000009e0a
    
         2.36%  [k] memcpy_c
    [...]
    
    You can also omit it and it will default to 0.
    
    Signed-off-by: Frederic Weisbecker <fweisbec@xxxxxxxxx>
    Cc: Peter Zijlstra <a.p.zijlstra@xxxxxxxxx>
    Cc: Mike Galbraith <efault@xxxxxx>
    Cc: Paul Mackerras <paulus@xxxxxxxxx>
    Cc: Anton Blanchard <anton@xxxxxxxxx>
    Cc: Arnaldo Carvalho de Melo <acme@xxxxxxxxxx>
    LKML-Reference: <1246558475-10624-1-git-send-email-fweisbec@xxxxxxxxx>
    Signed-off-by: Ingo Molnar <mingo@xxxxxxx>

commit ebbb16bffa646f853899ef3fdc0ac7abab888703
Author: Stefan Richter <stefanr@xxxxxxxxxxxxxxxxx>
Date:   Tue Jun 30 20:28:31 2009 +0200

    ieee1394: sbp2: add support for disks >2 TB (and 16 bytes long CDBs)
    
    Increase the command ORB data structure to transport up to 16 bytes long
    CDBs (instead of 12 bytes), and tell the SCSI mid layer about it.  This
    is notably necessary for READ CAPACITY(16) and friends, i.e. support of
    large disks.
    
    Signed-off-by: Stefan Richter <stefanr@xxxxxxxxxxxxxxxxx>

commit af2719415a5ceae06f2a6d33e78b555e64697fc8
Author: Stefan Richter <stefanr@xxxxxxxxxxxxxxxxx>
Date:   Tue Jun 30 20:27:59 2009 +0200

    firewire: sbp2: add support for disks >2 TB (and 16 bytes long CDBs)
    
    Increase the command ORB data structure to transport up to 16 bytes long
    CDBs (instead of 12 bytes), and tell the SCSI mid layer about it.  This
    is notably necessary for READ CAPACITY(16) and friends, i.e. support of
    large disks.
    
    Signed-off-by: Stefan Richter <stefanr@xxxxxxxxxxxxxxxxx>

commit 4eb3e4788b8a5e220a0aeb590f88c28850726ebe
Author: Frederic Weisbecker <fweisbec@xxxxxxxxx>
Date:   Thu Jul 2 17:58:21 2009 +0200

    perf report: Add support for callchain graph output
    
    Currently, the printing of callchains is done in a single
    vertical level, this is the "flat" mode:
    
    8.25%  [k] copy_user_generic_string
                 4.19%
                    copy_user_generic_string
                    generic_file_aio_read
                    do_sync_read
                    vfs_read
                    sys_pread64
                    system_call_fastpath
                    pread64
    
    This patch introduces a new "graph" mode which provides a
    hierarchical output of factorized paths recursively sorted:
    
     8.25%  [k] copy_user_generic_string
                    |
                    |--4.31%-- generic_file_aio_read
                    |          do_sync_read
                    |          vfs_read
                    |          |
                    |          |--4.19%-- sys_pread64
                    |          |          system_call_fastpath
                    |          |          pread64
                    |          |
                    |           --0.12%-- sys_read
                    |                     system_call_fastpath
                    |                     __read
                    |
                    |--3.24%-- generic_file_buffered_write
                    |          __generic_file_aio_write_nolock
                    |          generic_file_aio_write
                    |          do_sync_write
                    |          reiserfs_file_write
                    |          vfs_write
                    |          |
                    |          |--3.14%-- sys_pwrite64
                    |          |          system_call_fastpath
                    |          |          __pwrite64
                    |          |
                    |           --0.10%-- sys_write
    [...]
    
    The command line has then changed.
    
    By providing the -c option, the callchain will output in the
    flat mode by default.
    
    But you can override it:
    
        perf report -c graph
    
    or
    
        perf report -c flat
    
    You can also pass the abreviated mode:
    
        perf report -c g
    
    or
    
        perf report -c gra
    
    will both make use of the graph mode.
    
    Signed-off-by: Frederic Weisbecker <fweisbec@xxxxxxxxx>
    Cc: Peter Zijlstra <a.p.zijlstra@xxxxxxxxx>
    Cc: Mike Galbraith <efault@xxxxxx>
    Cc: Paul Mackerras <paulus@xxxxxxxxx>
    Cc: Anton Blanchard <anton@xxxxxxxxx>
    Cc: Arnaldo Carvalho de Melo <acme@xxxxxxxxxx>
    LKML-Reference: <1246550301-8954-3-git-send-email-fweisbec@xxxxxxxxx>
    Signed-off-by: Ingo Molnar <mingo@xxxxxxx>

commit 5a4b181721375700124513cdd9f97056e1c66675
Author: Frederic Weisbecker <fweisbec@xxxxxxxxx>
Date:   Thu Jul 2 17:58:20 2009 +0200

    perf_counter tools: Add new OPT_CALLBACK_DEFAULT option
    
    There is no predefined macro to create an option that can have
    a custom value or a default one if none is given.
    
    This patch provides a new helper OPT_CALLBACK_DEFAULT() which
    defines such kind of option.
    
    For example, considering an option -c, we want to get the
    default value in the following cases:
    
        perf command -c -d
        perf command -d -c
    
    And the foo value when it's given:
    
        perf command -c foo -d
        perf command -d -c foo
    
    That's also why PARSE_OPT_LASTARG_DEFAULT is extended here to
    support default values whatever the position of the option, not
    only in the end.
    
    Should it now be renamed to PARSE_OPT_ARG_DEFAULT ?
    
    Signed-off-by: Frederic Weisbecker <fweisbec@xxxxxxxxx>
    Cc: Peter Zijlstra <a.p.zijlstra@xxxxxxxxx>
    Cc: Mike Galbraith <efault@xxxxxx>
    Cc: Paul Mackerras <paulus@xxxxxxxxx>
    Cc: Anton Blanchard <anton@xxxxxxxxx>
    Cc: Arnaldo Carvalho de Melo <acme@xxxxxxxxxx>
    Cc: git@xxxxxxxxxxxxxxx
    LKML-Reference: <1246550301-8954-2-git-send-email-fweisbec@xxxxxxxxx>
    Signed-off-by: Ingo Molnar <mingo@xxxxxxx>

commit 14f4654cbd531d48651e005cf05907c14bddb193
Author: Frederic Weisbecker <fweisbec@xxxxxxxxx>
Date:   Thu Jul 2 17:58:19 2009 +0200

    perf_counter tools: Create new chain_for_each_child() iterator
    
    Iterating through children of a node in the callchain tree
    shows something that may be quite confusing at a first glance.
    The head is the children field of the parent and the list nodes
    are in the brothers field of the children.
    
    This is because the childs are linked to the parent as a list
    of "brothers" using the "children" list of the parent as a
    head:
    
      ---------------
     | Parent (head) |-------------------------------------
      ---------------                                      |
         |                                                 |
      children                                             |
         |                                                 |
      -----------               -----------                |
     | 1st child |---brother---| 2nd child |---brother-----
      -----------               -----------
    
    This makes the following strange pattern often occuring:
    
     list_for_each_entry(child, &parent->children, brothers) {
            // do something with children
     }
    
    Abstract it to chain_for_each_child() to factorize and simplify
    this pattern.
    
    Signed-off-by: Frederic Weisbecker <fweisbec@xxxxxxxxx>
    Cc: Peter Zijlstra <a.p.zijlstra@xxxxxxxxx>
    Cc: Mike Galbraith <efault@xxxxxx>
    Cc: Paul Mackerras <paulus@xxxxxxxxx>
    Cc: Anton Blanchard <anton@xxxxxxxxx>
    Cc: Arnaldo Carvalho de Melo <acme@xxxxxxxxxx>
    LKML-Reference: <1246550301-8954-1-git-send-email-fweisbec@xxxxxxxxx>
    Signed-off-by: Ingo Molnar <mingo@xxxxxxx>

commit 1bc6f83813441d15a74dfa97966fb68fa1bdec76
Author: Joerg Roedel <joerg.roedel@xxxxxxx>
Date:   Thu Jul 2 18:32:05 2009 +0200

    amd-iommu: set evt_buf_size correctly
    
    The setting of this variable got lost during the suspend/resume
    implementation.  But keeping this variable zero causes a divide-by-zero
    error in the interrupt handler. This patch fixes this.
    
    Signed-off-by: Joerg Roedel <joerg.roedel@xxxxxxx>

commit 4ebfc3dba59fb84b315ebb0059347dc9342a32f1
Author: Linus Walleij <linus.walleij@xxxxxxxxxxxxxx>
Date:   Thu Jul 2 00:27:57 2009 +0100

    [ARM] 5581/1: U300 clock updates
    
    This adds a few default locks to the clocks (the clocks were used
    before the locks were initialized by code), then renames the clocks
    a bit to fit with the latest driver names (some changed during
    review). Lastly it moves the initialization of the clock debugfs
    entry to module_init() initcall level since the debugfs isn't up
    in core_initcall().
    
    Signed-off-by: Linus Walleij <linus.walleij@xxxxxxxxxxxxxx>
    Signed-off-by: Russell King <rmk+kernel@xxxxxxxxxxxxxxxx>

commit 9be4b17c4c900f634ab9be3d13e116aa31edb7cb
Author: Linus Walleij <linus.walleij@xxxxxxxxxxxxxx>
Date:   Wed Jul 1 23:41:12 2009 +0100

    [ARM] 5579/1: Updated U300 defconfig
    
    This defconfig update selects all the new U300 drivers merged for
    2.6.31-rc1 in the merge window and add defaults for the new
    config options. It compiles and boots nicely from initramfs on
    the U300.
    
    Signed-off-by: Linus Walleij <linus.walleij@xxxxxxxxxxxxxx>
    Signed-off-by: Russell King <rmk+kernel@xxxxxxxxxxxxxxxx>

commit 7a6a3a086fe60bb3b739f66e47dc5bbc8f530d32
Author: Joerg Roedel <joerg.roedel@xxxxxxx>
Date:   Thu Jul 2 12:23:23 2009 +0200

    amd-iommu: handle alias entries correctly in init code
    
    An alias entry in the ACPI table means that the device can send requests to the
    IOMMU with both device ids, its own and the alias. This is not handled properly
    in the ACPI init code. This patch fixes the issue.
    
    Signed-off-by: Joerg Roedel <joerg.roedel@xxxxxxx>

commit 251e1e44b97852aa5e53e71c4b47e55b2dfd054e
Author: Ingo Molnar <mingo@xxxxxxx>
Date:   Thu Jul 2 08:54:01 2009 +0200

    x86: Fix printk call in print_local_apic()
    
    Instead of this:
    
    [   75.690022] <7>printing local APIC contents on CPU#0/0:
    [   75.704406] ... APIC ID:      00000000 (0)
    [   75.707905] ... APIC VERSION: 00060015
    [   75.722551] ... APIC TASKPRI: 00000000 (00)
    [   75.725473] ... APIC PROCPRI: 00000000
    [   75.728592] ... APIC LDR: 00000001
    [   75.742137] ... APIC SPIV: 000001ff
    [   75.744101] ... APIC ISR field:
    [   75.746648] 0123456789abcdef0123456789abcdef
    [   75.746649] <7>00000000000000000000000000000000
    
    Improve the code to be saner and simpler and just print out
    the bitfield in a single line using hexa values - not as a
    (rather pointless) binary bitfield.
    
    Partially reused Linus's initial fix for this.
    
    Reported-and-Tested-by: Yinghai Lu <yinghai@xxxxxxxxxx>
    Signed-off-by: Yinghai Lu <yinghai@xxxxxxxxxx>
    Cc: Linus Torvalds <torvalds@xxxxxxxxxxxxxxxxxxxx>
    Cc: Andrew Morton <akpm@xxxxxxxxxxxxxxxxxxxx>
    LKML-Reference: <4A4C43BC.90506@xxxxxxxxxx>
    Signed-off-by: Ingo Molnar <mingo@xxxxxxx>

commit e1af3aec3e2e7d21d4b3054323779d478c19d907
Author: Xiao Guangrong <xiaoguangrong@xxxxxxxxxxxxxx>
Date:   Wed Jul 1 16:50:25 2009 +0800

    tracing: Fix trace_print_seq()
    
    We will lose something if trace_seq->buffer[0] is 0, because the copy length
    is calculated by strlen() in seq_puts(), so using seq_write() instead of
    seq_puts().
    
    There have a example:
    after reboot:
    
     # echo kmemtrace > current_tracer
     # echo 0 > options/kmem_minimalistic
     # cat trace
     # tracer: kmemtrace
     #
     #
    
    Nothing is exported, because the first byte of trace_seq->buffer[ ]
    is KMEMTRACE_USER_ALLOC.
    
    ( the value of KMEMTRACE_USER_ALLOC is zero, seeing
      kmemtrace_print_alloc_user() in kernel/trace/kmemtrace.c)
    
    Signed-off-by: Xiao Guangrong <xiaoguangrong@xxxxxxxxxxxxxx>
    Acked-by: Frederic Weisbecker <fweisbec@xxxxxxxxx>
    Acked-by: Pekka Enberg <penberg@xxxxxxxxxxxxxx>
    Acked-by: Eduard - Gabriel Munteanu <eduard.munteanu@xxxxxxxxxxx>
    Cc: Steven Rostedt <rostedt@xxxxxxxxxxx>
    LKML-Reference: <4A4B2351.5010300@xxxxxxxxxxxxxx>
    Signed-off-by: Ingo Molnar <mingo@xxxxxxx>

commit 429764873cf3fc3e73142872a674bb27cda589c1
Author: Mike Galbraith <efault@xxxxxx>
Date:   Thu Jul 2 08:09:46 2009 +0200

    perf_counter tools: Enable kernel module symbol loading in tools
    
    Add the -m/--modules option to perf report and perf annotate,
    which enables live module symbol/image loading. To be used
    with -k/--vmlinux.
    
    (Also give perf annotate a -P/--full-paths option.)
    
    Signed-off-by: Mike Galbraith <efault@xxxxxx>
    Cc: Peter Zijlstra <a.p.zijlstra@xxxxxxxxx>
    Cc: Paul Mackerras <paulus@xxxxxxxxx>
    Cc: Arnaldo Carvalho de Melo <acme@xxxxxxxxxx>
    LKML-Reference: <1246514986.13293.48.camel@xxxxxxxxxxxxxxxx>
    Signed-off-by: Ingo Molnar <mingo@xxxxxxx>

commit 6cfcc53ed4f3ecb9319e73a03f34f1eddcb644dd
Author: Mike Galbraith <efault@xxxxxx>
Date:   Thu Jul 2 08:08:36 2009 +0200

    perf_counter tools: Connect module support infrastructure to symbol loading infrastructure
    
    Signed-off-by: Mike Galbraith <efault@xxxxxx>
    Cc: Peter Zijlstra <a.p.zijlstra@xxxxxxxxx>
    Cc: Paul Mackerras <paulus@xxxxxxxxx>
    Cc: Arnaldo Carvalho de Melo <acme@xxxxxxxxxx>
    LKML-Reference: <1246514916.13293.46.camel@xxxxxxxxxxxxxxxx>
    Signed-off-by: Ingo Molnar <mingo@xxxxxxx>

commit 208b4b4a59351011b7f212e273f2b7bc47a9c482
Author: Mike Galbraith <efault@xxxxxx>
Date:   Thu Jul 2 08:07:10 2009 +0200

    perf_counter tools: Add infrastructure to support loading of kernel module symbols
    
    Add infrastructure for module path discovery and section load addresses.
    
    Signed-off-by: Mike Galbraith <efault@xxxxxx>
    Cc: Peter Zijlstra <a.p.zijlstra@xxxxxxxxx>
    Cc: Paul Mackerras <paulus@xxxxxxxxx>
    Cc: Arnaldo Carvalho de Melo <acme@xxxxxxxxxx>
    LKML-Reference: <1246514830.13293.44.camel@xxxxxxxxxxxxxxxx>
    Signed-off-by: Ingo Molnar <mingo@xxxxxxx>

commit 9974f496782b7612e36a143bedda858f1cb953d4
Author: Mike Galbraith <efault@xxxxxx>
Date:   Thu Jul 2 08:05:58 2009 +0200

    perf_counter tools: Make symbol loading consistently return number of loaded symbols
    
    perf_counter tools: Make symbol loading consistently return number of loaded symbols.
    
    Signed-off-by: Mike Galbraith <efault@xxxxxx>
    Cc: Peter Zijlstra <a.p.zijlstra@xxxxxxxxx>
    Cc: Paul Mackerras <paulus@xxxxxxxxx>
    Cc: Arnaldo Carvalho de Melo <acme@xxxxxxxxxx>
    LKML-Reference: <1246514758.13293.42.camel@xxxxxxxxxxxxxxxx>
    Signed-off-by: Ingo Molnar <mingo@xxxxxxx>

commit 1ae8c0a56eeb3ed358b78ccadd024d6b721f26bc
Author: Keith Packard <keithp@xxxxxxxxxx>
Date:   Sun Jun 28 15:42:17 2009 -0700

    drm/i915: Make driver less chatty
    
    Convert many printk calls to DRM_DEBUG calls to reduce kernel log noise
    for normal activities. Switch other printk calls to DRM_ERROR or DRM_INFO.
    
    Signed-off-by: Keith Packard <keithp@xxxxxxxxxx>
    Signed-off-by: Eric Anholt <eric@xxxxxxxxxx>

commit 956dba3caaf66b84fe5f6180e0e4dd03902c7980
Author: Andy Whitcroft <apw@xxxxxxxxxxxxx>
Date:   Wed Jul 1 15:20:59 2009 +0100

    drm/i915: fix up a raw 64bit divide
    
    We are seeing compilation failures on i386 in some environments due
    to an undefined reference as below:
    
        ERROR: "__udivdi3" [drivers/gpu/drm/i915/i915.ko] undefined!
    
    This is generated due to a raw 64 bit divide in the i915 driver.  Fix up
    this raw divide.
    
    Signed-off-by: Andy Whitcroft <apw@xxxxxxxxxxxxx>
    Acked-by: Jesse Barnes <jbarnes@xxxxxxxxxxxxxxxx>
    Signed-off-by: Eric Anholt <eric@xxxxxxxxxx>

commit cc0bad7552308e8905d6ea56e6b7811fa67e716d
Author: Jeff Layton <jlayton@xxxxxxxxxx>
Date:   Thu Jun 25 00:56:52 2009 -0400

    cifs: add new cifs_iget function and convert unix codepath to use it
    
    cifs: add new cifs_iget function and convert unix codepath to use it
    
    In order to unify some codepaths, introduce a common cifs_fattr struct
    for storing inode attributes. The different codepaths (unix, legacy,
    normal, etc...) can fill out this struct with inode info. It can then be
    passed as an arg to a common set of routines to get and update inodes.
    
    Add a new cifs_iget function that uses iget5_locked to identify inodes.
    This will compare inodes based on the uniqueid value in a cifs_fattr
    struct.
    
    Rather than filling out an already-created inode, have
    cifs_get_inode_info_unix instead fill out cifs_fattr and hand that off
    to cifs_iget. cifs_iget can then properly look for hardlinked inodes.
    
    On the readdir side, add a new cifs_readdir_lookup function that spawns
    populated dentries. Redefine FILE_UNIX_INFO so that it's basically a
    FILE_UNIX_BASIC_INFO that has a few fields wrapped around it. This
    allows us to more easily use the same function for filling out the fattr
    as the non-readdir codepath.
    
    With this, we should then have proper hardlink detection and can
    eventually get rid of some nasty CIFS-specific hacks for handing them.
    
    Signed-off-by: Jeff Layton <jlayton@xxxxxxxxxx>
    Reviewed-by: Christoph Hellwig <hch@xxxxxx>
    Signed-off-by: Steve French <sfrench@xxxxxxxxxx>

commit 46b952a3c3a94afa339bd4961a4f3d1482436599
Author: Matthew Wilcox <matthew@xxxxxx>
Date:   Wed Jul 1 14:24:30 2009 -0700

    PCI: Fix IRQ swizzling for ARI-enabled devices
    
    For many purposes, including interrupt-swizzling, devices with ARI
    enabled behave as if they have one device (number 0) and 256 functions.
    This probably hasn't bitten us in practice because all ARI devices I've
    seen are also IOV devices, and IOV devices are required to use MSI.
    This isn't guaranteed, and there are legitimate reasons to use ARI
    without IOV, and hence potentially use pin-based interrupts.
    
    Signed-off-by: Matthew Wilcox <willy@xxxxxxxxxxxxxxx>
    Signed-off-by: Jesse Barnes <jbarnes@xxxxxxxxxxxxxxxx>

commit a92bef0f216bbf3d05c0c0709ea02e267f2b920e
Author: Frederic Weisbecker <fweisbec@xxxxxxxxx>
Date:   Wed Jul 1 21:02:10 2009 +0200

    perf stat: Handle pipe read failures in perf stat
    
    Building builtin-stat.c reports the following errors:
    
    cc1: warnings being treated as errors
    builtin-stat.c: In function â??run_perf_statâ??:
    builtin-stat.c:242: erreur: ignoring return value of â??readâ??, declared with attribute warn_unused_result
    builtin-stat.c:255: erreur: ignoring return value of â??readâ??, declared with attribute warn_unused_result
    make: *** [builtin-stat.o] Erreur 1
    
    This patch handles the possible pipe read failures.
    
    Signed-off-by: Frederic Weisbecker <fweisbec@xxxxxxxxx>
    Cc: Peter Zijlstra <a.p.zijlstra@xxxxxxxxx>
    Cc: Mike Galbraith <efault@xxxxxx>
    Cc: Paul Mackerras <paulus@xxxxxxxxx>
    Cc: Anton Blanchard <anton@xxxxxxxxx>
    Cc: Arnaldo Carvalho de Melo <acme@xxxxxxxxxx>
    LKML-Reference: <1246474930-6088-2-git-send-email-fweisbec@xxxxxxxxx>
    Signed-off-by: Ingo Molnar <mingo@xxxxxxx>

commit 0406ca6d8e849d9dd027c8cb6791448e81411aef
Author: Frederic Weisbecker <fweisbec@xxxxxxxxx>
Date:   Wed Jul 1 21:02:09 2009 +0200

    perf_counter: Ignore the nmi call frames in the x86-64 backtraces
    
    About every callchains recorded with perf record are filled up
    including the internal perfcounter nmi frame:
    
     perf_callchain
     perf_counter_overflow
     intel_pmu_handle_irq
     perf_counter_nmi_handler
     notifier_call_chain
     atomic_notifier_call_chain
     notify_die
     do_nmi
     nmi
    
    We want ignore this frame as it's not interesting for
    instrumentation. To solve this, we simply ignore every frames
    from nmi context.
    
    New example of "perf report -s sym -c" after this patch:
    
    9.59%  [k] search_by_key
                 4.88%
                    search_by_key
                    reiserfs_read_locked_inode
                    reiserfs_iget
                    reiserfs_lookup
                    do_lookup
                    __link_path_walk
                    path_walk
                    do_path_lookup
                    user_path_at
                    vfs_fstatat
                    vfs_lstat
                    sys_newlstat
                    system_call_fastpath
                    __lxstat
                    0x406fb1
    
                 3.19%
                    search_by_key
                    search_by_entry_key
                    reiserfs_find_entry
                    reiserfs_lookup
                    do_lookup
                    __link_path_walk
                    path_walk
                    do_path_lookup
                    user_path_at
                    vfs_fstatat
                    vfs_lstat
                    sys_newlstat
                    system_call_fastpath
                    __lxstat
                    0x406fb1
    [...]
    
    For now this patch only solves the problem in x86-64.
    
    Signed-off-by: Frederic Weisbecker <fweisbec@xxxxxxxxx>
    Cc: Peter Zijlstra <a.p.zijlstra@xxxxxxxxx>
    Cc: Mike Galbraith <efault@xxxxxx>
    Cc: Paul Mackerras <paulus@xxxxxxxxx>
    Cc: Anton Blanchard <anton@xxxxxxxxx>
    Cc: Arnaldo Carvalho de Melo <acme@xxxxxxxxxx>
    LKML-Reference: <1246474930-6088-1-git-send-email-fweisbec@xxxxxxxxx>
    Signed-off-by: Ingo Molnar <mingo@xxxxxxx>

commit 5da50258584469ddfee6545feb4eb2252a8d7e7b
Author: Arnaldo Carvalho de Melo <acme@xxxxxxxxxx>
Date:   Wed Jul 1 14:46:08 2009 -0300

    perf_counter tools: Share list.h with the kernel
    
    The copy we were using came from another copy I did for the dwarves
    (pahole) package, that came from the kernel years ago.
    
    The only function that is used by the perf tools and that isn't in the
    kernel is list_del_range, that I'm leaving in the perf tools only for
    now.
    
    Signed-off-by: Arnaldo Carvalho de Melo <acme@xxxxxxxxxx>
    Cc: Frederic Weisbecker <fweisbec@xxxxxxxxx>
    Cc: Mike Galbraith <efault@xxxxxx>
    Cc: Peter Zijlstra <peterz@xxxxxxxxxxxxx>
    Cc: Paul Mackerras <paulus@xxxxxxxxx>
    LKML-Reference: <20090701174608.GA5823@xxxxxxxxxxxxxxxxxx>
    Signed-off-by: Ingo Molnar <mingo@xxxxxxx>

commit 43cbcd8acb4c992cbd22d1ec8a08c0591be5d719
Author: Arnaldo Carvalho de Melo <acme@xxxxxxxxxx>
Date:   Wed Jul 1 12:28:37 2009 -0300

    perf_counter tools: Share rbtree.with the kernel
    
    The tools/perf/util/rbtree.c copy already drifted by three
    csets:
    
     4b324126e0c6c3a5080ca3ec0981e8766ed6f1ee
     4c60117811171d867d4f27f17ea07d7419d45dae
     16c047add3ceaf0ab882e3e094d1ec904d02312d
    
    So remove the copy and use the lib/rbtree.c directly, sharing
    the source code while still generating a separate object file,
    since tools/perf uses a far more agressive -O6 switch.
    
    Signed-off-by: Arnaldo Carvalho de Melo <acme@xxxxxxxxxx>
    Cc: Mike Galbraith <efault@xxxxxx>
    Cc: Peter Zijlstra <peterz@xxxxxxxxxxxxx>
    Cc: Paul Mackerras <paulus@xxxxxxxxx>
    Cc: Frederic Weisbecker <fweisbec@xxxxxxxxx>
    LKML-Reference: <20090701152837.GG15682@xxxxxxxxxxxxxxxxxx>
    Signed-off-by: Ingo Molnar <mingo@xxxxxxx>

commit 12682a971160959072c4970da9b7778709f60bc9
Author: ling.ma@xxxxxxxxx <ling.ma@xxxxxxxxx>
Date:   Tue Jun 30 11:35:35 2009 +0800

    drm/i915: enable sdvo lvds scaling function.
    
    Currently we implemented basic sdvo lvds function,
    But except for sdvo lvds fixed mode, we can not switch
    to other modes, otherwise display get black. The patch
    handle three operations to enable sdvo lvds. At first
    duplicate sdvo fixed mode for adjustment, then according
    to fixed mode line valid all modes, at last adjust input
    mode to fit our requirement.
    
    Acked by Li Peng <peng.li@xxxxxxxxxxxxxxx>
    Signed-off-by: Ma Ling <ling.ma@xxxxxxxxx>
    Reviewed-by: Ian Romanick <idr@xxxxxxxxxxxxxxx>
    Signed-off-by: Eric Anholt <eric@xxxxxxxxxx>

commit 6ff4fd05676bc5b5c930bef25901e489f7843660
Author: ling.ma@xxxxxxxxx <ling.ma@xxxxxxxxx>
Date:   Thu Jun 25 10:59:22 2009 +0800

    drm/i915: Set SSC frequency for 8xx chips correctly
    
    All 8xx class chips have the 66/48 split, not just 855.
    
    Signed-off-by: Ma Ling <ling.ma@xxxxxxxxx>
    Reviewed-by: Jesse Barnes <jbarnes@xxxxxxxxxxxxxxxx>
    Signed-off-by: Eric Anholt <eric@xxxxxxxxxx>

commit 7662c8bd6545c12ac7b2b39e4554c3ba34789c50
Author: Shaohua Li <shaohua.li@xxxxxxxxx>
Date:   Fri Jun 26 11:23:55 2009 +0800

    drm/i915: add FIFO watermark support
    
    This patch from jbarnes and myself adds FIFO watermark control to the
    driver.  This is needed for both power saving features on new platforms
    with the so-called "big FIFO" and for controlling FIFO allocation
    between pipes in multi-head configurations.
    
    It's also necessary infrastructure to support things like framebuffer
    compression and configuration supportability checks (i.e. checking a
    configuration against available bandwidth).
    
    Signed-off-by: Jesse Barnes <jbarnes@xxxxxxxxxxxxxxxx>
    Signed-off-by: Shaohua Li <shaohua.li@xxxxxxxxx>
    Signed-off-by: Eric Anholt <eric@xxxxxxxxxx>

commit 63eeaf38251183ec2b1caee11e4a2c040cb5ce6c
Author: Jesse Barnes <jbarnes@xxxxxxxxxxxxxxxx>
Date:   Thu Jun 18 16:56:52 2009 -0700

    drm/i915: enable error detection & state collection
    
    This patch enables error detection by enabling several types of error
    interrupts.  When an error interrupt is received, the interrupt
    handler captures the error state; hopefully resulting in an accurate
    set of error data (error type, active head pointer, etc.).  The new
    record is then available from sysfs.  The current code will also dump
    the error state to the system log.
    
    Signed-off-by: Jesse Barnes <jbarnes@xxxxxxxxxxxxxxxx>
    Signed-off-by: Eric Anholt <eric@xxxxxxxxxx>

commit 76c06927f2a78143763dcff9b4c362d15eb29cc2
Author: Jaswinder Singh Rajput <jaswinder@xxxxxxxxxx>
Date:   Wed Jul 1 19:54:23 2009 +0530

    x86: Declare check_efer() before it gets used
    
    This sparse warning:
    
      arch/x86/mm/init.c:83:16: warning: symbol 'check_efer' was not declared. Should it be static?
    
    triggers because check_efer() is not decalared before using it.
    asm/proto.h includes the declaration of check_efer(), so
    including asm/proto.h to fix that - this also addresses the
    sparse warning.
    
    Signed-off-by: Jaswinder Singh Rajput <jaswinderrajput@xxxxxxxxx>
    Cc: Andrew Morton <akpm@xxxxxxxxxxxxxxxxxxxx>
    LKML-Reference: <1246458263.6940.22.camel@xxxxxxxxxxxx>
    Signed-off-by: Ingo Molnar <mingo@xxxxxxx>

commit b25ae679f613ed04aaf6ccbfdb9122fce668e4bb
Author: Jaswinder Singh Rajput <jaswinder@xxxxxxxxxx>
Date:   Wed Jul 1 19:53:14 2009 +0530

    x86: Mark device_nb as static and fix NULL noise
    
    This sparse warning:
    
      arch/x86/kernel/amd_iommu.c:1195:23: warning: symbol 'device_nb' was not declared. Should it be static?
    
    triggers because device_nb is global but is only used in a
    single .c file. change device_nb to static to fix that - this
    also addresses the sparse warning.
    
    This sparse warning:
    
      arch/x86/kernel/amd_iommu.c:1766:10: warning: Using plain integer as NULL pointer
    
    triggers because plain integer 0 is used in place of a NULL
    pointer. change 0 to NULL to fix that - this also address the
    sparse warning.
    
    Signed-off-by: Jaswinder Singh Rajput <jaswinderrajput@xxxxxxxxx>
    Cc: Joerg Roedel <joerg.roedel@xxxxxxx>
    LKML-Reference: <1246458194.6940.20.camel@xxxxxxxxxxxx>
    Signed-off-by: Ingo Molnar <mingo@xxxxxxx>

commit 73c24cb86c51ff6445b292d9914d31236204393b
Author: Jaswinder Singh Rajput <jaswinder@xxxxxxxxxx>
Date:   Wed Jul 1 18:36:18 2009 +0530

    perf list: Add cache events
    
    After:
    
    $ ./perf list
    
    List of pre-defined events (to be used in -e):
    
      cpu-cycles OR cycles                     [Hardware event]
      instructions                             [Hardware event]
      cache-references                         [Hardware event]
      cache-misses                             [Hardware event]
      branch-instructions OR branches          [Hardware event]
      branch-misses                            [Hardware event]
      bus-cycles                               [Hardware event]
    
      cpu-clock                                [Software event]
      task-clock                               [Software event]
      page-faults OR faults                    [Software event]
      minor-faults                             [Software event]
      major-faults                             [Software event]
      context-switches OR cs                   [Software event]
      cpu-migrations OR migrations             [Software event]
    
      L1-d$-loads                              [Hardware cache event]
      L1-d$-load-misses                        [Hardware cache event]
      L1-d$-stores                             [Hardware cache event]
      L1-d$-store-misses                       [Hardware cache event]
      L1-d$-prefetches                         [Hardware cache event]
      L1-d$-prefetch-misses                    [Hardware cache event]
      L1-i$-loads                              [Hardware cache event]
      L1-i$-load-misses                        [Hardware cache event]
      L1-i$-prefetches                         [Hardware cache event]
      L1-i$-prefetch-misses                    [Hardware cache event]
      LLC-loads                                [Hardware cache event]
      LLC-load-misses                          [Hardware cache event]
      LLC-stores                               [Hardware cache event]
      LLC-store-misses                         [Hardware cache event]
      LLC-prefetches                           [Hardware cache event]
      LLC-prefetch-misses                      [Hardware cache event]
      dTLB-loads                               [Hardware cache event]
      dTLB-load-misses                         [Hardware cache event]
      dTLB-stores                              [Hardware cache event]
      dTLB-store-misses                        [Hardware cache event]
      dTLB-prefetches                          [Hardware cache event]
      dTLB-prefetch-misses                     [Hardware cache event]
      iTLB-loads                               [Hardware cache event]
      iTLB-load-misses                         [Hardware cache event]
      branch-loads                             [Hardware cache event]
      branch-load-misses                       [Hardware cache event]
    
      rNNN                                     [raw hardware event descriptor]
    
    Signed-off-by: Jaswinder Singh Rajput <jaswinderrajput@xxxxxxxxx>
    Cc: Peter Zijlstra <peterz@xxxxxxxxxxxxx>
    Cc: Mike Galbraith <efault@xxxxxx>
    Cc: Paul Mackerras <paulus@xxxxxxxxx>
    Cc: Arnaldo Carvalho de Melo <acme@xxxxxxxxxx>
    Cc: Frederic Weisbecker <fweisbec@xxxxxxxxx>
    LKML-Reference: <1246453578.3072.1.camel@xxxxxxxxx>
    Signed-off-by: Ingo Molnar <mingo@xxxxxxx>

commit 44973998a111dfda09b952aa0f27cad326a97793
Author: Jaswinder Singh Rajput <jaswinder@xxxxxxxxxx>
Date:   Wed Jul 1 17:49:38 2009 +0530

    x86: Remove double declaration of MSR_P6_EVNTSEL0 and MSR_P6_EVNTSEL1
    
    MSR_P6_EVNTSEL0 and MSR_P6_EVNTSEL1 is already declared in msr-index.h.
    
    Signed-off-by: Jaswinder Singh Rajput <jaswinderrajput@xxxxxxxxx>
    LKML-Reference: <1246450778.6940.8.camel@xxxxxxxxxxxx>
    Signed-off-by: Ingo Molnar <mingo@xxxxxxx>

commit b9ebdcc0ce1c676ebf5dc4f6df6b440d8fcf88ab
Author: Jaswinder Singh Rajput <jaswinder@xxxxxxxxxx>
Date:   Wed Jul 1 15:05:09 2009 +0530

    perf stat: Define MATCH_EVENT for easy attr checking
    
    MATCH_EVENT is useful:
    
     1. for multiple attrs checking
     2. avoid repetition of PERF_TYPE_ and PERF_COUNT_ and save space
     3. avoids line breakage
    
    Signed-off-by: Jaswinder Singh Rajput <jaswinderrajput@xxxxxxxxx>
    Cc: Peter Zijlstra <peterz@xxxxxxxxxxxxx>
    LKML-Reference: <1246440909.3403.5.camel@xxxxxxxxxxxx>
    Signed-off-by: Ingo Molnar <mingo@xxxxxxx>

commit f37a291c527c954df4da568de718ebb36b8261c0
Author: Ingo Molnar <mingo@xxxxxxx>
Date:   Wed Jul 1 12:37:06 2009 +0200

    perf_counter tools: Add more warnings and fix/annotate them
    
    Enable -Wextra. This found a few real bugs plus a number
    of signed/unsigned type mismatches/uncleanlinesses. It
    also required a few annotations
    
    All things considered it was still worth it so lets try with
    this enabled for now.
    
    Cc: Peter Zijlstra <a.p.zijlstra@xxxxxxxxx>
    Cc: Mike Galbraith <efault@xxxxxx>
    Cc: Paul Mackerras <paulus@xxxxxxxxx>
    Cc: Arnaldo Carvalho de Melo <acme@xxxxxxxxxx>
    Cc: Frederic Weisbecker <fweisbec@xxxxxxxxx>
    LKML-Reference: <new-submission>
    Signed-off-by: Ingo Molnar <mingo@xxxxxxx>

commit a70c352a37671fe1ebcbd317b439aa4760f4ccb7
Author: Pekka Enberg <penberg@xxxxxxxxxxxxxx>
Date:   Wed Jul 1 11:51:18 2009 +0300

    xen: Use kcalloc() in xen_init_IRQ()
    
    The init_IRQ() function is now called with slab allocator initialized.
    Therefore, we must not use the bootmem allocator in xen_init_IRQ().
    
    Fixes the following boot-time warning:
    
      ------------[ cut here ]------------
      WARNING: at mm/bootmem.c:535 alloc_arch_preferred_bootmem+0x27/0x45()
      Modules linked in:
      Pid: 0, comm: swapper Not tainted 2.6.30 #1
      Call Trace:
       [<ffffffff8102d6e3>] ? warn_slowpath_common+0x73/0xb0
       [<ffffffff810210d9>] ? pvclock_clocksource_read+0x49/0x90
       [<ffffffff812e522f>] ? alloc_arch_preferred_bootmem+0x27/0x45
       [<ffffffff812e5761>] ? ___alloc_bootmem_nopanic+0x39/0xc9
       [<ffffffff812e57fa>] ? ___alloc_bootmem+0x9/0x2f
       [<ffffffff812e9e21>] ? xen_init_IRQ+0x25/0x61
       [<ffffffff812d69ee>] ? start_kernel+0x1b5/0x29e
      ---[ end trace 4eaa2a86a8e2da22 ]---
    
    Acked-by: Jeremy Fitzhardinge <jeremy.fitzhardinge@xxxxxxxxxx>
    Tested-by: Christian Kujau <lists@xxxxxxxxxxxxxxx>
    Reported-by: Christian Kujau <lists@xxxxxxxxxxxxxxx>
    Signed-off-by: Pekka Enberg <penberg@xxxxxxxxxxxxxx>
    Cc: lists@xxxxxxxxxxxxxxx
    Cc: jeremy.fitzhardinge@xxxxxxxxxx
    LKML-Reference: <1246438278.22417.28.camel@penberg-laptop>
    Signed-off-by: Ingo Molnar <mingo@xxxxxxx>

commit 88a69dfbc6ab1e3b51bba8c9103055e21089ebb9
Author: Ingo Molnar <mingo@xxxxxxx>
Date:   Wed Jul 1 11:17:20 2009 +0200

    perf report: Fix HV bit mismerge
    
    Fix:
    
     builtin-report.c: In function â??hist_entry__addâ??:
     builtin-report.c:1015: error: case label not within a switch statement
     builtin-report.c:1017: error: break statement not within loop or switch
    
    Cc: Peter Zijlstra <a.p.zijlstra@xxxxxxxxx>
    Cc: Mike Galbraith <efault@xxxxxx>
    Cc: Paul Mackerras <paulus@xxxxxxxxx>
    Cc: Arnaldo Carvalho de Melo <acme@xxxxxxxxxx>
    Cc: Frederic Weisbecker <fweisbec@xxxxxxxxx>
    LKML-Reference: <new-submission>
    Signed-off-by: Ingo Molnar <mingo@xxxxxxx>

commit 4a2bb6fcc80e6330ca2f2393e98605052cc7780b
Author: Masami Hiramatsu <mhiramat@xxxxxxxxxx>
Date:   Tue Jun 30 17:08:09 2009 -0400

    kprobes: No need to unlock kprobe_insn_mutex
    
    Remove needless kprobe_insn_mutex unlocking during safety check
    in garbage collection, because if someone releases a dirty slot
    during safety check (which ensures other cpus doesn't execute
    all dirty slots), the safety check must be fail. So, we need to
    hold the mutex while checking safety.
    
    Signed-off-by: Masami Hiramatsu <mhiramat@xxxxxxxxxx>
    Cc: Ananth N Mavinakayanahalli <ananth@xxxxxxxxxx>
    Cc: Jim Keniston <jkenisto@xxxxxxxxxx>
    Cc: Ananth N Mavinakayanahalli <ananth@xxxxxxxxxx>
    LKML-Reference: <20090630210809.17851.28781.stgit@xxxxxxxxxxxxxxxxxxxxx>
    Signed-off-by: Ingo Molnar <mingo@xxxxxxx>

commit 61c45981ddbd718136d49464f00d2f11938aaa6e
Author: Paul Mackerras <paulus@xxxxxxxxx>
Date:   Wed Jul 1 13:04:34 2009 +1000

    perf_counter tools: Rework event string parsing/syntax
    
    This reworks the parser for event descriptors to make it more
    consistent in what it accepts.  It is now structured as a
    recursive descent parser for the following grammar:
    
    events		::= event ( ("," | space) space* event )*
    event		::= ( raw_event | numeric_event | symbolic_event |
    		      generic_hw_event ) [ event_modifier ]
    raw_event	::= "r" hex_number
    numeric_event	::= number ":" number
    number		::= decimal_number | "0x" hex_number | "0" octal_number
    symbolic_event	::= string_from_event_symbols_array
    generic_hw_event::= cache_type ( "-" ( cache_op | cache_result ) )*
    event_modifier	::= ":" ( "u" | "k" | "h" )+
    
    with the extra restriction that you can have at most one
    cache_op and at most one cache_result.
    
    We pass the current string pointer by reference (i.e. as a
    const char **) to the various parsing functions so that they
    can advance the pointer to indicate how much they consumed.
    They return 0 if they didn't recognize the thing at the pointer
    or 1 if they did (and advance the pointer past it).
    
    This also fixes parse_aliases to take the longest matching
    alias from the table, not the first one.  Otherwise "l1-data"
    would match the "l1-d" alias and the "ata" would not be
    consumed.
    
    This allows event modifiers indicating what processor modes to
    count in to be applied to any event, not just numeric events,
    and adds a ":h" modifier to indicate counting in hypervisor
    mode.  Specifying ":u" now sets both exclude_kernel and
    exclude_hv, and so on.  Multiple modes can be specified, e.g.
    ":uk" will count in user or hypervisor mode (i.e. only
    exclude_kernel will be set).
    
    Signed-off-by: Paul Mackerras <paulus@xxxxxxxxx>
    Cc: Peter Zijlstra <a.p.zijlstra@xxxxxxxxx>
    Cc: Mike Galbraith <efault@xxxxxx>
    Cc: Paul Mackerras <paulus@xxxxxxxxx>
    Cc: Arnaldo Carvalho de Melo <acme@xxxxxxxxxx>
    Cc: Frederic Weisbecker <fweisbec@xxxxxxxxx>
    LKML-Reference: <19018.53826.843815.189847@xxxxxxxxxxxxxxxxxxxx>
    Signed-off-by: Ingo Molnar <mingo@xxxxxxx>

commit 0a456fc58fb8ef3c53d18297ab5cd5d2a70d146b
Author: Anton Blanchard <anton@xxxxxxxxx>
Date:   Wed Jul 1 13:07:01 2009 +1000

    powerpc/perf_counter: Enable alternate PR/HV bits for POWER7
    
    POWER7 has the same PR/HV bit layout as POWER6, so set the flag.
    
    Signed-off-by: Anton Blanchard <anton@xxxxxxxxx>
    Acked-by: Paul Mackerras <paulus@xxxxxxxxx>
    Cc: a.p.zijlstra@xxxxxxxxx
    Cc: benh@xxxxxxxxxxxxxxxxxxx
    LKML-Reference: <20090701030701.GI3563@kryten>
    Signed-off-by: Ingo Molnar <mingo@xxxxxxx>

commit deac911cbdcb124fa0cee47c588e0cb0400b23b7
Author: Frederic Weisbecker <fweisbec@xxxxxxxxx>
Date:   Wed Jul 1 05:35:15 2009 +0200

    perf_counter tools: Various fixes for callchains
    
    The symbol resolving has of course revealed some bugs in the
    callchain tree handling. This patch fixes some of them,
    including:
    
    - inherit the children from the parents while splitting a node
    - fix list range moving
    - fix indexes setting in callchains
    - create a child on the current node if the path doesn't match in
      the existent children (was only done on the root)
    - compare using symbols when possible so that we can match a function
      using any ip inside by referring to its start address.
    
    The practical effects are:
    
    - remove double callchains
    - fix upside down or any random order of callchains
    - fix wrong paths
    - fix bad hits and percentage accounts
    
    Signed-off-by: Frederic Weisbecker <fweisbec@xxxxxxxxx>
    Cc: Peter Zijlstra <a.p.zijlstra@xxxxxxxxx>
    Cc: Mike Galbraith <efault@xxxxxx>
    Cc: Paul Mackerras <paulus@xxxxxxxxx>
    Cc: Anton Blanchard <anton@xxxxxxxxx>
    Cc: Arnaldo Carvalho de Melo <acme@xxxxxxxxxx>
    LKML-Reference: <1246419315-9968-4-git-send-email-fweisbec@xxxxxxxxx>
    Signed-off-by: Ingo Molnar <mingo@xxxxxxx>

commit 4424961ad6621a02c6b4c9093e801002c1bb9f65
Author: Frederic Weisbecker <fweisbec@xxxxxxxxx>
Date:   Wed Jul 1 05:35:14 2009 +0200

    perf_counter tools: Resolve symbols in callchains
    
    This patch resolves the names, when possible, of each ip
    present in the callchains while using the -c option with perf
    report.
    
    Example:
    
    5.40%  [k] __d_lookup
                 5.37%
                    perf_callchain
                    perf_counter_overflow
                    intel_pmu_handle_irq
                    perf_counter_nmi_handler
                    notifier_call_chain
                    atomic_notifier_call_chain
                    notify_die
                    do_nmi
                    nmi
                    do_lookup
                    __link_path_walk
                    path_walk
                    do_path_lookup
                    user_path_at
                    sys_faccessat
                    sys_access
                    system_call_fastpath
                    0x7fb609846f77
    
                 0.01%
                    perf_callchain
                    perf_counter_overflow
                    intel_pmu_handle_irq
                    perf_counter_nmi_handler
                    notifier_call_chain
                    atomic_notifier_call_chain
                    notify_die
                    do_nmi
                    nmi
                    do_lookup
                    __link_path_walk
                    path_walk
                    do_path_lookup
                    user_path_at
                    sys_faccessat
    
    Signed-off-by: Frederic Weisbecker <fweisbec@xxxxxxxxx>
    Cc: Peter Zijlstra <a.p.zijlstra@xxxxxxxxx>
    Cc: Mike Galbraith <efault@xxxxxx>
    Cc: Paul Mackerras <paulus@xxxxxxxxx>
    Cc: Anton Blanchard <anton@xxxxxxxxx>
    Cc: Arnaldo Carvalho de Melo <acme@xxxxxxxxxx>
    LKML-Reference: <1246419315-9968-3-git-send-email-fweisbec@xxxxxxxxx>
    Signed-off-by: Ingo Molnar <mingo@xxxxxxx>

commit 9198aa77b69647d1d91207f8075763abe7dc0bf4
Author: Frederic Weisbecker <fweisbec@xxxxxxxxx>
Date:   Wed Jul 1 05:35:13 2009 +0200

    perf_counter tools: Fix storage size allocation of callchain list
    
    Fix a confusion while giving the size of a callchain list
    during its allocation. We are using the wrong structure size.
    
    Signed-off-by: Frederic Weisbecker <fweisbec@xxxxxxxxx>
    Cc: Peter Zijlstra <a.p.zijlstra@xxxxxxxxx>
    Cc: Mike Galbraith <efault@xxxxxx>
    Cc: Paul Mackerras <paulus@xxxxxxxxx>
    Cc: Anton Blanchard <anton@xxxxxxxxx>
    Cc: Arnaldo Carvalho de Melo <acme@xxxxxxxxxx>
    LKML-Reference: <1246419315-9968-2-git-send-email-fweisbec@xxxxxxxxx>
    Signed-off-by: Ingo Molnar <mingo@xxxxxxx>

commit 087021ba41e9481202103d51d3dd0c4706899a2b
Merge: fb9c818873a788c5c01c9868cc6050df96e2c7df e83c2b0ff325f52dda1aff3572d0e1516216c54b
Author: Ingo Molnar <mingo@xxxxxxx>
Date:   Wed Jul 1 09:56:10 2009 +0200

    Merge branch 'linus' into perfcounters/urgent
    
    Merge reason: this branch was on a .30-ish base before, update
                  it to an almost-.31-rc2 upstream base to pick up fixes.
    
    Signed-off-by: Ingo Molnar <mingo@xxxxxxx>

commit 944c54e7fc5ccf961bef2b5449958436b85de459
Author: Ingo Molnar <mingo@xxxxxxx>
Date:   Wed Jul 1 00:10:16 2009 +0200

    ia64/PCI: adjust section annotation for pcibios_setup()
    
    Should be __init.
    
    Acked-by: Tony Luck <tony.luck@xxxxxxxxx>
    Signed-off-by: Jesse Barnes <jbarnes@xxxxxxxxxxxxxxxx>

commit fb9c818873a788c5c01c9868cc6050df96e2c7df
Author: Anton Blanchard <anton@xxxxxxxxx>
Date:   Wed Jul 1 09:00:49 2009 +1000

    perf report: Add hypervisor dso
    
    Add a dso for hypervisor samples. We don't get any symbol
    information on the ppc64 hypervisor but this at least gives
    us a high level summary of the time spent in there.
    
    Signed-off-by: Anton Blanchard <anton@xxxxxxxxx>
    Cc: a.p.zijlstra@xxxxxxxxx
    Cc: paulus@xxxxxxxxx
    LKML-Reference: <20090630230141.182536873@xxxxxxxxx>
    Signed-off-by: Ingo Molnar <mingo@xxxxxxx>

commit d8db1b57d31a6b30ea2f0df318eab50fc92b38d6
Author: Anton Blanchard <anton@xxxxxxxxx>
Date:   Wed Jul 1 09:00:48 2009 +1000

    perf report: Fix reporting of hypervisor
    
    PERF_EVENT_MISC_* is not a bitmask, so we have to mask and compare.
    
    Signed-off-by: Anton Blanchard <anton@xxxxxxxxx>
    Cc: a.p.zijlstra@xxxxxxxxx
    Cc: paulus@xxxxxxxxx
    LKML-Reference: <20090630230141.088394681@xxxxxxxxx>
    Signed-off-by: Ingo Molnar <mingo@xxxxxxx>

commit 3a3393ef75a14ae259a82f3f38624efa17884168
Author: Anton Blanchard <anton@xxxxxxxxx>
Date:   Wed Jul 1 09:00:47 2009 +1000

    perf top: Add ppc64 specific skip symbols and strip ppc64 . prefix
    
    Filter out some ppc64 specific idle loop functions and remove
    leading '.' on ppc64 text symbols.
    
    Signed-off-by: Anton Blanchard <anton@xxxxxxxxx>
    Cc: a.p.zijlstra@xxxxxxxxx
    Cc: paulus@xxxxxxxxx
    LKML-Reference: <20090630230140.995643441@xxxxxxxxx>
    Signed-off-by: Ingo Molnar <mingo@xxxxxxx>

commit 2ab52083ffc057014e502cf3473adc41436922fa
Author: Anton Blanchard <anton@xxxxxxxxx>
Date:   Wed Jul 1 09:00:46 2009 +1000

    perf top: Move skip symbols to an array
    
    Move the list of symbols we skip into an array, making it
    easier to add new ones.
    
    Signed-off-by: Anton Blanchard <anton@xxxxxxxxx>
    Cc: a.p.zijlstra@xxxxxxxxx
    Cc: paulus@xxxxxxxxx
    LKML-Reference: <20090630230140.904782938@xxxxxxxxx>
    Signed-off-by: Ingo Molnar <mingo@xxxxxxx>

commit 6717534ddc328ae5cdf89f1ef802db83fc451f19
Author: Anton Blanchard <anton@xxxxxxxxx>
Date:   Wed Jul 1 09:00:45 2009 +1000

    perf_counter tools: Remove zlib dependency
    
    The zlib devel libraries may not be installed and since we aren't
    using zlib we may as well remove it.
    
    Signed-off-by: Anton Blanchard <anton@xxxxxxxxx>
    Cc: a.p.zijlstra@xxxxxxxxx
    Cc: paulus@xxxxxxxxx
    LKML-Reference: <20090630230140.802078956@xxxxxxxxx>
    Signed-off-by: Ingo Molnar <mingo@xxxxxxx>

commit 1f208ea67821703fd4de056ea6f0baa81f4ad4a5
Author: Anton Blanchard <anton@xxxxxxxxx>
Date:   Wed Jul 1 09:00:44 2009 +1000

    perf report: Fix -z option
    
    Fix a copy and paste error, -z was setting the group option.
    
    Signed-off-by: Anton Blanchard <anton@xxxxxxxxx>
    Cc: a.p.zijlstra@xxxxxxxxx
    Cc: paulus@xxxxxxxxx
    LKML-Reference: <20090630230140.714204656@xxxxxxxxx>
    Signed-off-by: Ingo Molnar <mingo@xxxxxxx>

commit 789d03f584484af85dbdc64935270c8e45f36ef7
Author: Jan Beulich <JBeulich@xxxxxxxxxx>
Date:   Tue Jun 30 11:52:23 2009 +0100

    x86: Fix fixmap ordering
    
    The merge of the 32- and 64-bit fixmap headers made a latent
    bug on x86-64 a real one: with the right config settings
    it is possible for FIX_OHCI1394_BASE to overlap the FIX_BTMAP_*
    range.
    
    Signed-off-by: Jan Beulich <jbeulich@xxxxxxxxxx>
    Cc: <stable@xxxxxxxxxx> # for 2.6.30.x
    LKML-Reference: <4A4A0A8702000078000082E8@xxxxxxxxxxxxxxxxxx>
    Signed-off-by: Ingo Molnar <mingo@xxxxxxx>

commit 9e314996e3dc5189b9b36dce67088e882e989897
Author: Mike Galbraith <efault@xxxxxx>
Date:   Tue Jun 30 15:00:20 2009 +0200

    x86: Fix symbol annotation for arch/x86/lib/clear_page_64.S::clear_page_c
    
    Noticed the zero-sized function symbol while looking at 'perf' profiles,
    it causes the profiler to display those addresses in hexa.
    
    Turns out that this was wrong/bogus for an eternity.
    
    Signed-off-by: Mike Galbraith <efault@xxxxxx>
    Acked-by: Alexander van Heukelum <heukelum@xxxxxxxxxxx>
    Acked-by: Cyrill Gorcunov <gorcunov@xxxxxxxxx>
    LKML-Reference: <1246366820.6538.1.camel@xxxxxxxxxxxxxxxx>
    Signed-off-by: Ingo Molnar <mingo@xxxxxxx>

commit 626fdfec1588ac1341a37805809d03a719d977e0
Author: Yinghai Lu <yinghai@xxxxxxxxxx>
Date:   Wed Jun 24 20:00:12 2009 -0700

    x86/PCI: get root CRS before scanning children
    
    This allows us to remove adjust_transparent_bridge_resources and give
    x86_pci_root_bus_res_quirks a chance when _CRS is not used or not there.
    
    Acked-by: Gary Hade <garyhade@xxxxxxxxxx>
    Tested-by: Gary Hade <garyhade@xxxxxxxxxx>
    Signed-off-by: Yinghai Lu <yinghai@xxxxxxxxxx>
    Signed-off-by: Jesse Barnes <jbarnes@xxxxxxxxxxxxxxxx>

commit 2cdb3f1d834aab27a927be7555fbf4f9e43e9261
Author: Yinghai Lu <yinghai@xxxxxxxxxx>
Date:   Wed Jun 24 19:01:19 2009 -0700

    x86/PCI: fix boundary checking when using root CRS
    
    Don't touch info->res_num if we are out of space.
    
    Acked-by: Gary Hade <garyhade@xxxxxxxxxx>
    Tested-by: Gary Hade <garyhade@xxxxxxxxxx>
    Signed-off-by: Yinghai Lu <yinghai@xxxxxxxxxx>
    Signed-off-by: Jesse Barnes <jbarnes@xxxxxxxxxxxxxxxx>

commit 12abb8ba8444f7c9b355bbdd44a6d0839f7a41b6
Author: Hidetoshi Seto <seto.hidetoshi@xxxxxxxxxxxxxx>
Date:   Wed Jun 24 12:08:09 2009 +0900

    PCI MSI: Fix restoration of MSI/MSI-X mask states in suspend/resume
    
    There are 2 problems on mask states in suspend/resume.
    
    [1]:
    It is better to restore the mask states of MSI/MSI-X to initial states
    (MSI is unmasked, MSI-X is masked) when we release the device.
    The pci_msi_shutdown() does the restoration of mask states for MSI,
    while the msi_free_irqs() does it for MSI-X.  In other words, in the
    "disable" path both of MSI and MSI-X are handled, but in the "shutdown"
    path only MSI is handled.
    
    MSI:
       pci_disable_msi()
          => pci_msi_shutdown()
             [ mask states for MSI restored ]
             => msi_set_enable(dev, pos, 0);
          => msi_free_irqs()
    
    MSI-X:
       pci_disable_msix()
          => pci_msix_shutdown()
             => msix_set_enable(dev, 0);
          => msix_free_all_irqs
             => msi_free_irqs()
                [ mask states for MSI-X restored ]
    
    This patch moves the masking for MSI-X from msi_free_irqs() to
    pci_msix_shutdown().
    
    This change has some positive side effects:
     - It prevents OS from touching mask states before reading preserved
       bits in the register, which can be happen if msi_free_irqs() is
       called from error path in msix_capability_init().
     - It also prevents touching the register after turning off MSI-X in
       "disable" path, which can be a problem on some devices.
    
    [2]:
    We have cache of the mask state in msi_desc, which is automatically
    updated when msi/msix_mask_irq() is called.  This cached states are
    used for the resume.
    
    But since what need to be restored in the resume is the states before
    the shutdown on the suspend, calling msi/msix_mask_irq() from
    pci_msi/msix_shutdown() is not appropriate.
    
    This patch introduces __msi/msix_mask_irq() that do mask as same
    as msi/msix_mask_irq() but does not update cached state, for use
    in pci_msi/msix_shutdown().
    
    [updated: get rid of msi/msix_mask_irq_nocache() (proposed by Matthew Wilcox)]
    
    Reviewed-by: Matthew Wilcox <willy@xxxxxxxxxxxxxxx>
    Signed-off-by: Hidetoshi Seto <seto.hidetoshi@xxxxxxxxxxxxxx>
    Signed-off-by: Jesse Barnes <jbarnes@xxxxxxxxxxxxxxxx>

commit 7ba1930db02fc3118165338ef4e562869f575583
Author: Hidetoshi Seto <seto.hidetoshi@xxxxxxxxxxxxxx>
Date:   Tue Jun 23 17:39:27 2009 +0900

    PCI MSI: Unmask MSI if setup failed
    
    The initial state of mask register of MSI is unmasked.  We set it
    masked before calling arch_setup_msi_irqs().  If arch_setup_msi_irq()
    fails, it is better to restore the state of the mask register.
    
    Reviewed-by: Matthew Wilcox <willy@xxxxxxxxxxxxxxx>
    Signed-off-by: Hidetoshi Seto <seto.hidetoshi@xxxxxxxxxxxxxx>
    Signed-off-by: Jesse Barnes <jbarnes@xxxxxxxxxxxxxxxx>

commit 2c21fd4b333e4c780a46edcd6d1e85bfc6cdf371
Author: Hidetoshi Seto <seto.hidetoshi@xxxxxxxxxxxxxx>
Date:   Tue Jun 23 17:40:04 2009 +0900

    PCI MSI: shorten PCI_MSIX_ENTRY_* symbol names
    
    These names are too long!  Drop _OFFSET to save some bytes/lines.
    
    Reviewed-by: Matthew Wilcox <willy@xxxxxxxxxxxxxxx>
    Signed-off-by: Hidetoshi Seto <seto.hidetoshi@xxxxxxxxxxxxxx>
    Signed-off-by: Jesse Barnes <jbarnes@xxxxxxxxxxxxxxxx>

commit 2fc90f6133a87da8177636866557d4cc5f56e661
Author: Alexey Zaytsev <zaytsev@xxxxxxxxx>
Date:   Wed Jun 24 16:22:30 2009 +0400

    PCI: make pci_name() take const argument
    
    Since this function should never modify it (saves warnings when called with
    const args too).
    
    Signed-off-by: Alexey Zaytsev <zaytsev@xxxxxxxxx>
    Signed-off-by: Jesse Barnes <jbarnes@xxxxxxxxxxxxxxxx>

commit 7a661c6f1082693a7e9627e9ad2d1546a9337fdc
Author: Alan Cox <alan@xxxxxxxxxxxxxxx>
Date:   Wed Jun 24 16:02:27 2009 +0100

    PCI: More PATA quirks for not entering D3
    
    The ALi loses some state if it goes into D3. Unfortunately even with the
    chipset documents I can't figure out how to restore some bits of it.
    
    The VIA one saves/restores apparently fine but the ACPI _GTM methods break
    on some platforms if we do this and this causes cable misdetections.
    
    These are both effectively regressions as historically nothing matched the
    devices and then decided not to bind to them. Nowdays something is binding
    to all sorts of devices and a result they get dumped into D3.
    
    Signed-off-by: Alan Cox <alan@xxxxxxxxxxxxxxx>
    Acked-by: Jeff Garzik <jeff@xxxxxxxxxx>
    Signed-off-by: Jesse Barnes <jbarnes@xxxxxxxxxxxxxxxx>

commit 503998ca4a295f7da233689850ba4b9d13cf41e7
Author: Randy Dunlap <randy.dunlap@xxxxxxxxxx>
Date:   Wed Jun 24 09:18:14 2009 -0700

    PCI: fix kernel-doc warnings
    
    Add documentation for missing parameters in PCI hotplug code.
    
    Signed-off-by: Randy Dunlap <randy.dunlap@xxxxxxxxxx>
    Signed-off-by: Jesse Barnes <jbarnes@xxxxxxxxxxxxxxxx>

commit 654b75e044119bf8e7d773bce41ea039281bbfbe
Author: Yu Zhao <yu.zhao@xxxxxxxxx>
Date:   Fri Jun 26 14:04:46 2009 +0800

    PCI: check if bus has a proper bridge device before triggering SBR
    
    For devices attached to the root bus, we can't trigger Secondary Bus
    Reset because there is no bridge device associated with the bus. So
    need to check bus->self again NULL first before using it.
    
    Reviewed-by: Kenji Kaneshige <kaneshige.kenji@xxxxxxxxxxxxxx>
    Signed-off-by: Yu Zhao <yu.zhao@xxxxxxxxx>
    Signed-off-by: Jesse Barnes <jbarnes@xxxxxxxxxxxxxxxx>

commit 977badb2f385db14d8ba3fcf02fbd7ead8e63d0f
Author: Fernando Luis Vázquez Cao <fernando@xxxxxxxxxxxxx>
Date:   Fri Jun 26 11:27:41 2009 +0900

    PCI: remove pci_dac_dma_... APIs on mn10300
    
    It seems that mn10300 made it upstream after Jan Beulich's pci_dac_dma_*
    cleanup work and still defines pci_dac_dma_supported(). This API is not
    required by the PCI subsystem anymore, so remove it.
    
    Acked-by: David Howells <dhowells@xxxxxxxxxx>
    Signed-off-by: Fernando Luis Vazquez Cao <fernando@xxxxxxxxxxxxx>
    Signed-off-by: Jesse Barnes <jbarnes@xxxxxxxxxxxxxxxx>

commit 50e5628a4ac465a52f0d4ca6567343be029731a0
Author: Joe Perches <joe@xxxxxxxxxxx>
Date:   Sun Jun 28 09:26:40 2009 -0700

    PCI ECRC: Remove unnecessary semicolons
    
    Acked-by: Andrew Patterson <andrew.patterson@xxxxxx>
    Signed-off-by: Joe Perches <joe@xxxxxxxxxxx>
    Signed-off-by: Jesse Barnes <jbarnes@xxxxxxxxxxxxxxxx>

commit 0d07348931daef854aca8c834a89f1a99ba4ff2b
Author: Hidetoshi Seto <seto.hidetoshi@xxxxxxxxxxxxxx>
Date:   Wed Jun 24 12:08:27 2009 +0900

    PCI MSI: Return if alloc_msi_entry for MSI-X failed
    
    In current code it continues setup even if alloc_msi_entry() for MSI-X
    is failed due to lack of memory.  It means arch_setup_msi_irqs() might
    be called with msi_desc entries less than its argument nvec.
    
    At least x86's arch_setup_msi_irqs() uses list_for_each_entry() for
    dev->msi_list that suspected to have entries same numbers as nvec, and
    it doesn't check the number of allocated vectors and passed arg nvec.
    Therefore it will result in success of pci_enable_msix(), with less
    vectors allocated than requested.
    
    This patch fixes the error route to return -ENOMEM, instead of continuing
    the setup (proposed by Matthew Wilcox).
    
    Note that there is no iounmap in msi_free_irqs() if no msi_disc is
    allocated.
    
    Reviewed-by: Matthew Wilcox <matthew@xxxxxx>
    Signed-off-by: Hidetoshi Seto <seto.hidetoshi@xxxxxxxxxxxxxx>
    Signed-off-by: Jesse Barnes <jbarnes@xxxxxxxxxxxxxxxx>

commit 238a24f626628cb16a3015f332d649f08246ca89
Author: Li Zefan <lizf@xxxxxxxxxxxxxx>
Date:   Mon Jun 29 15:55:10 2009 +0800

    tracing/fastboot: Document the need of initcall_debug
    
    To use boot tracer, one should pass initcall_debug as well as
    ftrace=initcall to the command line.
    
    Signed-off-by: Li Zefan <lizf@xxxxxxxxxxxxxx>
    Cc: Frederic Weisbecker <fweisbec@xxxxxxxxx>
    Cc: Steven Rostedt <rostedt@xxxxxxxxxxx>
    LKML-Reference: <4A48735E.9050002@xxxxxxxxxxxxxx>
    Signed-off-by: Ingo Molnar <mingo@xxxxxxx>

commit bab7614d6d1b1fc96ec6c5a7ca34c8641060e659
Author: Eric Miao <eric.y.miao@xxxxxxxxx>
Date:   Mon Jun 29 00:20:52 2009 -0700

    Input: add support for generic GPIO-based matrix keypad
    
    Original patch by Marek Vasut, modified by Eric in:
    
    1. use delayed work to simplify the debouncing
    2. combine col_polarity/row_polarity into a single active_low field
    3. use a generic bit array based XOR algorithm to detect key
       press/release, which should make the column assertion time
       shorter and code a bit cleaner
    4. remove the ALT_FN handling, which is no way generic, the ALT_FN
       key should be treated as no different from other keys, and
       translation will be done by user space by commands like 'loadkeys'.
    5. explicitly disable row IRQs and flush potential pending work,
       and schedule an immediate scan after resuming as suggested
       by Uli Luckas
    6. incorporate review comments from many others
    
    Patch tested on Littleton/PXA310 (though PXA310 has a dedicate keypad
    controller, I have to configure those pins as generic GPIO to use this
    driver, works quite well, though), and Sharp Zaurus model SL-C7x0
    and SL-C1000.
    
    [dtor@xxxxxxx: fix error unwinding path, support changing keymap
     from userspace]
    Signed-off-by: Marek Vasut <marek.vasut@xxxxxxxxx>
    Reviewed-by: Trilok Soni <soni.trilok@xxxxxxxxx>
    Reviewed-by: Uli Luckas <u.luckas@xxxxxxx>
    Reviewed-by: Russell King <linux@xxxxxxxxxxxxxxxx>
    Reviewed-by: Robert Jarzmik <robert.jarzmik@xxxxxxx>
    Signed-off-by: Eric Miao <eric.miao@xxxxxxxxxxx>
    Signed-off-by: Dmitry Torokhov <dtor@xxxxxxx>

commit cb589529f74d69abc111887b45308f333f950ade
Author: Dmitry Torokhov <dmitry.torokhov@xxxxxxxxx>
Date:   Mon Jun 29 00:00:52 2009 -0700

    Input: arrange keyboards alphabetically
    
    Hopefully it will reduce conflicts when merging patches.
    
    Signed-off-by: Dmitry Torokhov <dtor@xxxxxxx>

commit da0d03fe6cecde837f113a8a587f5a872d0fade0
Author: Jani Nikula <ext-jani.1.nikula@xxxxxxxxx>
Date:   Sun Jun 28 22:38:56 2009 -0700

    Input: gpio-keys - avoid possibility of sleeping in timer function
    
    The gpio_get_value function may sleep, so it should not be called in a
    timer function. Move gpio_get_value calls to workqueue.
    
    Signed-off-by: Jani Nikula <ext-jani.1.nikula@xxxxxxxxx>
    Signed-off-by: Dmitry Torokhov <dtor@xxxxxxx>

commit ca865a77b5949f5c403e0f13de5a5a9cd499a11e
Author: Jani Nikula <ext-jani.1.nikula@xxxxxxxxx>
Date:   Sun Jun 28 22:38:44 2009 -0700

    Input: gpio-keys - revert 'change timer to workqueue'
    
    This reverts commit 0b346838c5862bfe911432956a106d602535d030.
    
    This commit breaks GPIO debouncing by replacing the original mod_timer
    with schedule_delayed_work in the interrupt handler. The latter does not
    kick the timer further on GPIO line changes as it should to perform
    debouncing.
    
    Signed-off-by: Jani Nikula <ext-jani.1.nikula@xxxxxxxxx>
    Signed-off-by: Dmitry Torokhov <dtor@xxxxxxx>

commit 00b8ac409cad653137f087e3ff69c020174cbc15
Author: David Brownell <dbrownell@xxxxxxxxxxxxxxxxxxxxx>
Date:   Sun Jun 28 22:30:56 2009 -0700

    Input: dm355evm_keys - fix kconfig symbol names
    
    The keypad driver for the DM355 EVM got slightly broken as it merged,
    since it moved from input/keyboard to input/misc and its Kconfig
    symbol changed.  This patch copes with the changed Kconfig symbol.
    
    Signed-off-by: David Brownell <dbrownell@xxxxxxxxxxxxxxxxxxxxx>
    Signed-off-by: Dmitry Torokhov <dtor@xxxxxxx>

commit c413ec446188ae53276eb60a60311b430448c6b0
Author: Ping Cheng <pingc@xxxxxxxxx>
Date:   Sun Jun 28 22:50:58 2009 -0700

    Input: wacom - add DTF720a support and fix rotation on Intuos3
    
    This patch adds DTF720a support and fixes an Intuos3 rotation
    pen out-proximity bug.
    
    Signed-off-by: Ping Cheng <pingc@xxxxxxxxx>
    Signed-off-by: Dmitry Torokhov <dtor@xxxxxxx>

commit 9230ccb1071d2d7e4ecb6314e67203b9f7f08140
Author: Yan Li <yan.i.li@xxxxxxxxx>
Date:   Sun Jun 28 22:30:56 2009 -0700

    Input: i8042 - more reset quirks for MSI Wind-clone netbooks
    
    When testing Moblin on various netbooks, we've got reports that
    many MSI Wind clones need the i8042 reset quirks for the keyboard
    and/or touchpad's proper function.
    
    Signed-off-by: Yan Li <yan.i.li@xxxxxxxxx>
    Signed-off-by: Andrew Morton <akpm@xxxxxxxxxxxxxxxxxxxx>
    Signed-off-by: Dmitry Torokhov <dtor@xxxxxxx>

commit ec5a36f94e7ca4b1f28ae4dd135cd415a704e772
Author: Pekka Enberg <penberg@xxxxxxxxxxxxxx>
Date:   Mon Jun 29 09:57:10 2009 +0300

    SLAB: Fix lockdep annotations
    
    Commit 8429db5... ("slab: setup cpu caches later on when interrupts are
    enabled") broke mm/slab.c lockdep annotations:
    
      [   11.554715] =============================================
      [   11.555249] [ INFO: possible recursive locking detected ]
      [   11.555560] 2.6.31-rc1 #896
      [   11.555861] ---------------------------------------------
      [   11.556127] udevd/1899 is trying to acquire lock:
      [   11.556436]  (&nc->lock){-.-...}, at: [<ffffffff810c337f>] kmem_cache_free+0xcd/0x25b
      [   11.557101]
      [   11.557102] but task is already holding lock:
      [   11.557706]  (&nc->lock){-.-...}, at: [<ffffffff810c3cd0>] kfree+0x137/0x292
      [   11.558109]
      [   11.558109] other info that might help us debug this:
      [   11.558720] 2 locks held by udevd/1899:
      [   11.558983]  #0:  (&nc->lock){-.-...}, at: [<ffffffff810c3cd0>] kfree+0x137/0x292
      [   11.559734]  #1:  (&parent->list_lock){-.-...}, at: [<ffffffff810c36c7>] __drain_alien_cache+0x3b/0xbd
      [   11.560442]
      [   11.560443] stack backtrace:
      [   11.561009] Pid: 1899, comm: udevd Not tainted 2.6.31-rc1 #896
      [   11.561276] Call Trace:
      [   11.561632]  [<ffffffff81065ed6>] __lock_acquire+0x15ec/0x168f
      [   11.561901]  [<ffffffff81065f60>] ? __lock_acquire+0x1676/0x168f
      [   11.562171]  [<ffffffff81063c52>] ? trace_hardirqs_on_caller+0x113/0x13e
      [   11.562490]  [<ffffffff8150c337>] ? trace_hardirqs_on_thunk+0x3a/0x3f
      [   11.562807]  [<ffffffff8106603a>] lock_acquire+0xc1/0xe5
      [   11.563073]  [<ffffffff810c337f>] ? kmem_cache_free+0xcd/0x25b
      [   11.563385]  [<ffffffff8150c8fc>] _spin_lock+0x31/0x66
      [   11.563696]  [<ffffffff810c337f>] ? kmem_cache_free+0xcd/0x25b
      [   11.563964]  [<ffffffff810c337f>] kmem_cache_free+0xcd/0x25b
      [   11.564235]  [<ffffffff8109bf8c>] ? __free_pages+0x1b/0x24
      [   11.564551]  [<ffffffff810c3564>] slab_destroy+0x57/0x5c
      [   11.564860]  [<ffffffff810c3641>] free_block+0xd8/0x123
      [   11.565126]  [<ffffffff810c372e>] __drain_alien_cache+0xa2/0xbd
      [   11.565441]  [<ffffffff810c3ce5>] kfree+0x14c/0x292
      [   11.565752]  [<ffffffff8144a007>] skb_release_data+0xc6/0xcb
      [   11.566020]  [<ffffffff81449cf0>] __kfree_skb+0x19/0x86
      [   11.566286]  [<ffffffff81449d88>] consume_skb+0x2b/0x2d
      [   11.566631]  [<ffffffff8144cbe0>] skb_free_datagram+0x14/0x3a
      [   11.566901]  [<ffffffff81462eef>] netlink_recvmsg+0x164/0x258
      [   11.567170]  [<ffffffff81443461>] sock_recvmsg+0xe5/0xfe
      [   11.567486]  [<ffffffff810ab063>] ? might_fault+0xaf/0xb1
      [   11.567802]  [<ffffffff81053a78>] ? autoremove_wake_function+0x0/0x38
      [   11.568073]  [<ffffffff810d84ca>] ? core_sys_select+0x3d/0x2b4
      [   11.568378]  [<ffffffff81065f60>] ? __lock_acquire+0x1676/0x168f
      [   11.568693]  [<ffffffff81442dc1>] ? sockfd_lookup_light+0x1b/0x54
      [   11.568961]  [<ffffffff81444416>] sys_recvfrom+0xa3/0xf8
      [   11.569228]  [<ffffffff81063c8a>] ? trace_hardirqs_on+0xd/0xf
      [   11.569546]  [<ffffffff8100af2b>] system_call_fastpath+0x16/0x1b#
    
    Fix that up.
    
    Closes-bug: http://bugzilla.kernel.org/show_bug.cgi?id=13654
    Tested-by: Venkatesh Pallipadi <venkatesh.pallipadi@xxxxxxxxx>
    Signed-off-by: Pekka Enberg <penberg@xxxxxxxxxxxxxx>

commit 82d5308127c3e3404ffbf41e503853c68660b18b
Author: Lai Jiangshan <laijs@xxxxxxxxxxxxxx>
Date:   Fri Jun 26 17:07:02 2009 +0800

    trace_export: Repair missed fields
    
    Some fields for struct ftrace_graph_ret are missed
    when they are exported to user.
    
    Signed-off-by: Lai Jiangshan <laijs@xxxxxxxxxxxxxx>
    Cc: Frederic Weisbecker <fweisbec@xxxxxxxxx>
    Cc: Steven Rostedt <rostedt@xxxxxxxxxxx>
    LKML-Reference: <4A448FB6.5000302@xxxxxxxxxxxxxx>
    Signed-off-by: Ingo Molnar <mingo@xxxxxxx>

commit a32c7765e2796395aec49f699bd25c407155e9c5
Author: Li Zefan <lizf@xxxxxxxxxxxxxx>
Date:   Fri Jun 26 16:55:51 2009 +0800

    tracing: Fix stack tracer sysctl handling
    
    This made my machine completely frozen:
    
      # echo 1 > /proc/sys/kernel/stack_tracer_enabled
      # echo 2 > /proc/sys/kernel/stack_tracer_enabled
    
    The cause is register_ftrace_function() was called twice.
    
    Also fix ftrace_enabled sysctl, though seems nothing bad happened
    as I tested it.
    
    Signed-off-by: Li Zefan <lizf@xxxxxxxxxxxxxx>
    Cc: Steven Rostedt <rostedt@xxxxxxxxxxx>
    Cc: Frederic Weisbecker <fweisbec@xxxxxxxxx>
    LKML-Reference: <4A448D17.9010305@xxxxxxxxxxxxxx>
    Signed-off-by: Ingo Molnar <mingo@xxxxxxx>

commit 7ed9f7e5db58c6e8c2b4b738a75d5dcd8e17aad5
Author: Paul E. McKenney <paulmck@xxxxxxxxxxxxxxxxxx>
Date:   Thu Jun 25 12:31:37 2009 -0700

    fix RCU-callback-after-kmem_cache_destroy problem in sl[aou]b
    
    Jesper noted that kmem_cache_destroy() invokes synchronize_rcu() rather than
    rcu_barrier() in the SLAB_DESTROY_BY_RCU case, which could result in RCU
    callbacks accessing a kmem_cache after it had been destroyed.
    
    Cc: <stable@xxxxxxxxxx>
    Acked-by: Matt Mackall <mpm@xxxxxxxxxxx>
    Reported-by: Jesper Dangaard Brouer <hawk@xxxxxxx>
    Signed-off-by: Paul E. McKenney <paulmck@xxxxxxxxxxxxxxxxxx>
    Signed-off-by: Pekka Enberg <penberg@xxxxxxxxxxxxxx>

commit 6fdc03709433ccc2005f0f593ae9d9dd04f7b485
Author: Stefan Richter <stefanr@xxxxxxxxxxxxxxxxx>
Date:   Sat Jun 20 13:23:59 2009 +0200

    firewire: core: do not DMA-map stack addresses
    
    The DMA mapping API cannot map on-stack addresses, as explained in
    Documentation/DMA-mapping.txt.  Convert the two cases of on-stack packet
    payload buffers in firewire-core (payload of lock requests in the bus
    manager work and in iso resource management) to slab-allocated memory.
    
    There are a number on-stack buffers for quadlet write or quadlet read
    requests in firewire-core and firewire-sbp2.  These are harmless; they
    are copied to/ from card driver internal DMA buffers since quadlet
    payloads are inlined with packet headers.
    
    Signed-off-by: Stefan Richter <stefanr@xxxxxxxxxxxxxxxxx>

commit f6faac71d502be1c29c81b2f45657662c3b84470
Author: Paul E. McKenney <paulmck@xxxxxxxxxxxxxxxxxx>
Date:   Tue Jun 23 17:24:40 2009 -0700

    rcu: Mark Hierarchical RCU no longer experimental
    
    Removes the warnings about Hierarchical RCU being experimental,
    given that it has gone through almost six months of being the
    default RCU in mainline for the x86 with very little trouble.
    
    This makes hierarchical-RCU bootup look less scary.
    
    Signed-off-by: Paul E. McKenney <paulmck@xxxxxxxxxxxxxxxxxx>
    Cc: akpm@xxxxxxxxxxxxxxxxxxxx
    Cc: niv@xxxxxxxxxx
    Cc: dvhltc@xxxxxxxxxx
    Cc: dipankar@xxxxxxxxxx
    Cc: dhowells@xxxxxxxxxx
    Cc: lethal@xxxxxxxxxxxx
    Cc: kernel@xxxxxxxxxxxxxx
    Cc: cl@xxxxxxxxxxxxxxxxxxxx
    Cc: schamp@xxxxxxx
    Signed-off-by: Ingo Molnar <mingo@xxxxxxx>

commit bc47df0fa705887242c26c7b040e7cf0170ab1f1
Author: Boaz Harrosh <bharrosh@xxxxxxxxxxx>
Date:   Wed May 20 18:50:34 2009 +0300

    osdblk: Adjust queue limits to lower device's limits
    
    call blk_queue_stack_limits() to copy queue limits from
    the underline osd scsi_device. This is absolutely needed
    because osdblk cannot sleep when allocating a lower-request and
    therefore cannot be bouncing.
    
    TODO: Dynamic changes of limits to the lower device queue
    will not reflect in the upper driver
    
    Signed-off-by: Boaz Harrosh <bharrosh@xxxxxxxxxxx>

commit 2a13877c5ef3207a2a5c56250742e60808677f90
Author: Jeff Garzik <jeff@xxxxxxxxxx>
Date:   Fri Apr 10 07:50:45 2009 -0400

    osdblk: a Linux block device for OSD objects
    
    Submitted driver exports a block device of the form /dev/osdblkX,
    where X is a decimal number.
    
    It does that by mounting a stacking block device on top
    of an osd object. For example, if you create a 2G object
    on an OSD device, you can then use this module to present
    that 2G object as a Linux block device.
    
    See inside patch for exact documentation.
    
    [Sitting at linux-next helped fix proper Kconfig dependency
     for this driver, thanks to Randy Dunlap]
    
    Signed-off-by: Jeff Garzik <jgarzik@xxxxxxxxxx>
    Signed-off-by: Boaz Harrosh <bharrosh@xxxxxxxxxxx>

commit 42c55aa838bbd274a7ad2be1fd81d423ca63da4e
Author: Boaz Harrosh <bharrosh@xxxxxxxxxxx>
Date:   Wed Jun 17 16:54:34 2009 +0300

    MAINTAINERS: Add osd maintained files (F:)
    
    OSD files are found in three places:
    drivers/scsi/osd/
    include/scsi/osd_*
    fs/exofs/
    
    Signed-off-by: Boaz Harrosh <bharrosh@xxxxxxxxxxx>

commit baaf94cdc7fe1c61e3c660a3b055724fd9d0a034
Author: Boaz Harrosh <bharrosh@xxxxxxxxxxx>
Date:   Sun Jun 14 16:52:10 2009 +0300

    exofs: Avoid using file_fsync()
    
    The use of file_fsync() in exofs_file_sync() is not necessary since it
    does some extra stuff not used by exofs. Open code just the parts that
    are currently needed.
    
    TODO: Farther optimization can be done to sync the sb only on inode
    update of new files, Usually the sb update is not needed in exofs.
    
    Signed-off-by: Boaz Harrosh <bharrosh@xxxxxxxxxxx>

commit 27d2e1491985e95c486d991302e399f5c584b4eb
Author: Boaz Harrosh <bharrosh@xxxxxxxxxxx>
Date:   Sun Jun 14 17:23:09 2009 +0300

    exofs: Remove IBM copyrights
    
    Boaz,
    Congrats on getting all the OSD stuff into 2.6.30!
    I just pulled the git, and saw that the IBM copyrights are still there.
    Please remove them from all files:
     * Copyright (C) 2005, 2006
     * International Business Machines
    
    IBM has revoked all rights on the code - they gave it to me.
    
    Thanks!
    Avishay
    
    Signed-off-by: Avishay Traeger <avishay@xxxxxxxxx>
    Signed-off-by: Boaz Harrosh <bharrosh@xxxxxxxxxxx>

commit b76a3f93d01fc93a87cb6eba4e854ffe378b4bac
Author: Boaz Harrosh <bharrosh@xxxxxxxxxxx>
Date:   Mon Jun 8 19:28:41 2009 +0300

    exofs: Fix bio leak in error handling path (sync read)
    
    When failing a read request in the sync path, called from
    write_begin, I forgot to free the allocated bio, fix it.
    
    Signed-off-by: Boaz Harrosh <bharrosh@xxxxxxxxxxx>

commit b0a5b83ee0fce9dbf8ff5fe1f8c9ae7dfafe458c
Author: Ingo Molnar <mingo@xxxxxxx>
Date:   Tue Jun 16 16:11:14 2009 +0200

    dma-debug: Put all hash-chain locks into the same lock class
    
    Alan Cox reported that lockdep runs out of its stack-trace entries
    with certain configs:
    
     BUG: MAX_STACK_TRACE_ENTRIES too low
    
    This happens because there are 1024 hash buckets, each with a
    separate lock. Lockdep puts each lock into a separate lock class and
    tracks them independently.
    
    But in reality we never take more than one of the buckets, so they
    really belong into a single lock-class. Annotate the has bucket lock
    init accordingly.
    
    [ Impact: reduce the lockdep footprint of dma-debug ]
    
    Reported-by: Alan Cox <alan@xxxxxxxxxxxxxxx>
    Signed-off-by: Ingo Molnar <mingo@xxxxxxx>
    Signed-off-by: Joerg Roedel <joerg.roedel@xxxxxxx>

commit c79ee4e466dd12347f112e2af306dca35198458f
Author: Joerg Roedel <joerg.roedel@xxxxxxx>
Date:   Tue Jun 16 12:23:58 2009 +0200

    dma-debug: fix off-by-one error in overlap function
    
    This patch fixes a bug in the overlap function which returned true if
    one region ends exactly before the second region begins. This is no
    overlap but the function returned true in that case.
    
    Cc: stable@xxxxxxxxxx
    Reported-by: Andrew Randrianasulu <randrik@xxxxxxx>
    Signed-off-by: Joerg Roedel <joerg.roedel@xxxxxxx>

commit 62e086be5d2abef8cad854bc5707329ad345f2ec
Author: Aneesh Kumar K.V <aneesh.kumar@xxxxxxxxxxxxxxxxxx>
Date:   Sun Jun 14 17:59:34 2009 -0400

    ext4: Move __ext4_journalled_writepage() to avoid forward declaration
    
    In addition, fix two unused variable warnings.
    
    Signed-off-by: Aneesh Kumar K.V <aneesh.kumar@xxxxxxxxxxxxxxxxxx>
    Signed-off-by: "Theodore Ts'o" <tytso@xxxxxxx>

commit 43ce1d23b43330634507a049b55c36e91d27282e
Author: Aneesh Kumar K.V <aneesh.kumar@xxxxxxxxxxxxxxxxxx>
Date:   Sun Jun 14 17:58:45 2009 -0400

    ext4: Fix mmap/truncate race when blocksize < pagesize && !nodellaoc
    
    This patch fixes the mmap/truncate race that was fixed for delayed
    allocation by merging ext4_{journalled,normal,da}_writepage() into
    ext4_writepage().
    
    Signed-off-by: Aneesh Kumar K.V <aneesh.kumar@xxxxxxxxxxxxxxxxxx>
    Acked-by: Jan Kara <jack@xxxxxxx>
    Signed-off-by: "Theodore Ts'o" <tytso@xxxxxxx>

commit c364b22c9580a885e0f8c0d0f9710d67dc448958
Author: Aneesh Kumar K.V <aneesh.kumar@xxxxxxxxxxxxxxxxxx>
Date:   Sun Jun 14 17:57:10 2009 -0400

    ext4: Fix mmap/truncate race when blocksize < pagesize && delayed allocation
    
    It is possible to see buffer_heads which are not mapped in the
    writepage callback in the following scneario (where the fs blocksize
    is 1k and the page size is 4k):
    
    1) truncate(f, 1024)
    2) mmap(f, 0, 4096)
    3) a[0] = 'a'
    4) truncate(f, 4096)
    5) writepage(...)
    
    Now if we get a writepage callback immediately after (4) and before an
    attempt to write at any other offset via mmap address (which implies we
    are yet to get a pagefault and do a get_block) what we would have is the
    page which is dirty have first block allocated and the other three
    buffer_heads unmapped.
    
    In the above case the writepage should go ahead and try to write the
    first blocks and clear the page_dirty flag. Further attempts to write
    to the page will again create a fault and result in allocating blocks
    and marking page dirty.  If we don't write any other offset via mmap
    address we would still have written the first block to the disk and
    rest of the space will be considered as a hole.
    
    So to address this, we change all of the places where we look for
    delayed, unmapped, or unwritten buffer heads, and only check for
    delayed or unwritten buffer heads instead.
    
    Signed-off-by: Aneesh Kumar K.V <aneesh.kumar@xxxxxxxxxxxxxxxxxx>
    Acked-by: Jan Kara <jack@xxxxxxx>
    Signed-off-by: "Theodore Ts'o" <tytso@xxxxxxx>

commit b767e78a179e5ab30fdbff1686d074ac270471eb
Author: Aneesh Kumar K.V <aneesh.kumar@xxxxxxxxxxxxxxxxxx>
Date:   Thu Jun 4 08:06:06 2009 -0400

    ext4: Don't look at buffer_heads outside i_size.
    
    Buffer heads outside i_size will be unmapped. So when we
    are doing "walk_page_buffers" limit ourself to i_size.
    
    Signed-off-by: Aneesh Kumar K.V <aneesh.kumar@xxxxxxxxxxxxxxxxxx>
    Reviewed-by: Josef Bacik <jbacik@xxxxxxxxxx>
    Acked-by: Jan Kara <jack@xxxxxxx>
    Signed-off-by: "Theodore Ts'o" <tytso@xxxxxxx>
    ----

commit e6462869e4fd88be5141a356ee0c28d8067340cc
Author: Johann Lombardi <johann@xxxxxxx>
Date:   Sun Jul 5 23:45:11 2009 -0400

    ext4: Fix goal inum check in the inode allocator
    
    The goal inode is specificed by inode number which belongs
    to [1; s_inodes_count].
    
    Signed-off-by: Johann Lombardi <johann@xxxxxxx>
    Signed-off-by: "Theodore Ts'o" <tytso@xxxxxxx>

commit 5adfee9c17314c1411095c23191c3cb0c2d25f9f
Author: Theodore Ts'o <tytso@xxxxxxx>
Date:   Wed Jul 8 17:11:24 2009 -0400

    ext4: fix no journal corruption with locale-gen
    
    If there is no journal, ext4_should_writeback_data() should return
    TRUE.  This will fix ext4_set_aops() to set ext4_da_ops in the case of
    delayed allocation; otherwise ext4_journaled_aops gets used by
    default, which doesn't handle delayed allocation properly.
    
    The advantage of using ext4_should_writeback_data() approach is that
    it should handle nobh better as well.
    
    Thanks to Curt Wohlgemuth for investigating this problem, and Aneesh
    Kumar for suggesting this approach.
    
    Signed-off-by: "Theodore Ts'o" <tytso@xxxxxxx>

commit 5887e98b609e96ce61ee0528cf94a2bfdc809dd7
Author: Aneesh Kumar K.V <aneesh.kumar@xxxxxxxxxxxxxxxxxx>
Date:   Sun Jul 5 23:12:04 2009 -0400

    ext4: Calculate required journal credits for inserting an extent properly
    
    When we have space in the extent tree leaf node we should be able to
    insert the extent with much less journal credits. The code was doing
    proper calculation but missed a return statement.
    
    Reported-by: Andreas Dilger <adilger@xxxxxxx>
    Signed-off-by: Aneesh Kumar K.V <aneesh.kumar@xxxxxxxxxxxxxxxxxx>
    Signed-off-by: "Theodore Ts'o" <tytso@xxxxxxx>

commit ffacfa7a79d6c00624196b2d13b0a7f72f2b8227
Author: Jan Kara <jack@xxxxxxx>
Date:   Mon Jul 13 16:22:22 2009 -0400

    ext4: 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
    on disk orphan list.
    
    Fix this by calling ext4_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 ext4_can_truncate() is true
    (currently, it can be false for symlinks when there are no blocks
    allocated) - otherwise orphan list processing will complain and
    ext4_truncate() will not remove inode from on-disk orphan list.
    
    Signed-off-by: Jan Kara <jack@xxxxxxx>
    Signed-off-by: "Theodore Ts'o" <tytso@xxxxxxx>

commit f91d1d04171026e56c7e343ee3cdcc801dd85cfb
Author: Jan Kara <jack@xxxxxxx>
Date:   Mon Jul 13 16:16:20 2009 -0400

    jbd2: 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
     __jbd2_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.
    
    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@xxxxxxxxx>.
    
    Reported-by: dingdinghua <dingdinghua85@xxxxxxxxx>
    Signed-off-by: Jan Kara <jack@xxxxxxx>
    Signed-off-by: "Theodore Ts'o" <tytso@xxxxxxx>

commit 3e03f9ca6a2599db1823bb0ea24e0845219a0e69
Author: Jesper Dangaard Brouer <hawk@xxxxxxx>
Date:   Sun Jul 5 22:29:27 2009 -0400

    ext4: Use rcu_barrier() on module unload.
    
    The ext4 module uses rcu_call() thus it should use rcu_barrier()on
    module unload.
    
    The kmem cache ext4_pspace_cachep is sometimes free'ed using
    call_rcu() callbacks.  Thus, we must wait for completion of call_rcu()
    before doing kmem_cache_destroy().
    
    Signed-off-by: Jesper Dangaard Brouer <hawk@xxxxxxx>
    Signed-off-by: "Theodore Ts'o" <tytso@xxxxxxx>

commit 726447d803802cd0be8f62d17c4a34421781b938
Author: Eric Sandeen <sandeen@xxxxxxxxxx>
Date:   Mon Jul 13 10:24:17 2009 -0400

    ext4: naturally align struct ext4_allocation_request
    
    As Ted noted, the ext4_allocation_request isn't well aligned.  Looking
    at it with pahole we're wasting space on 64-bit arches:
    
    struct ext4_allocation_request {
            struct inode *             inode;              /*     0     8 */
            ext4_lblk_t                logical;            /*     8     4 */
    
            /* XXX 4 bytes hole, try to pack */
    
            ext4_fsblk_t               goal;               /*    16     8 */
            ext4_lblk_t                lleft;              /*    24     4 */
    
            /* XXX 4 bytes hole, try to pack */
    
            ext4_fsblk_t               pleft;              /*    32     8 */
            ext4_lblk_t                lright;             /*    40     4 */
    
            /* XXX 4 bytes hole, try to pack */
    
            ext4_fsblk_t               pright;             /*    48     8 */
            unsigned int               len;                /*    56     4 */
            unsigned int               flags;              /*    60     4 */
            /* --- cacheline 1 boundary (64 bytes) --- */
    
            /* size: 64, cachelines: 1, members: 9 */
            /* sum members: 52, holes: 3, sum holes: 12 */
    };
    
    Grouping 32-bit members together closes these holes and shrinks the
    structure by 12 bytes. which is important since ext4 can get on the
    hairy edge of stack overruns.
    
    Signed-off-by: Eric Sandeen <sandeen@xxxxxxxxxx>
    Signed-off-by: "Theodore Ts'o" <tytso@xxxxxxx>

commit 089ceecc1ea4a69ed8bcc5c7c7b96ce487e26b33
Author: Eric Sandeen <sandeen@xxxxxxxxxx>
Date:   Sun Jul 5 22:17:31 2009 -0400

    ext4: mark several more functions in mballoc.c as noinline
    
    Ted noticed a stack-deep callchain through
    writepages->ext4_mb_regular_allocator->ext4_mb_init_cache->submit_bh ...
    
    With all the static functions in mballoc.c, gcc helpfully
    inlines for us, and we get something like this:
    
    ext4_mb_regular_allocator	(232 bytes stack)
    	ext4_mb_init_cache	(232 bytes stack)
    		submit_bh	(starts 464 deeper)
    
    the 2 ext4 functions here get several others inlined; by telling
    gcc not to inline them, we can save stack space for when we
    head off into submit_bh land and associated block layer callchains.
    The following noinlined functions are only called once, so this
    won't impact any other callchains:
    
    ext4_mb_regular_allocator 			(104) (was 232)
    	ext4_mb_find_by_goal			 (56) (noinlined)
    	ext4_mb_init_group			 (24) (noinlined)
    		ext4_mb_init_cache		(136) (was 232)
    			ext4_mb_generate_buddy	 (88) (noinlined)
    			ext4_mb_generate_from_pa (40) (noinlined)
    			submit_bh
    	ext4_mb_simple_scan_group		 (24) (noinlined)
    	ext4_mb_scan_aligned			 (56) (noinlined)
    	ext4_mb_complex_scan_group		 (40) (noinlined)
    	ext4_mb_try_best_found			 (24) (noinlined)
    
    now when we head off into submit_bh() we're only 264 bytes deeper
    in stack than when we entered ext4_mb_regular_allocator()
    (vs. 464 bytes before).  Every 200 bytes helps.  :)
    
    Signed-off-by: Eric Sandeen <sandeen@xxxxxxxxxx>
    Signed-off-by: "Theodore Ts'o" <tytso@xxxxxxx>

commit f4a01017d678fe4baecf480e79d7c4f4b7ebc772
Author: Theodore Ts'o <tytso@xxxxxxx>
Date:   Sun Jul 5 22:08:16 2009 -0400

    ext4: Fix potential reclaim deadlock when truncating partial block
    
    The ext4_block_truncate_page() function previously called
    grab_cache_page(), which called find_or_create_page() with the
    __GFP_FS flag potentially set.  This could cause a deadlock if the
    system is low on memory and it attempts a memory reclaim, which could
    potentially call back into ext4.  So we need to call
    find_or_create_page() directly, and remove the __GFP_FP flag to avoid
    this potential deadlock.
    
    Thanks to Roland Dreier for reporting a lockdep warning which showed
    this problem.
    
    [20786.363249] =================================
    [20786.363257] [ INFO: inconsistent lock state ]
    [20786.363265] 2.6.31-2-generic #14~rbd4gitd960eea9
    [20786.363270] ---------------------------------
    [20786.363276] inconsistent {IN-RECLAIM_FS-W} -> {RECLAIM_FS-ON-W} usage.
    [20786.363285] http/8397 [HC0[0]:SC0[0]:HE1:SE1] takes:
    [20786.363291]  (jbd2_handle){+.+.?.}, at: [<ffffffff812008bb>] jbd2_journal_start+0xdb/0x150
    [20786.363314] {IN-RECLAIM_FS-W} state was registered at:
    [20786.363320]   [<ffffffff8108bef6>] mark_irqflags+0xc6/0x1a0
    [20786.363334]   [<ffffffff8108d347>] __lock_acquire+0x287/0x430
    [20786.363345]   [<ffffffff8108d595>] lock_acquire+0xa5/0x150
    [20786.363355]   [<ffffffff812008da>] jbd2_journal_start+0xfa/0x150
    [20786.363365]   [<ffffffff811d98a8>] ext4_journal_start_sb+0x58/0x90
    [20786.363377]   [<ffffffff811cce85>] ext4_delete_inode+0xc5/0x2c0
    [20786.363389]   [<ffffffff81146fa3>] generic_delete_inode+0xd3/0x1a0
    [20786.363401]   [<ffffffff81147095>] generic_drop_inode+0x25/0x30
    [20786.363411]   [<ffffffff81145ce2>] iput+0x62/0x70
    [20786.363420]   [<ffffffff81142878>] dentry_iput+0x98/0x110
    [20786.363429]   [<ffffffff81142a00>] d_kill+0x50/0x80
    [20786.363438]   [<ffffffff811444c5>] dput+0x95/0x180
    [20786.363447]   [<ffffffff8120de4b>] ecryptfs_d_release+0x2b/0x70
    [20786.363459]   [<ffffffff81142978>] d_free+0x28/0x60
    [20786.363468]   [<ffffffff81142a18>] d_kill+0x68/0x80
    [20786.363477]   [<ffffffff81142ad3>] prune_one_dentry+0xa3/0xc0
    [20786.363487]   [<ffffffff81142d61>] __shrink_dcache_sb+0x271/0x290
    [20786.363497]   [<ffffffff81142e89>] prune_dcache+0x109/0x1b0
    [20786.363506]   [<ffffffff81142f6f>] shrink_dcache_memory+0x3f/0x50
    [20786.363516]   [<ffffffff810f6d3d>] shrink_slab+0x12d/0x190
    [20786.363527]   [<ffffffff810f97d7>] balance_pgdat+0x4d7/0x640
    [20786.363537]   [<ffffffff810f9a57>] kswapd+0x117/0x170
    [20786.363546]   [<ffffffff810773ce>] kthread+0x9e/0xb0
    [20786.363558]   [<ffffffff8101430a>] child_rip+0xa/0x20
    [20786.363569]   [<ffffffffffffffff>] 0xffffffffffffffff
    [20786.363598] irq event stamp: 15997
    [20786.363603] hardirqs last  enabled at (15997): [<ffffffff81125f9d>] kmem_cache_alloc+0xfd/0x1a0
    [20786.363617] hardirqs last disabled at (15996): [<ffffffff81125f01>] kmem_cache_alloc+0x61/0x1a0
    [20786.363628] softirqs last  enabled at (15966): [<ffffffff810631ea>] __do_softirq+0x14a/0x220
    [20786.363641] softirqs last disabled at (15861): [<ffffffff8101440c>] call_softirq+0x1c/0x30
    [20786.363651]
    [20786.363653] other info that might help us debug this:
    [20786.363660] 3 locks held by http/8397:
    [20786.363665]  #0:  (&sb->s_type->i_mutex_key#8){+.+.+.}, at: [<ffffffff8112ed24>] do_truncate+0x64/0x90
    [20786.363685]  #1:  (&sb->s_type->i_alloc_sem_key#5){+++++.}, at: [<ffffffff81147f90>] notify_change+0x250/0x350
    [20786.363707]  #2:  (jbd2_handle){+.+.?.}, at: [<ffffffff812008bb>] jbd2_journal_start+0xdb/0x150
    [20786.363724]
    [20786.363726] stack backtrace:
    [20786.363734] Pid: 8397, comm: http Tainted: G         C 2.6.31-2-generic #14~rbd4gitd960eea9
    [20786.363741] Call Trace:
    [20786.363752]  [<ffffffff8108ad7c>] print_usage_bug+0x18c/0x1a0
    [20786.363763]  [<ffffffff8108b0c0>] ? check_usage_backwards+0x0/0xb0
    [20786.363773]  [<ffffffff8108bad2>] mark_lock_irq+0xf2/0x280
    [20786.363783]  [<ffffffff8108bd97>] mark_lock+0x137/0x1d0
    [20786.363793]  [<ffffffff8108c03c>] mark_held_locks+0x6c/0xa0
    [20786.363803]  [<ffffffff8108c11f>] lockdep_trace_alloc+0xaf/0xe0
    [20786.363813]  [<ffffffff810efbac>] __alloc_pages_nodemask+0x7c/0x180
    [20786.363824]  [<ffffffff810e9411>] ? find_get_page+0x91/0xf0
    [20786.363835]  [<ffffffff8111d3b7>] alloc_pages_current+0x87/0xd0
    [20786.363845]  [<ffffffff810e9827>] __page_cache_alloc+0x67/0x70
    [20786.363856]  [<ffffffff810eb7df>] find_or_create_page+0x4f/0xb0
    [20786.363867]  [<ffffffff811cb3be>] ext4_block_truncate_page+0x3e/0x460
    [20786.363876]  [<ffffffff812008da>] ? jbd2_journal_start+0xfa/0x150
    [20786.363885]  [<ffffffff812008bb>] ? jbd2_journal_start+0xdb/0x150
    [20786.363895]  [<ffffffff811c6415>] ? ext4_meta_trans_blocks+0x75/0xf0
    [20786.363905]  [<ffffffff811e8d8b>] ext4_ext_truncate+0x1bb/0x1e0
    [20786.363916]  [<ffffffff811072c5>] ? unmap_mapping_range+0x75/0x290
    [20786.363926]  [<ffffffff811ccc28>] ext4_truncate+0x498/0x630
    [20786.363938]  [<ffffffff8129b4ce>] ? _raw_spin_unlock+0x5e/0xb0
    [20786.363947]  [<ffffffff81107306>] ? unmap_mapping_range+0xb6/0x290
    [20786.363957]  [<ffffffff8108c3ad>] ? trace_hardirqs_on+0xd/0x10
    [20786.363966]  [<ffffffff811ffe58>] ? jbd2_journal_stop+0x1f8/0x2e0
    [20786.363976]  [<ffffffff81107690>] vmtruncate+0xb0/0x110
    [20786.363986]  [<ffffffff81147c05>] inode_setattr+0x35/0x170
    [20786.363995]  [<ffffffff811c9906>] ext4_setattr+0x186/0x370
    [20786.364005]  [<ffffffff81147eab>] notify_change+0x16b/0x350
    [20786.364014]  [<ffffffff8112ed30>] do_truncate+0x70/0x90
    [20786.364021]  [<ffffffff8112f48b>] T.657+0xeb/0x110
    [20786.364021]  [<ffffffff8112f4be>] sys_ftruncate+0xe/0x10
    [20786.364021]  [<ffffffff81013132>] system_call_fastpath+0x16/0x1b
    
    Reported-by: Roland Dreier <roland@xxxxxxxxxxxxxxxxxx>
    Signed-off-by: "Theodore Ts'o" <tytso@xxxxxxx>

commit b574480507460b8e31b8d38dd4642219fc3b9a10
Author: Theodore Ts'o <tytso@xxxxxxx>
Date:   Sat Jun 20 23:34:44 2009 -0400

    jbd2: Remove GFP_ATOMIC kmalloc from inside spinlock critical region
    
    Fix jbd2_dev_to_name(), a function used when pretty-printting jbd2 and
    ext4 tracepoints.
    
    Signed-off-by: "Theodore Ts'o" <tytso@xxxxxxx>

commit 627ad9fd0733f0a31a266ff98a4a933eee710f0b
Author: Theodore Ts'o <tytso@xxxxxxx>
Date:   Sat Jun 20 23:21:41 2009 -0400

    ext4: Fix type warning on 64-bit platforms in tracing events header
    
    Signed-off-by: "Theodore Ts'o" <tytso@xxxxxxx>

-----------------------------------------------------------------------


hooks/post-receive
--
linux-cr
_______________________________________________
Containers mailing list
Containers@xxxxxxxxxxxxxxxxxxxxxxxxxx
https://lists.linux-foundation.org/mailman/listinfo/containers

[Index of Archives]     [Cgroups]     [Netdev]     [Linux Wireless]     [Kernel Newbies]     [Security]     [Linux for Hams]     [Netfilter]     [Bugtraq]     [Yosemite Forum]     [MIPS Linux]     [ARM Linux]     [Linux RAID]     [Linux Admin]     [Samba]

  Powered by Linux