This is an automated email from the git hooks/post-receive script. It was generated because a ref change was pushed to the repository containing the project "linux-cr". The branch, ckpt-v18-rc1 has been created at 9b540da2481953d874f013ad63638b72eda01ff7 (commit) - Log ----------------------------------------------------------------- commit 9b540da2481953d874f013ad63638b72eda01ff7 Author: Nathan Lynch <ntl@xxxxxxxxx> Date: Wed Sep 16 14:15:41 2009 -0400 powerpc: clone_with_pids implementation Mostly copy-paste from existing clone code. (may want to hold off applying this until the ongoing clone_with_pids discussion is resolved.) Signed-off-by: Nathan Lynch <ntl@xxxxxxxxx> commit 7259afee03fe014f061e23adcb622d335f57354b Author: Nathan Lynch <ntl@xxxxxxxxx> Date: Wed Sep 16 14:14:43 2009 -0400 powerpc: enable checkpoint support in Kconfig Signed-off-by: Nathan Lynch <ntl@xxxxxxxxx> commit a034cb38f3711ab2fa2d5d719740fa7cebbf0497 Author: Nathan Lynch <ntl@xxxxxxxxx> Date: Wed Sep 16 14:13:53 2009 -0400 powerpc: wire up checkpoint and restart syscalls Signed-off-by: Nathan Lynch <ntl@xxxxxxxxx> commit 24a17012b9c4482635cfc40a799f92a47247f09e Author: Nathan Lynch <ntl@xxxxxxxxx> Date: Wed Sep 16 14:06:50 2009 -0400 powerpc: checkpoint/restart implementation Support for checkpointing and restarting GPRs, FPU state, DABR, and Altivec state. The portion of the checkpoint image manipulated by this code begins with a bitmask of features indicating the various contexts saved. Fields in image that can vary depending on kernel configuration (e.g. FP regs due to VSX) have their sizes explicitly recorded, except for GPRS, so migrating between ppc32 and ppc64 won't work yet. The restart code ensures that the task is not modified until the checkpoint image is validated against the current kernel configuration and hardware features (e.g. can't restart a task using Altivec on non-Altivec systems). What works: * self and external checkpoint of simple (single thread, one open file) 32- and 64-bit processes on a ppc64 kernel What doesn't work: * restarting a 32-bit task from a 64-bit task and vice versa Untested: * ppc32 (but it builds) Signed-off-by: Nathan Lynch <ntl@xxxxxxxxx> [Oren Laadan <orenl@xxxxxxxxxxxxxxx>] Add arch-specific tty support commit cac1fe8082a711cf59574cebb97739f0853a2396 Author: Nathan Lynch <ntl@xxxxxxxxx> Date: Wed Sep 16 14:06:34 2009 -0400 powerpc: provide APIs for validating and updating DABR A checkpointed task image may specify a value for the DABR (Data Access Breakpoint Register). The restart code needs to validate this value before making any changes to the current task. ptrace_set_debugreg encapsulates the bounds checking and platform dependencies of programming the DABR. Split this into "validate" (debugreg_valid) and "update" (debugreg_update) functions, and make them available for use outside of the ptrace code. Also ptrace_set_debugreg has extern linkage, but no users outside of ptrace.c. Make it static. Signed-off-by: Nathan Lynch <ntl@xxxxxxxxx> commit 43aabe591a18f477a1acbde1ce35e70d55ecc4fa Author: Nathan Lynch <ntl@xxxxxxxxx> Date: Wed Sep 16 14:06:09 2009 -0400 powerpc: reserve checkpoint arch identifiers Signed-off-by: Nathan Lynch <ntl@xxxxxxxxx> commit 1cbeacd1ee5ffb294c33b387868f9429d6c497b1 Author: Oren Laadan <orenl@xxxxxxxxxxxxxxx> Date: Wed Sep 16 14:03:33 2009 -0400 c/r: support for controlling terminal and job control Add checkpoint/restart of controlling terminal: current->signal->tty. This is only done for session leaders. If the session leader belongs to the ancestor pid-ns, then checkpoint skips this tty; On restart, it will not be restored, and whatever tty is in place from parent pid-ns (at restart) will be inherited. Chagnelog [v1]: - Don't restore tty_old_pgrp it pgid is CKPT_PID_NULL - Initialize pgrp to NULL in restore_signal Signed-off-by: Oren Laadan <orenl@xxxxxxxxxxxxxxx> commit cb6da48eb551e53636dc94d4544816e2e6b48a5a Author: Oren Laadan <orenl@xxxxxxxxxxxxxxx> Date: Wed Sep 16 14:03:33 2009 -0400 c/r: correctly restore pgid The main challenge with restoring the pgid of tasks is that the original "owner" (the process with that pid) might have exited already. I call these "ghost" pgids. 'mktree' does create these processes, but they then exit without participating in the restart. To solve this, this patch introduces a RESTART_GHOST flag, used for "ghost" owners that are created only to pass their pgid to other tasks. ('mktree' now makes them call restart(2) instead of exiting). When a "ghost" task calls restart(2), it will be placed on a wait queue until the restart completes and then exit. This guarantees that the pgid that it owns remains available for all (regular) restarting tasks for when they need it. Regular tasks perform the restart as before, except that they also now restore their old pgrp, which is guaranteed to exist. Changelog [v2]: - Call change_pid() only if new pgrp differs from current one Changelog [v1]: - Verify that pgid owner is a thread-group-leader. - Handle the case of pgid/sid == 0 using root's parent pid-ns Signed-off-by: Oren Laadan <orenl@xxxxxxxxxxxxxxx> commit 06a18852ef703dd9b66445207a7c9450fb8b2c3f Author: Oren Laadan <orenl@xxxxxxxxxxxxxxx> Date: Wed Sep 16 14:03:33 2009 -0400 c/r: [pty 2/2] support for pseudo terminals This patch adds support for checkpoint and restart of pseudo terminals (PTYs). Since PTYs are shared (pointed to by file, and signal), they are managed via objhash. PTYs are master/slave pairs; The code arranges for the master to always be checkpointed first, followed by the slave. This is important since during restart both ends are created when restoring the master. In this patch only UNIX98 style PTYs are supported. Currently only PTYs that are referenced by open files are handled. Thus PTYs checkpoint starts with a file in tty_file_checkpoint(). It will first checkpoint the master and slave PTYs via tty_checkpoint(), and then complete the saving of the file descriptor. This means that in the image file, the order of objects is: master-tty, slave-tty, file-desc. During restart, to restore the master side, we open the /dev/ptmx device and get a file handle. But at this point we don't know the designated objref for this file, because the file is due later on in the image stream. On the other hand, we can't just fput() the file because it will close the PTY too. Instead, when we checkpoint the master PTY, we _reserve_ an objref for the file (which won't be further used in checkpoint). Then at restart, use it to insert the file to objhash. TODO: * Better sanitize input from checkpoint image on restore * Check the locking when saving/restoring tty_struct state * Echo position/buffer isn't saved (is it needed ?) * Handle multiple devpts mounts (namespaces) * Paths of ptmx and slaves are hard coded (/dev/ptmx, /dev/pts/...) Changelog[v2]: - Don't save/restore tty->{session,pgrp} - Fix leak: drop file reference after ckpt_obj_insert() - Move get_file() inside locked clause (fix race) Changelog[v1]: - Adjust include/asm/checkpoint_hdr.h for s390 architecture - Add NCC to kernel constants header (ckpt_hdr_const) - [Serge Hallyn] fix calculation of canon_datalen Signed-off-by: Oren Laadan <orenl@xxxxxxxxxxxxxxx> commit 9f75fac6b2e131d3ac143f17bb8fad42cd8b47f2 Author: Oren Laadan <orenl@xxxxxxxxxxxxxxx> Date: Wed Sep 16 14:03:32 2009 -0400 c/r: [pty 1/2] allow allocation of desired pty slave During restart, we need to allocate pty slaves with the same identifiers as recorded during checkpoint. Modify the allocation code to allow an in-kernel caller to request a specific slave identifier. For this, add a new field to task_struct - 'required_id'. It will hold the desired identifier when restoring a (master) pty. The code in ptmx_open() will use this value only for tasks that try to open /dev/ptmx that are restarting (PF_RESTARTING), and if the value isn't CKPT_REQUIRED_NONE (-1). Signed-off-by: Oren Laadan <orenl@xxxxxxxxxxxxxxx> commit a4c2d033dde8c7abe5cf2f16acc861a207bd24fd Author: Dan Smith <danms@xxxxxxxxxx> Date: Wed Sep 16 14:03:27 2009 -0400 c/r: Add AF_UNIX support (v10) This patch adds basic checkpoint/restart support for AF_UNIX sockets. It has been tested with a single and multiple processes, and with data inflight at the time of checkpoint. It supports socketpair()s, path-based, and abstract sockets. Changes in v11: - Create a struct socket for orphan socket during checkpoint - Make sockets proper objhash objects and use checkpoint_obj() on them - Rename headerless struct ckpt_hdr_* to struct ckpt_* - Remove struct timeval from socket header - Save and restore UNIX socket peer credentials - Set socket flags on restore using sock_setsockopt() where possible - Fail on the TIMESTAMPING_* flags for the moment (with a TODO) - Remove other explicit flag checks that are no longer copied blindly - Changed functions/variables names to follow existing conventions - Use proto_ops->{checkpoint,restart} methods for af_unix - Cleanup sock_file_restore()/sock_file_checkpoint() - Make ckpt_hdr_socket be part of ckpt_hdr_file_socket - Fold do_sock_file_checkpoint() into sock_file_checkpoint() - Fold do_sock_file_restore() into sock_file_restore() - Move sock_file_{checkpoint,restore} to net/checkpoint.c - Properly define sock_file_{checkpoint,restore} in header file - sock_file_restore() now calls restore_file_common() Changes in v10: - Moved header structure definitions back to checkpoint_hdr.h - Moved AF_UNIX checkpoint/restart code to net/unix/checkpoint.c - Make sock_unix_*() functions only compile if CONFIG_UNIX=y - Add TODO for CONFIG_UNIX=m case Changes in v9: - Fix double-free of skb's in the list and target holding queue in the error path of sock_copy_buffers() - Adjust use of ckpt_read_string() to match new signature Changes in v8: - Fix stale dev_alloc_skb() from before the conversion to skb_clone() - Fix a couple of broken error paths - Fix memory leak of kvec.iov_base on successful return from sendmsg() - Fix condition for deciding when to run sock_cptrst_verify() - Fix buffer queue copy algorithm to hold the lock during walk(s) - Log the errno when either getname() or getpeer() fails - Add comments about ancillary messages in the UNIX queue - Add TODO comments for credential restore and flags via setsockopt() - Add TODO comment about strangely-connected dgram sockets and the use of sendmsg(peer) Changes in v7: - Fix failure to free iov_base in error path of sock_read_buffer() - Change sock_read_buffer() to use _ckpt_read_obj_type() to get the header length and then use ckpt_kread() directly to read the payload - Change sock_read_buffers() to sock_unix_read_buffers() and break out some common functionality to better accommodate the subsequent INET patch - Generalize sock_unix_getnames() into sock_getnames() so INET can use it - Change skb_morph() to skb_clone() which uses the more common path and still avoids the copy - Add check to validate the socket type before creating socket on restore - Comment the CAP_NET_ADMIN override in sock_read_buffer_hdr - Strengthen the comment about priming the buffer limits - Change the objhash functions to deny direct checkpoint of sockets and remove the reference counting function - Change SOCKET_BUFFERS to SOCKET_QUEUE - Change this,peer objrefs to signed integers - Remove names from internal socket structures - Fix handling of sock_copy_buffers() result - Use ckpt_fill_fname() instead of d_path() for writing CWD - Use sock_getname() and sock_getpeer() for proper security hookage - Return -ENOSYS for unsupported socket families in checkpoint and restart - Use sock_setsockopt() and sock_getsockopt() where possible to save and restore socket option values - Check for SOCK_DESTROY flag in the global verify function because none of our supported socket types use it - Check for SOCK_USE_WRITE_QUEUE in AF_UNIX restore function because that flag should not be used on such a socket - Check socket state in UNIX restart path to validate the subset of valid values Changes in v6: - Moved the socket addresses to the per-type header - Eliminated the HASCWD flag - Remove use of ckpt_write_err() in restart paths - Change the order in which buffers are read so that we can set the socket's limit equal to the size of the image's buffers (if appropriate) and then restore the original values afterwards. - Use the ckpt_validate_errno() helper - Add a check to make sure that we didn't restore a (UNIX) socket with any skb's in the send buffer - Fix up sock_unix_join() to not leave addr uninitialized for socketpair - Remove inclusion of checkpoint_hdr.h in the socket files - Make sock_unix_write_cwd() use ckpt_write_string() and use the new ckpt_read_string() for reading the cwd - Use the restored realcred credentials in sock_unix_join() - Fix error path of the chdir_and_bind - Change the algorithm for reloading the socket buffers to use sendmsg() on the socket's peer for better accounting - For DGRAM sockets, check the backlog value against the system max to avoid letting a restart bypass the overloaded queue length - Use sock_bind() instead of sock->ops->bind() to gain the security hook - Change "restart" to "restore" in some of the function names Changes in v5: - Change laddr and raddr buffers in socket header to be long enough for INET6 addresses - Place socket.c and sock.h function definitions inside #ifdef CONFIG_CHECKPOINT - Add explicit check in sock_unix_makeaddr() to refuse if the checkpoint image specifies an addr length of 0 - Split sock_unix_restart() into a few pieces to facilitate: - Changed behavior of the unix restore code so that unlinked LISTEN sockets don't do a bind()...unlink() - Save the base path of a bound socket's path so that we can chdir() to the base before bind() if it is a relative path - Call bind() for any socket that is not established but has a non-zero-length local address - Enforce the current sysctl limit on socket buffer size during restart unless the user holds CAP_NET_ADMIN - Unlink a path-based socket before calling bind() Changes in v4: - Changed the signdness of rcvlowat, rcvtimeo, sndtimeo, and backlog to match their struct sock definitions. This should avoid issues with sign extension. - Add a sock_cptrst_verify() function to be run at restore time to validate several of the values in the checkpoint image against limits, flag masks, etc. - Write an error string with ctk_write_err() in the obscure cases - Don't write socket buffers for listen sockets - Sanity check address lengths before we agree to allocate memory - Check the result of inserting the peer object in the objhash on restart - Check return value of sock_cptrst() on restart - Change logic in remote getname() phase of checkpoint to not fail for closed (et al) sockets - Eliminate the memory copy while reading socket buffers on restart Changes in v3: - Move sock_file_checkpoint() above sock_file_restore() - Change __sock_file_*() functions to do_sock_file_*() - Adjust some of the struct cr_hdr_socket alignment - Improve the sock_copy_buffers() algorithm to avoid locking the source queue for the entire operation - Fix alignment in the socket header struct(s) - Move the per-protocol structure (ckpt_hdr_socket_un) out of the common socket header and read/write it separately - Fix missing call to sock_cptrst() in restore path - Break out the socket joining into another function - Fix failure to restore the socket address thus fixing getname() - Check the state values on restart - Fix case of state being TCP_CLOSE, which allows dgram sockets to be properly connected (if appropriate) to their peer and maintain the sockaddr for getname() operation - Fix restoring a listening socket that has been unlink()'d - Fix checkpointing sockets with an in-flight FD-passing SKB. Fail with EBUSY. - Fix checkpointing listening sockets with an unaccepted connection. Fail with EBUSY. - Changed 'un' to 'unix' in function and structure names Changes in v2: - Change GFP_KERNEL to GFP_ATOMIC in sock_copy_buffers() (this seems to be rather common in other uses of skb_copy()) - Move the ckpt_hdr_socket structure definition to linux/socket.h - Fix whitespace issue - Move sock_file_checkpoint() to net/socket.c for symmetry Cc: Alexey Dobriyan <adobriyan@xxxxxxxxx> Cc: netdev@xxxxxxxxxxxxxxx Signed-off-by: Dan Smith <danms@xxxxxxxxxx> Signed-off-by: Oren Laadan <orenl@xxxxxxxxxxxxxxx> commit abc63753d1be8448be0ad10f4d1e3e2b3c9fa1f4 Author: Oren Laadan <orenl@xxxxxxxxxxxxxxx> Date: Wed Sep 16 12:09:21 2009 -0400 c/r: introduce checkpoint/restore methods to struct proto_ops This adds new 'proto_ops' function for checkpointing and restoring sockets. This allows the checkpoint/restart code to compile nicely when, e.g., AF_UNIX sockets are selected as a module. It also adds a function 'collecting' a socket for leak-detection during full-container checkpoint. This is useful for those sockets that hold references to other "collectable" objects. Two examples are AF_UNIX buffers which reference the socket of origin, and sockets that have file descriptors in-transit. Signed-off-by: Oren Laadan <orenl@xxxxxxxxxxxxxxx> commit f8b4de0416a935571b40deec9f365a4072212601 Author: Dan Smith <danms@xxxxxxxxxx> Date: Wed Sep 16 12:09:20 2009 -0400 Add common socket helpers to unify the security hooks This moves the meat out of the bind(), getsockname(), and getpeername() syscalls into helper functions that performs security_socket_bind() and then the sock->ops->call(). This allows a unification of this behavior between the syscalls and the pending socket restart logic. Acked-by: Serge Hallyn <serue@xxxxxxxxxx> Signed-off-by: Dan Smith <danms@xxxxxxxxxx> Cc: netdev@xxxxxxxxxxxxxxx commit df973a504a1c46fa41a2a01dfb9db3ce793aac96 Author: Dan Smith <danms@xxxxxxxxxx> Date: Wed Sep 16 12:09:20 2009 -0400 Expose may_setuid() in user.h and add may_setgid() (v2) Make these helpers available to others. Changes in v2: - Avoid checking the groupinfo in ctx->realcred against the current in may_setgid() Cc: Serge Hallyn <serue@xxxxxxxxxx> Signed-off-by: Dan Smith <danms@xxxxxxxxxx> commit 0e1b2862c4089c9b48079a2dc0b5b6f09e149c26 Author: Oren Laadan <orenl@xxxxxxxxxxxxxxx> Date: Wed Sep 16 12:09:20 2009 -0400 c/r: [signal 4/4] support for real/virt/prof itimers This patch adds support for real/virt/prof itimers. Expiry and the interval values are both saved in nanoseconds. Changelog[v1]: - [Louis Rilling] Fix saving of signal->it_real_incr if not expired - Fix restoring of signal->it_real_incr if expire is zero - Save virt/prof expire relative to process accumulated time Signed-off-by: Oren Laadan <orenl@xxxxxxxxxxxxxxx> commit c0758bc1d7341583001d907841a736a3ef923731 Author: Oren Laadan <orenl@xxxxxxxxxxxxxxx> Date: Wed Sep 16 12:09:19 2009 -0400 c/r: [signal 3/4] pending signals (private, shared) This patch adds checkpoint and restart of pending signals queues: struct sigpending, both per-task t->sigpending and shared (per- thread-group) t->signal->shared_sigpending. To checkpoint pending signals (private/shared) we first detach the signal queue (and copy the mask) to a separate struct sigpending. This separate structure can be iterated through without locking. Once the state is saved, we re-attaches (prepends) the original signal queue back to the original struct sigpending. Signals that arrive(d) in the meantime will be suitably queued after these (for real-time signals). Repeated non-realtime signals will not be queued because they will already be marked in the pending mask, that remains as is. This is the expected behavior of non-realtime signals. Changelog [v4]: - Rename headerless struct ckpt_hdr_* to struct ckpt_* Changelog [v3]: - [Dan Smith] Sanity check for number of pending signals in buffer Changelog [v2]: - Validate si_errno from checkpoint image Changelog [v1]: - Fix compilation warnings - [Louis Rilling] Remove SIGQUEUE_PREALLOC flag from queued signals - [Louis Rilling] Fail if task has posix-timers or SI_TIMER signal Signed-off-by: Oren Laadan <orenl@xxxxxxxxxxxxxxx> commit 6a95fac593f9ed619f0773fcf187d7ac92345611 Author: Oren Laadan <orenl@xxxxxxxxxxxxxxx> Date: Wed Sep 16 12:09:19 2009 -0400 c/r: [signal 2/4] checkpoint/restart of rlimit This patch adds checkpoint and restart of rlimit information that is part of shared signal_struct. Signed-off-by: Oren Laadan <orenl@xxxxxxxxxxxxxxx> commit 50ab865385b07dd7cc4419466996c2d5a42e0672 Author: Oren Laadan <orenl@xxxxxxxxxxxxxxx> Date: Wed Sep 16 12:09:19 2009 -0400 c/r: [signal 1/4] blocked and template for shared signals This patch adds checkpoint/restart of blocked signals mask (t->blocked) and a template for shared signals (t->signal). Because t->signal sharing is tied to threads, we ensure proper sharing of t->signal (struct signal_struct) for threads only. Access to t->signal is protected by locking t->sighand->lock. Therefore, the usual checkpoint_obj() invoking the callback checkpoint_signal(ctx, signal) is insufficient because the task pointer is unavailable. Instead, handling of t->signal sharing is explicit using helpers like ckpt_obj_lookup_add(), ckpt_obj_fetch() and ckpt_obj_insert(). The actual state is saved (if needed) _after_ the task_objs data. To prevent tasks from handling restored signals during restart, set their mask to block all signals and only restore the original mask at the very end (before the last sync point). Introduce per-task pointer 'ckpt_data' to temporary store data for restore actions that are deferred to the end (like restoring the signal block mask). Signed-off-by: Oren Laadan <orenl@xxxxxxxxxxxxxxx> commit a5efaadfd2692d73c822b56ce55179f865295339 Author: Oren Laadan <orenl@xxxxxxxxxxxxxxx> Date: Wed Sep 16 12:09:18 2009 -0400 c/r: checkpoint and restore (shared) task's sighand_struct This patch adds the checkpointing and restart of signal handling state - 'struct sighand_struct'. Since the contents of this state only affect userspace, no input validation is required. Add _NSIG to kernel constants saved/tested with image header. Number of signals (_NSIG) is arch-dependent, but is within __KERNEL__ and not visibile to userspace compile. Therefore, define per arch CKPT_ARCH_NSIG in <asm/checkpoint_hdr.h>. Changelog[v1]: - Rename headerless struct ckpt_hdr_* to struct ckpt_* Signed-off-by: Oren Laadan <orenl@xxxxxxxxxxxxxxx> commit 9c8305ef9955573776c85c11286b33c09504e50f Author: Serge E. Hallyn <serue@xxxxxxxxxx> Date: Wed Sep 16 12:09:18 2009 -0400 c/r: restore file->f_cred Restore a file's f_cred. This is set to the cred of the task doing the open, so often it will be the same as that of the restarted task. Changelog[v1]: - [Nathan Lynch] discard const from struct cred * where appropriate Signed-off-by: Serge E. Hallyn <serue@xxxxxxxxxx> commit ca41a44eb07c98139421ae995d5715a4796a444a Author: Serge E. Hallyn <serue@xxxxxxxxxx> Date: Wed Sep 16 12:09:18 2009 -0400 c/r: checkpoint and restore task credentials This patch adds the checkpointing and restart of credentials (uids, gids, and capabilities) to Oren's c/r patchset (on top of v14). It goes to great pains to re-use (and define when needed) common helpers, in order to make sure that as security code is modified, the cr code will be updated. Some of the helpers should still be moved (i.e. _creds() functions should be in kernel/cred.c). When building the credentials for the restarted process, I 1. create a new struct cred as a copy of the running task's cred (using prepare_cred()) 2. always authorize any changes to the new struct cred based on the permissions of current_cred() (not the current transient state of the new cred). While this may mean that certain transient_cred1->transient_cred2 states are allowed which otherwise wouldn't be allowed, the fact remains that current_cred() is allowed to transition to transient_cred2. The reconstructed creds are applied to the task at the very end of the sys_restart call. This ensures that any objects which need to be re-created (file, socket, etc) are re-created using the creds of the task calling sys_restart - preventing an unpriv user from creating a privileged object, and ensuring that a root task can restart a process which had started out privileged, created some privileged objects, then dropped its privilege. With these patches, the root user can restart checkpoint images (created by either hallyn or root) of user hallyn's tasks, resulting in a program owned by hallyn. Changelog: Sep 08: [NTL] discard const from struct cred * where appropriate Jun 15: Fix user_ns handling when !CONFIG_USER_N Set creator_ref=0 for root_ns (discard @flags) Don't overwrite global user-ns if CONFIG_USER_NS Jun 10: Merge with ckpt-v16-dev (Oren Laadan) Jun 01: Don't check ordering of groups in group_info, bc set_groups() will sort it for us. May 28: 1. Restore securebits 2. Address Alexey's comments: move prototypes out of sched.h, validate ngroups < NGROUPS_MAX, validate groups are sorted, and get rid of ckpt_hdr_cred->version. 3. remove bogus unused flag RESTORE_CREATE_USERNS May 26: Move group, user, userns, creds c/r functions out of checkpoint/process.c and into the appropriate files. May 26: Define struct ckpt_hdr_task_creds and move task cred objref c/r into {checkpoint_restore}_task_shared(). May 26: Take cred refs around checkpoint_write_creds() May 20: Remove the limit on number of groups in groupinfo at checkpoint time May 20: Remove the depth limit on empty user namespaces May 20: Better document checkpoint_user May 18: fix more refcounting: if (userns 5, uid 0) had no active tasks or child user_namespaces, then it shouldn't exist at restart or it, its namespace, and its whole chain of creators will be leaked. May 14: fix some refcounting: 1. a new user_ns needs a ref to remain pinned by its root user 2. current_user_ns needs an extra ref bc objhash drops two on restart 3. cred needs a ref for the real credentials bc commit_creds eats one ref. May 13: folded in fix to userns refcounting. Signed-off-by: Serge E. Hallyn <serue@xxxxxxxxxx> [orenl@xxxxxxxxxxxxxxx: merge with ckpt-v16-dev] commit c0921ad4a9cdf34d6b5f17ef4dab5c8116fce75c Author: Serge E. Hallyn <serue@xxxxxxxxxx> Date: Wed Sep 16 12:09:17 2009 -0400 c/r: capabilities: define checkpoint and restore fns [ Andrew: I am punting on dealing with the subsystem cooperation issues in this version, in favor of trying to get LSM issues straightened out ] An application checkpoint image will store capability sets (and the bounding set) as __u64s. Define checkpoint and restart functions to translate between those and kernel_cap_t's. Define a common function do_capset_tocred() which applies capability set changes to a passed-in struct cred. The restore function uses do_capset_tocred() to apply the restored capabilities to the struct cred being crafted, subject to the current task's (task executing sys_restart()) permissions. Changelog: Jun 09: Can't choose securebits or drop bounding set if file capabilities aren't compiled into the kernel. Also just store caps in __u32s (looks cleaner). Jun 01: Made the checkpoint and restore functions and the ckpt_hdr_capabilities struct more opaque to the rest of the c/r code, as suggested by Andrew Morgan, and using naming suggested by Oren. Jun 01: Add commented BUILD_BUG_ON() to point out that the current implementation depends on 64-bit capabilities. (Andrew Morgan and Alexey Dobriyan). May 28: add helpers to c/r securebits Signed-off-by: Serge E. Hallyn <serue@xxxxxxxxxx> commit 7fcc8381195181c5383546a48a441f99688aab0c Author: Serge E. Hallyn <serue@xxxxxxxxxx> Date: Wed Sep 16 12:09:16 2009 -0400 c/r: clone_with_pids: define the s390 syscall Hook up the clone_with_pids system call for s390x. clone_with_pids() takes an additional argument over clone(), which we pass in through register 7. Stub code for using the syscall looks like: struct target_pid_set { int num_pids; pid_t *target_pids; unsigned long flags; }; register unsigned long int __r2 asm ("2") = (unsigned long int)(stack); register unsigned long int __r3 asm ("3") = (unsigned long int)(flags); register unsigned long int __r4 asm ("4") = (unsigned long int)(NULL); register unsigned long int __r5 asm ("5") = (unsigned long int)(NULL); register unsigned long int __r6 asm ("6") = (unsigned long int)(NULL); register unsigned long int __r7 asm ("7") = (unsigned long int)(setp); register unsigned long int __result asm ("2"); __asm__ __volatile__( " lghi %%r1,332\n" " svc 0\n" : "=d" (__result) : "0" (__r2), "d" (__r3), "d" (__r4), "d" (__r5), "d" (__r6), "d" (__r7) : "1", "cc", "memory" ); __result; }) struct target_pid_set pid_set; int pids[1] = { 19799 }; pid_set.num_pids = 1; pid_set.target_pids = &pids[0]; pid_set.flags = 0; rc = do_clone_with_pids(topstack, clone_flags, setp); if (rc == 0) printf("Child\n"); else if (rc > 0) printf("Parent: child pid %d\n", rc); else printf("Error %d\n", rc); Changelog[v18]: - Set return value for self-checkpoint Signed-off-by: Serge E. Hallyn <serue@xxxxxxxxxx> commit fd3a1df99fa52b983d46b8b771db209638a0507a Author: Dan Smith <danms@xxxxxxxxxx> Date: Wed Sep 16 12:09:16 2009 -0400 c/r: define s390-specific checkpoint-restart code Implement the s390 arch-specific checkpoint/restart helpers. This is on top of Oren Laadan's c/r code. With these, I am able to checkpoint and restart simple programs as per Oren's patch intro. While on x86 I never had to freeze a single task to checkpoint it, on s390 I do need to. That is a prereq for consistent snapshots (esp with multiple processes) anyway so I don't see that as a problem. Changelog: Jun 15: . Fix checkpoint and restart compat wrappers May 28: . Export asm/checkpoint_hdr.h to userspace . Define CKPT_ARCH_ID for S390 Apr 11: . Introduce ckpt_arch_vdso() Feb 27: . Add checkpoint_s390.h . Fixed up save and restore of PSW, with the non-address bits properly masked out Feb 25: . Make checkpoint_hdr.h safe for inclusion in userspace . Replace comment about vsdo code . Add comment about restoring access registers . Write and read an empty ckpt_hdr_head_arch record to appease code (mktree) that expects it to be there . Utilize NUM_CKPT_WORDS in checkpoint_hdr.h Feb 24: . Use CKPT_COPY() to unify the un/loading of cpu and mm state . Fix fprs definition in ckpt_hdr_cpu . Remove debug WARN_ON() from checkpoint.c Feb 23: . Macro-ize the un/packing of trace flags . Fix the crash when externally-linked . Break out the restart functions into restart.c . Remove unneeded s390_enable_sie() call Jan 30: . Switched types in ckpt_hdr_cpu to __u64 etc. (Per Oren suggestion) . Replaced direct inclusion of structs in ckpt_hdr_cpu with the struct members. (Per Oren suggestion) . Also ended up adding a bunch of new things into restart (mm_segment, ksp, etc) in vain attempt to get code using fpu to not segfault after restart. Signed-off-by: Serge E. Hallyn <serue@xxxxxxxxxx> Signed-off-by: Dan Smith <danms@xxxxxxxxxx> commit 33acb5303e51ccc1824993dd42ba337bb88d22f8 Author: Dan Smith <danms@xxxxxxxxxx> Date: Wed Sep 16 12:09:15 2009 -0400 c/r: add CKPT_COPY() macro As suggested by Dave[1], this provides us a way to make the copy-in and copy-out processes symmetric. CKPT_COPY_ARRAY() provides us a way to do the same thing but for arrays. It's not critical, but it helps us unify the checkpoint and restart paths for some things. Changelog: Mar 04: . Removed semicolons . Added build-time check for __must_be_array in CKPT_COPY_ARRAY Feb 27: . Changed CKPT_COPY() to use assignment, eliminating the need for the CKPT_COPY_BIT() macro . Add CKPT_COPY_ARRAY() macro to help copying register arrays, etc . Move the macro definitions inside the CR #ifdef Feb 25: . Changed WARN_ON() to BUILD_BUG_ON() Signed-off-by: Dan Smith <danms@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 356ca591c022531ecfda351324561d414b19ca58 Author: Oren Laadan <orenl@xxxxxxxxxxxxxxx> Date: Wed Sep 16 12:09:15 2009 -0400 c/r: (s390): expose a constant for the number of words (CRs) We need to use this value in the checkpoint/restart code and would like to have a constant instead of a magic '3'. Changelog: Mar 30: . Add CHECKPOINT_SUPPORT in Kconfig (Nathan Lynch) Mar 03: . Picked up additional use of magic '3' in ptrace.h Signed-off-by: Dan Smith <danms@xxxxxxxxxx> commit 39fa16d77c63ea065fb7bf71e7e7251453d35cdf Author: Oren Laadan <orenl@xxxxxxxxxxxxxxx> Date: Wed Sep 16 12:09:15 2009 -0400 c/r: support semaphore sysv-ipc Checkpoint of sysvipc semaphores is performed by iterating through all sem objects and dumping the contents of each one. The semaphore array of each sem is dumped with that object. The semaphore array (sem->sem_base) holds an array of 'struct sem', which is a {int, int}. Because this translates into the same format on 32- and 64-bit architectures, the checkpoint format is simply the dump of this array as is. TODO: this patch does not handle semaphore-undo -- this data should be saved per-task while iterating through the tasks. Changelog[v18]: - Handle kmalloc failure in restore_sem_array() Changelog[v17]: - Restore objects in the right namespace - Forward declare struct msg_msg (instead of include linux/msg.h) - Fix typo in comment - Don't unlock ipc before calling freeary in error path Signed-off-by: Oren Laadan <orenl@xxxxxxxxxxxxxxx> commit 5dab755c02421f739092cc1f34a1f82202911c73 Author: Oren Laadan <orenl@xxxxxxxxxxxxxxx> Date: Wed Sep 16 12:09:14 2009 -0400 c/r: support message-queues sysv-ipc Checkpoint of sysvipc message-queues is performed by iterating through all 'msq' objects and dumping the contents of each one. The message queued on each 'msq' are dumped with that object. Message of a specific queue get written one by one. The queue lock cannot be held while dumping them, but the loop must be protected from someone (who ?) writing or reading. To do that we grab the lock, then hijack the entire chain of messages from the queue, drop the lock, and then safely dump them in a loop. Finally, with the lock held, we re-attach the chain while verifying that there isn't other (new) data on that queue. Writing the message contents themselves is straight forward. The code is similar to that in ipc/msgutil.c, the main difference being that we deal with kernel memory and not user memory. Changelog[v17]: - Allocate security context for msg_msg - Restore objects in the right namespace - Don't unlock ipc before freeing Signed-off-by: Oren Laadan <orenl@xxxxxxxxxxxxxxx> commit 98ecf71bbf4e855a37f108b8ed46e90e6ee16377 Author: Oren Laadan <orenl@xxxxxxxxxxxxxxx> Date: Wed Sep 16 12:09:14 2009 -0400 c/r: support share-memory sysv-ipc Checkpoint of sysvipc shared memory is performed in two steps: first, the entire ipc namespace is dumped as a whole by iterating through all shm objects and dumping the contents of each one. The shmem inode is registered in the objhash. Second, for each vma that refers to ipc shared memory we find the inode in the objhash, and save the objref. (If we find a new inode, that indicates that the ipc namespace is not entirely frozen and someone must have manipulated it since step 1). Handling of shm objects that have been deleted (via IPC_RMID) is left to a later patch in this series. Changelog[v18]: - Collect files used by shm objects - Use file instead of inode as shared object during checkpoint Changelog[v17]: - Restore objects in the right namespace - Properly initialize ctx->deferqueue - Fix compilation with CONFIG_CHECKPOINT=n Signed-off-by: Oren Laadan <orenl@xxxxxxxxxxxxxxx> commit 2b88e16c88c83067b6a738be1fa92932df3d6c2d Author: Oren Laadan <orenl@xxxxxxxxxxxxxxx> Date: Wed Sep 16 12:09:14 2009 -0400 c/r: save and restore sysvipc namespace basics Add the helpers to checkpoint and restore the contents of 'struct kern_ipc_perm'. Add header structures for ipc state. Put place-holders to save and restore ipc state. Save and restores the common state (parameters) of ipc namespace. Generic code to iterate through the objects of sysvipc shared memory, message queues and semaphores. The logic to save and restore the state of these objects will be added in the next few patches. Right now, we return -EPERM if the user calling sys_restart() isn't allowed to create an object with the checkpointed uid. We may prefer to simply use the caller's uid in that case - but that could lead to subtle userspace bugs? Unsure, so going for the stricter behavior. TODO: restore kern_ipc_perms->security. Changelog[v17]: - Fix include: use checkpoint.h not checkpoint_hdr.h - Collect nsproxy->ipc_ns - Restore objects in the right namespace - If !CONFIG_IPC_NS only restore objects, not global settings - Don't overwrite global ipc-ns if !CONFIG_IPC_NS - Reset the checkpointed uid and gid info on ipc objects - Fix compilation with CONFIG_SYSVIPC=n Changelog [Dan Smith <danms@xxxxxxxxxx>] - Fix compilation with CONFIG_SYSVIPC=n - Update to match UTS changes Signed-off-by: Oren Laadan <orenl@xxxxxxxxxxxxxxx> commit 40f30126e65005d4d8388330a3982d68084bd4e1 Author: Oren Laadan <orenl@xxxxxxxxxxxxxxx> Date: Wed Sep 16 12:09:13 2009 -0400 c/r (ipc): allow allocation of a desired ipc identifier During restart, we need to allocate ipc objects that with the same identifiers as recorded during checkpoint. Modify the allocation code allow an in-kernel caller to request a specific ipc identifier. The system call interface remains unchanged. Signed-off-by: Oren Laadan <orenl@xxxxxxxxxxxxxxx> commit 99cb683792abbbe82123702d6947381bf945c622 Author: Dan Smith <danms@xxxxxxxxxx> Date: Wed Sep 16 12:09:13 2009 -0400 c/r: support for UTS namespace This patch adds a "phase" of checkpoint that saves out information about any namespaces the task(s) may have. Do this by tracking the namespace objects of the tasks and making sure that tasks with the same namespace that follow get properly referenced in the checkpoint stream. Changes[v17]: - Collect nsproxy->uts_ns - Save uts string lengths once in ckpt_hdr_const - Save and restore all fields of uts-ns - Don't overwrite global uts-ns if !CONFIG_UTS_NS - Replace sys_unshare() with create_uts_ns() - Take uts_sem around access to uts data Changes: - Remove the kernel restore path - Punt on nested namespaces - Use __NEW_UTS_LEN in nodename and domainname buffers - Add a note to Documentation/checkpoint/internals.txt to indicate where in the save/restore process the UTS information is kept - Store (and track) the objref of the namespace itself instead of the nsproxy (based on comments from Dave on IRC) - Remove explicit check for non-root nsproxy - Store the nodename and domainname lengths and use ckpt_write_string() to store the actual name strings - Catch failure of ckpt_obj_add_ptr() in ckpt_write_namespaces() - Remove "types" bitfield and use the "is this new" flag to determine whether or not we should write out a new ns descriptor - Replace kernel restore path - Move the namespace information to be directly after the task information record - Update Documentation to reflect new location of namespace info - Support checkpoint and restart of nested UTS namespaces Signed-off-by: Dan Smith <danms@xxxxxxxxxx> Signed-off-by: Oren Laadan <orenl@xxxxxxxxxxxxxxx> commit 3d75b8a6f5a6cf6b468924838094c178dd3aaddb Author: Oren Laadan <orenl@xxxxxxxxxxxxxxx> Date: Wed Sep 16 12:09:12 2009 -0400 c/r: make ckpt_may_checkpoint_task() check each namespace individually For a given namespace type, say XXX, if a checkpoint was taken on a CONFIG_XXX_NS system, is restarted on a !CONFIG_XXX_NS, then ensure that: 1) The global settings of the global (init) namespace do not get overwritten. Creating new objects in that namespace is ok, as long as the request identifier is available. 2) All restarting tasks use a single namespace - because it is impossible to create additional namespaces to accommodate for what had been checkpointed. Original patch introducing nsproxy c/r by Dan Smith <danms@xxxxxxxxxx> Chagnelog[v18]: - Add a few more ckpt_write_err()s Chagnelog[v17]: - Only collect sub-objects of struct_nsproxy once. - Restore namespace pieces directly instead of using sys_unshare() - Proper handling of restart from namespace(s) without namespace(s) Signed-off-by: Oren Laadan <orenl@xxxxxxxxxxxxxxx> commit 6ceec3b3f292e154c5f709c4207db5ee24966834 Author: Oren Laadan <orenl@xxxxxxxxxxxxxxx> Date: Wed Sep 16 12:09:11 2009 -0400 c/r: checkpoint and restore FIFOs FIFOs are almost like pipes. Checkpoints adds the FIFO pathname. The first time the FIFO is found it also assigns an @objref and dumps the contents in the buffers. To restore, use the @objref only to determine whether a particular FIFO has already been restored earlier. Note that it ignores the file pointer that matches that @objref (unlike with pipes, where that file corresponds to the other end of the pipe). Instead, it creates a new FIFO using the saved pathname. Signed-off-by: Oren Laadan <orenl@xxxxxxxxxxxxxxx> commit f282a267cf33f2a8e33d785eab6168eba1e70c75 Author: Oren Laadan <orenl@xxxxxxxxxxxxxxx> Date: Wed Sep 16 12:09:11 2009 -0400 c/r: support for open pipes A pipe is a double-headed inode with a buffer attached to it. We checkpoint the pipe buffer only once, as soon as we hit one side of the pipe, regardless whether it is read- or write- end. To checkpoint a file descriptor that refers to a pipe (either end), we first lookup the inode in the hash table: If not found, it is the first encounter of this pipe. Besides the file descriptor, we also (a) save the pipe data, and (b) register the pipe inode in the hash. If found, it is the second encounter of this pipe, namely, as we hit the other end of the same pipe. In both cases we write the pipe-objref of the inode. To restore, create a new pipe and thus have two file pointers (read- and write- ends). We only use one of them, depending on which side was checkpointed first. We register the file pointer of the other end in the hash table, with the pipe_objref given for this pipe from the checkpoint, to be used later when the other arrives. At this point we also restore the contents of the pipe buffers. To save the pipe buffer, given a source pipe, use do_tee() to clone its contents into a temporary 'struct pipe_inode_info', and then use do_splice_from() to transfer it directly to the checkpoint image file. To restore the pipe buffer, with a fresh newly allocated target pipe, use do_splice_to() to splice the data directly between the checkpoint image file and the pipe. Changelog[v18]: - Adjust format of pipe buffer to include the mandatory pre-header Changelog[v17]: - Forward-declare 'ckpt_ctx' et-al, don't use checkpoint_types.h Signed-off-by: Oren Laadan <orenl@xxxxxxxxxxxxxxx> commit a46d2b502555ba9c8625bbe1cddf34cb641d27e9 Author: Oren Laadan <orenl@xxxxxxxxxxxxxxx> Date: Wed Sep 16 12:09:10 2009 -0400 splice: export pipe/file-to-pipe/file functionality During pipes c/r pipes we need to save and restore pipe buffers. But do_splice() requires two file descriptors, therefore we can't use it, as we always have one file descriptor (checkpoint image) and one pipe_inode_info. This patch exports interfaces that work at the pipe_inode_info level, namely link_pipe(), do_splice_to() and do_splice_from(). They are used in the following patch to to save and restore pipe buffers without unnecessary data copy. It slightly modifies both do_splice_to() and do_splice_from() to detect the case of pipe-to-pipe transfer, in which case they invoke splice_pipe_to_pipe() directly. Signed-off-by: Oren Laadan <orenl@xxxxxxxxxxxxxxx> commit cc3ec47a7d8e8d36fd16d6c7276fbca6bc4b3e93 Author: Oren Laadan <orenl@xxxxxxxxxxxxxxx> Date: Wed Sep 16 12:09:10 2009 -0400 c/r: restore anonymous- and file-mapped- shared memory The bulk of the work is in ckpt_read_vma(), which has been refactored: the part that create the suitable 'struct file *' for the mapping is now larger and moved to a separate function. What's left is to read the VMA description, get the file pointer, create the mapping, and proceed to read the contents in. Both anonymous shared VMAs that have been read earlier (as indicated by a look up to objhash) and file-mapped shared VMAs are skipped. Anonymous shared VMAs seen for the first time have their contents read in directly to the backing inode, as indexed by the page numbers (as opposed to virtual addresses). Changelog[v14]: - Introduce patch Signed-off-by: Oren Laadan <orenl@xxxxxxxxxxxxxxx> commit e7b30af5cad2e6ade07c7138a51772730ba8bee3 Author: Oren Laadan <orenl@xxxxxxxxxxxxxxx> Date: Wed Sep 16 12:09:10 2009 -0400 c/r: dump anonymous- and file-mapped- shared memory We now handle anonymous and file-mapped shared memory. Support for IPC shared memory requires support for IPC first. We extend ckpt_write_vma() to detect shared memory VMAs and handle it separately than private memory. There is not much to do for file-mapped shared memory, except to force msync() on the region to ensure that the file system is consistent with the checkpoint image. Use our internal type CKPT_VMA_SHM_FILE. Anonymous shared memory is always backed by inode in shmem filesystem. We use that inode to look up the VMA in the objhash and register it if not found (on first encounter). In this case, the type of the VMA is CKPT_VMA_SHM_ANON, and we dump the contents. On the other hand, if it is found there, we must have already saved it before, so we change the type to CKPT_VMA_SHM_ANON_SKIP and skip it. To dump the contents of a shmem VMA, we loop through the pages of the inode in the shmem filesystem, and dump the contents of each dirty (allocated) page - unallocated pages must be clean. Note that we save the original size of a shmem VMA because it may have been re-mapped partially. The format itself remains like with private VMAs, except that instead of addresses we record _indices_ (page nr) into the backing inode. Changelog[v18]: - Mark the backing file as visited at chekcpoint Signed-off-by: Oren Laadan <orenl@xxxxxxxxxxxxxxx> commit 74149aabdc0bd8b8d774b4cb6feb9a5bc5a476c5 Author: Oren Laadan <orenl@xxxxxxxxxxxxxxx> Date: Wed Sep 16 12:09:09 2009 -0400 c/r: export shmem_getpage() to support shared memory Export functionality to retrieve specific pages from shared memory given an inode in shmem-fs; this will be used in the next two patches to provide support for c/r of shared memory. mm/shmem.c: - shmem_getpage() and 'enum sgp_type' moved to linux/mm.h Signed-off-by: Oren Laadan <orenl@xxxxxxxxxxxxxxx> commit 497a784800cc2cce67d4749e7dcd758bfcb605ad Author: Matt Helsley <matthltc@xxxxxxxxxx> Date: Wed Sep 16 12:09:09 2009 -0400 Add the checkpoint operation for opened files of generic filesystems These patches extend the use of the generic file checkpoint operation to non-extX filesystems which have lseek operations that ensure we can save and restore the files for later use. Note that this does not include things like FUSE, network filesystems, or pseudo-filesystem kernel interfaces. Only compile and boot tested (on x86-32). [Oren Laadan] Folded patch series into a single patch; original post included 36 separate patches for individual filesystems: [PATCH 01/36] Add the checkpoint operation for affs files and directories. [PATCH 02/36] Add the checkpoint operation for befs directories. [PATCH 03/36] Add the checkpoint operation for bfs files and directories. [PATCH 04/36] Add the checkpoint operation for btrfs files and directories. [PATCH 05/36] Add the checkpoint operation for cramfs directories. [PATCH 06/36] Add the checkpoint operation for ecryptfs files and directories. [PATCH 07/36] Add the checkpoint operation for fat files and directories. [PATCH 08/36] Add the checkpoint operation for freevxfs directories. [PATCH 09/36] Add the checkpoint operation for hfs files and directories. [PATCH 10/36] Add the checkpoint operation for hfsplus files and directories. [PATCH 11/36] Add the checkpoint operation for hpfs files and directories. [PATCH 12/36] Add the checkpoint operation for hppfs files and directories. [PATCH 13/36] Add the checkpoint operation for iso directories. [PATCH 14/36] Add the checkpoint operation for jffs2 files and directories. [PATCH 15/36] Add the checkpoint operation for jfs files and directories. [PATCH 16/36] Add the checkpoint operation for regular nfs files and directories. Skip the various /proc files for now. [PATCH 17/36] Add the checkpoint operation for ntfs directories. [PATCH 18/36] Add the checkpoint operation for openromfs directories. Explicitly skip the properties for now. [PATCH 19/36] Add the checkpoint operation for qnx4 files and directories. [PATCH 20/36] Add the checkpoint operation for reiserfs files and directories. [PATCH 21/36] Add the checkpoint operation for romfs directories. [PATCH 22/36] Add the checkpoint operation for squashfs directories. [PATCH 23/36] Add the checkpoint operation for sysv filesystem files and directories. [PATCH 24/36] Add the checkpoint operation for ubifs files and directories. [PATCH 25/36] Add the checkpoint operation for udf filesystem files and directories. [PATCH 26/36] Add the checkpoint operation for xfs files and directories. [PATCH 27/36] Add checkpoint operation for efs directories. [PATCH 28/36] Add the checkpoint operation for generic, read-only files. At present, some/all files of the following filesystems use this generic definition: [PATCH 29/36] Add checkpoint operation for minix filesystem files and directories. [PATCH 30/36] Add checkpoint operations for omfs files and directories. [PATCH 31/36] Add checkpoint operations for ufs files and directories. [PATCH 32/36] Add checkpoint operations for ramfs files. NOTE: since simple_dir_operations are shared between multiple filesystems including ramfs, it's not currently possible to checkpoint open ramfs directories. [PATCH 33/36] Add the checkpoint operation for adfs files and directories. [PATCH 34/36] Add the checkpoint operation to exofs files and directories. [PATCH 35/36] Add the checkpoint operation to nilfs2 files and directories. [PATCH 36/36] Add checkpoint operations for UML host filesystem files and directories. Signed-off-by: Matt Helsley <matthltc@xxxxxxxxxx> Acked-by: Oren Laadan <orenl@xxxxxxxxxxxxxxx> Cc: linux-fsdevel@xxxxxxxxxxxxxxx commit 10594a13eaa5ac6bf10d0e8a8da5657d15767d81 Author: Oren Laadan <orenl@xxxxxxxxxxxxxxx> Date: Wed Sep 16 12:09:08 2009 -0400 c/r: add generic '->checkpoint()' f_op to simple devices * /dev/null * /dev/zero * /dev/random * /dev/urandom Signed-off-by: Oren Laadan <orenl@xxxxxxxxxxxxxxx> commit bc0085a4828718336665a52ed7333622d5f7a269 Author: Dave Hansen <dave@xxxxxxxxxxxxxxxxxx> Date: Wed Sep 16 12:09:08 2009 -0400 c/r: add generic '->checkpoint' f_op to ext fses This marks ext[234] as being checkpointable. There will be many more to do this to, but this is a start. Changelog[v1]: - [Serge Hallyn] Use filemap_checkpoint() in ext4_file_vm_ops Signed-off-by: Dave Hansen <dave@xxxxxxxxxxxxxxxxxx> Signed-off-by: Oren Laadan <orenl@xxxxxxxxxxxxxxx> commit 28edbf8bb9211750cf5a8575d89fec6b721431ed Author: Oren Laadan <orenl@xxxxxxxxxxxxxxx> Date: Wed Sep 16 12:09:08 2009 -0400 c/r: restore memory address space (private memory) Restoring the memory address space begins with nuking the existing one of the current process, and then reading the vma state and contents. Call do_mmap_pgoffset() for each vma and then read in the data. Changelog[v17]: - Restore mm->{flags,def_flags,saved_auxv} - Fix bogus warning in do_restore_mm() Changelog[v16]: - Restore mm->exe_file Changelog[v14]: - Introduce per vma-type restore() function - Merge restart code into same file as checkpoint (memory.c) - Compare saved 'vdso' field of mm_context with current value - Check whether calls to ckpt_hbuf_get() fail - Discard field 'h->parent' - Revert change to pr_debug(), back to ckpt_debug() Changelog[v13]: - Avoid access to hh->vma_type after the header is freed - Test for no vma's in exit_mmap() before calling unmap_vma() (or it may crash if restart fails after having removed all vma's) Changelog[v12]: - Replace obsolete ckpt_debug() with pr_debug() Changelog[v9]: - Introduce ckpt_ctx_checkpoint() for checkpoint-specific ctx setup Changelog[v7]: - Fix argument given to kunmap_atomic() in memory dump/restore Changelog[v6]: - Balance all calls to ckpt_hbuf_get() with matching ckpt_hbuf_put() (even though it's not really needed) Changelog[v5]: - Improve memory restore code (following Dave Hansen's comments) - Change dump format (and code) to allow chunks of <vaddrs, pages> instead of one long list of each - Memory restore now maps user pages explicitly to copy data into them, instead of reading directly to user space; got rid of mprotect_fixup() Changelog[v4]: - Use standard list_... for ckpt_pgarr Signed-off-by: Oren Laadan <orenl@xxxxxxxxxxxxxxx> commit 3f6813fb0d5ccdc1998e45e824194c0ceef99680 Author: Oren Laadan <orenl@xxxxxxxxxxxxxxx> Date: Wed Sep 16 12:09:07 2009 -0400 c/r: dump memory address space (private memory) For each vma, there is a 'struct ckpt_vma'; Then comes the actual contents, in one or more chunk: each chunk begins with a header that specifies how many pages it holds, then the virtual addresses of all the dumped pages in that chunk, followed by the actual contents of all dumped pages. A header with zero number of pages marks the end of the contents. Then comes the next vma and so on. To checkpoint a vma, call the ops->checkpoint() method of that vma. Normally the per-vma function will invoke generic_vma_checkpoint() which first writes the vma description, followed by the specific logic to dump the contents of the pages. Currently for private mapped memory we save the pathname of the file that is mapped (restart will use it to re-open it and then map it). Later we change that to reference a file object. Changelog[v18]: - Add a few more ckpt_write_err()s - [Serge Hallyn] Export filemap_checkpoint() (used later for ext4) - Use ckpt_collect_file() instead of ckpt_obj_collect() for files - In collect_mm() use retval from ckpt_obj_collect() to test for first-time-object Changelog[v17]: - Only collect sub-objects of mm_struct once - Save mm->{flags,def_flags,saved_auxv} Changelog[v16]: - Precede vaddrs/pages with a buffer header - Checkpoint mm->exe_file - Handle shared task->mm Changelog[v14]: - Modify the ops->checkpoint method to be much more powerful - Improve support for VDSO (with special_mapping checkpoint callback) - Save new field 'vdso' in mm_context - Revert change to pr_debug(), back to ckpt_debug() - Check whether calls to ckpt_hbuf_get() fail - Discard field 'h->parent' Changelog[v13]: - pgprot_t is an abstract type; use the proper accessor (fix for 64-bit powerpc (Nathan Lynch <ntl@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 7bc7e50aca9cd3d3460634f94b3e1d3be56c8883 Author: Oren Laadan <orenl@xxxxxxxxxxxxxxx> Date: Wed Sep 16 12:09:07 2009 -0400 c/r: introduce method '->checkpoint()' in struct vm_operations_struct Changelog[v17] - Forward-declare 'ckpt_ctx et-al, don't use checkpoint_types.h Signed-off-by: Oren Laadan <orenl@xxxxxxxxxxxxxxx> commit a1b772aa9629dc91dfd350f2cf22a05df7554627 Author: Oren Laadan <orenl@xxxxxxxxxxxxxxx> Date: Wed Sep 16 12:09:06 2009 -0400 c/r: restore open file descriptors For each fd read 'struct ckpt_hdr_file_desc' and lookup objref in the hash table; If not found in the hash table, (first occurence), read in 'struct ckpt_hdr_file', create a new file and register in the hash. Otherwise attach the file pointer from the hash as an FD. Changelog[v18]: - Invoke set_close_on_exec() unconditionally on restart Changelog[v17]: - Validate f_mode after restore against saved f_mode - Fail if f_flags have O_CREAT|O_EXCL|O_NOCTTY|O_TRUN - Reorder patch (move earlier in series) - Handle shared files_struct objects Changelog[v14]: - Introduce a per file-type restore() callback - Revert change to pr_debug(), back to ckpt_debug() - Rename: restore_files() => restore_fd_table() - Rename: ckpt_read_fd_data() => restore_file() - Check whether calls to ckpt_hbuf_get() fail - Discard field 'hh->parent' Changelog[v12]: - Replace obsolete ckpt_debug() with pr_debug() Changelog[v6]: - Balance all calls to ckpt_hbuf_get() with matching ckpt_hbuf_put() (even though it's not really needed) Signed-off-by: Oren Laadan <orenl@xxxxxxxxxxxxxxx> commit a553a51c0291d1be52abd1af3ca4427d2b09922e Author: Oren Laadan <orenl@xxxxxxxxxxxxxxx> Date: Wed Sep 16 12:09:06 2009 -0400 c/r: dump open file descriptors Dump the file table with 'struct ckpt_hdr_file_table, followed by all open file descriptors. Because the 'struct file' corresponding to an fd can be shared, they are assigned an objref and registered in the object hash. A reference to the 'file *' is kept for as long as it lives in the hash (the hash is only cleaned up at the end of the checkpoint). Also provide generic_checkpoint_file() and generic_restore_file() which is good for normal files and directories. It does not support yet unlinked files or directories. Changelog[v18]: - Add a few more ckpt_write_err()s - [Dan Smith] Export fill_fname() as ckpt_fill_fname() - Introduce ckpt_collect_file() that also uses file->collect method - In collect_file_stabl() use retval from ckpt_obj_collect() to test for first-time-object Changelog[v17]: - Only collect sub-objects of files_struct once - Better file error debugging - Use (new) d_unlinked() Changelog[v16]: - Fix compile warning in checkpoint_bad() Changelog[v16]: - Reorder patch (move earlier in series) - Handle shared files_struct objects Changelog[v14]: - File objects are dumped/restored prior to the first reference - Introduce a per file-type restore() callback - Use struct file_operations->checkpoint() - Put code for generic file descriptors in a separate function - Use one CKPT_FILE_GENERIC for both regular files and dirs - Revert change to pr_debug(), back to ckpt_debug() - Use only unsigned fields in checkpoint headers - Rename: ckpt_write_files() => checkpoint_fd_table() - Rename: ckpt_write_fd_data() => checkpoint_file() - Discard field 'h->parent' Changelog[v12]: - Replace obsolete ckpt_debug() with pr_debug() Changelog[v11]: - Discard handling of opened symlinks (there is no such thing) - ckpt_scan_fds() retries from scratch if hits size limits Changelog[v9]: - Fix a couple of leaks in ckpt_write_files() - Drop useless kfree from ckpt_scan_fds() Changelog[v8]: - initialize 'coe' to workaround gcc false warning Changelog[v6]: - Balance all calls to ckpt_hbuf_get() with matching ckpt_hbuf_put() (even though it's not really needed) Signed-off-by: Oren Laadan <orenl@xxxxxxxxxxxxxxx> commit 5c07b60c1fada8323cf8acfbf8374f0f41d251dc Author: Oren Laadan <orenl@xxxxxxxxxxxxxxx> Date: Wed Sep 16 12:09:05 2009 -0400 c/r: introduce new 'file_operations': ->checkpoint, ->collect() While we assume all normal files and directories can be checkpointed, there are, as usual in the VFS, specialized places that will always need an ability to override these defaults. Although we could do this completely in the checkpoint code, that would bitrot quickly. This adds a new 'file_operations' function for checkpointing a file. It is assumed that there should be a dirt-simple way to make something (un)checkpointable that fits in with current code. As you can see in the ext[234] patches down the road, all that we have to do to make something simple be supported is add a single "generic" f_op entry. Also adds a new 'file_operations' function for 'collecting' a file for leak-detection during full-container checkpoint. This is useful for those files that hold references to other "collectable" objects. Two examples are pty files that point to corresponding tty objects, and eventpoll files that refer to the files they are monitoring. Finally, this patch introduces vfs_fcntl() so that it can be called from restart (see patch adding restart of files). Changelog[v17] - Introduce 'collect' method Changelog[v17] - Forward-declare 'ckpt_ctx' et-al, don't use checkpoint_types.h Signed-off-by: Oren Laadan <orenl@xxxxxxxxxxxxxxx> commit 364a123242728d59b2de29de6d3dfb0404293676 Author: Oren Laadan <orenl@xxxxxxxxxxxxxxx> Date: Wed Sep 16 12:09:05 2009 -0400 deferqueue: generic queue to defer work Add a interface to postpone an action until the end of the entire checkpoint or restart operation. This is useful when during the scan of tasks an operation cannot be performed in place, to avoid the need for a second scan. One use case is when restoring an ipc shared memory region that has been deleted (but is still attached), during restart it needs to be create, attached and then deleted. However, creation and attachment are performed in distinct locations, so deletion can not be performed on the spot. Instead, this work (delete) is deferred until later. (This example is in one of the following patches). This interface allows chronic procrastination in the kernel: deferqueue_create(void): Allocates and returns a new deferqueue. deferqueue_run(deferqueue): Executes all the pending works in the queue. Returns the number of works executed, or an error upon the first error reported by a deferred work. deferqueue_add(deferqueue, data, size, func, dtor): Enqueue a deferred work. @function is the callback function to do the work, which will be called with @data as an argument. @size tells the size of data. @dtor is a destructor callback that is invoked for deferred works remaining in the queue when the queue is destroyed. NOTE: for a given deferred work, @dtor is _not_ called if @func was already called (regardless of the return value of the latter). deferqueue_destroy(deferqueue): Free the deferqueue and any queued items while invoking the @dtor callback for each queued item. Why aren't we using the existing kernel workqueue mechanism? We need to defer to work until the end of the operation: not earlier, since we need other things to be in place; not later, to not block waiting for it. However, the workqueue schedules the work for 'some time later'. Also, the kernel workqueue may run in any task context, but we require many times that an operation be run in the context of some specific restarting task (e.g., restoring IPC state of a certain ipc_ns). Instead, this mechanism is a simple way for the c/r operation as a whole, and later a task in particular, to defer some action until later (but not arbitrarily later) _in the restore_ operation. Changelog[v18] - Interface to pass simple pointers as data with deferqueue Changelog[v17] - Fix deferqueue_add() function Signed-off-by: Oren Laadan <orenl@xxxxxxxxxxxxxxx> commit 206d0107cbd5b59978b59edf7aed7cb372d4024d Author: Oren Laadan <orenl@xxxxxxxxxxxxxxx> Date: Wed Sep 16 12:09:05 2009 -0400 c/r: detect resource leaks for whole-container checkpoint Add a 'users' count to objhash items, and, for a !CHECKPOINT_SUBTREE checkpoint, return an error code if the actual objects' counts are higher, indicating leaks (references to the objects from a task not being checkpointed). The comparison of the objhash user counts to object refcounts as a basis for checking for leaks comes from Alexey's OpenVZ-based c/r patchset. "Leak detection" occurs _before_ any real state is saved, as a pre-step. This prevents races due to sharing with outside world where the sharing ceases before the leak test takes place, thus protecting the checkpoint image from inconsistencies. Once leak testing concludes, checkpoint will proceed. Because objects are already in the objhash, checkpoint_obj() cannot distinguish between the first and subsequent encounters. This is solved with a flag (CKPT_OBJ_CHECKPOINTED) per object. Two additional checks take place during checkpoint: for objects that were created during, and objects destroyed, while the leak-detection pre-step took place. (By the time this occurs part of the checkpoint image has been written out to disk, so this is purely advisory). Changelog[v18]: - Replace some EAGAIN with EBUSY - Add a few more ckpt_write_err()s - Introduce CKPT_OBJ_VISITED - ckpt_obj_collect() returns objref for new objects, 0 otherwise - Rename ckpt_obj_checkpointed() to ckpt_obj_visited() - Introduce ckpt_obj_visit() to mark objects as visited - Set the CHECKPOINTED flag on objects before calling checkpoint Changelog[v17]: - Leak detection is performed in two-steps - Detect reverse-leaks (objects disappearing unexpectedly) - Skip reverse-leak detection if ops->ref_users isn't defined Signed-off-by: Oren Laadan <orenl@xxxxxxxxxxxxxxx> commit 0097fa081d3325b50dc65bb6c524b7cb86990dea Author: Oren Laadan <orenl@xxxxxxxxxxxxxxx> Date: Wed Sep 16 12:09:04 2009 -0400 c/r: infrastructure for shared objects The state of shared objects is saved once. On the first encounter, the state is dumped and the object is assigned a unique identifier (objref) and also stored in a hash table (indexed by its physical kernel address). From then on the object will be found in the hash and only its identifier is saved. On restart the identifier is looked up in the hash table; if not found then the state is read, the object is created, and added to the hash table (this time indexed by its identifier). Otherwise, the object in the hash table is used. The hash is "one-way": objects added to it are never deleted until the hash it discarded. The hash is discarded at the end of checkpoint or restart, whether successful or not. The hash keeps a reference to every object that is added to it, matching the object's type, and maintains this reference during its lifetime. Therefore, it is always safe to use an object that is stored in the hash. Changelog[v18]: - Add ckpt_obj_reserve() - Change ref_drop() to accept a @lastref argument (useful for cleanup) - Disallow multiple objects with same objref in restart - Allow _ckpt_read_obj_type() to read object header only (w/o payload) Changelog[v17]: - Add ckpt_obj->flags with CKPT_OBJ_CHECKPOINTED flag - Add prototype of ckpt_obj_lookup - Complain on attempt to add NULL ptr to objhash - Prepare for 'leaks detection' Changelog[v16]: - Introduce ckpt_obj_lookup() to find an object by its ptr Changelog[v14]: - Introduce 'struct ckpt_obj_ops' to better modularize shared objs. - Replace long 'switch' statements with table lookups and callbacks. - Introduce checkpoint_obj() and restart_obj() helpers - Shared objects now dumped/saved right before they are referenced - Cleanup interface of shared objects Changelog[v13]: - Use hash_long() with 'unsigned long' cast to support 64bit archs (Nathan Lynch <ntl@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 9894f6524904b22395e8d252bd525c1b27780a46 Author: Matt Helsley <matthltc@xxxxxxxxxx> Date: Wed Sep 16 11:37:00 2009 -0400 c/r: Save and restore the [compat_]robust_list member of the task struct These lists record which futexes the task holds. To keep the overhead of robust futexes low the list is kept in userspace. When the task exits the kernel carefully walks these lists to recover held futexes that other tasks may be attempting to acquire with FUTEX_WAIT. Because they point to userspace memory that is saved/restored by checkpoint/restart saving the list pointers themselves is safe. While saving the pointers is safe during checkpoint, restart is tricky because the robust futex ABI contains provisions for changes based on checking the size of the list head. So we need to save the length of the list head too in order to make sure that the kernel used during restart is capable of handling that ABI. Since there is only one ABI supported at the moment taking the list head's size is simple. Should the ABI change we will need to use the same size as specified during sys_set_robust_list() and hence some new means of determining the length of this userspace structure in sys_checkpoint would be required. Rather than rewrite the logic that checks and handles the ABI we reuse sys_set_robust_list() by factoring out the body of the function and calling it during restart. Signed-off-by: Matt Helsley <matthltc@xxxxxxxxxx> [orenl@xxxxxxxxxxxxxxx: move save/restore code to checkpoint/process.c] commit c0da31a92919fd6fda52eb9132ab9ee7734e259f Author: Oren Laadan <orenl@xxxxxxxxxxxxxxx> Date: Wed Sep 16 11:30:11 2009 -0400 c/r: support for zombie processes During checkpoint, a zombie processes need only save p->comm, p->state, p->exit_state, and p->exit_code. During restart, zombie processes are created like all other processes. They validate the saved exit_code restore p->comm and p->exit_code. Then they call do_exit() instead of waking up the next task in line. But before, they place the @ctx in p->checkpoint_ctx, so that only at exit time they will wake up the next task in line, and drop the reference to the @ctx. This provides the guarantee that when the coordinator's wait completes, all normal tasks completed their restart, and all zombie tasks are already zombified (as opposed to perhap only becoming a zombie). Changelog[v18]: - Add a few more ckpt_write_err()s Changelog[v17]: - Validate t->exit_signal for both threads and leader - Skip zombies in most of may_checkpoint_task() - Save/restore t->pdeath_signal - Validate ->exit_signal and ->pdeath_signal Signed-off-by: Oren Laadan <orenl@xxxxxxxxxxxxxxx> commit 28f101689d2e3aa56aab860988e75b05608cb889 Author: Oren Laadan <orenl@xxxxxxxxxxxxxxx> Date: Wed Sep 16 11:30:11 2009 -0400 c/r: introduce PF_RESTARTING, and skip notification on exit To restore zombie's we will create the a task, that, on its turn to run, calls do_exit(). Unlike normal tasks that exit, we need to prevent notification side effects that send signals to other processes, e.g. parent (SIGCHLD) or child tasks (per child's request). There are three main cases for such notifications: 1) do_notify_parent(): parent of a process is notified about a change in status (e.g. become zombie, reparent, etc). If parent ignores, then mark child for immediate release (skip zombie). 2) kill_orphan_pgrp(): a process group that becomes orphaned will signal stopped jobs (HUP then CONT). 3) reparent_thread(): children of a process are signaled (per request) with p->pdeath_signal Remember that restoring signal state (for any restarting task) must complete _before_ it is allowed to resume execution, and not during the resume. Otherwise, a running task may send a signal to another task that hasn't restored yet, so the new signal will be lost soon-after. I considered two possible way to address this: 1. Add another sync point to restart: all tasks will first restore their state without signals (all signals blocked), and zombies call do_exit(). A sync point then will ensure that all zombies are gone and their effects done. Then all tasks restore their signal state (and mask), and sync (new point) again. Only then they may resume execution. The main disadvantage is the added complexity and inefficiency, for no good reason. 2. Introduce PF_RESTARTING: mark all restarting tasks with a new flag, and teach the above three notifications to skip sending the signal if theis flag is set. The main advantage is simplicity and completeness. Also, such a flag may to be useful later on. This the method implemented. Signed-off-by: Oren Laadan <orenl@xxxxxxxxxxxxxxx> commit e1a78d71b9ee217b897cd3fafe4f6471ff0d65f9 Author: Oren Laadan <orenl@xxxxxxxxxxxxxxx> Date: Wed Sep 16 11:30:10 2009 -0400 c/r: restart multiple processes Restarting of multiple processes expects all restarting tasks to call sys_restart(). Once inside the system call, each task will restart itself at the same order that they were saved. The internals of the syscall will take care of in-kernel synchronization bewteen tasks. This patch does _not_ create the task tree in the kernel. Instead it assumes that all tasks are created in some way and then invoke the restart syscall. You can use the userspace mktree.c program to do that. There is one special task - the coordinator - that is not part of the restarted hierarchy. The coordinator task allocates the restart context (ctx) and orchestrates the restart. Thus even if a restart fails after, or during the restore of the root task, the user perceives a clean exit and an error message. The coordinator task will: 1) read header and tree, create @ctx (wake up restarting tasks) 2) set the ->checkpoint_ctx field of itself and all descendants 3) wait for all restarting tasks to reach sync point #1 4) activate first restarting task (root task) 5) wait for all other tasks to complete and reach sync point #3 6) wake up everybody (Note that in step #2 the coordinator assumes that the entire task hierarchy exists by the time it enters sys_restart; this is arranged in user space by 'mktree') Task that are restarting has three sync points: 1) wait for its ->checkpoint_ctx to be set (by the coordinator) 2) wait for the task's turn to restore (be active) [...now the task restores its state...] 3) wait for all other tasks to complete The third sync point ensures that a task may only resume execution after all tasks have successfully restored their state (or fail if an error has occured). This prevents tasks from returning to user space prematurely, before the entire restart completes. If a single task wishes to restart, it can set the "RESTART_TASKSELF" flag to restart(2) to skip the logic of the coordinator. The root-task is a child of the coordinator, identified by the @pid given to sys_restart() in the pid-ns of the coordinator. Restarting tasks that aren't the coordinator, should set the @pid argument of restart(2) syscall to zero. All tasks explicitly test for an error flag on the checkpoint context when they wakeup from sync points. If an error occurs during the restart of some task, it will mark the @ctx with an error flag, and wakeup the other tasks. An array of pids (the one saved during the checkpoint) is used to synchronize the operation. The first task in the array is the init task (*). The restart context (@ctx) maintains a "current position" in the array, which indicates which task is currently active. Once the currently active task completes its own restart, it increments that position and wakes up the next task. Restart assumes that userspace provides meaningful data, otherwise it's garbage-in-garbage-out. In this case, the syscall may block indefinitely, but in TASK_INTERRUPTIBLE, so the user can ctrl-c or otherwise kill the stray restarting tasks. In terms of security, restart runs as the user the invokes it, so it will not allow a user to do more than is otherwise permitted by the usual system semantics and policy. Currently we ignore threads and zombies, as well as session ids. Add support for multiple processes (*) For containers, restart should be called inside a fresh container by the init task of that container. However, it is also possible to restart applications not necessarily inside a container, and without restoring the original pids of the processes (that is, provided that the application can tolerate such behavior). This is useful to allow multi-process restart of tasks not isolated inside a container, and also for debugging. Changelog[v18]: - Track and report the first error if restart fails - Tighten logic to protect against bogus pids in input - [Matt Helsley] Improve debug output from ckpt_notify_error() Changelog[v17]: - Add uflag RESTART_FROZEN to freeze tasks after restart - Fix restore_retval() and use only for restarting tasks - Coordinator converts -ERSTART... to -EINTR - Coordinator marks and sets descendants' ->checkpoint_ctx - Coordinator properly detects errors when woken up from wait - Fix race where root_task could kick start too early - Add a sync point for restarting tasks - Multiple fixes to restart logic Changelog[v14]: - Revert change to pr_debug(), back to ckpt_debug() - Discard field 'h.parent' - Check whether calls to ckpt_hbuf_get() fail Changelog[v13]: - Clear root_task->checkpoint_ctx regardless of error condition - Remove unused argument 'ctx' from do_restore_task() prototype - Remove unused member 'pids_err' from 'struct ckpt_ctx' Changelog[v12]: - Replace obsolete ckpt_debug() with pr_debug() Signed-off-by: Oren Laadan <orenl@xxxxxxxxxxxxxxx> commit dbcded5f6cc002aba2c55b8f9934e9a7835f42aa Author: Oren Laadan <orenl@xxxxxxxxxxxxxxx> Date: Wed Sep 16 11:30:10 2009 -0400 c/r: checkpoint multiple processes Checkpointing of multiple processes works by recording the tasks tree structure below a given "root" task. The root task is expected to be a container init, and then an entire container is checkpointed. However, passing CHECKPOINT_SUBTREE to checkpoint(2) relaxes this requirement and allows to checkpoint a subtree of processes from the root task. For a given root task, do a DFS scan of the tasks tree and collect them into an array (keeping a reference to each task). Using DFS simplifies the recreation of tasks either in user space or kernel space. For each task collected, test if it can be checkpointed, and save its pid, tgid, and ppid. The actual work is divided into two passes: a first scan counts the tasks, then memory is allocated and a second scan fills the array. Whether checkpoints and restarts require CAP_SYS_ADMIN is determined by sysctl 'ckpt_unpriv_allowed': if 1, then regular permission checks are intended to prevent privilege escalation, however if 0 it prevents unprivileged users from exploiting any privilege escalation bugs. The logic is suitable for creation of processes during restart either in userspace or by the kernel. Currently we ignore threads and zombies. Changelog[v18]: - Replace some EAGAIN with EBUSY - Add a few more ckpt_write_err()s - Rename headerless struct ckpt_hdr_* to struct ckpt_* Changelog[v16]: - CHECKPOINT_SUBTREE flags allows subtree (not whole container) - sysctl variable 'ckpt_unpriv_allowed' controls needed privileges Changelog[v14]: - Refuse non-self checkpoint if target task isn't frozen - Refuse checkpoint (for now) if task is ptraced - Revert change to pr_debug(), back to ckpt_debug() - Use only unsigned fields in checkpoint headers - Check retval of ckpt_tree_count_tasks() in ckpt_build_tree() - Discard 'h.parent' field - Check whether calls to ckpt_hbuf_get() fail - Disallow threads or siblings to container init Changelog[v13]: - Release tasklist_lock in error path in ckpt_tree_count_tasks() - Use separate index for 'tasks_arr' and 'hh' in ckpt_write_pids() Changelog[v12]: - Replace obsolete ckpt_debug() with pr_debug() Signed-off-by: Oren Laadan <orenl@xxxxxxxxxxxxxxx> commit bf26affa6d06f107bb23a2f7ce91628f7e05ee8f Author: Oren Laadan <orenl@xxxxxxxxxxxxxxx> Date: Wed Sep 16 11:29:46 2009 -0400 c/r: restart-blocks (Paraphrasing what's said this message: http://lists.openwall.net/linux-kernel/2007/12/05/64) Restart blocks are callbacks used cause a system call to be restarted with the arguments specified in the system call restart block. It is useful for system call that are not idempotent, i.e. the argument(s) might be a relative timeout, where some adjustments are required when restarting the system call. It relies on the system call itself to set up its restart point and the argument save area. They are rare: an actual signal would turn that it an EINTR. The only case that should ever trigger this is some kernel action that interrupts the system call, but does not actually result in any user-visible state changes - like freeze and thaw. So restart blocks are about time remaining for the system call to sleep/wait. Generally in c/r, there are two possible time models that we can follow: absolute, relative. Here, I chose to save the relative timeout, measured from the beginning of the checkpoint. The time when the checkpoint (and restart) begin is also saved. This information is sufficient to restart in either model (absolute or negative). Which model to use should eventually be a per application choice (and possible configurable via cradvise() or some sort). For now, we adopt the relative model, namely, at restart the timeout is set relative to the beginning of the restart. To checkpoint, we check if a task has a valid restart block, and if so we save the *remaining* time that is has to wait/sleep, and the type of the restart block. To restart, we fill in the data required at the proper place in the thread information. If the system call return an error (which is possibly an -ERESTARTSYS eg), we not only use that error as our own return value, but also arrange for the task to execute the signal handler (by faking a signal). The handler, in turn, already has the code to handle these restart request gracefully. Changelog[v1]: - [Nathan Lynch] fix compilation errors with CONFIG_COMPAT=y Signed-off-by: Oren Laadan <orenl@xxxxxxxxxxxxxxx> commit cfeaf174627dfa1a13dc1bb49a85bebe1db689d5 Author: Oren Laadan <orenl@xxxxxxxxxxxxxxx> Date: Tue Sep 15 19:56:03 2009 -0400 c/r: export functionality used in next patch for restart-blocks To support c/r of restart-blocks (system call that need to be restarted because they were interrupted but there was no userspace visible side-effect), export restart-block callbacks for poll() and futex() syscalls. More details on c/r of restart-blocks and how it works in the following patch. Signed-off-by: Oren Laadan <orenl@xxxxxxxxxxxxxxx> Acked-by: Serge Hallyn <serue@xxxxxxxxxx> commit 6275ea063c1870894e9830d4305f3fa484f232f9 Author: Oren Laadan <orenl@xxxxxxxxxxxxxxx> Date: Tue Sep 15 19:56:03 2009 -0400 c/r: external checkpoint of a task other than ourself Now we can do "external" checkpoint, i.e. act on another task. sys_checkpoint() now looks up the target pid (in our namespace) and checkpoints that corresponding task. That task should be the root of a container, unless CHECKPOINT_SUBTREE flag is given. Set state of freezer cgroup of checkpointed task hierarchy to "CHECKPOINTING" during a checkpoint, to ensure that task(s) cannot be thawed while at it. Ensure that all tasks belong to root task's freezer cgroup (the root task is also tested, to detect it if changes its freezer cgroups before it moves to "CHECKPOINTING"). sys_restart() remains nearly the same, as the restart is always done in the context of the restarting task. However, the original task may have been frozen from user space, or interrupted from a syscall for the checkpoint. This is accounted for by restoring a suitable retval for the restarting task, according to how it was checkpointed. Changelog[v17]: - Move restore_retval() to this patch - Tighten ptrace ceckpoint for checkpoint to PTRACE_MODE_ATTACH - Use CHECKPOINTING state for hierarchy's freezer for checkpoint Changelog[v16]: - Use CHECKPOINT_SUBTREE to allow subtree (partial container) Changelog[v14]: - Refuse non-self checkpoint if target task isn't frozen Changelog[v12]: - Replace obsolete ckpt_debug() with pr_debug() Changelog[v11]: - Copy contents of 'init->fs->root' instead of pointing to them Changelog[v10]: - Grab vfs root of container init, rather than current process Signed-off-by: Oren Laadan <orenl@xxxxxxxxxxxxxxx> commit 27beb348bae4044c75dc196a59037fbae37f5860 Author: Oren Laadan <orenl@xxxxxxxxxxxxxxx> Date: Tue Sep 15 19:56:03 2009 -0400 c/r: x86_32 support for checkpoint/restart Add logic to save and restore architecture specific state, including thread-specific state, CPU registers and FPU state. In addition, architecture capabilities are saved in an architecure specific extension of the header (ckpt_hdr_head_arch); Currently this includes only FPU capabilities. Currently only x86-32 is supported. Changelog[v17]: - Fix compilation for architectures that don't support checkpoint - Validate cpu registers and TLS descriptors on restart - Validate debug registers on restart - Export asm/checkpoint_hdr.h to userspace Changelog[v16]: - All objects are preceded by ckpt_hdr (TLS and xstate_buf) - Add architecture identifier to main header Changelog[v14]: - Use new interface ckpt_hdr_get/put() - Embed struct ckpt_hdr in struct ckpt_hdr... - Remove preempt_disable/enable() around init_fpu() and fix leak - Revert change to pr_debug(), back to ckpt_debug() - Move code related to task_struct to checkpoint/process.c Changelog[v12]: - A couple of missed calls to ckpt_hbuf_put() - Replace obsolete ckpt_debug() with pr_debug() Changelog[v9]: - Add arch-specific header that details architecture capabilities; split FPU restore to send capabilities only once. - Test for zero TLS entries in ckpt_write_thread() - Fix asm/checkpoint_hdr.h so it can be included from user-space Changelog[v7]: - Fix save/restore state of FPU Changelog[v5]: - Remove preempt_disable() when restoring debug registers Changelog[v4]: - Fix header structure alignment Changelog[v2]: - Pad header structures to 64 bits to ensure compatibility - Follow Dave Hansen's refactoring of the original post Signed-off-by: Oren Laadan <orenl@xxxxxxxxxxxxxxx> commit e0c37d443dedd80bf33b036c9f84a78d9a599f76 Author: Oren Laadan <orenl@xxxxxxxxxxxxxxx> Date: Tue Sep 15 19:55:58 2009 -0400 c/r: basic infrastructure for checkpoint/restart Add those interfaces, as well as helpers needed to easily manage the file format. The code is roughly broken out as follows: checkpoint/sys.c - user/kernel data transfer, as well as setup of the c/r context (a per-checkpoint data structure for housekeeping) checkpoint/checkpoint.c - output wrappers and basic checkpoint handling checkpoint/restart.c - input wrappers and basic restart handling checkpoint/process.c - c/r of task data For now, we can only checkpoint the 'current' task ("self" checkpoint), and the 'pid' argument to the syscall is ignored. Patches to add the per-architecture support as well as the actual work to do the memory checkpoint follow in subsequent patches. Changelog[v18]: - Detect error-headers in input data on restart, and abort. - Standard format for checkpoint error strings - [Matt Helsley] Rename headerless struct ckpt_hdr_* to struct ckpt_* - [Dan Smith] Add an errno validation function - Add ckpt_read_payload(): read a variable-length object (no header) - Add ckpt_read_string(): same for strings (ensures null-terminated) - Add ckpt_read_consume(): consumes next object without processing Changelog[v17]: - Fix compilation for architectures that don't support checkpoint - Save/restore t->{set,clear}_child_tid - Restart(2) isn't idempotent: must return -EINTR if interrupted - ckpt_debug does not depend on DYNAMIC_DEBUG, on by default - Export generic checkpoint headers to userespace - Fix comment for prototype of sys_restart - Have ckpt_debug() print global-pid and __LINE__ - Only save and test kernel constants once (in header) Changelog[v16]: - Split ctx->flags to ->uflags (user flags) and ->kflags (kernel flags) - Introduce __ckpt_write_err() and ckpt_write_err() to report errors - Allow @ptr == NULL to write (or read) header only without payload - Introduce _ckpt_read_obj_type() Changelog[v15]: - Replace header buffer in ckpt_ctx (hbuf,hpos) with kmalloc/kfree() Changelog[v14]: - Cleanup interface to get/put hdr buffers - Merge checkpoint and restart code into a single file (per subsystem) - Take uts_sem around access to uts->{release,version,machine} - Embed ckpt_hdr in all ckpt_hdr_...., cleanup read/write helpers - Define sys_checkpoint(0,...) as asking for a self-checkpoint (Serge) - Revert use of 'pr_fmt' to avoid tainting whom includes us (Nathan Lynch) - Explicitly indicate length of UTS fields in header - Discard field 'h->parent' from ckpt_hdr Changelog[v12]: - ckpt_kwrite/ckpt_kread() again use vfs_read(), vfs_write() (safer) - Split ckpt_write/ckpt_read() to two parts: _ckpt_write/read() helper - Befriend with sparse : explicit conversion to 'void __user *' - Redfine 'pr_fmt' instead of using special ckpt_debug() Changelog[v10]: - add ckpt_write_buffer(), ckpt_read_buffer() and ckpt_read_buf_type() - force end-of-string in ckpt_read_string() (fix possible DoS) Changelog[v9]: - ckpt_kwrite/ckpt_kread() use file->f_op->write() directly - Drop ckpt_uwrite/ckpt_uread() since they aren't used anywhere Changelog[v6]: - Balance all calls to ckpt_hbuf_get() with matching ckpt_hbuf_put() (although it's not really needed) Changelog[v5]: - Rename headers files s/ckpt/checkpoint/ Changelog[v2]: - Added utsname->{release,version,machine} to checkpoint header - Pad header structures to 64 bits to ensure compatibility Signed-off-by: Oren Laadan <orenl@xxxxxxxxxxxxxxx> commit c1cb146ee36f5a40cefccca31b25479366f00951 Author: Oren Laadan <orenl@xxxxxxxxxxxxxxx> Date: Mon Sep 14 19:14:51 2009 -0400 c/r: documentation Covers application checkpoint/restart, overall design, interfaces, usage, shared objects, and and checkpoint image format. Changelog[v16]: - Update documentation - Unify into readme.txt and usage.txt Changelog[v14]: - Discard the 'h.parent' field - New image format (shared objects appear before they are referenced unless they are compound) Changelog[v8]: - Split into multiple files in Documentation/checkpoint/... - Extend documentation, fix typos and comments from feedback Signed-off-by: Oren Laadan <orenl@xxxxxxxxxxxxxxx> Acked-by: Serge Hallyn <serue@xxxxxxxxxx> Signed-off-by: Dave Hansen <dave@xxxxxxxxxxxxxxxxxx> commit c645f92635786538b3b825cf7481bb514048d2e6 Author: Oren Laadan <orenl@xxxxxxxxxxxxxxx> Date: Mon Sep 14 17:29:03 2009 -0400 c/r: create syscalls: sys_checkpoint, sys_restart Create trivial sys_checkpoint and sys_restore system calls. They will enable to checkpoint and restart an entire container, to and from a checkpoint image file descriptor. The syscalls take a pid, a file descriptor (for the image file) and flags as arguments. The pid identifies the top-most (root) task in the process tree, e.g. the container init: for sys_checkpoint the first argument identifies the pid of the target container/subtree; for sys_restart it will identify the pid of restarting root task. A checkpoint, much like a process coredump, dumps the state of multiple processes at once, including the state of the container. The checkpoint image is written to (and read from) the file descriptor directly from the kernel. This way the data is generated and then pushed out naturally as resources and tasks are scanned to save their state. This is the approach taken by, e.g., Zap and OpenVZ. By using a return value and not a file descriptor, we can distinguish between a return from checkpoint, a return from restart (in case of a checkpoint that includes self, i.e. a task checkpointing its own container, or itself), and an error condition, in a manner analogous to a fork() call. We don't use copy_from_user()/copy_to_user() because it requires holding the entire image in user space, and does not make sense for restart. Also, we don't use a pipe, pseudo-fs file and the like, because they work by generating data on demand as the user pulls it (unless the entire image is buffered in the kernel) and would require more complex logic. They also would significantly complicate checkpoint that includes self. Changelog[v18]: - [John Dykstra] Fix no-dot-config-targets pattern in linux/Makefile Changelog[v17]: - Move checkpoint closer to namespaces (kconfig) - Kill "Enable" in c/r config option Changelog[v16]: - Change sys_restart() first argument to be 'pid_t pid' Changelog[v14]: - Change CONFIG_CHEKCPOINT_RESTART to CONFIG_CHECKPOINT (Ingo) - Remove line 'def_bool n' (default is already 'n') - Add CHECKPOINT_SUPPORT in Kconfig (Nathan Lynch) Changelog[v5]: - Config is 'def_bool n' by default Signed-off-by: Oren Laadan <orenl@xxxxxxxxxxxxxxx> Acked-by: Serge Hallyn <serue@xxxxxxxxxx> Signed-off-by: Dave Hansen <dave@xxxxxxxxxxxxxxxxxx> commit b8dc9d1334b7b21b80e69472d81670673cd72ee9 Author: Sukadev Bhattiprolu <sukadev@xxxxxxxxxxxxxxxxxx> Date: Mon Sep 14 17:29:02 2009 -0400 pids 7/7: Define clone_with_pids syscall Container restart requires that a task have the same pid it had when it was checkpointed. When containers are nested the tasks within the containers exist in multiple pid namespaces and hence have multiple pids to specify during restart. clone_with_pids(), intended for use during restart, is the same as clone(), except that it takes a 'target_pid_set' paramter. This parameter lets caller choose specific pid numbers for the child process, in the process's active and ancestor pid namespaces. (Descendant pid namespaces in general don't matter since processes don't have pids in them anyway, but see comments in copy_target_pids() regarding CLONE_NEWPID). Unlike clone(), clone_with_pids() needs CAP_SYS_ADMIN, at least for now, to prevent unprivileged processes from misusing this interface. Call clone_with_pids as follows: pid_t pids[] = { 0, 77, 99 }; struct target_pid_set pid_set; pid_set.num_pids = sizeof(pids) / sizeof(int); pid_set.target_pids = &pids; syscall(__NR_clone_with_pids, flags, stack, NULL, NULL, NULL, &pid_set); If a target-pid is 0, the kernel continues to assign a pid for the process in that namespace. In the above example, pids[0] is 0, meaning the kernel will assign next available pid to the process in init_pid_ns. But kernel will assign pid 77 in the child pid namespace 1 and pid 99 in pid namespace 2. If either 77 or 99 are taken, the system call fails with -EBUSY. If 'pid_set.num_pids' exceeds the current nesting level of pid namespaces, the system call fails with -EINVAL. Its mostly an exploratory patch seeking feedback on the interface. NOTE: Compared to clone(), clone_with_pids() needs to pass in two more pieces of information: - number of pids in the set - user buffer containing the list of pids. But since clone() already takes 5 parameters, use a 'struct target_pid_set'. TODO: - Gently tested. - May need additional sanity checks in do_fork_with_pids(). Changelog[v3]: - (Oren Laadan) Allow CLONE_NEWPID flag (by allocating an extra pid in the target_pids[] list and setting it 0. See copy_target_pids()). - (Oren Laadan) Specified target pids should apply only to youngest pid-namespaces (see copy_target_pids()) - (Matt Helsley) Update patch description. Changelog[v2]: - Remove unnecessary printk and add a note to callers of copy_target_pids() to free target_pids. - (Serge Hallyn) Mention CAP_SYS_ADMIN restriction in patch description. - (Oren Laadan) Add checks for 'num_pids < 0' (return -EINVAL) and 'num_pids == 0' (fall back to normal clone()). - Move arch-independent code (sanity checks and copy-in of target-pids) into kernel/fork.c and simplify sys_clone_with_pids() Changelog[v1]: - Fixed some compile errors (had fixed these errors earlier in my git tree but had not refreshed patches before emailing them) Signed-off-by: Sukadev Bhattiprolu <sukadev@xxxxxxxxxxxxxxxxxx> commit 4be244a31beba36e53713cfbd82cd7725ec8de9a Author: Sukadev Bhattiprolu <sukadev@xxxxxxxxxxxxxxxxxx> Date: Mon Sep 14 17:29:00 2009 -0400 pids 6/7: Define do_fork_with_pids() do_fork_with_pids() is same as do_fork(), except that it takes an additional, 'pid_set', parameter. This parameter, currently unused, specifies the set of target pids of the process in each of its pid namespaces. Changelog[v3]: - Fix "long-line" warning from checkpatch.pl Changelog[v2]: - To facilitate moving architecture-inpdendent code to kernel/fork.c pass in 'struct target_pid_set __user *' to do_fork_with_pids() rather than 'pid_t *' (next patch moves the arch-independent code to kernel/fork.c) Signed-off-by: Sukadev Bhattiprolu <sukadev@xxxxxxxxxxxxxxxxxx> Acked-by: Serge Hallyn <serue@xxxxxxxxxx> Reviewed-by: Oren Laadan <orenl@xxxxxxxxxxxxxxx> commit 725b4cf984d06207389d927679603a71f881fd3b Author: Sukadev Bhattiprolu <sukadev@xxxxxxxxxxxxxxxxxx> Date: Mon Sep 14 17:29:00 2009 -0400 pids 5/7: Add target_pids parameter to copy_process() The new parameter will be used in a follow-on patch when clone_with_pids() is implemented. Signed-off-by: Sukadev Bhattiprolu <sukadev@xxxxxxxxxxxxxxxxxx> Acked-by: Serge Hallyn <serue@xxxxxxxxxx> Reviewed-by: Oren Laadan <orenl@xxxxxxxxxxxxxxx> commit 317e328bf8fa216bba4b3bee72886a1caec2299e Author: Sukadev Bhattiprolu <sukadev@xxxxxxxxxxxxxxxxxx> Date: Mon Sep 14 17:28:59 2009 -0400 pids 4/7: Add target_pids parameter to alloc_pid() This parameter is currently NULL, but will be used in a follow-on patch. Signed-off-by: Sukadev Bhattiprolu <sukadev@xxxxxxxxxxxxxxxxxx> Acked-by: Serge Hallyn <serue@xxxxxxxxxx> Reviewed-by: Oren Laadan <orenl@xxxxxxxxxxxxxxx> commit c63b46bada2a14ff19844733e66c9278c6376273 Author: Sukadev Bhattiprolu <sukadev@xxxxxxxxxxxxxxxxxx> Date: Mon Sep 14 17:28:58 2009 -0400 pids 3/7: Add target_pid parameter to alloc_pidmap() With support for setting a specific pid number for a process, alloc_pidmap() will need a paramter a 'target_pid' parameter. Changelog[v2]: - (Serge Hallyn) Check for 'pid < 0' in set_pidmap().(Code actually checks for 'pid <= 0' for completeness). Signed-off-by: Sukadev Bhattiprolu <sukadev@xxxxxxxxxxxxxxxxxx> Acked-by: Serge Hallyn <serue@xxxxxxxxxx> Reviewed-by: Oren Laadan <orenl@xxxxxxxxxxxxxxx> commit 9c63fcc9ecfe200c4fb096ceecff6784186f2326 Author: Sukadev Bhattiprolu <sukadev@xxxxxxxxxxxxxxxxxx> Date: Mon Sep 14 17:28:58 2009 -0400 pids 2/7: Have alloc_pidmap() return actual error code alloc_pidmap() can fail either because all pid numbers are in use or because memory allocation failed. With support for setting a specific pid number, alloc_pidmap() would also fail if either the given pid number is invalid or in use. Rather than have callers assume -ENOMEM, have alloc_pidmap() return the actual error. Signed-off-by: Sukadev Bhattiprolu <sukadev@xxxxxxxxxxxxxxxxxx> Acked-by: Serge Hallyn <serue@xxxxxxxxxx> Reviewed-by: Oren Laadan <orenl@xxxxxxxxxxxxxxx> commit 16b725ec4607221078a7658e54b6c3a85722c0ff Author: Sukadev Bhattiprolu <sukadev@xxxxxxxxxxxxxxxxxx> Date: Mon Sep 14 17:28:57 2009 -0400 pids 1/7: Factor out code to allocate pidmap page To implement support for clone_with_pids() system call we would need to allocate pidmap page in more than one place. Move this code to a new function alloc_pidmap_page(). Changelog[v2]: - (Matt Helsley, Dave Hansen) Have alloc_pidmap_page() return -ENOMEM on error instead of -1. Signed-off-by: Sukadev Bhattiprolu <sukadev@xxxxxxxxxxxxxxxxxx> Acked-by: Serge Hallyn <serue@xxxxxxxxxx> Reviewed-by: Oren Laadan <orenl@xxxxxxxxxxxxxxx> commit 7a6645eaee7ee31c02d3aee2b97099662b606b64 Author: Oren Laadan <orenl@xxxxxxxxxxxxxxx> Date: Mon Sep 14 17:28:57 2009 -0400 c/r: make file_pos_read/write() public These two are used in the next patch when calling vfs_read/write() Signed-off-by: Oren Laadan <orenl@xxxxxxxxxxxxxxx> commit 94123827184443ef8013577b3a3d024ec4adc698 Author: Dave Hansen <dave@xxxxxxxxxxxxxxxxxx> Date: Mon Sep 14 17:28:56 2009 -0400 Namespaces submenu Let's not steal too much space in the 'General Setup' menu. Take a cue from the cgroups code and create a submenu. This can go upstream now. Signed-off-by: Dave Hansen <dave@xxxxxxxxxxxxxxxxxx> Acked-by: Oren Laadan <orenl@xxxxxxxxxxxxxxx> commit cedaac037bb182dd4007637a0edbeaa253be1ba0 Author: Oren Laadan <orenl@xxxxxxxxxxxxxxx> Date: Mon Sep 14 17:28:55 2009 -0400 cgroup freezer: interface to freeze a cgroup from within the kernel Add public interface to freeze a cgroup freezer given a task that belongs to that cgroup: cgroup_freezer_make_frozen(task) Freezing the root cgroup is not permitted. Freezing the cgroup to which current process belong is also not permitted. This will be used for restart(2) to be able to leave the restarted processes in a frozen state, instead of resuming execution. This is useful for debugging, if the user would like to attach a debugger to the restarted task(s). It is also useful if the restart procedure would like to perform additional setup once the tasks are restored but before they are allowed to proceed execution. Signed-off-by: Oren Laadan <orenl@xxxxxxxxxxxxxxx> CC: Matt Helsley <matthltc@xxxxxxxxxx> Cc: Paul Menage <menage@xxxxxxxxxx> Cc: Li Zefan <lizf@xxxxxxxxxxxxxx> Cc: Cedric Le Goater <legoater@xxxxxxx> commit 8813defd5080f71cfe29ec5cb99288fbbe350dac Author: Matt Helsley <matthltc@xxxxxxxxxx> Date: Mon Sep 14 17:28:54 2009 -0400 cgroup freezer: Add CHECKPOINTING state to safeguard container checkpoint The CHECKPOINTING state prevents userspace from unfreezing tasks until sys_checkpoint() is finished. When doing container checkpoint userspace will do: echo FROZEN > /cgroups/my_container/freezer.state ... rc = sys_checkpoint( <pid of container root> ); To ensure a consistent checkpoint image userspace should not be allowed to thaw the cgroup (echo THAWED > /cgroups/my_container/freezer.state) during checkpoint. "CHECKPOINTING" can only be set on a "FROZEN" cgroup using the checkpoint system call. Once in the "CHECKPOINTING" state, the cgroup may not leave until the checkpoint system call is finished and ready to return. Then the freezer state returns to "FROZEN". Writing any new state to freezer.state while checkpointing will return EBUSY. These semantics ensure that userspace cannot unfreeze the cgroup midway through the checkpoint system call. The cgroup_freezer_begin_checkpoint() and cgroup_freezer_end_checkpoint() make relatively few assumptions about the task that is passed in. However the way they are called in do_checkpoint() assumes that the root of the container is in the same freezer cgroup as all the other tasks that will be checkpointed. Notes: As a side-effect this prevents the multiple tasks from entering the CHECKPOINTING state simultaneously. All but one will get -EBUSY. Signed-off-by: Oren Laadan <orenl@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 b23b7e151314f0b144b97bdeac47e0b3cfa2ffce Author: Matt Helsley <matthltc@xxxxxxxxxx> Date: Mon Sep 14 17:28:54 2009 -0400 cgroup freezer: Update stale locking comments Update stale comments regarding locking order and add a little more detail so it's easier to follow the locking between the cgroup freezer and the power management freezer code. Signed-off-by: Matt Helsley <matthltc@xxxxxxxxxx> Cc: Oren Laadan <orenl@xxxxxxxxxxxxxxx> Cc: Cedric Le Goater <legoater@xxxxxxx> Cc: Paul Menage <menage@xxxxxxxxxx> Cc: Li Zefan <lizf@xxxxxxxxxxxxxx> commit 3d14abebf11d1743aa646a8955e94829b90ee7ba Author: Matt Helsley <matthltc@xxxxxxxxxx> Date: Mon Sep 14 17:28:53 2009 -0400 cgroup freezer: Fix buggy resume test for tasks frozen with cgroup freezer When the cgroup freezer is used to freeze tasks we do not want to thaw those tasks during resume. Currently we test the cgroup freezer state of the resuming tasks to see if the cgroup is FROZEN. If so then we don't thaw the task. However, the FREEZING state also indicates that the task should remain frozen. This also avoids a problem pointed out by Oren Ladaan: the freezer state transition from FREEZING to FROZEN is updated lazily when userspace reads or writes the freezer.state file in the cgroup filesystem. This means that resume will thaw tasks in cgroups which should be in the FROZEN state if there is no read/write of the freezer.state file to trigger this transition before suspend. NOTE: Another "simple" solution would be to always update the cgroup freezer state during resume. However it's a bad choice for several reasons: Updating the cgroup freezer state is somewhat expensive because it requires walking all the tasks in the cgroup and checking if they are each frozen. Worse, this could easily make resume run in N^2 time where N is the number of tasks in the cgroup. Finally, updating the freezer state from this code path requires trickier locking because of the way locks must be ordered. Instead of updating the freezer state we rely on the fact that lazy updates only manage the transition from FREEZING to FROZEN. We know that a cgroup with the FREEZING state may actually be FROZEN so test for that state too. This makes sense in the resume path even for partially-frozen cgroups -- those that really are FREEZING but not FROZEN. Reported-by: Oren Ladaan <orenl@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 ba1cbaf6e7bf36a04a9b9863e8a3c93c176293ca Author: Serge E. Hallyn <serue@xxxxxxxxxx> Date: Mon Sep 14 17:28:53 2009 -0400 c/r: split core function out of some set*{u,g}id functions When restarting tasks, we want to be able to change xuid and xgid in a struct cred, and do so with security checks. Break the core functionality of set{fs,res}{u,g}id into cred_setX which performs the access checks based on current_cred(), but performs the requested change on a passed-in cred. This will allow us to securely construct struct creds based on a checkpoint image, constrained by the caller's permissions, and apply them to the caller at the end of sys_restart(). Signed-off-by: Serge E. Hallyn <serue@xxxxxxxxxx> commit a2d220c27be745067f2666bc56d0544aa07626e6 Author: Serge E. Hallyn <serue@xxxxxxxxxx> Date: Mon Sep 14 17:28:52 2009 -0400 c/r: break out new_user_ns() Break out the core function which checks privilege and (if allowed) creates a new user namespace, with the passed-in creating user_struct. Note that a user_namespace, unlike other namespace pointers, is not stored in the nsproxy. Rather it is purely a property of user_structs. This will let us keep the task restore code simpler. Signed-off-by: Serge E. Hallyn <serue@xxxxxxxxxx> commit c075dcac8530aa040030a3c53a3fd5edf4fb7f12 Author: Alexey Dobriyan <adobriyan@xxxxxxxxx> Date: Mon Sep 14 17:28:50 2009 -0400 x86: ptrace debugreg checks rewrite This is a mess. Pre unified-x86 code did check for breakpoint addr to be "< TASK_SIZE - 3 (or 7)". This was fine from security POV, but banned valid breakpoint usage when address is close to TASK_SIZE. E. g. 1-byte breakpoint at TASK_SIZE - 1 should be allowed, but it wasn't. Then came commit 84929801e14d968caeb84795bfbb88f04283fbd9 ("[PATCH] x86_64: TASK_SIZE fixes for compatibility mode processes") which for some reason touched ptrace as well and made effective TASK_SIZE of 32-bit process depending on IA32_PAGE_OFFSET which is not a constant!: #define IA32_PAGE_OFFSET ((current->personality & ADDR_LIMIT_3GB) ? 0xc0000000 : 0xFFFFe000) ^^^^^^^ Maximum addr for breakpoint became dependent on personality of ptracer. Commit also relaxed danger zone for 32-bit processes from 8 bytes to 4 not taking into account that 8-byte wide breakpoints are possible even for 32-bit processes. This was fine, however, because 64-bit kernel addresses are too far from 32-bit ones. Then came utrace with commit 2047b08be67b70875d8765fc81d34ce28041bec3 ("x86: x86 ptrace getreg/putreg merge") which copy-pasted and ifdeffed 32-bit part of TASK_SIZE_OF() leaving 8-byte issue as-is. So, what patch fixes? 1) Too strict logic near TASK_SIZE boundary -- as long as we don't cross TASK_SIZE_MAX, we're fine. 2) Too smart logic of using breakpoints over non-existent kernel boundary -- we should only protect against setting up after TASK_SIZE_MAX, the rest is none of kernel business. This fixes IA32_PAGE_OFFSET beartrap as well. As a bonus, remove uberhack and big comment determining DR7 validness, rewrite with clear algorithm when it's obvious what's going on. Make DR validness checker suitable for C/R. On restart DR registers must be checked the same way they are checked on PTRACE_POKEUSR. Question 1: TIF_DEBUG can set even if none of breakpoints is turned on, should this be optimized? Question 2: Breakpoints are allowed to be globally enabled, is this a security risk? Signed-off-by: Alexey Dobriyan <adobriyan@xxxxxxxxx> commit 7cbf5c83bdc6dce018ad5f2de74ab05e9d24af3b Author: Alexey Dobriyan <adobriyan@xxxxxxxxx> Date: Mon Sep 14 17:28:49 2009 -0400 c/r: extend arch_setup_additional_pages() Add "start" argument, to request to map vDSO to a specific place, and fail the operation if not. This is useful for restart(2) to ensure that memory layout is restore exactly as needed. Changelog[v2]: - [ntl] powerpc: vdso build fix (ckpt-v17) Signed-off-by: Alexey Dobriyan <adobriyan@xxxxxxxxx> Signed-off-by: Oren Laadan <orenl@xxxxxxxxxxxxxxx> commit 74fca6a42863ffacaf7ba6f1936a9f228950f657 Author: Linus Torvalds <torvalds@xxxxxxxxxxxxxxxxxxxx> Date: Wed Sep 9 15:13:59 2009 -0700 Linux 2.6.31 commit 7135a71b19be1faf48b7148d77844d03bc0717d6 Author: Ed Cashin <ecashin@xxxxxxxxxx> Date: Wed Sep 9 14:10:18 2009 +0200 aoe: allocate unused request_queue for sysfs Andy Whitcroft reported an oops in aoe triggered by use of an incorrectly initialised request_queue object: [ 2645.959090] kobject '<NULL>' (ffff880059ca22c0): tried to add an uninitialized object, something is seriously wrong. [ 2645.959104] Pid: 6, comm: events/0 Not tainted 2.6.31-5-generic #24-Ubuntu [ 2645.959107] Call Trace: [ 2645.959139] [<ffffffff8126ca2f>] kobject_add+0x5f/0x70 [ 2645.959151] [<ffffffff8125b4ab>] blk_register_queue+0x8b/0xf0 [ 2645.959155] [<ffffffff8126043f>] add_disk+0x8f/0x160 [ 2645.959161] [<ffffffffa01673c4>] aoeblk_gdalloc+0x164/0x1c0 [aoe] The request queue of an aoe device is not used but can be allocated in code that does not sleep. Bruno bisected this regression down to cd43e26f071524647e660706b784ebcbefbd2e44 block: Expose stacked device queues in sysfs "This seems to generate /sys/block/$device/queue and its contents for everyone who is using queues, not just for those queues that have a non-NULL queue->request_fn." Addresses http://bugs.launchpad.net/bugs/410198 Addresses http://bugzilla.kernel.org/show_bug.cgi?id=13942 Note that embedding a queue inside another object has always been an illegal construct, since the queues are reference counted and must persist until the last reference is dropped. So aoe was always buggy in this respect (Jens). Signed-off-by: Ed Cashin <ecashin@xxxxxxxxxx> Cc: Andy Whitcroft <apw@xxxxxxxxxxxxx> Cc: "Rafael J. Wysocki" <rjw@xxxxxxx> Cc: Bruno Premont <bonbons@xxxxxxxxxxxxxxxxx> Cc: Martin K. Petersen <martin.petersen@xxxxxxxxxx> Cc: Andrew Morton <akpm@xxxxxxxxxxxxxxxxxxxx> Signed-off-by: Jens Axboe <jens.axboe@xxxxxxxxxx> commit e6890f6f3dc2d9024a08b1a149d9bd5208eea350 Author: Linus Torvalds <torvalds@xxxxxxxxxxxxxxxxxxxx> Date: Tue Sep 8 17:09:24 2009 -0700 i915: disable interrupts before tearing down GEM state Reinette Chatre reports a frozen system (with blinking keyboard LEDs) when switching from graphics mode to the text console, or when suspending (which does the same thing). With netconsole, the oops turned out to be BUG: unable to handle kernel NULL pointer dereference at 0000000000000084 IP: [<ffffffffa03ecaab>] i915_driver_irq_handler+0x26b/0xd20 [i915] and it's due to the i915_gem.c code doing drm_irq_uninstall() after having done i915_gem_idle(). And the i915_gem_idle() path will do i915_gem_idle() -> i915_gem_cleanup_ringbuffer() -> i915_gem_cleanup_hws() -> dev_priv->hw_status_page = NULL; but if an i915 interrupt comes in after this stage, it may want to access that hw_status_page, and gets the above NULL pointer dereference. And since the NULL pointer dereference happens from within an interrupt, and with the screen still in graphics mode, the common end result is simply a silently hung machine. Fix it by simply uninstalling the irq handler before idling rather than after. Fixes http://bugzilla.kernel.org/show_bug.cgi?id=13819 Reported-and-tested-by: Reinette Chatre <reinette.chatre@xxxxxxxxx> Acked-by: Jesse Barnes <jbarnes@xxxxxxxxxxxxxxxx> Signed-off-by: Linus Torvalds <torvalds@xxxxxxxxxxxxxxxxxxxx> commit 7c8460db30dfd085ef3837c8fb02ecf2e718b983 Author: Zhenyu Wang <zhenyuw@xxxxxxxxxxxxxxx> Date: Tue Sep 8 14:52:25 2009 +0800 drm/i915: fix mask bits setting eDP is exclusive connector too, and add missing crtc_mask setting for TV. This fixes http://bugzilla.kernel.org/show_bug.cgi?id=14139 Signed-off-by: Zhenyu Wang <zhenyuw@xxxxxxxxxxxxxxx> Reported-and-tested-by: Carlos R. Mafra <crmafra2@xxxxxxxxx> Signed-off-by: Linus Torvalds <torvalds@xxxxxxxxxxxxxxxxxxxx> commit 3ff323f89075624b6891e7c428edb8e8a35be13c Merge: 755ae761c5519929a97567d61a379b87352c337c a54775c8758a754186bc6adbfc518b1e9f8f1e4e Author: Linus Torvalds <torvalds@xxxxxxxxxxxxxxxxxxxx> Date: Mon Sep 7 11:42:25 2009 -0700 Merge branch 'drm-fixes' of git://git.kernel.org/pub/scm/linux/kernel/git/airlied/drm-2.6 * 'drm-fixes' of git://git.kernel.org/pub/scm/linux/kernel/git/airlied/drm-2.6: drm/radeon/kms: add LTE/GTE discard + rv515 two sided stencil register. commit 755ae761c5519929a97567d61a379b87352c337c Merge: 4886b5b485ec78fe4a16fedaccfab39bdf55410f acd0c935178649f72c44ec49ca83bee35ce1f79e Author: Linus Torvalds <torvalds@xxxxxxxxxxxxxxxxxxxx> Date: Mon Sep 7 11:41:15 2009 -0700 Merge branch 'for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/jmorris/security-testing-2.6 * 'for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/jmorris/security-testing-2.6: IMA: update ima_counts_put commit 4886b5b485ec78fe4a16fedaccfab39bdf55410f Merge: cbeb2864b162f4298111196c8ce8ce492577cdee d9d8e0418ffd3d189345c435861e254c17ae06e5 Author: Linus Torvalds <torvalds@xxxxxxxxxxxxxxxxxxxx> Date: Mon Sep 7 11:40:24 2009 -0700 Merge git://git.kernel.org/pub/scm/linux/kernel/git/davem/net-2.6 * git://git.kernel.org/pub/scm/linux/kernel/git/davem/net-2.6: gianfar: Fix build. commit cbeb2864b162f4298111196c8ce8ce492577cdee Merge: f69fb9c39868463f6b0b8306824341bd5610250b c9a2bfd1f08973115c2fc3da9372e0e81ac42a19 Author: Linus Torvalds <torvalds@xxxxxxxxxxxxxxxxxxxx> Date: Mon Sep 7 11:40:15 2009 -0700 Merge git://git.kernel.org/pub/scm/linux/kernel/git/davem/ide-2.6 * git://git.kernel.org/pub/scm/linux/kernel/git/davem/ide-2.6: pcmcia: add CNF-CDROM-ID for ide commit f69fb9c39868463f6b0b8306824341bd5610250b Merge: e07cccf4046978df10f2e13fe2b99b2f9b3a65db 07fb6111e7af5fac6b6076e2658d0e32b67f713b Author: Linus Torvalds <torvalds@xxxxxxxxxxxxxxxxxxxx> Date: Mon Sep 7 11:38:30 2009 -0700 Merge branch 'for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/anholt/drm-intel * 'for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/anholt/drm-intel: agp/intel: support for new chip variant of IGDNG mobile drm/i915: Unref old_obj on get_fence_reg() error path drm/i915: increase default latency constant (v2 w/comment) commit a54775c8758a754186bc6adbfc518b1e9f8f1e4e Author: Dave Airlie <airlied@xxxxxxxxxx> Date: Mon Sep 7 15:26:19 2009 +1000 drm/radeon/kms: add LTE/GTE discard + rv515 two sided stencil register. This adds some rv350+ register for LTE/GTE discard, and enables the rv515 two sided stencil register. It also disables the DEPTHXY_OFFSET register which can be used to workaround the CS checker. Moves rs690 to proper place in rs600 and uses correct table on rs600. Signed-off-by: Dave Airlie <airlied@xxxxxxxxxx> commit acd0c935178649f72c44ec49ca83bee35ce1f79e Author: Mimi Zohar <zohar@xxxxxxxxxxxxxxxxxx> Date: Fri Sep 4 13:08:46 2009 -0400 IMA: update ima_counts_put - As ima_counts_put() may be called after the inode has been freed, verify that the inode is not NULL, before dereferencing it. - Maintain the IMA file counters in may_open() properly, decrementing any counter increments on subsequent errors. Reported-by: Ciprian Docan <docan@xxxxxxxxxxxxxxxx> Reported-by: J.R. Okajima <hooanon05@xxxxxxxxxxx> Signed-off-by: Mimi Zohar <zohar@xxxxxxxxxx> Acked-by: Eric Paris <eparis@xxxxxxxxxx Signed-off-by: James Morris <jmorris@xxxxxxxxx> commit d9d8e0418ffd3d189345c435861e254c17ae06e5 Author: David S. Miller <davem@xxxxxxxxxxxxx> Date: Sun Sep 6 01:41:02 2009 -0700 gianfar: Fix build. Reported by Michael Guntsche <mike@xxxxxxxxxxxx> -------------------- Commit 38bddf04bcfe661fbdab94888c3b72c32f6873b3 gianfar: gfar_remove needs to call unregister_netdev() breaks the build of the gianfar driver because "dev" is undefined in this function. To quickly test rc9 I changed this to priv->ndev but I do not know if this is the correct one. -------------------- Signed-off-by: David S. Miller <davem@xxxxxxxxxxxxx> commit e07cccf4046978df10f2e13fe2b99b2f9b3a65db Author: Linus Torvalds <torvalds@xxxxxxxxxxxxxxxxxxxx> Date: Sat Sep 5 16:38:12 2009 -0700 Linux 2.6.31-rc9 commit f815c335d21f9965f8dbe142fd168aaba1baf98e Merge: 74a01180db4bbfd61304ae0ba1f60af55ffc803d baed6b82d9f160184c1c14cdb4accb08f3eb6b87 Author: Linus Torvalds <torvalds@xxxxxxxxxxxxxxxxxxxx> Date: Sat Sep 5 14:59:00 2009 -0700 Merge branch 'for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/ieee1394/linux1394-2.6 * 'for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/ieee1394/linux1394-2.6: firewire: sbp2: fix freeing of unallocated memory firewire: ohci: fix Ricoh R5C832, video reception firewire: ohci: fix Agere FW643 and multiple cameras firewire: core: fix crash in iso resource management commit 74a01180db4bbfd61304ae0ba1f60af55ffc803d Author: Roderick Colenbrander <thunderbird2k@xxxxxxxxx> Date: Thu Sep 3 09:57:23 2009 -0600 powerpc: Fix i8259 interrupt driver kernel crash on ML510 This patch fixes a null pointer exception caused by removal of 'ack()' for level interrupts in the Xilinx interrupt driver. A recent change to the xilinx interrupt controller removed the ack hook for level irqs. Signed-off-by: Roderick Colenbrander <thunderbird2k@xxxxxxxxx> Signed-off-by: Grant Likely <grant.likely@xxxxxxxxxxxx> Acked-by: Benjamin Herrenschmidt <benh@xxxxxxxxxxxxxxxxxxx> Signed-off-by: Linus Torvalds <torvalds@xxxxxxxxxxxxxxxxxxxx> commit 5136a6c0fd5b26bbf39ad761cf7a4fc563ad83a3 Merge: e505a8d5f96a84f3043ce0c4eaee8f045996896c bc8cec0dff072f1a45ce7f6b2c5234bb3411ac51 Author: Linus Torvalds <torvalds@xxxxxxxxxxxxxxxxxxxx> Date: Sat Sep 5 14:57:04 2009 -0700 Merge git://git.infradead.org/~dwmw2/mtd-2.6.31 * git://git.infradead.org/~dwmw2/mtd-2.6.31: JFFS2: add missing verify buffer allocation/deallocation mtd: nftl: fix offset alignments mtd: nftl: write support is broken mtd: m25p80: fix null pointer dereference bug commit e505a8d5f96a84f3043ce0c4eaee8f045996896c Merge: b71b7dc09abaeb4417c37b96a898096286b65e3c c295fc05789653ef24f296299df7c5f92fe74dce Author: Linus Torvalds <torvalds@xxxxxxxxxxxxxxxxxxxx> Date: Sat Sep 5 14:56:13 2009 -0700 Merge branch 'for-linus' of git://git.kernel.dk/linux-2.6-block * 'for-linus' of git://git.kernel.dk/linux-2.6-block: block: Allow changing max_sectors_kb above the default 512 commit b71b7dc09abaeb4417c37b96a898096286b65e3c Merge: 59430c2f437767094298f30dd02ca038da0df755 92653453c3015c083b9fe0ad48261c6b2267d482 Author: Linus Torvalds <torvalds@xxxxxxxxxxxxxxxxxxxx> Date: Sat Sep 5 14:55:30 2009 -0700 Merge branch 'fix/oxygen' of git://git.kernel.org/pub/scm/linux/kernel/git/tiwai/sound-2.6 * 'fix/oxygen' of git://git.kernel.org/pub/scm/linux/kernel/git/tiwai/sound-2.6: sound: oxygen: handle cards with missing EEPROM sound: oxygen: fix MCLK rate for 192 kHz playback commit 59430c2f437767094298f30dd02ca038da0df755 Merge: e9ee3a54a164c249a0a576c403eba367a6d97be5 16ebb5e0b36ceadc8186f71d68b0c4fa4b6e781b Author: Linus Torvalds <torvalds@xxxxxxxxxxxxxxxxxxxx> Date: Sat Sep 5 14:52:41 2009 -0700 Merge git://git.kernel.org/pub/scm/linux/kernel/git/davem/net-2.6 * git://git.kernel.org/pub/scm/linux/kernel/git/davem/net-2.6: tc: Fix unitialized kernel memory leak pkt_sched: Revert tasklet_hrtimer changes. net: sk_free() should be allowed right after sk_alloc() gianfar: gfar_remove needs to call unregister_netdev() ipw2200: firmware DMA loading rework commit e9ee3a54a164c249a0a576c403eba367a6d97be5 Merge: 3bb314f01c189f0c48c0946424955c6d8ddce3d8 0c7d400fafaeab6014504a6a6249f01bac7f7db4 Author: Linus Torvalds <torvalds@xxxxxxxxxxxxxxxxxxxx> Date: Sat Sep 5 14:51:45 2009 -0700 Merge git://git.kernel.org/pub/scm/linux/kernel/git/herbert/crypto-2.6 * git://git.kernel.org/pub/scm/linux/kernel/git/herbert/crypto-2.6: crypto: skcipher - Fix skcipher_dequeue_givcrypt NULL test commit 3bb314f01c189f0c48c0946424955c6d8ddce3d8 Merge: 535e0c1726bec699a8f0f5b86fe7d399546b2555 ce6c3997c2fce74d12e6d8887a1d8cdf024fa850 Author: Linus Torvalds <torvalds@xxxxxxxxxxxxxxxxxxxx> Date: Sat Sep 5 14:51:24 2009 -0700 Merge branch 'fixes' of git://git.kernel.org/pub/scm/linux/kernel/git/davej/cpufreq * 'fixes' of git://git.kernel.org/pub/scm/linux/kernel/git/davej/cpufreq: [CPUFREQ] Re-enable cpufreq suspend and resume code commit 535e0c1726bec699a8f0f5b86fe7d399546b2555 Merge: 0edfa2b1b5a5e1475e76dd3c792447687d966de4 5afe18d2f58812f3924edbd215464e5e3e8545e7 Author: Linus Torvalds <torvalds@xxxxxxxxxxxxxxxxxxxx> Date: Sat Sep 5 14:50:53 2009 -0700 Merge branch 'release' of git://git.kernel.org/pub/scm/linux/kernel/git/aegl/linux-2.6 * 'release' of git://git.kernel.org/pub/scm/linux/kernel/git/aegl/linux-2.6: [IA64] fix csum_ipv6_magic() [IA64] Fix warning in dma-mapping.c commit 0edfa2b1b5a5e1475e76dd3c792447687d966de4 Merge: 5a09adf13067609d8ab9fcae11dc99fd0084e35c 3725867dccfb83e4b0cff64e916a04258f300591 Author: Linus Torvalds <torvalds@xxxxxxxxxxxxxxxxxxxx> Date: Sat Sep 5 14:25:14 2009 -0700 Merge branch 'for-linus' of git://oss.sgi.com/xfs/xfs * 'for-linus' of git://oss.sgi.com/xfs/xfs: xfs: actually enable the swapext compat handler commit 5a09adf13067609d8ab9fcae11dc99fd0084e35c Merge: 931f70350e9c298887c78e852d179ef7efcce304 b1f1b8ce0a1d71cbc72f7540134d52b79bd8f5ac Author: Linus Torvalds <torvalds@xxxxxxxxxxxxxxxxxxxx> Date: Sat Sep 5 14:24:33 2009 -0700 Merge branch 'for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/ryusuke/nilfs2 * 'for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/ryusuke/nilfs2: nilfs2: fix preempt count underflow in nilfs_btnode_prepare_change_key commit 931f70350e9c298887c78e852d179ef7efcce304 Merge: e305fc5ecd6420fadec5a8108852081fa2b89a17 04a13c7c632e1fe04a5f6e6c83565d2559e37598 Author: Linus Torvalds <torvalds@xxxxxxxxxxxxxxxxxxxx> Date: Sat Sep 5 14:22:00 2009 -0700 Merge branch 'for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/tj/percpu * 'for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/tj/percpu: percpu: don't assume existence of cpu0 commit e305fc5ecd6420fadec5a8108852081fa2b89a17 Merge: 154f807e55977de75b1c12197c13ae14c28397b3 d76b1590e06a63a3d8697168cd0aabf1c4b3cb3a Author: Linus Torvalds <torvalds@xxxxxxxxxxxxxxxxxxxx> Date: Sat Sep 5 13:57:53 2009 -0700 Merge branch 'slab/urgent' of git://git.kernel.org/pub/scm/linux/kernel/git/penberg/slab-2.6 * 'slab/urgent' of git://git.kernel.org/pub/scm/linux/kernel/git/penberg/slab-2.6: slub: Fix kmem_cache_destroy() with SLAB_DESTROY_BY_RCU commit 154f807e55977de75b1c12197c13ae14c28397b3 Merge: 9b6a3df372f0318bb0ffe37ac5f4610fb9bdb44d ae0b7448e91353ea5f821601a055aca6b58042cd Author: Linus Torvalds <torvalds@xxxxxxxxxxxxxxxxxxxx> Date: Sat Sep 5 13:51:07 2009 -0700 Merge git://git.kernel.org/pub/scm/linux/kernel/git/agk/linux-2.6-dm * git://git.kernel.org/pub/scm/linux/kernel/git/agk/linux-2.6-dm: dm snapshot: fix on disk chunk size validation dm exception store: split set_chunk_size dm snapshot: fix header corruption race on invalidation dm snapshot: refactor zero_disk_area to use chunk_io dm log: userspace add luid to distinguish between concurrent log instances dm raid1: do not allow log_failure variable to unset after being set dm log: remove incorrect field from userspace table output dm log: fix userspace status output dm stripe: expose correct io hints dm table: add more context to terse warning messages dm table: fix queue_limit checking device iterator dm snapshot: implement iterate devices dm multipath: fix oops when request based io fails when no paths commit 9b6a3df372f0318bb0ffe37ac5f4610fb9bdb44d Merge: d3acd16cda3a1cbaff7c579c0e054f0ece613d14 6faf17f6f1ffc586d16efc2f9fa2083a7785ee74 Author: Linus Torvalds <torvalds@xxxxxxxxxxxxxxxxxxxx> Date: Sat Sep 5 13:50:46 2009 -0700 Merge branch 'for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/jbarnes/pci-2.6 * 'for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/jbarnes/pci-2.6: PCI SR-IOV: correct broken resource alignment calculations commit d3acd16cda3a1cbaff7c579c0e054f0ece613d14 Merge: 93697a3cabd3605c434a9b915c0272ad800b3f97 bd4352cadfacb9084c97c853b025fac010266c26 Author: Linus Torvalds <torvalds@xxxxxxxxxxxxxxxxxxxx> Date: Sat Sep 5 13:49:06 2009 -0700 Merge git://git.kernel.org/pub/scm/linux/kernel/git/davem/sparc-2.6 * git://git.kernel.org/pub/scm/linux/kernel/git/davem/sparc-2.6: sparc64: Fix bootup with mcount in some configs. sparc64: Kill spurious NMI watchdog triggers by increasing limit to 30 seconds. commit 93697a3cabd3605c434a9b915c0272ad800b3f97 Merge: 63995344721be45b3fb3b76488b1b0a8c95def26 a3df6f7d3090e611bcc774cd2cba45ae016d37e1 Author: Linus Torvalds <torvalds@xxxxxxxxxxxxxxxxxxxx> Date: Sat Sep 5 13:48:37 2009 -0700 Merge branch 'perfcounters-fixes-for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/tip/linux-2.6-tip * 'perfcounters-fixes-for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/tip/linux-2.6-tip: perf_counter/powerpc: Fix cache event codes for POWER7 perf_counter: Fix /0 bug in swcounters perf_counters: Increase paranoia level commit 63995344721be45b3fb3b76488b1b0a8c95def26 Merge: 9de6886ec6e37f45807266a702bb7621498395ad 2bcaa6a4238094c5695d5b1943078388d82d3004 Author: Linus Torvalds <torvalds@xxxxxxxxxxxxxxxxxxxx> Date: Sat Sep 5 13:41:29 2009 -0700 Merge branch 'for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/dtor/input * 'for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/dtor/input: Input: atkbd - add Compaq Presario R4000-series repeat quirk Input: i8042 - add Acer Aspire 5536 to the nomux list commit 9de6886ec6e37f45807266a702bb7621498395ad Author: Nicolas Pitre <nico@xxxxxxx> Date: Sat Sep 5 00:25:37 2009 -0400 ext2: fix unbalanced kmap()/kunmap() In ext2_rename(), dir_page is acquired through ext2_dotdot(). It is then released through ext2_set_link() but only if old_dir != new_dir. Failing that, the pkmap reference count is never decremented and the page remains pinned forever. Repeat that a couple times with highmem pages and all pkmap slots get exhausted, and every further kmap() calls end up stalling on the pkmap_map_wait queue at which point the whole system comes to a halt. Signed-off-by: Nicolas Pitre <nico@xxxxxxxxxxx> Acked-by: Theodore Ts'o <tytso@xxxxxxx> Cc: stable@xxxxxxxxxx Signed-off-by: Linus Torvalds <torvalds@xxxxxxxxxxxxxxxxxxxx> commit ac7ac9f2b9bfd9b68a1571d27e4c8bebb4788914 Merge: ac89a9174decf343de049a06fad75681f71890eb 8379e7c46cc48f51197dd663fc6676f47f2a1e71 Author: Linus Torvalds <torvalds@xxxxxxxxxxxxxxxxxxxx> Date: Sat Sep 5 13:38:37 2009 -0700 Merge branch 'upstream-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/jlbec/ocfs2 * 'upstream-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/jlbec/ocfs2: ocfs2: ocfs2_write_begin_nolock() should handle len=0 ocfs2: invalidate dentry if its dentry_lock isn't initialized. commit ac89a9174decf343de049a06fad75681f71890eb Author: Linus Torvalds <torvalds@xxxxxxxxxxxxxxxxxxxx> Date: Sat Sep 5 13:27:10 2009 -0700 pty: don't limit the writes to 'pty_space()' inside 'pty_write()' The whole write-room thing is something that is up to the _caller_ to worry about, not the pty layer itself. The total buffer space will still be limited by the buffering routines themselves, so there is no advantage or need in having pty_write() artificially limit the size somehow. And what happened was that the caller (the n_tty line discipline, in this case) may have verified that there is room for 2 bytes to be written (for NL -> CRNL expansion), and it used to then do those writes as two single-byte writes. And if the first byte written (CR) then caused a new tty buffer to be allocated, pty_space() may have returned zero when trying to write the second byte (LF), and then incorrectly failed the write - leading to a lost newline character. This should finally fix http://bugzilla.kernel.org/show_bug.cgi?id=14015 Reported-by: Mikael Pettersson <mikpe@xxxxxxxx> Acked-by: Alan Cox <alan@xxxxxxxxxxxxxxxxxxx> Signed-off-by: Linus Torvalds <torvalds@xxxxxxxxxxxxxxxxxxxx> commit 37f81fa1f63ad38e16125526bb2769ae0ea8d332 Author: Linus Torvalds <torvalds@xxxxxxxxxxxxxxxxxxxx> Date: Sat Sep 5 12:46:07 2009 -0700 n_tty: do O_ONLCR translation as a single write When translating CR to CRNL in the n_tty line discipline, we did it as two tty_put_char() calls. Which works, but is stupid, and has caused problems before too with bad interactions with the write_room() logic. The generic USB serial driver had that problem, for example. Now the pty layer had similar issues after being moved to the generic tty buffering code (in commit d945cb9cce20ac7143c2de8d88b187f62db99bdc: "pty: Rework the pty layer to use the normal buffering logic"). So stop doing the silly separate two writes, and do it as a single write instead. That's what the n_tty layer already does for the space expansion of tabs (XTABS), and it means that we'll now always have just a single write for the CRNL to match the single 'tty_write_room()' test, which hopefully means that the next time somebody screws up buffering, it won't cause weeks of debugging. Signed-off-by: Linus Torvalds <torvalds@xxxxxxxxxxxxxxxxxxxx> commit a2a8474c3fff88d8dd52d05cb450563fb26fd26c Author: Oleg Nesterov <oleg@xxxxxxxxxx> Date: Sat Sep 5 11:17:13 2009 -0700 exec: do not sleep in TASK_TRACED under ->cred_guard_mutex Tom Horsley reports that his debugger hangs when it tries to read /proc/pid_of_tracee/maps, this happens since "mm_for_maps: take ->cred_guard_mutex to fix the race with exec" 04b836cbf19e885f8366bccb2e4b0474346c02d commit in 2.6.31. But the root of the problem lies in the fact that do_execve() path calls tracehook_report_exec() which can stop if the tracer sets PT_TRACE_EXEC. The tracee must not sleep in TASK_TRACED holding this mutex. Even if we remove ->cred_guard_mutex from mm_for_maps() and proc_pid_attr_write(), another task doing PTRACE_ATTACH should not hang until it is killed or the tracee resumes. With this patch do_execve() does not use ->cred_guard_mutex directly and we do not hold it throughout, instead: - introduce prepare_bprm_creds() helper, it locks the mutex and calls prepare_exec_creds() to initialize bprm->cred. - install_exec_creds() drops the mutex after commit_creds(), and thus before tracehook_report_exec()->ptrace_stop(). or, if exec fails, free_bprm() drops this mutex when bprm->cred != NULL which indicates install_exec_creds() was not called. Reported-by: Tom Horsley <tom.horsley@xxxxxxx> Signed-off-by: Oleg Nesterov <oleg@xxxxxxxxxx> Acked-by: David Howells <dhowells@xxxxxxxxxx> Cc: Roland McGrath <roland@xxxxxxxxxx> Cc: James Morris <jmorris@xxxxxxxxx> Signed-off-by: Andrew Morton <akpm@xxxxxxxxxxxxxxxxxxxx> Signed-off-by: Linus Torvalds <torvalds@xxxxxxxxxxxxxxxxxxxx> commit dd5d241ea955006122d76af88af87de73fec25b4 Author: Mel Gorman <mel@xxxxxxxxx> Date: Sat Sep 5 11:17:11 2009 -0700 page-allocator: always change pageblock ownership when anti-fragmentation is disabled On low-memory systems, anti-fragmentation gets disabled as fragmentation cannot be avoided on a sufficiently large boundary to be worthwhile. Once disabled, there is a period of time when all the pageblocks are marked MOVABLE and the expectation is that they get marked UNMOVABLE at each call to __rmqueue_fallback(). However, when MAX_ORDER is large the pageblocks do not change ownership because the normal criteria are not met. This has the effect of prematurely breaking up too many large contiguous blocks. This is most serious on NOMMU systems which depend on high-order allocations to boot. This patch causes pageblocks to change ownership on every fallback when anti-fragmentation is disabled. This prevents the large blocks being prematurely broken up. This is a fix to commit 49255c619fbd482d704289b5eb2795f8e3b7ff2e [page allocator: move check for disabled anti-fragmentation out of fastpath] and the problem affects 2.6.31-rc8. Signed-off-by: Mel Gorman <mel@xxxxxxxxx> Tested-by: Paul Mundt <lethal@xxxxxxxxxxxx> Cc: David Howells <dhowells@xxxxxxxxxx> Cc: Pekka Enberg <penberg@xxxxxxxxxxxxxx> Acked-by: Greg Ungerer <gerg@xxxxxxxxxxxx> Signed-off-by: Andrew Morton <akpm@xxxxxxxxxxxxxxxxxxxx> Signed-off-by: Linus Torvalds <torvalds@xxxxxxxxxxxxxxxxxxxx> commit a190887b58c32d19c2eee007c5eb8faa970a69ba Author: David Howells <dhowells@xxxxxxxxxx> Date: Sat Sep 5 11:17:07 2009 -0700 nommu: fix error handling in do_mmap_pgoff() Fix the error handling in do_mmap_pgoff(). If do_mmap_shared_file() or do_mmap_private() fail, we jump to the error_put_region label at which point we cann __put_nommu_region() on the region - but we haven't yet added the region to the tree, and so __put_nommu_region() may BUG because the region tree is empty or it may corrupt the region tree. To get around this, we can afford to add the region to the region tree before calling do_mmap_shared_file() or do_mmap_private() as we keep nommu_region_sem write-locked, so no-one can race with us by seeing a transient region. Signed-off-by: David Howells <dhowells@xxxxxxxxxx> Acked-by: Pekka Enberg <penberg@xxxxxxxxxxxxxx> Acked-by: Paul Mundt <lethal@xxxxxxxxxxxx> Cc: Mel Gorman <mel@xxxxxxxxx> Acked-by: Greg Ungerer <gerg@xxxxxxxxxxxx> Signed-off-by: Andrew Morton <akpm@xxxxxxxxxxxxxxxxxxxx> Signed-off-by: Linus Torvalds <torvalds@xxxxxxxxxxxxxxxxxxxx> commit 4e49627b9bc29a14b393c480e8c979e3bc922ef7 Author: Oleg Nesterov <oleg@xxxxxxxxxx> Date: Sat Sep 5 11:17:06 2009 -0700 workqueues: introduce __cancel_delayed_work() cancel_delayed_work() has to use del_timer_sync() to guarantee the timer function is not running after return. But most users doesn't actually need this, and del_timer_sync() has problems: it is not useable from interrupt, and it depends on every lock which could be taken from irq. Introduce __cancel_delayed_work() which calls del_timer() instead. The immediate reason for this patch is http://bugzilla.kernel.org/show_bug.cgi?id=13757 but hopefully this helper makes sense anyway. As for 13757 bug, actually we need requeue_delayed_work(), but its semantics are not yet clear. Merge this patch early to resolves cross-tree interdependencies between input and infiniband. Signed-off-by: Oleg Nesterov <oleg@xxxxxxxxxx> Cc: Dmitry Torokhov <dmitry.torokhov@xxxxxxxxx> Cc: Roland Dreier <rdreier@xxxxxxxxx> Cc: Stefan Richter <stefanr@xxxxxxxxxxxxxxxxx> Signed-off-by: Andrew Morton <akpm@xxxxxxxxxxxxxxxxxxxx> Signed-off-by: Linus Torvalds <torvalds@xxxxxxxxxxxxxxxxxxxx> commit baed6b82d9f160184c1c14cdb4accb08f3eb6b87 Author: Stefan Richter <stefanr@xxxxxxxxxxxxxxxxx> Date: Thu Sep 3 23:07:35 2009 +0200 firewire: sbp2: fix freeing of unallocated memory If a target writes invalid status (typically status of a command that already timed out), firewire-sbp2 attempts to put away an ORB that doesn't exist. https://bugzilla.redhat.com/show_bug.cgi?id=519772 Signed-off-by: Stefan Richter <stefanr@xxxxxxxxxxxxxxxxx> commit 4fe0badd5882c64dc2dcd8893f9b85db63339736 Author: Stefan Richter <stefanr@xxxxxxxxxxxxxxxxx> Date: Fri Aug 28 13:26:03 2009 +0200 firewire: ohci: fix Ricoh R5C832, video reception In dual-buffer DMA mode, no video frames are ever received from R5C832 by libdc1394. Fallback to packet-per-buffer DMA works reliably. http://thread.gmane.org/gmane.linux.kernel.firewire.devel/13393/focus=13476 Reported-by: Jonathan Cameron <jic23@xxxxxxxxx> Signed-off-by: Stefan Richter <stefanr@xxxxxxxxxxxxxxxxx> commit fc383796a8cc5df0a0c8633a16dd2e9528a16a63 Author: Stefan Richter <stefanr@xxxxxxxxxxxxxxxxx> Date: Fri Aug 28 13:25:15 2009 +0200 firewire: ohci: fix Agere FW643 and multiple cameras An Agere FW643 OHCI 1.1 card works fine for video reception from one camera but fails early if receiving from two cameras. After a short while, no IR IRQ events occur and the context control register does not react anymore. This happens regardless whether both IR DMA contexts are dual-buffer or one is dual-buffer and the other packet-per-buffer. This can be worked around by disabling dual buffer DMA mode entirely. http://sourceforge.net/mailarchive/message.php?msg_name=4A7C0594.2020208%40gmail.com (Reported by Samuel Audet.) In another report (by Jonathan Cameron), an FW643 works OK with two cameras in dual buffer mode. Whether this is due to different chip revisions or different usage patterns (different video formats) is not yet clear. However, as far as the current capabilities of firewire-core's isochronous I/O interface are concerned, simply switching off dual-buffer on non-working and working FW643s alike is not a problem in practice. We only need to revisit this issue if we are going to enhance the interface, e.g. so that applications can explicitly choose modes. Reported-by: Samuel Audet <samuel.audet@xxxxxxxxx> Reported-by: Jonathan Cameron <jic23@xxxxxxxxx> Signed-off-by: Stefan Richter <stefanr@xxxxxxxxxxxxxxxxx> commit 1821bc19d54009b6f5e6462dd79074d728080839 Author: Stefan Richter <stefanr@xxxxxxxxxxxxxxxxx> Date: Sat Sep 5 13:23:49 2009 +0200 firewire: core: fix crash in iso resource management This fixes a regression due to post 2.6.30 commit "firewire: core: do not DMA-map stack addresses" 6fdc03709433ccc2005f0f593ae9d9dd04f7b485. As David Moore noted, a previously correct sizeof() expression became wrong since the commit changed its argument from an array to a pointer. This resulted in an oops in ohci_cancel_packet in the shared workqueue thread's context when an isochronous resource was to be freed. Reported-by: Jonathan Cameron <jic23@xxxxxxxxx> Signed-off-by: Stefan Richter <stefanr@xxxxxxxxxxxxxxxxx> commit 8379e7c46cc48f51197dd663fc6676f47f2a1e71 Author: Sunil Mushran <sunil.mushran@xxxxxxxxxx> Date: Fri Sep 4 11:12:01 2009 -0700 ocfs2: ocfs2_write_begin_nolock() should handle len=0 Bug introduced by mainline commit e7432675f8ca868a4af365759a8d4c3779a3d922 The bug causes ocfs2_write_begin_nolock() to oops when len=0. Signed-off-by: Sunil Mushran <sunil.mushran@xxxxxxxxxx> Cc: stable@xxxxxxxxxx Signed-off-by: Joel Becker <joel.becker@xxxxxxxxxx> commit ae0b7448e91353ea5f821601a055aca6b58042cd Author: Mikulas Patocka <mpatocka@xxxxxxxxxx> Date: Fri Sep 4 20:40:43 2009 +0100 dm snapshot: fix on disk chunk size validation Fix some problems seen in the chunk size processing when activating a pre-existing snapshot. For a new snapshot, the chunk size can either be supplied by the creator or a default value can be used. For an existing snapshot, the chunk size in the snapshot header on disk should always be used. If someone attempts to load an existing snapshot and has the 'default chunk size' option set, the kernel uses its default value even when it is incorrect for the snapshot being loaded. This patch ensures the correct on-disk value is always used. Secondly, when the code does use the chunk size stored on the disk it is prudent to revalidate it, so the code can exit cleanly if it got corrupted as happened in https://bugzilla.redhat.com/show_bug.cgi?id=461506 . Cc: stable@xxxxxxxxxx Signed-off-by: Mikulas Patocka <mpatocka@xxxxxxxxxx> Signed-off-by: Alasdair G Kergon <agk@xxxxxxxxxx> commit 2defcc3fb4661e7351cb2ac48d843efc4c64db13 Author: Mikulas Patocka <mpatocka@xxxxxxxxxx> Date: Fri Sep 4 20:40:41 2009 +0100 dm exception store: split set_chunk_size Break the function set_chunk_size to two functions in preparation for the fix in the following patch. Cc: stable@xxxxxxxxxx Signed-off-by: Mikulas Patocka <mpatocka@xxxxxxxxxx> Signed-off-by: Alasdair G Kergon <agk@xxxxxxxxxx> commit 61578dcd3fafe6babd72e8db32110cc0b630a432 Author: Mikulas Patocka <mpatocka@xxxxxxxxxx> Date: Fri Sep 4 20:40:39 2009 +0100 dm snapshot: fix header corruption race on invalidation If a persistent snapshot fills up, a race can corrupt the on-disk header which causes a crash on any future attempt to activate the snapshot (typically while booting). This patch fixes the race. When the snapshot overflows, __invalidate_snapshot is called, which calls snapshot store method drop_snapshot. It goes to persistent_drop_snapshot that calls write_header. write_header constructs the new header in the "area" location. Concurrently, an existing kcopyd job may finish, call copy_callback and commit_exception method, that goes to persistent_commit_exception. persistent_commit_exception doesn't do locking, relying on the fact that callbacks are single-threaded, but it can race with snapshot invalidation and overwrite the header that is just being written while the snapshot is being invalidated. The result of this race is a corrupted header being written that can lead to a crash on further reactivation (if chunk_size is zero in the corrupted header). The fix is to use separate memory areas for each. See the bug: https://bugzilla.redhat.com/show_bug.cgi?id=461506 Cc: stable@xxxxxxxxxx Signed-off-by: Mikulas Patocka <mpatocka@xxxxxxxxxx> Signed-off-by: Alasdair G Kergon <agk@xxxxxxxxxx> commit 02d2fd31defce6ff77146ad0fef4f19006055d86 Author: Mikulas Patocka <mpatocka@xxxxxxxxxx> Date: Fri Sep 4 20:40:37 2009 +0100 dm snapshot: refactor zero_disk_area to use chunk_io Refactor chunk_io to prepare for the fix in the following patch. Pass an area pointer to chunk_io and simplify zero_disk_area to use chunk_io. No functional change. Cc: stable@xxxxxxxxxx Signed-off-by: Mikulas Patocka <mpatocka@xxxxxxxxxx> Signed-off-by: Alasdair G Kergon <agk@xxxxxxxxxx> commit 7ec23d50949d5062b5b749638dd9380ed75e58e5 Author: Jonathan Brassow <jbrassow@xxxxxxxxxx> Date: Fri Sep 4 20:40:34 2009 +0100 dm log: userspace add luid to distinguish between concurrent log instances Device-mapper userspace logs (like the clustered log) are identified by a universally unique identifier (UUID). This identifier is used to associate requests from the kernel to a specific log in userspace. The UUID must be unique everywhere, since multiple machines may use this identifier when communicating about a particular log, as is the case for cluster logs. Sometimes, device-mapper/LVM may re-use a UUID. This is the case during pvmoves, when moving from one segment of an LV to another, or when resizing a mirror, etc. In these cases, a new log is created with the same UUID and loaded in the "inactive" slot. When a device-mapper "resume" is issued, the "live" table is deactivated and the new "inactive" table becomes "live". (The "inactive" table can also be removed via a device-mapper 'clear' command.) The above two issues were colliding. More than one log was being created with the same UUID, and there was no way to distinguish between them. So, sometimes the wrong log would be swapped out during the exchange. The solution is to create a locally unique identifier, 'luid', to go along with the UUID. This new identifier is used to determine exactly which log is being referenced by the kernel when the log exchange is made. The identifier is not universally safe, but it does not need to be, since create/destroy/suspend/resume operations are bound to a specific machine; and these are the operations that make up the exchange. Signed-off-by: Jonathan Brassow <jbrassow@xxxxxxxxxx> Signed-off-by: Alasdair G Kergon <agk@xxxxxxxxxx> commit d2b698644c97cb033261536a4f2010924a00eac9 Author: Jonathan Brassow <jbrassow@xxxxxxxxxx> Date: Fri Sep 4 20:40:32 2009 +0100 dm raid1: do not allow log_failure variable to unset after being set This patch fixes a bug which was triggering a case where the primary leg could not be changed on failure even when the mirror was in-sync. The case involves the failure of the primary device along with the transient failure of the log device. The problem is that bios can be put on the 'failures' list (due to log failure) before 'fail_mirror' is called due to the primary device failure. Normally, this is fine, but if the log device failure is transient, a subsequent iteration of the work thread, 'do_mirror', will reset 'log_failure'. The 'do_failures' function then resets the 'in_sync' variable when processing bios on the failures list. The 'in_sync' variable is what is used to determine if the primary device can be switched in the event of a failure. Since this has been reset, the primary device is incorrectly assumed to be not switchable. The case has been seen in the cluster mirror context, where one machine realizes the log device is dead before the other machines. As the responsibilities of the server migrate from one node to another (because the mirror is being reconfigured due to the failure), the new server may think for a moment that the log device is fine - thus resetting the 'log_failure' variable. In any case, it is inappropiate for us to reset the 'log_failure' variable. The above bug simply illustrates that it can actually hurt us. Cc: stable@xxxxxxxxxx Signed-off-by: Jonathan Brassow <jbrassow@xxxxxxxxxx> Signed-off-by: Alasdair G Kergon <agk@xxxxxxxxxx> commit b8313b6da7e2e7c7f47d93d8561969a3ff9ba0ea Author: Jonathan Brassow <jbrassow@xxxxxxxxxx> Date: Fri Sep 4 20:40:30 2009 +0100 dm log: remove incorrect field from userspace table output The output of 'dmsetup table' includes an internal field that should not be there. This patch removes it. To make the fix simpler, we first reorder a constructor argument The 'device size' argument is generated internally. Currently it is placed as the last space-separated word of the constructor string. However, we need to use a version of the string without this word, so we move it to the beginning instead so it is trivial to skip past it. We keep a copy of the arguments passed to userspace for creating a log, just in case we need to resend them. These are the same arguments that are desired in the STATUSTYPE_TABLE request, except for one. When creating the userspace log, the userspace daemon must know the size of the mirror, so that is added to the arguments given in the constructor table. We were printing this extra argument out as well, which is a mistake. Signed-off-by: Jonathan Brassow <jbrassow@xxxxxxxxxx> Signed-off-by: Alasdair G Kergon <agk@xxxxxxxxxx> commit 4142a969175302bc843d1505133488bfdbfa4732 Author: Jonathan Brassow <jbrassow@xxxxxxxxxx> Date: Fri Sep 4 20:40:28 2009 +0100 dm log: fix userspace status output Fix 'dmsetup table' output. There is a missing ' ' at the end of the string causing two words to run together. Signed-off-by: Jonathan Brassow <jbrassow@xxxxxxxxxx> Signed-off-by: Alasdair G Kergon <agk@xxxxxxxxxx> commit 40bea431274c247425e7f5970d796ff7b37a2b22 Author: Mike Snitzer <snitzer@xxxxxxxxxx> Date: Fri Sep 4 20:40:25 2009 +0100 dm stripe: expose correct io hints Set sensible I/O hints for striped DM devices in the topology infrastructure added for 2.6.31 for userspace tools to obtain via sysfs. Add .io_hints to 'struct target_type' to allow the I/O hints portion (io_min and io_opt) of the 'struct queue_limits' to be set by each target and implement this for dm-stripe. Signed-off-by: Mike Snitzer <snitzer@xxxxxxxxxx> Signed-off-by: Alasdair G Kergon <agk@xxxxxxxxxx> commit a963a956225eb0f8c4d3537f428153c30adf54b8 Author: Mike Snitzer <snitzer@xxxxxxxxxx> Date: Fri Sep 4 20:40:24 2009 +0100 dm table: add more context to terse warning messages A couple of recent warning messages make it difficult for the reader to determine exactly what is wrong. This patch adds more information to those messages. The messages were added by these commits: 5dea271b6d87bd1d79a59c1d5baac2596a841c37 ("dm table: pass correct dev area size to device_area_is_valid") ea9df47cc92573b159ef3b4fda516c32cba9c4fd ("dm table: fix blk_stack_limits arg to use bytes not sectors") The patch also corrects references to logical_block_size in printk format strings from %hu to %u. Signed-off-by: Mike Snitzer <snitzer@xxxxxxxxxx> Signed-off-by: Alasdair G Kergon <agk@xxxxxxxxxx> commit f6a1ed10864b7540fa758bbccf3433fe17070329 Author: Mikulas Patocka <mpatocka@xxxxxxxxxx> Date: Fri Sep 4 20:40:22 2009 +0100 dm table: fix queue_limit checking device iterator The logic to check for valid device areas is inverted relative to proper use with iterate_devices. The iterate_devices method calls its callback for every underlying device in the target. If any callback returns non-zero, iterate_devices exits immediately. But the callback device_area_is_valid() returns 0 on error and 1 on success. The overall effect without is that an error is issued only if every device is invalid. This patch renames device_area_is_valid to device_area_is_invalid and inverts the logic so that one invalid device is sufficient to raise an error. Signed-off-by: Mikulas Patocka <mpatocka@xxxxxxxxxx> Signed-off-by: Mike Snitzer <snitzer@xxxxxxxxxx> Signed-off-by: Alasdair G Kergon <agk@xxxxxxxxxx> commit 8811f46c1f9386fc7017150de9d52359e5b1826e Author: Mike Snitzer <snitzer@xxxxxxxxxx> Date: Fri Sep 4 20:40:19 2009 +0100 dm snapshot: implement iterate devices Implement the .iterate_devices for the origin and snapshot targets. dm-snapshot's lack of .iterate_devices resulted in the inability to properly establish queue_limits for both targets. With 4K sector drives: an unfortunate side-effect of not establishing proper limits in either targets' DM device was that IO to the devices would fail even though both had been created without error. Commit af4874e03ed82f050d5872d8c39ce64bf16b5c38 ("dm target:s introduce iterate devices fn") in 2.6.31-rc1 should have implemented .iterate_devices for dm-snap.c's origin and snapshot targets. Signed-off-by: Mike Snitzer <snitzer@xxxxxxxxxx> Signed-off-by: Andrew Morton <akpm@xxxxxxxxxxxxxxxxxxxx> Signed-off-by: Alasdair G Kergon <agk@xxxxxxxxxx> commit a77e28c7e1dc1a6a035c7627d4a88ecf3ea09aea Author: Kiyoshi Ueda <k-ueda@xxxxxxxxxxxxx> Date: Fri Sep 4 20:40:16 2009 +0100 dm multipath: fix oops when request based io fails when no paths The patch posted at http://marc.info/?l=dm-devel&m=124539787228784&w=2 which was merged into cec47e3d4a861e1d942b3a580d0bbef2700d2bb2 ("dm: prepare for request based option") introduced a regression in request-based dm. If map_request() calls dm_kill_unmapped_request() to complete a cloned bio without dispatching it, clone->bio is still set when dm_end_request() is called and the BUG_ON(clone->bio) is incorrect. The patch fixes this bug by freeing bio in dm_end_request() if the clone has bio. I've redone my tests to cover all I/O paths and confirmed there's no other regression. Here is the oops I hit in request-based dm when I do I/O to a multipath device which doesn't have any active path nor queue_if_no_path setting: ------------[ cut here ]------------ kernel BUG at /root/2.6.31-rc4.rqdm/drivers/md/dm.c:828! invalid opcode: 0000 [#1] SMP last sysfs file: /sys/devices/system/cpu/cpu3/cache/index2/shared_cpu_map CPU 1 Modules linked in: autofs4 sunrpc cpufreq_ondemand acpi_cpufreq dm_mirror dm_region_hash dm_log dm_service_time dm_multipath scsi_dh dm_mod video output sbs sbshc battery ac sg sr_mod e1000e button cdrom serio_raw rtc_cmos rtc_core rtc_lib piix lpfc scsi_transport_fc ata_piix libata megaraid_sas sd_mod scsi_mod crc_t10dif ext3 jbd uhci_hcd ohci_hcd ehci_hcd [last unloaded: microcode] Pid: 7, comm: ksoftirqd/1 Not tainted 2.6.31-rc4.rqdm #1 Express5800/120Lj [N8100-1417] RIP: 0010:[<ffffffffa023629d>] [<ffffffffa023629d>] dm_softirq_done+0xbd/0x100 [dm_mod] RSP: 0018:ffff8800280a1f08 EFLAGS: 00010282 RAX: ffffffffa02544e0 RBX: ffff8802aa1111d0 RCX: ffff8802aa1111e0 RDX: ffff8802ab913e70 RSI: 0000000000000000 RDI: ffff8802ab913e70 RBP: ffff8800280a1f28 R08: ffffc90005457040 R09: 0000000000000000 R10: 0000000000000001 R11: 0000000000000000 R12: 00000000fffffffb R13: ffff8802ab913e88 R14: ffff8802ab9c1438 R15: 0000000000000100 FS: 0000000000000000(0000) GS:ffff88002809e000(0000) knlGS:0000000000000000 CS: 0010 DS: 0018 ES: 0018 CR0: 000000008005003b CR2: 0000003d54a98640 CR3: 000000029f0a1000 CR4: 00000000000006e0 DR0: 0000000000000000 DR1: 0000000000000000 DR2: 0000000000000000 DR3: 0000000000000000 DR6: 00000000ffff0ff0 DR7: 0000000000000400 Process ksoftirqd/1 (pid: 7, threadinfo ffff8802ae50e000, task ffff8802ae4f8040) Stack: ffff8800280a1f38 0000000000000020 ffffffff814f30a0 0000000000000004 <0> ffff8800280a1f58 ffffffff8116b245 ffff8800280a1f38 ffff8800280a1f38 <0> ffff8800280a1f58 0000000000000001 ffff8800280a1fa8 ffffffff810477bc Call Trace: <IRQ> [<ffffffff8116b245>] blk_done_softirq+0x75/0x90 [<ffffffff810477bc>] __do_softirq+0xcc/0x210 [<ffffffff81047170>] ? ksoftirqd+0x0/0x110 [<ffffffff8100ce7c>] call_softirq+0x1c/0x50 <EOI> [<ffffffff8100e785>] do_softirq+0x65/0xa0 [<ffffffff81047170>] ? ksoftirqd+0x0/0x110 [<ffffffff810471e0>] ksoftirqd+0x70/0x110 [<ffffffff81059559>] kthread+0x99/0xb0 [<ffffffff8100cd7a>] child_rip+0xa/0x20 [<ffffffff8100c73c>] ? restore_args+0x0/0x30 [<ffffffff810594c0>] ? kthread+0x0/0xb0 [<ffffffff8100cd70>] ? child_rip+0x0/0x20 Code: 44 89 e6 48 89 df e8 23 fb f2 e0 be 01 00 00 00 4c 89 f7 e8 f6 fd ff ff 5b 41 5c 41 5d 41 5e c9 c3 4c 89 ef e8 85 fe ff ff eb ed <0f> 0b eb fe 41 8b 85 dc 00 00 00 48 83 bb 10 01 00 00 00 89 83 RIP [<ffffffffa023629d>] dm_softirq_done+0xbd/0x100 [dm_mod] RSP <ffff8800280a1f08> ---[ end trace 16af0a1d8542da55 ]--- Signed-off-by: Kiyoshi Ueda <k-ueda@xxxxxxxxxxxxx> Signed-off-by: Jun'ichi Nomura <j-nomura@xxxxxxxxxxxxx> Signed-off-by: Alasdair G Kergon <agk@xxxxxxxxxx> commit bd4352cadfacb9084c97c853b025fac010266c26 Author: David S. Miller <davem@xxxxxxxxxxxxx> Date: Fri Sep 4 03:38:54 2009 -0700 sparc64: Fix bootup with mcount in some configs. Functions invoked early when booting up a cpu can't use tracing because mcount requires a valid 'current_thread_info()' and TLB mappings to be setup. The code path of sun4v_register_mondo_queues --> register_one_mondo is one such case. sun4v_register_mondo_queues already has the necessary 'notrace' annotation, but register_one_mondo does not. Normally register_one_mondo is inlined so the bug doesn't trigger, but with some config/compiler combinations, it won't be so we must properly mark it notrace. While we're here, add 'notrace' annoations to prom_printf and prom_halt so that early error handling won't have the same problem. Reported-by: Alexander Beregalov <a.beregalov@xxxxxxxxx> Reported-by: Leif Sawyer <lsawyer@xxxxxxx> Signed-off-by: David S. Miller <davem@xxxxxxxxxxxxx> commit 2bcaa6a4238094c5695d5b1943078388d82d3004 Author: Dave Andrews <jetdog330@xxxxxxxxxxx> Date: Thu Sep 3 17:21:27 2009 -0700 Input: atkbd - add Compaq Presario R4000-series repeat quirk Compaq Presario R4000-series laptops are not sending a "volume up button release" and "volume down button release" signal in the PS/2 protocol for atkbd. The URL below has some of confirmed reports: https://bugs.launchpad.net/ubuntu/+source/linux/+bug/385477 Signed-off-by: Dave Andrews <jetdog330@xxxxxxxxxxx> Signed-off-by: Dmitry Torokhov <dtor@xxxxxxx> commit d76b1590e06a63a3d8697168cd0aabf1c4b3cb3a Author: Eric Dumazet <eric.dumazet@xxxxxxxxx> Date: Thu Sep 3 22:38:59 2009 +0300 slub: Fix kmem_cache_destroy() with SLAB_DESTROY_BY_RCU kmem_cache_destroy() should call rcu_barrier() *after* kmem_cache_close() and *before* sysfs_slab_remove() or risk rcu_free_slab() being called after kmem_cache is deleted (kfreed). rmmod nf_conntrack can crash the machine because it has to kmem_cache_destroy() a SLAB_DESTROY_BY_RCU enabled cache. Cc: <stable@xxxxxxxxxx> Reported-by: Zdenek Kabelac <zdenek.kabelac@xxxxxxxxx> Signed-off-by: Eric Dumazet <eric.dumazet@xxxxxxxxx> Acked-by: Paul E. McKenney <paulmck@xxxxxxxxxxxxxxxxxx> Signed-off-by: Pekka Enberg <penberg@xxxxxxxxxxxxxx> commit bc8cec0dff072f1a45ce7f6b2c5234bb3411ac51 Author: Massimo Cirillo <maxcir@xxxxxxxxx> Date: Thu Aug 27 10:44:09 2009 +0200 JFFS2: add missing verify buffer allocation/deallocation The function jffs2_nor_wbuf_flash_setup() doesn't allocate the verify buffer if CONFIG_JFFS2_FS_WBUF_VERIFY is defined, so causing a kernel panic when that macro is enabled and the verify function is called. Similarly the jffs2_nor_wbuf_flash_cleanup() must free the buffer if CONFIG_JFFS2_FS_WBUF_VERIFY is enabled. The following patch fixes the problem. The following patch applies to 2.6.30 kernel. Signed-off-by: Massimo Cirillo <maxcir@xxxxxxxxx> Signed-off-by: Artem Bityutskiy <Artem.Bityutskiy@xxxxxxxxx> Signed-off-by: David Woodhouse <David.Woodhouse@xxxxxxxxx> Cc: stable@xxxxxxxxxx commit 16f05c2b68520f94e365f9d347a7076f4ff00ad5 Author: Dimitri Gorokhovik <dimitri.gorokhovik@xxxxxxx> Date: Thu Sep 3 14:04:22 2009 +0100 mtd: nftl: fix offset alignments Arithmetic conversion in the mask computation makes the upper word of the second argument passed down to mtd->read_oob(), be always 0 (assuming 'offs' being a 64-bit signed long long type, and 'mtd->writesize' being a 32-bit unsigned int type). This patch applies over the other one adding masking in nftl_write, "nftl: write support is broken". Signed-off-by: Dimitri Gorokhovik <dimitri.gorokhovik@xxxxxxx> Cc: Tim Gardner <tim.gardner@xxxxxxxxxxxxx> Cc: Scott James Remnant <scott@xxxxxxxxxxxxx> Signed-off-by: David Woodhouse <David.Woodhouse@xxxxxxxxx> commit 4149ed1aa944ab864024982a2e568d17eccff504 Author: Dimitri Gorokhovik <dimitri.gorokhovik@xxxxxxx> Date: Thu Sep 3 14:59:13 2009 +0100 mtd: nftl: write support is broken Write support is broken in NFTL. Fix it. Signed-off-by: <dimitri.gorokhovik@xxxxxxx> Cc: Tim Gardner <tim.gardner@xxxxxxxxxxxxx> Cc: Scott James Remnant <scott@xxxxxxxxxxxxx> Signed-off-by: Andrew Morton <akpm@xxxxxxxxxxxxxxxxxxxx> Signed-off-by: David Woodhouse <David.Woodhouse@xxxxxxxxx> commit edcb3b14863e1a6aa1923eeaa81125a00cf51a80 Author: Anton Vorontsov <avorontsov@xxxxxxxxxxxxx> Date: Thu Aug 6 15:18:37 2009 -0700 mtd: m25p80: fix null pointer dereference bug This patch fixes the following oops, observed with MTD_PARTITIONS=n: m25p80 spi32766.0: m25p80 (1024 Kbytes) Unable to handle kernel paging request for data at address 0x00000008 Faulting instruction address: 0xc03a54b0 Oops: Kernel access of bad area, sig: 11 [#1] Modules linked in: NIP: c03a54b0 LR: c03a5494 CTR: c01e98b8 REGS: ef82bb60 TRAP: 0300 Not tainted (2.6.31-rc4-00167-g4733fd3) MSR: 00029000 <EE,ME,CE> CR: 24022022 XER: 20000000 DEAR: 00000008, ESR: 00000000 TASK = ef82c000[1] 'swapper' THREAD: ef82a000 GPR00: 00000000 ef82bc10 ef82c000 0000002e 00001eb8 ffffffff c01e9824 00000036 GPR08: c054ed40 c0542a08 00001eb8 00004000 22022022 1001a1a0 3ff8fd00 00000000 GPR16: 00000000 00000001 00000000 00000000 ef82bddc c0530000 efbef500 ef8356d0 GPR24: 00000000 ef8356d0 00000000 efbf7a00 c0530ec4 ffffffed efbf5300 c0541f98 NIP [c03a54b0] m25p_probe+0x22c/0x354 LR [c03a5494] m25p_probe+0x210/0x354 Call Trace: [ef82bc10] [c03a5494] m25p_probe+0x210/0x354 (unreliable) [ef82bca0] [c024e37c] spi_drv_probe+0x2c/0x3c [ef82bcb0] [c01f1afc] driver_probe_device+0xa4/0x178 [ef82bcd0] [c01f06e8] bus_for_each_drv+0x6c/0xa8 [ef82bd00] [c01f1a34] device_attach+0x84/0xa8 ... Signed-off-by: Anton Vorontsov <avorontsov@xxxxxxxxxxxxx> Cc: David Brownell <david-b@xxxxxxxxxxx> Signed-off-by: Andrew Morton <akpm@xxxxxxxxxxxxxxxxxxxx> Signed-off-by: Artem Bityutskiy <Artem.Bityutskiy@xxxxxxxxx> Signed-off-by: David Woodhouse <David.Woodhouse@xxxxxxxxx> commit e6617c6ec28a17cf2f90262b835ec05b9b861400 Author: David S. Miller <davem@xxxxxxxxxxxxx> Date: Thu Sep 3 02:35:20 2009 -0700 sparc64: Kill spurious NMI watchdog triggers by increasing limit to 30 seconds. This is a compromise and a temporary workaround for bootup NMI watchdog triggers some people see with qla2xxx devices present. This happens when, for example: CPU 0 is in the driver init and looping submitting mailbox commands to load the firmware, then waiting for completion. CPU 1 is receiving the device interrupts. CPU 1 is where the NMI watchdog triggers. CPU 0 is submitting mailbox commands fast enough that by the time CPU 1 returns from the device interrupt handler, a new one is pending. This sequence runs for more than 5 seconds. The problematic case is CPU 1's timer interrupt running when the barrage of device interrupts begin. Then we have: timer interrupt return for softirq checking pending, thus enable interrupts qla2xxx interrupt return qla2xxx interrupt return ... 5+ seconds pass final qla2xxx interrupt for fw load return run timer softirq return At some point in the multi-second qla2xxx interrupt storm we trigger the NMI watchdog on CPU 1 from the NMI interrupt handler. The timer softirq, once we get back to running it, is smart enough to run the timer work enough times to make up for the missed timer interrupts. However, the NMI watchdogs (both x86 and sparc) use the timer interrupt count to notice the cpu is wedged. But in the above scenerio we'll receive only one such timer interrupt even if we last all the way back to running the timer softirq. The default watchdog trigger point is only 5 seconds, which is pretty low (the softwatchdog triggers at 60 seconds). So increase it to 30 seconds for now. Signed-off-by: David S. Miller <davem@xxxxxxxxxxxxx> commit a3df6f7d3090e611bcc774cd2cba45ae016d37e1 Author: Paul Mackerras <paulus@xxxxxxxxx> Date: Thu Sep 3 11:52:02 2009 +1000 perf_counter/powerpc: Fix cache event codes for POWER7 I had the codes for L1 D-cache load accesses and misses swapped around, and the wrong codes for LL-cache accesses and misses. This corrects them. Reported-by: Corey Ashford <cjashfor@xxxxxxxxxxxxxxxxxx> Signed-off-by: Paul Mackerras <paulus@xxxxxxxxx> Cc: Peter Zijlstra <a.p.zijlstra@xxxxxxxxx> Cc: <stable@xxxxxxxxxx> LKML-Reference: <19103.8514.709300.585484@xxxxxxxxxxxxxxxxxxxx> Signed-off-by: Ingo Molnar <mingo@xxxxxxx> commit 16ebb5e0b36ceadc8186f71d68b0c4fa4b6e781b Author: Eric Dumazet <eric.dumazet@xxxxxxxxx> Date: Wed Sep 2 02:40:09 2009 +0000 tc: Fix unitialized kernel memory leak Three bytes of uninitialized kernel memory are currently leaked to user Signed-off-by: Eric Dumazet <eric.dumazet@xxxxxxxxx> Reviewed-by: Jiri Pirko <jpirko@xxxxxxxxxx> Signed-off-by: David S. Miller <davem@xxxxxxxxxxxxx> commit 92653453c3015c083b9fe0ad48261c6b2267d482 Author: Clemens Ladisch <clemens@xxxxxxxxxx> Date: Wed Sep 2 18:25:39 2009 +0200 sound: oxygen: handle cards with missing EEPROM The card model detection code introduced in 2.6.30 that tries to work around partially broken EEPROM contents by reading the EEPROM directly does not handle cards where the EEPROM has been omitted. In this case, we have to use the default ID to allow the driver to load. Signed-off-by: Clemens Ladisch <clemens@xxxxxxxxxx> Reported-and-tested-by: Ozan Ã?aÄ?layan <ozan@xxxxxxxxxxxxx> Cc: <stable@xxxxxxxxxx> Signed-off-by: Takashi Iwai <tiwai@xxxxxxx> commit 07fb6111e7af5fac6b6076e2658d0e32b67f713b Author: Zhenyu Wang <zhenyuw@xxxxxxxxxxxxxxx> Date: Thu Aug 13 18:57:29 2009 +0800 agp/intel: support for new chip variant of IGDNG mobile New variant of IGDNG mobile chip has new host bridge id. [anholt: Note that this new PCI ID doesn't impact the DRM, which doesn't care about the PCI ID of the bridge] Signed-off-by: Zhenyu Wang <zhenyuw@xxxxxxxxxxxxxxx> Signed-off-by: Eric Anholt <eric@xxxxxxxxxx> commit 58c2fb647a3cf70a90d7b33a3f2a8396a20a0bc4 Author: Chris Wilson <chris@xxxxxxxxxxxxxxxxxx> Date: Tue Sep 1 12:02:39 2009 +0100 drm/i915: Unref old_obj on get_fence_reg() error path Remember to release the local reference if we fail to wait on the rendering. (Also whilst in the vicinity add some whitespace so that the phasing of the operations is clearer.) Signed-off-by: Chris Wilson <chris@xxxxxxxxxxxxxxxxxx> Signed-off-by: Eric Anholt <eric@xxxxxxxxxx> commit bcc24fb42585dc9f490cf7789a917358414bdab5 Author: Jesse Barnes <jbarnes@xxxxxxxxxxxxxxxx> Date: Mon Aug 31 10:24:31 2009 -0700 drm/i915: increase default latency constant (v2 w/comment) Some i915/i945 platforms have a fairly high memory latency in certain situations, so increase our constant a bit to avoid FIFO underruns. The effect should be positive on other platforms as well; we'll have a bit more insurance against a busy memory subsystem due to the extra FIFO entries. Fixes fdo bug #23368. Needed for 2.6.31. Tested-by: Sven Arvidsson <sa@xxxxxxx> Tested-by: Chris Wilson <chris@xxxxxxxxxxxxxxxxxx> Signed-off-by: Jesse Barnes <jbarnes@xxxxxxxxxxxxxxxx> Signed-off-by: Eric Anholt <eric@xxxxxxxxxx> commit 5afe18d2f58812f3924edbd215464e5e3e8545e7 Author: Jiri Bohac <jbohac@xxxxxxx> Date: Wed Sep 2 11:00:46 2009 +0200 [IA64] fix csum_ipv6_magic() The 32-bit parameters (len and csum) of csum_ipv6_magic() are passed in 64-bit registers in2 and in4. The high order 32 bits of the registers were never cleared, and garbage was sometimes calculated into the checksum. Fix this by clearing the high order 32 bits of these registers. Signed-off-by: Jiri Bohac <jbohac@xxxxxxx> Signed-off-by: Tony Luck <tony.luck@xxxxxxxxx> commit f2486f26692433ba27cc10991a085b503b0422a3 Author: Luck, Tony <tony.luck@xxxxxxxxx> Date: Mon Aug 31 16:54:03 2009 -0700 [IA64] Fix warning in dma-mapping.c arch/ia64/kernel/dma-mapping.c:14: warning: control reaches end of non-void function arch/ia64/kernel/dma-mapping.c:14: warning: no return statement in function returning non-void This warning was introduced by commit: 390bd132b2831a2ad0268e84bffbfc0680debfe5 Add dma_debug_init() for ia64 Signed-off-by: Tony Luck <tony.luck@xxxxxxxxx> commit 2fbd3da3877ad8d923b055e5996f80b4d4a6daf4 Author: David S. Miller <davem@xxxxxxxxxxxxx> Date: Tue Sep 1 17:59:25 2009 -0700 pkt_sched: Revert tasklet_hrtimer changes. These are full of unresolved problems, mainly that conversions don't work 1-1 from hrtimers to tasklet_hrtimers because unlike hrtimers tasklets can't be killed from softirq context. And when a qdisc gets reset, that's exactly what we need to do here. We'll work this out in the net-next-2.6 tree and if warranted we'll backport that work to -stable. This reverts the following 3 changesets: a2cb6a4dd470d7a64255a10b843b0d188416b78f ("pkt_sched: Fix bogon in tasklet_hrtimer changes.") 38acce2d7983632100a9ff3fd20295f6e34074a8 ("pkt_sched: Convert CBQ to tasklet_hrtimer.") ee5f9757ea17759e1ce5503bdae2b07e48e32af9 ("pkt_sched: Convert qdisc_watchdog to tasklet_hrtimer") Signed-off-by: David S. Miller <davem@xxxxxxxxxxxxx> commit d66ee0587c3927aea5178a822976c7c853d815fe Author: Jarek Poplawski <jarkao2@xxxxxxxxx> Date: Sun Aug 30 23:15:36 2009 +0000 net: sk_free() should be allowed right after sk_alloc() After commit 2b85a34e911bf483c27cfdd124aeb1605145dc80 (net: No more expensive sock_hold()/sock_put() on each tx) sk_free() frees socks conditionally and depends on sk_wmem_alloc being set e.g. in sock_init_data(). But in some cases sk_free() is called earlier, usually after other alloc errors. Fix is to move sk_wmem_alloc initialization from sock_init_data() to sk_alloc() itself. Signed-off-by: Jarek Poplawski <jarkao2@xxxxxxxxx> Signed-off-by: Eric Dumazet <eric.dumazet@xxxxxxxxx> Signed-off-by: David S. Miller <davem@xxxxxxxxxxxxx> commit 3725867dccfb83e4b0cff64e916a04258f300591 Author: Christoph Hellwig <hch@xxxxxxxxxxxxx> Date: Tue Sep 1 14:03:08 2009 -0400 xfs: actually enable the swapext compat handler Fix a small typo in the compat ioctl handler that cause the swapext compat handler to never be called. Signed-off-by: Christoph Hellwig <hch@xxxxxx> Reviewed-by: Torsten Kaiser <just.for.lkml@xxxxxxxxxxxxxx> Tested-by: Torsten Kaiser <just.for.lkml@xxxxxxxxxxxxxx> Reviewed-by: Eric Sandeen <sandeen@xxxxxxxxxxx> Reviewed-by: Felix Blyakher <felixb@xxxxxxx> Signed-off-by: Felix Blyakher <felixb@xxxxxxx> commit c295fc05789653ef24f296299df7c5f92fe74dce Author: Nikanth Karthikesan <knikanth@xxxxxxx> Date: Tue Sep 1 22:40:15 2009 +0200 block: Allow changing max_sectors_kb above the default 512 The patch "block: Use accessor functions for queue limits" (ae03bf639a5027d27270123f5f6e3ee6a412781d) changed queue_max_sectors_store() to use blk_queue_max_sectors() instead of directly assigning the value. But blk_queue_max_sectors() differs a bit 1. It sets both max_sectors_kb, and max_hw_sectors_kb 2. Never allows one to change max_sectors_kb above BLK_DEF_MAX_SECTORS. If one specifies a value greater then max_hw_sectors is set to that value but max_sectors is set to BLK_DEF_MAX_SECTORS I am not sure whether blk_queue_max_sectors() should be changed, as it seems to be that way for a long time. And there may be callers dependent on that behaviour. This patch simply reverts to the older way of directly assigning the value to max_sectors as it was before. Signed-off-by: Nikanth Karthikesan <knikanth@xxxxxxx> Signed-off-by: Jens Axboe <jens.axboe@xxxxxxxxxx> commit ce6c3997c2fce74d12e6d8887a1d8cdf024fa850 Author: Dominik Brodowski <linux@xxxxxxxxxxxxxxxxxxxx> Date: Fri Aug 7 22:58:51 2009 +0200 [CPUFREQ] Re-enable cpufreq suspend and resume code Commit 4bc5d3413503 is broken and causes regressions: (1) cpufreq_driver->resume() and ->suspend() were only called on __powerpc__, but you could set them on all architectures. In fact, ->resume() was defined and used before the PPC-related commit 42d4dc3f4e1e complained about in 4bc5d3413503. (2) Therfore, the resume functions in acpi_cpufreq and speedstep-smi would never be called. (3) This means speedstep-smi would be unusuable after suspend or resume. The _real_ problem was calling cpufreq_driver->get() with interrupts off, but it re-enabling interrupts on some platforms. Why is ->get() necessary? Some systems like to change the CPU frequency behind our back, especially during BIOS-intensive operations like suspend or resume. If such systems also use a CPU frequency-dependant timing loop, delays might be off by large factors. Therefore, we need to ascertain as soon as possible that the CPU frequency is indeed at the speed we think it is. You can do this two ways: either setting it anew, or trying to get it. The latter is what was done, the former also has the same IRQ issue. So, let's try something different: defer the checking to after interrupts are re-enabled, by calling cpufreq_update_policy() (via schedule_work()). Timings may be off until this later stage, so let's watch out for resume regressions caused by the deferred handling of frequency changes behind the kernel's back. Signed-off-by: Dominik Brodowski <linux@xxxxxxxxxxxxxxxxxxxx> Signed-off-by: Dave Jones <davej@xxxxxxxxxx> commit 04a13c7c632e1fe04a5f6e6c83565d2559e37598 Author: Tejun Heo <tj@xxxxxxxxxx> Date: Tue Sep 1 21:12:28 2009 +0900 percpu: don't assume existence of cpu0 percpu incorrectly assumed that cpu0 was always there which led to the following warning and eventual oops on sparc machines w/o cpu0. WARNING: at mm/percpu.c:651 pcpu_map+0xdc/0x100() Modules linked in: Call Trace: [000000000045eb70] warn_slowpath_common+0x50/0xa0 [000000000045ebdc] warn_slowpath_null+0x1c/0x40 [00000000004d493c] pcpu_map+0xdc/0x100 [00000000004d59a4] pcpu_alloc+0x3e4/0x4e0 [00000000004d5af8] __alloc_percpu+0x18/0x40 [00000000005b112c] __percpu_counter_init+0x4c/0xc0 ... Unable to handle kernel NULL pointer dereference ... I7: <sysfs_new_dirent+0x30/0x120> Disabling lock debugging due to kernel taint Caller[000000000053c1b0]: sysfs_new_dirent+0x30/0x120 Caller[000000000053c7a4]: create_dir+0x24/0xc0 Caller[000000000053c870]: sysfs_create_dir+0x30/0x80 Caller[00000000005990e8]: kobject_add_internal+0xc8/0x200 ... Kernel panic - not syncing: Attempted to kill the idle task! This patch fixes the problem by backporting parts from devel branch to make percpu core not depend on the existence of cpu0. Signed-off-by: Tejun Heo <tj@xxxxxxxxxx> Reported-by: Meelis Roos <mroos@xxxxxxxx> Cc: David Miller <davem@xxxxxxxxxxxxx> commit b91ab72b830e1494c2c7f8de05ccb2ab2c9cfb26 Author: Clemens Ladisch <clemens@xxxxxxxxxx> Date: Tue Sep 1 08:23:58 2009 +0200 sound: oxygen: fix MCLK rate for 192 kHz playback Do not forget to program the MCLK ratio for the I2S output. Otherwise, the master clock frequency can be too high for the DACs at sample frequencies above 96 kHz. Signed-off-by: Clemens Ladisch <clemens@xxxxxxxxxx> Cc: <stable@xxxxxxxxxx> Signed-off-by: Takashi Iwai <tiwai@xxxxxxx> commit 37d0892c5a94e208cf863e3b7bac014edee4346d Author: Ian Kent <raven@xxxxxxxxxx> Date: Tue Sep 1 11:26:22 2009 +0800 autofs4 - fix missed case when changing to use struct path In the recent change by Al Viro that changes verious subsystems to use "struct path" one case was missed in the autofs4 module which causes mounts to no longer expire. Signed-off-by: Ian Kent <raven@xxxxxxxxxx> Signed-off-by: Linus Torvalds <torvalds@xxxxxxxxxxxxxxxxxxxx> commit cda9856f1ca62484433b9f734cd0fd553a5e4850 Merge: af3998909772f766f27ba432f281d60098354269 a3f730af7e33cea10ea66f05b2565fde1f9512df Author: Linus Torvalds <torvalds@xxxxxxxxxxxxxxxxxxxx> Date: Mon Aug 31 17:36:10 2009 -1000 Merge branch 'fix/hda' of git://git.kernel.org/pub/scm/linux/kernel/git/tiwai/sound-2.6 * 'fix/hda' of git://git.kernel.org/pub/scm/linux/kernel/git/tiwai/sound-2.6: ALSA: hda - Fix MacBookPro 3,1/4,1 quirk with ALC889A ALSA: hda - Add missing mux check for VT1708 commit af3998909772f766f27ba432f281d60098354269 Merge: 1a37f184fa7824982a5f434c06981ec46a66cef7 d95c5b0b905aa9b70521eeb83ad4aea85f5e5fd0 Author: Linus Torvalds <torvalds@xxxxxxxxxxxxxxxxxxxx> Date: Mon Aug 31 17:31:02 2009 -1000 Merge branch 'for_linus' of git://git.kernel.org/pub/scm/linux/kernel/git/mchehab/linux-2.6 * 'for_linus' of git://git.kernel.org/pub/scm/linux/kernel/git/mchehab/linux-2.6: V4L/DVB (12564a): MAINTAINERS: Update gspca sn9c20x name style V4L/DVB (12502): gspca - sn9c20x: Fix gscpa sn9c20x build errors. V4L/DVB (12495): em28xx: Don't call em28xx_ir_init when disable_ir is true V4L/DVB (12457): zr364: wrong indexes V4L/DVB (12451): Update KConfig File to enable SDIO and USB interfaces V4L/DVB (12450): Siano: Fixed SDIO compilation bugs V4L/DVB (12449): adds webcam for Micron device MT9M111 0x143A to em28xx V4L/DVB (12446): sms1xxx: restore GPIO functionality for all Hauppauge devices commit 1a37f184fa7824982a5f434c06981ec46a66cef7 Author: Benjamin Herrenschmidt <benh@xxxxxxxxxxxxxxxxxxx> Date: Mon Aug 31 13:48:16 2009 +1000 lmb: Also remove __init from lmb_end_of_RAM() declaration in lmb.h My previous patch (commit 4f8ee2c9cc: "lmb: Remove __init from lmb_end_of_DRAM()") removed __init in lmb.c but missed the fact that it was also marked as such in the .h Signed-off-by: Benjamin Herrenschmidt <benh@xxxxxxxxxxxxxxxxxxx> Signed-off-by: Linus Torvalds <torvalds@xxxxxxxxxxxxxxxxxxxx> commit 60c3be387bb6cd39707d3ec0ebc324a0c96181f8 Author: Bartlomiej Zolnierkiewicz <bzolnier@xxxxxxxxx> Date: Sun Aug 30 14:56:30 2009 +0200 ata_piix: parallel scanning on PATA needs an extra locking Commit log for commit 517d3cc15b36392e518abab6bacbb72089658313 ("[libata] ata_piix: Enable parallel scan") says: This patch turns on parallel scanning for the ata_piix driver. This driver is used on most netbooks (no AHCI for cheap storage it seems). The scan is the dominating time factor in the kernel boot for these devices; with this flag it gets cut in half for the device I used for testing (eeepc). Alan took a look at the driver source and concluded that it ought to be safe to do for this driver. Alan has also checked with the hardware team. and it is all true but once we put all things together additional constraints for PATA controllers show up (some hardware registers have per-host not per-port atomicity) and we risk misprogramming the controller. I used the following test to check whether the issue is real: @@ -736,8 +736,20 @@ static void piix_set_piomode(struct ata_ (timings[pio][1] << 8); } pci_write_config_word(dev, master_port, master_data); - if (is_slave) + if (is_slave) { + if (ap->port_no == 0) { + u8 tmp = slave_data; + + while (slave_data == tmp) { + pci_read_config_byte(dev, slave_port, &tmp); + msleep(50); + } + + dev_printk(KERN_ERR, &dev->dev, "PATA parallel scan " + "race detected\n"); + } pci_write_config_byte(dev, slave_port, slave_data); + } /* Ensure the UDMA bit is off - it will be turned back on if UDMA is selected */ and it indeed triggered the error message. Lets fix all such races by adding an extra locking to ->set_piomode and ->set_dmamode methods for PATA controllers. [ Alan: would be better to take the host lock in libata-core for these cases so that we fix all the adapters in one swoop. "Looks fine as a temproary quickfix tho" ] Cc: Arjan van de Ven <arjan@xxxxxxxxxxxxxxx> Acked-by: Alan Cox <alan@xxxxxxxxxxxxxxx> Cc: Jeff Garzik <jgarzik@xxxxxxxxxx> Signed-off-by: Bartlomiej Zolnierkiewicz <bzolnier@xxxxxxxxx> Signed-off-by: Linus Torvalds <torvalds@xxxxxxxxxxxxxxxxxxxx> commit b5af754405e8cb8b14b3f5958581ebf63c3601e9 Merge: adda766193ea1cf3137484a9521972d080d0b7af db54501900ad3665dd669f5708ecd04fc5aed495 Author: Linus Torvalds <torvalds@xxxxxxxxxxxxxxxxxxxx> Date: Mon Aug 31 17:22:10 2009 -1000 Merge branch 'for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/anholt/drm-intel * 'for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/anholt/drm-intel: drm/i915: Improve CRTDDC mapping by using VBT info drm/i915: Fix CPU-spinning hangs related to fence usage by using an LRU. drm/i915: Set crtc/clone mask in different output devices drm/i915: Always use SDVO_B detect bit for SDVO output detection. drm/i915: Fix typo that broke SVID1 in intel_sdvo_multifunc_encoder() drm/i915: Check if BIOS enabled dual-channel LVDS on 8xx, not only on 9xx drm/i915: Set the multiplier for SDVO on G33 platform commit a3f730af7e33cea10ea66f05b2565fde1f9512df Author: Takashi Iwai <tiwai@xxxxxxx> Date: Mon Aug 31 08:15:26 2009 +0200 ALSA: hda - Fix MacBookPro 3,1/4,1 quirk with ALC889A This patch fixes the wrong headphone output routing for MacBookPro 3,1/4,1 quirk with ALC889A codec, which caused the silent headphone output. Also, this gives the individual Headphone and Speaker volume controls. Reference: kernel bug#14078 http://bugzilla.kernel.org/show_bug.cgi?id=14078 Signed-off-by: Takashi Iwai <tiwai@xxxxxxx> Cc: <stable@xxxxxxxxxx> commit 0f67a611629f84dd0afacd23d422b4b9c2558285 Author: Takashi Iwai <tiwai@xxxxxxx> Date: Mon Aug 31 08:12:29 2009 +0200 ALSA: hda - Add missing mux check for VT1708 In patch_vt1708(), the check of MUX nids is missing and this results in the -EINVAL error in accessing Input Source mixer element. Simpliy adding the call of get_mux_nids() fixes the problem. Reference: Novell bnc#534904 https://bugzilla.novell.com/show_bug.cgi?id=534904 Signed-off-by: Takashi Iwai <tiwai@xxxxxxx> commit d95c5b0b905aa9b70521eeb83ad4aea85f5e5fd0 Author: Joe Perches <joe@xxxxxxxxxxx> Date: Sun Aug 16 20:03:51 2009 -0300 V4L/DVB (12564a): MAINTAINERS: Update gspca sn9c20x name style To unsubscribe from this list: send the line "unsubscribe linux-media" in the body of a message to majordomo@xxxxxxxxxxxxxxx More majordomo info at http://vger.kernel.org/majordomo-info.html Signed-off-by: Joe Perches <joe@xxxxxxxxxxx> Signed-off-by: Mauro Carvalho Chehab <mchehab@xxxxxxxxxx> commit b6b85048c059e3f085095e48e12ed3f7a92c88d4 Author: Randy Dunlap <randy.dunlap@xxxxxxxxxx> Date: Wed Aug 26 03:34:16 2009 -0300 V4L/DVB (12502): gspca - sn9c20x: Fix gscpa sn9c20x build errors. Reported-by: Toralf Forster <toralf.foerster@xxxxxx> Signed-off-by: Randy Dunlap <randy.dunlap@xxxxxxxxxx> Signed-off-by: Jean-Francois Moine <moinejf@xxxxxxx> Signed-off-by: Andrew Morton <akpm@xxxxxxxxxxxxxxxxxxxx> Signed-off-by: Mauro Carvalho Chehab <mchehab@xxxxxxxxxx> commit f4c5e80faba8ae420d7dc5d9237cc1e0262d7386 Author: Shine Liu <shinel@xxxxxxxxxxx> Date: Thu Aug 20 23:49:26 2009 -0300 V4L/DVB (12495): em28xx: Don't call em28xx_ir_init when disable_ir is true We should call em28xx_ir_init(dev) only when disable_ir is true. Signed-off-by: Shine Liu <shinel@xxxxxxxxxxx> Reviewed-by: Devin Heitmueller <dheitmueller@xxxxxxxxxxxxxx> Signed-off-by: Mauro Carvalho Chehab <mchehab@xxxxxxxxxx> commit 7b808924d65a4d1a0332d0043e02e9eb5dafe32b Author: Roel Kluin <roel.kluin@xxxxxxxxx> Date: Tue Aug 11 08:10:25 2009 -0300 V4L/DVB (12457): zr364: wrong indexes The order of indexes is reversed Signed-off-by: Roel Kluin <roel.kluin@xxxxxxxxx> Signed-off-by: Antoine Jacquet <royale@xxxxxxxxxx> Signed-off-by: Mauro Carvalho Chehab <mchehab@xxxxxxxxxx> commit 31e0ad693fb4e1d1be19dbe1c4f5a1ab9978e810 Author: Udi Atar <udia@xxxxxxxxxxxx> Date: Thu Aug 13 16:30:25 2009 -0300 V4L/DVB (12451): Update KConfig File to enable SDIO and USB interfaces Update KConfig file to enbale selection of SDIO and USB interfaces, and add dependancy on relevant modules. [mchehab@xxxxxxxxxx: fix merge conflicts, remove default: m, add missing endmenu] Signed-off-by: Udi Atar <udia@xxxxxxxxxxxx> Signed-off-by: Mauro Carvalho Chehab <mchehab@xxxxxxxxxx> commit ef2d12ce12117bb97fa35bbcf677c28e14667efa Author: Udi Atar <udia@xxxxxxxxxxxx> Date: Sun Jun 28 04:22:55 2009 -0300 V4L/DVB (12450): Siano: Fixed SDIO compilation bugs Fixed SDIO compilation bugs Also fixed a memory overrun issue in buffer management. Signed-off-by: Udi Atar <udia@xxxxxxxxxxxx> Signed-off-by: Mauro Carvalho Chehab <mchehab@xxxxxxxxxx> commit f2e26ae7c8c077d001c77b330130f98e42ccad70 Author: Mauro Carvalho Chehab <mchehab@xxxxxxxxxx> Date: Wed Aug 12 20:21:44 2009 -0300 V4L/DVB (12449): adds webcam for Micron device MT9M111 0x143A to em28xx [mchehab@xxxxxxxxxx: fix merge conflict and a few CodingStyle issues] Signed-off-by: Steve Gotthardt <gotthardt@xxxxxxxxx> Signed-off-by: Mauro Carvalho Chehab <mchehab@xxxxxxxxxx> commit 3746b6178070958279010d112703bca9cdc15e0a Author: Michael Krufky <mkrufky@xxxxxxxxxxxxxx> Date: Sun Jul 12 23:30:14 2009 -0300 V4L/DVB (12446): sms1xxx: restore GPIO functionality for all Hauppauge devices Previous changesets broke Hauppauge devices and their GPIO configurations. This changeset restores the LED & LNA functionality. Signed-off-by: Michael Krufky <mkrufky@xxxxxxxxxxxxxx> Signed-off-by: Mauro Carvalho Chehab <mchehab@xxxxxxxxxx> commit 38bddf04bcfe661fbdab94888c3b72c32f6873b3 Author: Toru UCHIYAMA <uchiyama.toru@xxxxxxxxxxxxxx> Date: Sun Aug 30 22:04:07 2009 -0700 gianfar: gfar_remove needs to call unregister_netdev() This patch solves the problem that the Oops(BUG_ON) occurs by rmmod. # rmmod gianfar_driver ------------[ cut here ]------------ Kernel BUG at c01fec48 [verbose debug info unavailable] Oops: Exception in kernel mode, sig: 5 [#1] MPC837x MDS Modules linked in: gianfar_driver(-) usb_storage scsi_wait_scan NIP: c01fec48 LR: c01febf4 CTR: c01feba8 REGS: dec5bd60 TRAP: 0700 Tainted: G W (2.6.31-rc2) MSR: 00029032 <EE,ME,CE,IR,DR> CR: 22000424 XER: 20000000 TASK = dec4cac0[1135] 'rmmod' THREAD: dec5a000 GPR00: 00000002 dec5be10 dec4cac0 dfba1820 c035d444 c035d478 ffffffff 00000000 GPR08: 0000002b 00000001 dfba193c 00000001 22000424 10019b34 1ffcb000 00000000 GPR16: 10012008 00000000 bf82ebe0 100017ec bf82ebec bf82ebe8 bf82ebd0 00000880 GPR24: 00000000 bf82ebf0 c03532f0 c03532e4 c036b594 dfba183c dfba1800 dfba1820 NIP [c01fec48] free_netdev+0xa0/0xb8 LR [c01febf4] free_netdev+0x4c/0xb8 Call Trace: [dec5be10] [c01febf4] free_netdev+0x4c/0xb8 (unreliable) [dec5be30] [e105f290] gfar_remove+0x50/0x68 [gianfar_driver] [dec5be40] [c01ec534] of_platform_device_remove+0x30/0x44 [dec5be50] [c0181760] __device_release_driver+0x68/0xc8 [dec5be60] [c0181868] driver_detach+0xa8/0xac [dec5be80] [c0180814] bus_remove_driver+0x9c/0xd8 [dec5bea0] [c0181efc] driver_unregister+0x60/0x98 [dec5beb0] [c01ec650] of_unregister_driver+0x14/0x24 [dec5bec0] [e10631bc] gfar_exit+0x18/0x4bc [gianfar_driver] [dec5bed0] [c0047584] sys_delete_module+0x16c/0x228 [dec5bf40] [c00116bc] ret_from_syscall+0x0/0x38 --- Exception: c01 at 0xff3669c LR = 0x10000f34 Instruction dump: 409e0024 a07e00c0 7c63f050 4be74429 80010024 bba10014 38210020 7c0803a6 4e800020 68000003 3160ffff 7d2b0110 <0f090000> 38000004 387e01f0 901e01d4 ---[ end trace 8c595bcd37230a0f ]--- localhost kernel: ------------[ cut here ]------------ Signed-off-by: Toru UCHIYAMA uchiyama.toru@xxxxxxxxxxxxxx Signed-off-by: David S. Miller <davem@xxxxxxxxxxxxx> commit b1f1b8ce0a1d71cbc72f7540134d52b79bd8f5ac Author: Ryusuke Konishi <konishi.ryusuke@xxxxxxxxxxxxx> Date: Sun Aug 30 04:21:41 2009 +0900 nilfs2: fix preempt count underflow in nilfs_btnode_prepare_change_key This will fix the following preempt count underflow reported from users with the title "[NILFS users] segctord problem" (Message-ID: <949415.6494.qm@xxxxxxxxxxxxxxxxxxxxxxxxxxx> and Message-ID: <debc30fc0908270825v747c1734xa59126623cfd5b05@xxxxxxxxxxxxxx>): WARNING: at kernel/sched.c:4890 sub_preempt_count+0x95/0xa0() Hardware name: HP Compaq 6530b (KR980UT#ABC) Modules linked in: bridge stp llc bnep rfcomm l2cap xfs exportfs nilfs2 cowloop loop vboxnetadp vboxnetflt vboxdrv btusb bluetooth uvcvideo videodev v4l1_compat v4l2_compat_ioctl32 arc4 snd_hda_codec_analog ecb iwlagn iwlcore rfkill lib80211 mac80211 snd_hda_intel snd_hda_codec ehci_hcd uhci_hcd usbcore snd_hwdep snd_pcm tg3 cfg80211 psmouse snd_timer joydev libphy ohci1394 snd_page_alloc hp_accel lis3lv02d ieee1394 led_class i915 drm i2c_algo_bit video backlight output i2c_core dm_crypt dm_mod Pid: 4197, comm: segctord Not tainted 2.6.30-gentoo-r4-64 #7 Call Trace: [<ffffffff8023fa05>] ? sub_preempt_count+0x95/0xa0 [<ffffffff802470f8>] warn_slowpath_common+0x78/0xd0 [<ffffffff8024715f>] warn_slowpath_null+0xf/0x20 [<ffffffff8023fa05>] sub_preempt_count+0x95/0xa0 [<ffffffffa04ce4db>] nilfs_btnode_prepare_change_key+0x11b/0x190 [nilfs2] [<ffffffffa04d01ad>] nilfs_btree_assign_p+0x19d/0x1e0 [nilfs2] [<ffffffffa04d10ad>] nilfs_btree_assign+0xbd/0x130 [nilfs2] [<ffffffffa04cead7>] nilfs_bmap_assign+0x47/0x70 [nilfs2] [<ffffffffa04d9bc6>] nilfs_segctor_do_construct+0x956/0x20f0 [nilfs2] [<ffffffff805ac8e2>] ? _spin_unlock_irqrestore+0x12/0x40 [<ffffffff803c06e0>] ? __up_write+0xe0/0x150 [<ffffffff80262959>] ? up_write+0x9/0x10 [<ffffffffa04ce9f3>] ? nilfs_bmap_test_and_clear_dirty+0x43/0x60 [nilfs2] [<ffffffffa04cd627>] ? nilfs_mdt_fetch_dirty+0x27/0x60 [nilfs2] [<ffffffffa04db5fc>] nilfs_segctor_construct+0x8c/0xd0 [nilfs2] [<ffffffffa04dc3dc>] nilfs_segctor_thread+0x15c/0x3a0 [nilfs2] [<ffffffffa04dbe20>] ? nilfs_construction_timeout+0x0/0x10 [nilfs2] [<ffffffff80252633>] ? add_timer+0x13/0x20 [<ffffffff802370da>] ? __wake_up_common+0x5a/0x90 [<ffffffff8025e960>] ? autoremove_wake_function+0x0/0x40 [<ffffffffa04dc280>] ? nilfs_segctor_thread+0x0/0x3a0 [nilfs2] [<ffffffffa04dc280>] ? nilfs_segctor_thread+0x0/0x3a0 [nilfs2] [<ffffffff8025e556>] kthread+0x56/0x90 [<ffffffff8020cdea>] child_rip+0xa/0x20 [<ffffffff8025e500>] ? kthread+0x0/0x90 [<ffffffff8020cde0>] ? child_rip+0x0/0x20 This problem was caused due to a missing radix_tree_preload() call in the retry path of nilfs_btnode_prepare_change_key() function. Reported-by: Eric A <eric225125@xxxxxxxxx> Reported-by: Jerome Poulin <jeromepoulin@xxxxxxxxx> Signed-off-by: Ryusuke Konishi <konishi.ryusuke@xxxxxxxxxxxxx> Tested-by: Jerome Poulin <jeromepoulin@xxxxxxxxx> Cc: stable@xxxxxxxxxx commit 6faf17f6f1ffc586d16efc2f9fa2083a7785ee74 Author: Chris Wright <chrisw@xxxxxxxxxxxx> Date: Fri Aug 28 13:00:06 2009 -0700 PCI SR-IOV: correct broken resource alignment calculations An SR-IOV capable device includes an SR-IOV PCIe capability which describes the Virtual Function (VF) BAR requirements. A typical SR-IOV device can support multiple VFs whose BARs must be in a contiguous region, effectively an array of VF BARs. The BAR reports the size requirement for a single VF. We calculate the full range needed by simply multiplying the VF BAR size with the number of possible VFs and create a resource spanning the full range. This all seems sane enough except it artificially inflates the alignment requirement for the VF BAR. The VF BAR need only be aligned to the size of a single BAR not the contiguous range of VF BARs. This can cause us to fail to allocate resources for the BAR despite the fact that we actually have enough space. This patch adds a thin PCI specific layer over the generic resource_alignment() function which is aware of the special nature of VF BARs and does sorting and allocation based on the smaller alignment requirement. I recognize that while resource_alignment is generic, it's basically a PCI helper. An alternative to this patch is to add PCI VF BAR specific information to struct resource. I opted for the extra layer rather than adding such PCI specific information to struct resource. This does have the slight downside that we don't cache the BAR size and re-read for each alignment query (happens a small handful of times during boot for each VF BAR). Signed-off-by: Chris Wright <chrisw@xxxxxxxxxxxx> Cc: Ivan Kokshaysky <ink@xxxxxxxxxxxxxxxxxxxx> Cc: Linus Torvalds <torvalds@xxxxxxxxxxxxxxxxxxxx> Cc: Matthew Wilcox <matthew@xxxxxx> Cc: Yu Zhao <yu.zhao@xxxxxxxxx> Cc: stable@xxxxxxxxxx Signed-off-by: Jesse Barnes <jbarnes@xxxxxxxxxxxxxxxx> commit db54501900ad3665dd669f5708ecd04fc5aed495 Author: David Müller (ELSOFT AG) <d.mueller@xxxxxxxxx> Date: Sat Aug 29 08:54:45 2009 +0200 drm/i915: Improve CRTDDC mapping by using VBT info Use VBT information to determine which DDC bus to use for CRTDCC. Fall back to GPIOA if VBT info is not available. Signed-off-by: David Müller <d.mueller@xxxxxxxxx> Reviewed-by: Jesse Barnes <jbarnes@xxxxxxxxxxxxxxxx> Signed-off-by: Eric Anholt <eric@xxxxxxxxxx> Tested on: 855 (David), and 945GM, 965GM, GM45, and G45 (anholt) commit a09ba7faf75fa4b21980d81de8e5f3d5c0785ccf Author: Eric Anholt <eric@xxxxxxxxxx> Date: Sat Aug 29 12:49:51 2009 -0700 drm/i915: Fix CPU-spinning hangs related to fence usage by using an LRU. The lack of a proper LRU was partially worked around by taking the fence from the object containing the oldest seqno. But if there are multiple objects inactive, then they don't have seqnos and the first fence reg among them would be chosen. If you were trying to copy data between two mappings, this could result in each page fault stealing the fence from the other argument, and your application hanging. https://bugs.freedesktop.org/show_bug.cgi?id=23566 https://bugs.freedesktop.org/show_bug.cgi?id=23220 https://bugs.freedesktop.org/show_bug.cgi?id=23253 https://bugs.freedesktop.org/show_bug.cgi?id=23366 Cc: Stable Team <stable@xxxxxxxxxx> Signed-off-by: Eric Anholt <eric@xxxxxxxxxx> Reviewed-by: Jesse Barnes <jbarnes@xxxxxxxxxxxxxxxx> Reviewed-by: Chris Wilson <chris@xxxxxxxxxxxxxxxxxx> commit eced1dfcfcf6b0a35e925d73916a9d8e36ab5457 Author: Peter Zijlstra <peterz@xxxxxxxxxxxxx> Date: Fri Aug 28 17:10:47 2009 +0200 perf_counter: Fix /0 bug in swcounters We have a race in the swcounter stuff where we can start counting a counter that has never been enabled, this leads to a /0 situation. The below avoids the /0 but doesn't close the race, this would need a new counter state. The race is due to perf_swcounter_is_counting() which cannot discern between disabled due to scheduled out, and disabled for any other reason. Such a crash has been seen by Ingo: [ 967.092372] divide error: 0000 [#1] SMP [ 967.096499] last sysfs file: /sys/devices/system/cpu/cpu15/cache/index2/shared_cpu_map [ 967.104846] CPU 5 [ 967.106965] Modules linked in: [ 967.110169] Pid: 3351, comm: hackbench Not tainted 2.6.31-rc8-tip-01158-gd940a54-dirty #1568 X8DTN [ 967.119456] RIP: 0010:[<ffffffff810c0aba>] [<ffffffff810c0aba>] perf_swcounter_ctx_event+0x127/0x1af [ 967.129137] RSP: 0018:ffff8801a95abd70 EFLAGS: 00010046 [ 967.134699] RAX: 0000000000000002 RBX: ffff8801bd645c00 RCX: 0000000000000002 [ 967.142162] RDX: 0000000000000000 RSI: 0000000000000000 RDI: ffff8801bd645d40 [ 967.149584] RBP: ffff8801a95abdb0 R08: 0000000000000001 R09: ffff8801a95abe00 [ 967.157042] R10: 0000000000000037 R11: ffff8801aa1245f8 R12: ffff8801a95abe00 [ 967.164481] R13: ffff8801a95abe00 R14: ffff8801aa1c0e78 R15: 0000000000000001 [ 967.171953] FS: 0000000000000000(0000) GS:ffffc90000a00000(0063) knlGS:00000000f7f486c0 [ 967.180406] CS: 0010 DS: 002b ES: 002b CR0: 000000008005003b [ 967.186374] CR2: 000000004822c0ac CR3: 00000001b19a2000 CR4: 00000000000006e0 [ 967.193770] DR0: 0000000000000000 DR1: 0000000000000000 DR2: 0000000000000000 [ 967.201224] DR3: 0000000000000000 DR6: 00000000ffff0ff0 DR7: 0000000000000400 [ 967.208692] Process hackbench (pid: 3351, threadinfo ffff8801a95aa000, task ffff8801a96b0000) [ 967.217607] Stack: [ 967.219711] 0000000000000000 0000000000000037 0000000200000001 ffffc90000a1107c [ 967.227296] <0> ffff8801a95abe00 0000000000000001 0000000000000001 0000000000000037 [ 967.235333] <0> ffff8801a95abdf0 ffffffff810c0c20 0000000200a14f30 ffff8801a95abe40 [ 967.243532] Call Trace: [ 967.246103] [<ffffffff810c0c20>] do_perf_swcounter_event+0xde/0xec [ 967.252635] [<ffffffff810c0ca7>] perf_tpcounter_event+0x79/0x7b [ 967.258957] [<ffffffff81037f73>] ftrace_profile_sched_switch+0xc0/0xcb [ 967.265791] [<ffffffff8155f22d>] schedule+0x429/0x4c4 [ 967.271156] [<ffffffff8100c01e>] int_careful+0xd/0x14 Reported-by: Ingo Molnar <mingo@xxxxxxx> Signed-off-by: Peter Zijlstra <a.p.zijlstra@xxxxxxxxx> Cc: Paul Mackerras <paulus@xxxxxxxxx> LKML-Reference: <1251472247.17617.74.camel@laptop> Signed-off-by: Ingo Molnar <mingo@xxxxxxx> commit 0c7d400fafaeab6014504a6a6249f01bac7f7db4 Author: Herbert Xu <herbert@xxxxxxxxxxxxxxxxxxx> Date: Sat Aug 29 20:44:04 2009 +1000 crypto: skcipher - Fix skcipher_dequeue_givcrypt NULL test As struct skcipher_givcrypt_request includes struct crypto_request at a non-zero offset, testing for NULL after converting the pointer returned by crypto_dequeue_request does not work. This can result in IPsec crashes when the queue is depleted. This patch fixes it by doing the pointer conversion only when the return value is non-NULL. In particular, we create a new function __crypto_dequeue_request that does the pointer conversion. Reported-by: Brad Bosch <bradbosch@xxxxxxxxxxx> Signed-off-by: Herbert Xu <herbert@xxxxxxxxxxxxxxxxxxx> commit ab1f5e49f84e7072a0aade47cfeecef70be46c0f Merge: 3161e453e496eb5643faad30fff5a5ab183da0fe 11ebd1bf07fafde8d16562966c96b05b0d4ced9e Author: David S. Miller <davem@xxxxxxxxxxxxx> Date: Fri Aug 28 23:04:57 2009 -0700 Merge branch 'master' of git://git.kernel.org/pub/scm/linux/kernel/git/linville/wireless-2.6 commit adda766193ea1cf3137484a9521972d080d0b7af Merge: 8442edc18843491978f7820f87dbdf293461290e e29b3ee3b005897fbdcfdd4b3190776e38739d70 Author: Linus Torvalds <torvalds@xxxxxxxxxxxxxxxxxxxx> Date: Fri Aug 28 19:41:05 2009 -1000 Merge branch 'release' of git://git.kernel.org/pub/scm/linux/kernel/git/lenb/linux-acpi-2.6 * 'release' of git://git.kernel.org/pub/scm/linux/kernel/git/lenb/linux-acpi-2.6: ACPI: don't free non-existent backlight in acpi video module toshiba_acpi: return on a fail path ACPICA: Windows compatibility fix: same buffer/string store commit 8442edc18843491978f7820f87dbdf293461290e Merge: 825e1e23914b9c3dbc49ee8c5a1d1cb421c1270a 750a8870fe4016ef3091fc97e084d58c613c2cc7 Author: Linus Torvalds <torvalds@xxxxxxxxxxxxxxxxxxxx> Date: Fri Aug 28 19:39:44 2009 -1000 Merge branch 'for-linus' of git://git.infradead.org/users/eparis/notify * 'for-linus' of git://git.infradead.org/users/eparis/notify: inotify: update the group mask on mark addition inotify: fix length reporting and size checking inotify: do not send a block of zeros when no pathname is available commit 825e1e23914b9c3dbc49ee8c5a1d1cb421c1270a Author: Grant Grundler <grundler@xxxxxxxxxxxxxxxx> Date: Fri Aug 28 15:00:36 2009 -0400 parisc: fix warning in traps.c On Tue, Aug 18, 2009 at 01:45:17PM -0400, John David Anglin wrote: > CC arch/parisc/kernel/traps.o > arch/parisc/kernel/traps.c: In function 'handle_interruption': > arch/parisc/kernel/traps.c:535:18: warning: operation on 'regs->iasq[0]' > may be undefined Yes - Line 535 should use both [0] and [1]. Reported-by: John David Anglin <dave@xxxxxxxxxxxxxxxxxx> Signed-off-by: Grant Grundler <grundler@xxxxxxxxxxxxxxxx> Signed-off-by: Kyle McMartin <kyle@xxxxxxxxxxx> Signed-off-by: Linus Torvalds <torvalds@xxxxxxxxxxxxxxxxxxxx> commit 2574cc9f4ffc6c681c9177111357efe5b76f0e36 Author: Trond Myklebust <Trond.Myklebust@xxxxxxxxxx> Date: Fri Aug 28 11:12:12 2009 -0400 SUNRPC: Fix rpc_task_force_reencode This patch fixes the bug that was reported in http://bugzilla.kernel.org/show_bug.cgi?id=14053 If we're in the case where we need to force a reencode and then resend of the RPC request, due to xprt_transmit failing with a networking error, then we _must_ retransmit the entire request. Signed-off-by: Trond Myklebust <Trond.Myklebust@xxxxxxxxxx> Cc: stable@xxxxxxxxxx Signed-off-by: Linus Torvalds <torvalds@xxxxxxxxxxxxxxxxxxxx> commit ea6bff368548d79529421a9dc0710fc5330eb504 Author: Ingo Molnar <mingo@xxxxxxx> Date: Fri Aug 28 10:44:56 2009 +0200 modules: Fix build error in the !CONFIG_KALLSYMS case > James Bottomley (1): > module: workaround duplicate section names -tip testing found that this patch breaks the build on x86 if CONFIG_KALLSYMS is disabled: kernel/module.c: In function â??load_moduleâ??: kernel/module.c:2367: error: â??struct moduleâ?? has no member named â??sect_attrsâ?? distcc[8269] ERROR: compile kernel/module.c on ph/32 failed make[1]: *** [kernel/module.o] Error 1 make: *** [kernel] Error 2 make: *** Waiting for unfinished jobs.... Commit 1b364bf misses the fact that section attributes are only built and dealt with if kallsyms is enabled. The patch below fixes this. ( note, technically speaking this should depend on CONFIG_SYSFS as well but this patch is correct too and keeps the #ifdef less intrusive - in the KALLSYMS && !SYSFS case the code is a NOP. ) Signed-off-by: Ingo Molnar <mingo@xxxxxxx> [ Replaced patch with a slightly cleaner variation by James Bottomley ] Signed-off-by: Linus Torvalds <torvalds@xxxxxxxxxxxxxxxxxxxx> commit 4ed86af67e04cb5eb93faba589d102726207865a Merge: 326ba5010a5429a5a528b268b36a5900d4ab0eba 295594e9cf6ae2efd73371777aa8feba0f87f42f Author: Linus Torvalds <torvalds@xxxxxxxxxxxxxxxxxxxx> Date: Fri Aug 28 19:32:32 2009 -1000 Merge branch 'x86-fixes-for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/tip/linux-2.6-tip * 'x86-fixes-for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/tip/linux-2.6-tip: x86: Fix vSMP boot crash x86, xen: Initialize cx to suppress warning x86, xen: Suppress WP test on Xen commit e29b3ee3b005897fbdcfdd4b3190776e38739d70 Author: Keith Packard <keithp@xxxxxxxxxx> Date: Thu Aug 6 15:57:54 2009 -0700 ACPI: don't free non-existent backlight in acpi video module acpi_video_put_one_device was attempting to remove sysfs entries and unregister a backlight device without first checking that said backlight device structure had been created. Signed-off-by: Keith Packard <keithp@xxxxxxxxxx> Acked-by: Zhang Rui <rui.zhang@xxxxxxxxx> Signed-off-by: Andrew Morton <akpm@xxxxxxxxxxxxxxxxxxxx> Signed-off-by: Len Brown <len.brown@xxxxxxxxx> commit 82e7784f57a81faf673b09bc468e736d582fe754 Author: Jiri Slaby <jirislaby@xxxxxxxxx> Date: Thu Aug 6 15:57:51 2009 -0700 toshiba_acpi: return on a fail path Return from bt_rfkill_poll() when hci_get_radio_state() fails. value is invalid in that case and should not be assigned to the rfkill state. This also fixes a double unlock bug. Signed-off-by: Jiri Slaby <jirislaby@xxxxxxxxx> Cc: John W. Linville <linville@xxxxxxxxxxxxx> Cc: Johannes Berg <johannes@xxxxxxxxxxxxxxxx> Cc: Henrique de Moraes Holschuh <hmh@xxxxxxxxxx> Signed-off-by: Andrew Morton <akpm@xxxxxxxxxxxxxxxxxxxx> Signed-off-by: Len Brown <len.brown@xxxxxxxxx> commit b0de22bdffa2e9a8e280d769c59f866605268484 Author: Lin Ming <ming.m.lin@xxxxxxxxx> Date: Wed Aug 26 09:01:34 2009 +0800 ACPICA: Windows compatibility fix: same buffer/string store Fix a compatibility issue when the same buffer or string is stored to itself. This has been seen in the field. Previously, ACPICA would zero out the buffer/string. Now, the operation is treated as a NOP. http://bugzilla.acpica.org/show_bug.cgi?id=803 Reported-by: Rezwanul Kabir <Rezwanul_Kabir@xxxxxxxx> Signed-off-by: Lin Ming <ming.m.lin@xxxxxxxxx> Signed-off-by: Bob Moore <robert.moore@xxxxxxxxx> Signed-off-by: Len Brown <len.brown@xxxxxxxxx> commit 11ebd1bf07fafde8d16562966c96b05b0d4ced9e Author: Zhu Yi <yi.zhu@xxxxxxxxx> Date: Fri Aug 28 11:42:31 2009 +0800 ipw2200: firmware DMA loading rework Bartlomiej Zolnierkiewicz reported an atomic order-6 allocation failure for ipw2200 firmware loading in kernel 2.6.30. High order allocation is likely to fail and should always be avoided. The patch fixes this problem by replacing the original order-6 pci_alloc_consistent() with an array of order-1 pages from a pci pool. This utilized the ipw2200 DMA command blocks (up to 64 slots). The maximum firmware size support remains the same (64*8K). This patch fixes bug http://bugzilla.kernel.org/show_bug.cgi?id=14016 Cc: Andrew Morton <akpm@xxxxxxxxxxxxxxxxxxxx> Cc: Mel Gorman <mel@xxxxxxxxx> Signed-off-by: Zhu Yi <yi.zhu@xxxxxxxxx> Signed-off-by: John W. Linville <linville@xxxxxxxxxxxxx> commit 750a8870fe4016ef3091fc97e084d58c613c2cc7 Author: Eric Paris <eparis@xxxxxxxxxx> Date: Fri Aug 28 12:50:47 2009 -0400 inotify: update the group mask on mark addition Seperating the addition and update of marks in inotify resulted in a regression in that inotify never gets events. The inotify group mask is always 0. This mask should be updated any time a new mark is added. Signed-off-by: Eric Paris <eparis@xxxxxxxxxx> commit 83cb10f0ef3c96162be92339ccf8c0c9c9f2d13e Author: Eric Paris <eparis@xxxxxxxxxx> Date: Fri Aug 28 11:57:55 2009 -0400 inotify: fix length reporting and size checking 0db501bd0610ee0c0 introduced a regresion in that it now sends a nul terminator but the length accounting when checking for space or reporting to userspace did not take this into account. This corrects all of the rounding logic. Signed-off-by: Eric Paris <eparis@xxxxxxxxxx> commit b962e7312ae87006aed6f68ceee94bdf8db08338 Author: Brian Rogers <brian@xxxxxxxx> Date: Fri Aug 28 10:00:05 2009 -0400 inotify: do not send a block of zeros when no pathname is available When an event has no pathname, there's no need to pad it with a null byte and therefore generate an inotify_event sized block of zeros. This fixes a regression introduced by commit 0db501bd0610ee0c0aca84d927f90bcccd09e2bd where my system wouldn't finish booting because some process was being confused by this. Signed-off-by: Brian Rogers <brian@xxxxxxxx> Signed-off-by: Eric Paris <eparis@xxxxxxxxxx> commit 6bb56347f5162d1a7cb1dc461023360781ecd4c0 Author: Ingo Molnar <mingo@xxxxxxx> Date: Fri Aug 28 13:44:53 2009 +0200 perf_counters: Increase paranoia level Per-cpu counters are an ASLR information leak as they show the execution other tasks do. Increase the paranoia level to 1, which disallows per-cpu counters. (they still allow counting/profiling of own tasks - and admin can profile everything.) Acked-by: Peter Zijlstra <a.p.zijlstra@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 a1b08e75dff3dc18a88444803753e667bb1d126e Author: Tao Ma <tao.ma@xxxxxxxxxx> Date: Thu Aug 27 14:46:56 2009 +0800 ocfs2: invalidate dentry if its dentry_lock isn't initialized. In commit a5a0a630922a2f6a774b6dac19f70cb5abd86bb0, when ocfs2_attch_dentry_lock fails, we call an extra iput and reset dentry->d_fsdata to NULL. This resolve a bug, but it isn't completed and the dentry is still there. When we want to use it again, ocfs2_dentry_revalidate doesn't catch it and return true. That make future ocfs2_dentry_lock panic out. One bug is http://oss.oracle.com/bugzilla/show_bug.cgi?id=1162. The resolution is to add a check for dentry->d_fsdata in revalidate process and return false if dentry->d_fsdata is NULL, so that a new ocfs2_lookup will be called again. Signed-off-by: Tao Ma <tao.ma@xxxxxxxxxx> Signed-off-by: Joel Becker <joel.becker@xxxxxxxxxx> commit 326ba5010a5429a5a528b268b36a5900d4ab0eba Author: Linus Torvalds <torvalds@xxxxxxxxxxxxxxxxxxxx> Date: Thu Aug 27 17:59:04 2009 -0700 Linux 2.6.31-rc8 commit 1b364bf438cf337a3818aee77d68c0713f3e1fc4 Author: James Bottomley <James.Bottomley@xxxxxxxxxxxxxxxxxxxxx> Date: Wed Aug 26 22:04:12 2009 +0930 module: workaround duplicate section names The root cause is a duplicate section name (.text); is this legal? [ Amerigo Wang: "AFAIK, yes." ] However, there's a problem with commit 6d76013381ed28979cd122eb4b249a88b5e384fa in that if you fail to allocate a mod->sect_attrs (in this case it's null because of the duplication), it still gets used without checking in add_notes_attrs() This should fix it [ This patch leaves other problems, particularly the sections directory, but recent parisc toolchains seem to produce these modules and this prevents a crash and is a minimal change -- RR ] Signed-off-by: James Bottomley <James.Bottomley@xxxxxxx> Signed-off-by: Rusty Russell <rusty@xxxxxxxxxxxxxxx> Tested-by: Helge Deller <deller@xxxxxx> Signed-off-by: Linus Torvalds <torvalds@xxxxxxxxxxxxxxxxxxxx> commit 7d1d16e416e61aeef8655d542f8e4a4fc6e808e4 Author: Rusty Russell <rusty@xxxxxxxxxxxxxxx> Date: Wed Aug 26 22:02:54 2009 +0930 module: fix BUG_ON() for powerpc (and other function descriptor archs) The rarely-used symbol_put_addr() needs to use dereference_function_descriptor on powerpc. Reported-by: Paul Mackerras <paulus@xxxxxxxxx> Signed-off-by: Rusty Russell <rusty@xxxxxxxxxxxxxxxx Signed-off-by: Linus Torvalds <torvalds@xxxxxxxxxxxxxxxxxxxx> commit 0a80fb10239b04c45e5e80aad8d4b2ca5ac407b2 Author: Jeremy Fitzhardinge <jeremy@xxxxxxxx> Date: Thu Aug 27 12:22:43 2009 -0700 xenfb: connect to backend before registering fb As soon as the framebuffer is registered, our methods may be called by the kernel. This leads to a crash as xenfb_refresh() gets called before we have the irq. Connect to the backend before registering our framebuffer with the kernel. [ Fixes bug http://bugzilla.kernel.org/show_bug.cgi?id=14059 ] Signed-off-by: Michal Schmidt <mschmidt@xxxxxxxxxx> Signed-off-by: Jeremy Fitzhardinge <jeremy.fitzhardinge@xxxxxxxxxx> Signed-off-by: Linus Torvalds <torvalds@xxxxxxxxxxxxxxxxxxxx> commit 9c504cadc443a3d002fa581ec5109c0ef02d7b14 Merge: 4f8ee2c9cc0e885d2bb50ef26db66150ab25213e 0db501bd0610ee0c0aca84d927f90bcccd09e2bd Author: Linus Torvalds <torvalds@xxxxxxxxxxxxxxxxxxxx> Date: Thu Aug 27 12:26:02 2009 -0700 Merge branch 'for-linus' of git://git.infradead.org/users/eparis/notify * 'for-linus' of git://git.infradead.org/users/eparis/notify: inotify: Ensure we alwasy write the terminating NULL. inotify: fix locking around inotify watching in the idr inotify: do not BUG on idr entries at inotify destruction inotify: seperate new watch creation updating existing watches commit 4f8ee2c9cc0e885d2bb50ef26db66150ab25213e Author: Benjamin Herrenschmidt <benh@xxxxxxxxxxxxxxxxxxx> Date: Thu Aug 27 17:20:30 2009 +1000 lmb: Remove __init from lmb_end_of_DRAM() We call lmb_end_of_DRAM() to test whether a DMA mask is ok on a machine without IOMMU, but this function is marked as __init. I don't think there's a clean way to get the top of RAM max_pfn doesn't appear to include highmem or I missed (or we have a bug :-) so for now, let's just avoid having a broken 2.6.31 by making this function non-__init and we can revisit later. Signed-off-by: Benjamin Herrenschmidt <benh@xxxxxxxxxxxxxxxxxxx> Signed-off-by: Linus Torvalds <torvalds@xxxxxxxxxxxxxxxxxxxx> commit cf481442f2e086316ed8a1b3046f00ad23632ac4 Merge: 788d908f2879a17e5f80924f3da2e23f1034482d 7815f4be4026b6c5027058102ae67a4b9feffa5f Author: Linus Torvalds <torvalds@xxxxxxxxxxxxxxxxxxxx> Date: Thu Aug 27 12:24:08 2009 -0700 Merge branch 'for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/ericvh/v9fs * 'for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/ericvh/v9fs: 9p: update documentation pointers 9p: remove unnecessary v9fses->options which duplicates the mount string net/9p: insulate the client against an invalid error code sent by a 9p server 9p: Add missing cast for the error return value in v9fs_get_inode 9p: Remove redundant inode uid/gid assignment 9p: Fix possible regressions when ->get_sb fails. 9p: Fix v9fs show_options 9p: Fix possible memleak in v9fs_inode_from fid. 9p: minor comment fixes 9p: Fix possible inode leak in v9fs_get_inode. 9p: Check for error in return value of v9fs_fid_add commit 788d908f2879a17e5f80924f3da2e23f1034482d Author: Julien TINNES <julien@xxxxxxx> Date: Thu Aug 27 15:26:58 2009 +0200 ipv4: make ip_append_data() handle NULL routing table Add a check in ip_append_data() for NULL *rtp to prevent future bugs in callers from being exploitable. Signed-off-by: Julien Tinnes <julien@xxxxxxx> Signed-off-by: Tavis Ormandy <taviso@xxxxxxxxxxxxxxxx> Acked-by: David S. Miller <davem@xxxxxxxxxxxxx> Signed-off-by: Linus Torvalds <torvalds@xxxxxxxxxxxxxxxxxxxx> commit 9886e836a6a5dbd273dc55b17e713f0a188d137f Author: David Howells <dhowells@xxxxxxxxxx> Date: Thu Aug 27 13:09:06 2009 +0100 AFS: Stop readlink() on AFS crashing due to NULL 'file' ptr kAFS crashes when asked to read a symbolic link because page_getlink() passes a NULL file pointer to read_mapping_page(), but afs_readpage() expects a file pointer from which to extract a key. Modify afs_readpage() to request the appropriate key from the calling process's keyrings if a file struct is not supplied with one attached. Signed-off-by: David Howells <dhowells@xxxxxxxxxx> Acked-by: Anton Blanchard <anton@xxxxxxxxx> Signed-off-by: Linus Torvalds <torvalds@xxxxxxxxxxxxxxxxxxxx> commit 0db501bd0610ee0c0aca84d927f90bcccd09e2bd Author: Eric W. Biederman <ebiederm@xxxxxxxxxxxx> Date: Thu Aug 27 03:20:04 2009 -0700 inotify: Ensure we alwasy write the terminating NULL. Before the rewrite copy_event_to_user always wrote a terqminating '\0' byte to user space after the filename. Since the rewrite that terminating byte was skipped if your filename is exactly a multiple of event_size. Ouch! So add one byte to name_size before we round up and use clear_user to set userspace to zero like /dev/zero does instead of copying the strange nul_inotify_event. I can't quite convince myself len_to_zero will never exceed 16 and even if it doesn't clear_user should be more efficient and a more accurate reflection of what the code is trying to do. Signed-off-by: Eric W. Biederman <ebiederm@xxxxxxxxxxxxxxxxxx> Signed-off-by: Eric Paris <eparis@xxxxxxxxxx> commit dead537dd8a1c9495322c1d6f7c780697f474af0 Author: Eric Paris <eparis@xxxxxxxxxx> Date: Mon Aug 24 16:03:35 2009 -0400 inotify: fix locking around inotify watching in the idr The are races around the idr storage of inotify watches. It's possible that a watch could be found from sys_inotify_rm_watch() in the idr, but it could be removed from the idr before that code does it's removal. Move the locking and the refcnt'ing so that these have to happen atomically. Signed-off-by: Eric Paris <eparis@xxxxxxxxxx> commit cf4374267fbe966e8e4e7db68f5dc7b267439780 Author: Eric Paris <eparis@xxxxxxxxxx> Date: Mon Aug 24 16:03:35 2009 -0400 inotify: do not BUG on idr entries at inotify destruction If an inotify watch is left in the idr when an fsnotify group is destroyed this will lead to a BUG. This is not a dangerous situation and really indicates a programming bug and leak of memory. This patch changes it to use a WARN and a printk rather than killing people's boxes. Signed-off-by: Eric Paris <eparis@xxxxxxxxxx> commit 52cef7555adf5ca09b3b7283097466759120d901 Author: Eric Paris <eparis@xxxxxxxxxx> Date: Mon Aug 24 16:03:35 2009 -0400 inotify: seperate new watch creation updating existing watches There is nothing known wrong with the inotify watch addition/modification but this patch seperates the two code paths to make them each easy to verify as correct. Signed-off-by: Eric Paris <eparis@xxxxxxxxxx> commit 1e23502cc57cef33455ac7cb9111e3c6d991a894 Merge: e99b1f22f91cc5e2d06699b3d8958a0ff6cb24d9 3161e453e496eb5643faad30fff5a5ab183da0fe Author: Linus Torvalds <torvalds@xxxxxxxxxxxxxxxxxxxx> Date: Wed Aug 26 20:54:48 2009 -0700 Merge git://git.kernel.org/pub/scm/linux/kernel/git/davem/net-2.6 * git://git.kernel.org/pub/scm/linux/kernel/git/davem/net-2.6: virtio: net refill on out-of-memory smc91x: fix compilation on SMP commit e99b1f22f91cc5e2d06699b3d8958a0ff6cb24d9 Merge: 5311034ddda7aad48934520d3536b9d0e4502672 b080f187adb79bbcbe28814b07cbc1ead34c469a Author: Linus Torvalds <torvalds@xxxxxxxxxxxxxxxxxxxx> Date: Wed Aug 26 20:39:31 2009 -0700 Merge branch 'merge' of git://git.kernel.org/pub/scm/linux/kernel/git/benh/powerpc * 'merge' of git://git.kernel.org/pub/scm/linux/kernel/git/benh/powerpc: powerpc/ps3: Update ps3_defconfig powerpc/ps3: Add missing check for PS3 to rtc-ps3 platform device registration commit b080f187adb79bbcbe28814b07cbc1ead34c469a Author: Geoff Levand <geoffrey.levand@xxxxxxxxxxx> Date: Tue Aug 25 07:53:35 2009 +0000 powerpc/ps3: Update ps3_defconfig Update ps3_defconfig. o Refresh for 2.6.31. o Remove MTD support. o Add more HID drivers. Signed-off-by: Geoff Levand <geoffrey.levand@xxxxxxxxxxx> Signed-off-by: Benjamin Herrenschmidt <benh@xxxxxxxxxxxxxxxxxxx> commit 7b6a09f3d6aedeaac923824af2a5df30300b56e9 Author: Geert Uytterhoeven <Geert.Uytterhoeven@xxxxxxxxxxx> Date: Sun Aug 23 22:54:32 2009 +0000 powerpc/ps3: Add missing check for PS3 to rtc-ps3 platform device registration On non-PS3, we get: | kernel BUG at drivers/rtc/rtc-ps3.c:36! because the rtc-ps3 platform device is registered unconditionally in a kernel with builtin support for PS3. Reported-by: Sachin Sant <sachinp@xxxxxxxxxx> Signed-off-by: Geert Uytterhoeven <Geert.Uytterhoeven@xxxxxxxxxxx> Acked-by: Geoff Levand <geoffrey.levand@xxxxxxxxxxx> Signed-off-by: Benjamin Herrenschmidt <benh@xxxxxxxxxxxxxxxxxxx> commit 5311034ddda7aad48934520d3536b9d0e4502672 Merge: 533995ed85730a1f5f385b9ecb2d2b4b731d27b4 53a7197aff20e341487fca8575275056fe1c63e5 Author: Linus Torvalds <torvalds@xxxxxxxxxxxxxxxxxxxx> Date: Wed Aug 26 20:17:07 2009 -0700 Merge branch 'for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/jmorris/security-testing-2.6 * 'for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/jmorris/security-testing-2.6: IMA: iint put in ima_counts_get and put commit 533995ed85730a1f5f385b9ecb2d2b4b731d27b4 Merge: cc674c81f01a6151ca00c617e5efa0812ee5fdbe 9848484fad9ddeb18f18f02f9ecdcd330ac9a216 Author: Linus Torvalds <torvalds@xxxxxxxxxxxxxxxxxxxx> Date: Wed Aug 26 20:16:38 2009 -0700 Merge branch 'for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/geert/linux-m68k * 'for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/geert/linux-m68k: m68k,m68knommu: Wire up rt_tgsigqueueinfo and perf_counter_open m68k: Fix redefinition of pgprot_noncached arch/m68k/include/asm/motorola_pgalloc.h: fix kunmap arg m68k: cnt reaches -1, not 0 m68k: count can reach 51, not 50 commit cc674c81f01a6151ca00c617e5efa0812ee5fdbe Author: Thadeu Lima de Souza Cascardo <cascardo@xxxxxxxxxxxxxx> Date: Wed Aug 26 14:29:32 2009 -0700 leds: after setting inverted attribute, we must update the LED If we change the inverted attribute to another value, the LED will not be inverted until we change the GPIO state. Signed-off-by: Thadeu Lima de Souza Cascardo <cascardo@xxxxxxxxxxxxxx> Cc: Samuel R. C. Vale <srcvale@xxxxxxxxxxxxxx> Cc: Richard Purdie <rpurdie@xxxxxxxxx> Signed-off-by: Andrew Morton <akpm@xxxxxxxxxxxxxxxxxxxx> Signed-off-by: Linus Torvalds <torvalds@xxxxxxxxxxxxxxxxxxxx> commit 48cccd26f36511ddb6aeca07485ecf2829683907 Author: Thadeu Lima de Souza Cascardo <cascardo@xxxxxxxxxxxxxx> Date: Wed Aug 26 14:29:31 2009 -0700 leds: fix multiple requests and releases of IRQ for GPIO LED Trigger When setting the same GPIO number, multiple IRQ shared requests will be done without freing the previous request. It will also try to free a failed request or an already freed IRQ if 0 was written to the gpio file. All these oops and leaks were fixed with the following solution: keep the previous allocated GPIO (if any) still allocated in case the new request fails. The alternative solution would desallocate the previous allocated GPIO and set gpio as 0. Signed-off-by: Thadeu Lima de Souza Cascardo <cascardo@xxxxxxxxxxxxxx> Signed-off-by: Samuel R. C. Vale <srcvale@xxxxxxxxxxxxxx> Cc: Richard Purdie <rpurdie@xxxxxxxxx> Signed-off-by: Andrew Morton <akpm@xxxxxxxxxxxxxxxxxxxx> Signed-off-by: Linus Torvalds <torvalds@xxxxxxxxxxxxxxxxxxxx> commit bdf57de4e6abc389cc3f3bd94ec15cce74cf6f4b Author: Frans Pop <elendil@xxxxxxxxx> Date: Wed Aug 26 14:29:30 2009 -0700 acpi processor: remove superfluous warning message This failure is very common on many platforms. Handling it in the ACPI processor driver is enough, and we don't need a warning message unless CONFIG_ACPI_DEBUG is set. Based on a patch from Zhang Rui. Addresses http://bugzilla.kernel.org/show_bug.cgi?id=13389 Signed-off-by: Frans Pop <elendil@xxxxxxxxx> Acked-by: Zhang Rui <rui.zhang@xxxxxxxxx> Cc: Len Brown <lenb@xxxxxxxxxx> Cc: "Rafael J. Wysocki" <rjw@xxxxxxx> Signed-off-by: Andrew Morton <akpm@xxxxxxxxxxxxxxxxxxxx> Signed-off-by: Linus Torvalds <torvalds@xxxxxxxxxxxxxxxxxxxx> commit 2a908002c7b1b666616103e9df2419b38d7c6f1f Author: Frans Pop <elendil@xxxxxxxxx> Date: Wed Aug 26 14:29:29 2009 -0700 ACPI processor: force throttling state when BIOS returns incorrect value If the BIOS reports an invalid throttling state (which seems to be fairly common after system boot), a reset is done to state T0. Because of a check in acpi_processor_get_throttling_ptc(), the reset never actually gets executed, which results in the error reoccurring on every access of for example /proc/acpi/processor/CPU0/throttling. Add a 'force' option to acpi_processor_set_throttling() to ensure the reset really takes effect. Addresses http://bugzilla.kernel.org/show_bug.cgi?id=13389 This patch, together with the next one, fixes a regression introduced in 2.6.30, listed on the regression list. They have been available for 2.5 months now in bugzilla, but have not been picked up, despite various reminders and without any reason given. Google shows that numerous people are hitting this issue. The issue is in itself relatively minor, but the bug in the code is clear. The patches have been in all my kernels and today testing has shown that throttling works correctly with the patches applied when the system overheats (http://bugzilla.kernel.org/show_bug.cgi?id=13918#c14). Signed-off-by: Frans Pop <elendil@xxxxxxxxx> Acked-by: Zhang Rui <rui.zhang@xxxxxxxxx> Cc: Len Brown <lenb@xxxxxxxxxx> Cc: "Rafael J. Wysocki" <rjw@xxxxxxx> Cc: Rusty Russell <rusty@xxxxxxxxxxxxxxx> Signed-off-by: Andrew Morton <akpm@xxxxxxxxxxxxxxxxxxxx> Signed-off-by: Linus Torvalds <torvalds@xxxxxxxxxxxxxxxxxxxx> commit f3d83e2415445e5b157bef404d38674e9e8de169 Author: Costantino Leandro <lcostantino@xxxxxxxxx> Date: Wed Aug 26 14:29:28 2009 -0700 wmi: fix kernel panic when stack protection enabled. Summary: Kernel panic arise when stack protection is enabled, since strncat will add a null terminating byte '\0'; So in functions like this one (wmi_query_block): char wc[4]="WC"; .... strncat(method, block->object_id, 2); ... the length of wc should be n+1 (wc[5]) or stack protection fault will arise. This is not noticeable when stack protection is disabled,but , isn't good either. Config used: [CONFIG_CC_STACKPROTECTOR_ALL=y, CONFIG_CC_STACKPROTECTOR=y] Panic Trace ------------ .... stack-protector: kernel stack corrupted in : fa7b182c 2.6.30-rc8-obelisco-generic call_trace: [<c04a6c40>] ? panic+0x45/0xd9 [<c012925d>] ? __stack_chk_fail+0x1c/0x40 [<fa7b182c>] ? wmi_query_block+0x15a/0x162 [wmi] [<fa7b182c>] ? wmi_query_block+0x15a/0x162 [wmi] [<fa7e7000>] ? acer_wmi_init+0x00/0x61a [acer_wmi] [<fa7e7135>] ? acer_wmi_init+0x135/0x61a [acer_wmi] [<c0101159>] ? do_one_initcall+0x50+0x126 Addresses http://bugzilla.kernel.org/show_bug.cgi?id=13514 Signed-off-by: Costantino Leandro <lcostantino@xxxxxxxxx> Signed-off-by: Carlos Corbacho <carlos@xxxxxxxxxxxxxxxxxxx> Cc: Len Brown <len.brown@xxxxxxxxx> Cc: Bjorn Helgaas <bjorn.helgaas@xxxxxx> Cc: "Rafael J. Wysocki" <rjw@xxxxxxx> Cc: <stable@xxxxxxxxxx> Signed-off-by: Andrew Morton <akpm@xxxxxxxxxxxxxxxxxxxx> Signed-off-by: Linus Torvalds <torvalds@xxxxxxxxxxxxxxxxxxxx> commit ce8442b55135c679809311997d1446f3bbc05de2 Author: Yinghai Lu <yinghai@xxxxxxxxxx> Date: Wed Aug 26 14:29:26 2009 -0700 acpi: don't call acpi_processor_init if acpi is disabled Jens reported early_ioremap messages with old ASUS board... > [ 1.507461] pci 0000:00:09.0: Firmware left e100 interrupts enabled; disabling > [ 1.532778] early_ioremap(3fffd080, 0000005c) [0] => Pid: 1, comm: swapper Not tainted 2.6.31-rc4 #36 > [ 1.561007] Call Trace: > [ 1.568638] [<c136e48b>] ? printk+0x18/0x1d > [ 1.581734] [<c15513ff>] __early_ioremap+0x74/0x1e9 > [ 1.596898] [<c15515aa>] early_ioremap+0x1a/0x1c > [ 1.611270] [<c154a187>] __acpi_map_table+0x18/0x1a > [ 1.626451] [<c135a7f8>] acpi_os_map_memory+0x1d/0x25 > [ 1.642129] [<c119459c>] acpi_tb_verify_table+0x20/0x49 > [ 1.658321] [<c1193e50>] acpi_get_table_with_size+0x53/0xa1 > [ 1.675553] [<c1193eae>] acpi_get_table+0x10/0x15 > [ 1.690192] [<c155cc19>] acpi_processor_init+0x23/0xab > [ 1.706126] [<c1001043>] do_one_initcall+0x33/0x180 > [ 1.721279] [<c155cbf6>] ? acpi_processor_init+0x0/0xab > [ 1.737479] [<c106893a>] ? register_irq_proc+0xaa/0xc0 > [ 1.753411] [<c10689b7>] ? init_irq_proc+0x67/0x80 > [ 1.768316] [<c15405e7>] kernel_init+0x120/0x176 > [ 1.782678] [<c15404c7>] ? kernel_init+0x0/0x176 > [ 1.797062] [<c10038b7>] kernel_thread_helper+0x7/0x10 > [ 1.812984] 00000080 + ffe00000 that is rather later. acpi_gbl_permanent_mmap should be set in acpi_early_init() if acpi is not disabled and we have > [ 0.000000] ASUS P2B-DS detected: force use of acpi=ht just don't load acpi_processor_init... Reported-and-tested-by: Jens Rosenboom <jens@xxxxxxxxxxxxxxx> Signed-off-by: Yinghai Lu <yinghai@xxxxxxxxxx> Acked-by: Ingo Molnar <mingo@xxxxxxx> Cc: Len Brown <lenb@xxxxxxxxxx> Signed-off-by: Andrew Morton <akpm@xxxxxxxxxxxxxxxxxxxx> Signed-off-by: Linus Torvalds <torvalds@xxxxxxxxxxxxxxxxxxxx> commit 0d288162f2afc42b37aab656f4622c076babbca3 Author: Michael Brunner <mibru@xxxxxx> Date: Wed Aug 26 14:29:25 2009 -0700 thermal_sys: check get_temp return value The return value of the get_temp function is not checked when doing a thermal zone update. This may lead to a critical shutdown if get_temp fails and the content of the temp variable is incorrectly set higher than the critical trip point. This has been observed on a system with incorrect ACPI implementation where the corresponding methods were not serialized and therefore sometimes triggered ACPI errors (AE_ALREADY_EXISTS). The following critical shutdowns indicated a temperature of 2097 C, which was obviously wrong. The patch adds a return value check that jumps over all trip point evaluations printing a warning if get_temp fails. The trip points are evaluated again on the next polling interval with successful get_temp execution. Signed-off-by: Michael Brunner <mibru@xxxxxx> Acked-by: Zhang Rui <rui.zhang@xxxxxxxxx> Cc: Len Brown <lenb@xxxxxxxxxx> Signed-off-by: Andrew Morton <akpm@xxxxxxxxxxxxxxxxxxxx> Signed-off-by: Linus Torvalds <torvalds@xxxxxxxxxxxxxxxxxxxx> commit 4ab6c08336535f8c8e42cf45d7adeda882eff06e Author: Oleg Nesterov <oleg@xxxxxxxxxx> Date: Wed Aug 26 14:29:24 2009 -0700 clone(): fix race between copy_process() and de_thread() Spotted by Hiroshi Shimamoto who also provided the test-case below. copy_process() uses signal->count as a reference counter, but it is not. This test case #include <sys/types.h> #include <sys/wait.h> #include <unistd.h> #include <stdio.h> #include <errno.h> #include <pthread.h> void *null_thread(void *p) { for (;;) sleep(1); return NULL; } void *exec_thread(void *p) { execl("/bin/true", "/bin/true", NULL); return null_thread(p); } int main(int argc, char **argv) { for (;;) { pid_t pid; int ret, status; pid = fork(); if (pid < 0) break; if (!pid) { pthread_t tid; pthread_create(&tid, NULL, exec_thread, NULL); for (;;) pthread_create(&tid, NULL, null_thread, NULL); } do { ret = waitpid(pid, &status, 0); } while (ret == -1 && errno == EINTR); } return 0; } quickly creates an unkillable task. If copy_process(CLONE_THREAD) races with de_thread() copy_signal()->atomic(signal->count) breaks the signal->notify_count logic, and the execing thread can hang forever in kernel space. Change copy_process() to increment count/live only when we know for sure we can't fail. In this case the forked thread will take care of its reference to signal correctly. If copy_process() fails, check CLONE_THREAD flag. If it it set - do nothing, the counters were not changed and current belongs to the same thread group. If it is not set, ->signal must be released in any case (and ->count must be == 1), the forked child is the only thread in the thread group. We need more cleanups here, in particular signal->count should not be used by de_thread/__exit_signal at all. This patch only fixes the bug. Reported-by: Hiroshi Shimamoto <h-shimamoto@xxxxxxxxxxxxx> Tested-by: Hiroshi Shimamoto <h-shimamoto@xxxxxxxxxxxxx> Signed-off-by: Oleg Nesterov <oleg@xxxxxxxxxx> Acked-by: Roland McGrath <roland@xxxxxxxxxx> Cc: KAMEZAWA Hiroyuki <kamezawa.hiroyu@xxxxxxxxxxxxxx> Cc: <stable@xxxxxxxxxx> Signed-off-by: Andrew Morton <akpm@xxxxxxxxxxxxxxxxxxxx> Signed-off-by: Linus Torvalds <torvalds@xxxxxxxxxxxxxxxxxxxx> commit 03ef83af528899aa339e42d8024b37e2f434fba4 Author: Minchan Kim <minchan.kim@xxxxxxxxx> Date: Wed Aug 26 14:29:23 2009 -0700 mm: fix for infinite churning of mlocked pages An mlocked page might lose the isolatation race. This causes the page to clear PG_mlocked while it remains in a VM_LOCKED vma. This means it can be put onto the [in]active list. We can rescue it by using try_to_unmap() in shrink_page_list(). But now, As Wu Fengguang pointed out, vmscan has a bug. If the page has PG_referenced, it can't reach try_to_unmap() in shrink_page_list() but is put into the active list. If the page is referenced repeatedly, it can remain on the [in]active list without being moving to the unevictable list. This patch fixes it. Reported-by: Wu Fengguang <fengguang.wu@xxxxxxxxx> Signed-off-by: Minchan Kim <minchan.kim@xxxxxxxxx> Reviewed-by: KOSAKI Motohiro <<kosaki.motohiro@xxxxxxxxxxxxxx> Cc: Lee Schermerhorn <lee.schermerhorn@xxxxxx> Acked-by: Rik van Riel <riel@xxxxxxxxxx> Signed-off-by: Andrew Morton <akpm@xxxxxxxxxxxxxxxxxxxx> Signed-off-by: Linus Torvalds <torvalds@xxxxxxxxxxxxxxxxxxxx> commit b62e408c05228f40e69bb38a48db8961cac6cd23 Author: David Rientjes <rientjes@xxxxxxxxxx> Date: Wed Aug 26 14:29:22 2009 -0700 flex_array: convert element_nr formals to unsigned It's problematic to allow signed element_nr's or total's to be passed as part of the flex array API. flex_array_alloc() allows total_nr_elements to be set to a negative quantity, which is obviously erroneous. flex_array_get() and flex_array_put() allows negative array indices in dereferencing an array part, which could address memory mapped before struct flex_array. The fix is to convert all existing element_nr formals to be qualified as unsigned. Existing checks to compare it to total_nr_elements or the max array size based on element_size need not be changed. Signed-off-by: David Rientjes <rientjes@xxxxxxxxxx> Cc: Dave Hansen <dave@xxxxxxxxxxxxxxxxxx> Signed-off-by: Andrew Morton <akpm@xxxxxxxxxxxxxxxxxxxx> Signed-off-by: Linus Torvalds <torvalds@xxxxxxxxxxxxxxxxxxxx> commit 8e7ee27095aee87b5db1b0061e2ceea5878a1bbd Author: David Rientjes <rientjes@xxxxxxxxxx> Date: Wed Aug 26 14:29:21 2009 -0700 flex_array: declare parts member to have incomplete type The `parts' member of struct flex_array should evaluate to an incomplete type so that sizeof() cannot be used and C99 does not require the zero-length specification. Signed-off-by: David Rientjes <rientjes@xxxxxxxxxx> Acked-by: Dave Hansen <dave@xxxxxxxxxxxxxxxxxx> Signed-off-by: Andrew Morton <akpm@xxxxxxxxxxxxxxxxxxxx> Signed-off-by: Linus Torvalds <torvalds@xxxxxxxxxxxxxxxxxxxx> commit 105b6e8a74cac11cdf70903877593c7f202075cc Author: David Rientjes <rientjes@xxxxxxxxxx> Date: Wed Aug 26 14:29:20 2009 -0700 flex_array: fix flex_array_free_parts comment flex_array_free_parts() does not take `src' or `element_nr' formals, so remove their respective comments. Signed-off-by: David Rientjes <rientjes@xxxxxxxxxx> Acked-by: Dave Hansen <dave@xxxxxxxxxxxxxxxxxx> Signed-off-by: Andrew Morton <akpm@xxxxxxxxxxxxxxxxxxxx> Signed-off-by: Linus Torvalds <torvalds@xxxxxxxxxxxxxxxxxxxx> commit a30b595d2ca6d39e784a1bed5f2b35f3d7a03af7 Author: David Rientjes <rientjes@xxxxxxxxxx> Date: Wed Aug 26 14:29:20 2009 -0700 flex_array: fix get function for elements in base starting at non-zero If all array elements fit into the base structure and data is copied using flex_array_put() starting at a non-zero index, flex_array_get() will fail to return the data. This fixes the bug by only checking for NULL parts when all elements do not fit in the base structure when flex_array_get() is used. Otherwise, fa_element_to_part_nr() will always be 0 since there are no parts structures needed and such element may never have been put. Thus, it will remain NULL due to the kzalloc() of the base. Additionally, flex_array_put() now only checks for a NULL part when all elements do not fit in the base structure. This is otherwise unnecessary since the base structure is guaranteed to exist (or we would have already hit a NULL pointer). Signed-off-by: David Rientjes <rientjes@xxxxxxxxxx> Acked-by: Dave Hansen <dave@xxxxxxxxxxxxxxxxxx> Signed-off-by: Andrew Morton <akpm@xxxxxxxxxxxxxxxxxxxx> Signed-off-by: Linus Torvalds <torvalds@xxxxxxxxxxxxxxxxxxxx> commit 054b2b13ccba4876a1ce98a7ede7dab7d6893d01 Author: Joonwoo Park <joonwpark81@xxxxxxxxx> Date: Wed Aug 26 14:29:18 2009 -0700 pps: fix incorrect verdict check Fix incorrect verdict check and returns error if device_create failed, otherwise driver triggers kernel oops. Signed-off-by: Joonwoo Park<joonwpark81@xxxxxxxxx> Cc: Rodolfo Giometti <giometti@xxxxxxxxxxxx> Signed-off-by: Andrew Morton <akpm@xxxxxxxxxxxxxxxxxxxx> Signed-off-by: Linus Torvalds <torvalds@xxxxxxxxxxxxxxxxxxxx> commit 53a7197aff20e341487fca8575275056fe1c63e5 Author: Eric Paris <eparis@xxxxxxxxxx> Date: Wed Aug 26 14:56:48 2009 -0400 IMA: iint put in ima_counts_get and put ima_counts_get() calls ima_iint_find_insert_get() which takes a reference to the iint in question, but does not put that reference at the end of the function. This can lead to a nasty memory leak. Easy enough to reproduce: #include <sys/mman.h> #include <stdio.h> int main (void) { int i; void *ptr; for (i=0; i < 100000; i++) { ptr = mmap(NULL, 4096, PROT_READ|PROT_WRITE, MAP_SHARED|MAP_ANONYMOUS, -1, 0); if (ptr == MAP_FAILED) return 2; munmap(ptr, 4096); } return 0; } Signed-off-by: Eric Paris <eparis@xxxxxxxxxx> Signed-off-by: James Morris <jmorris@xxxxxxxxx> commit 9848484fad9ddeb18f18f02f9ecdcd330ac9a216 Author: Geert Uytterhoeven <geert@xxxxxxxxxxxxxx> Date: Fri Aug 21 22:03:54 2009 +0200 m68k,m68knommu: Wire up rt_tgsigqueueinfo and perf_counter_open Signed-off-by: Geert Uytterhoeven <geert@xxxxxxxxxxxxxx> Acked-by: Greg Ungerer <gerg@xxxxxxxxxxx> commit 9fd926b4ab1e38ac5e3eb3ba0afb56726d90aa88 Author: Alexey Dobriyan <adobriyan@xxxxxxxxx> Date: Thu Jul 9 17:08:38 2009 +0400 m68k: Fix redefinition of pgprot_noncached arch/m68k/include/asm/pgtable_mm.h:148:1: warning: "pgprot_noncached" redefined In file included from arch/m68k/include/asm/pgtable_mm.h:138, from arch/m68k/include/asm/pgtable.h:4, from include/linux/mm.h:40, from include/linux/pagemap.h:7, from include/linux/blkdev.h:12, from arch/m68k/emu/nfblock.c:17: include/asm-generic/pgtable.h:133:1: warning: this is the location of the previous definition pgprot_noncached() should be defined _before_ including asm-generic/pgtable.h Signed-off-by: Alexey Dobriyan <adobriyan@xxxxxxxxx> Signed-off-by: Geert Uytterhoeven <geert@xxxxxxxxxxxxxx> commit dc71c7d5dbd8cd8bb6e3b548ddc0454b64ded5f8 Author: Andrew Morton <akpm@xxxxxxxxxxxxxxxxxxxx> Date: Wed Jun 17 13:13:58 2009 -0700 arch/m68k/include/asm/motorola_pgalloc.h: fix kunmap arg arch/m68k/include/asm/motorola_pgalloc.h: In function 'pte_alloc_one': arch/m68k/include/asm/motorola_pgalloc.h:44: warning: passing argument 1 of 'kunmap' from incompatible pointer type Also, remove unneeded test for kmap() failure. Signed-off-by: Andrew Morton <akpm@xxxxxxxxxxxxxxxxxxxx> Signed-off-by: Geert Uytterhoeven <geert@xxxxxxxxxxxxxx> commit dd9b3e84f2095ed19582f4df5d20e1e40c01ca3c Author: Roel Kluin <roel.kluin@xxxxxxxxx> Date: Wed Jun 17 13:13:57 2009 -0700 m68k: cnt reaches -1, not 0 With the postfix decrement cnt reaches -1 rather than 0. Signed-off-by: Roel Kluin <roel.kluin@xxxxxxxxx> Cc: Geert Uytterhoeven <geert@xxxxxxxxxxxxxx> Signed-off-by: Andrew Morton <akpm@xxxxxxxxxxxxxxxxxxxx> Signed-off-by: Geert Uytterhoeven <geert@xxxxxxxxxxxxxx> commit dac9ff79a8122b30176e23359bb879b3144d7f1f Author: Roel Kluin <roel.kluin@xxxxxxxxx> Date: Wed Jun 17 13:13:56 2009 -0700 m68k: count can reach 51, not 50 With while (count++ < 50) { ... } count can reach 51, not 50, so we shouldn't give an error message on a count of 50. [akpm@xxxxxxxxxxxxxxxxxxxx: coding-style fixes] Signed-off-by: Roel Kluin <roel.kluin@xxxxxxxxx> Cc: Geert Uytterhoeven <geert@xxxxxxxxxxxxxx> Signed-off-by: Andrew Morton <akpm@xxxxxxxxxxxxxxxxxxxx> Signed-off-by: Geert Uytterhoeven <geert@xxxxxxxxxxxxxx> commit 3161e453e496eb5643faad30fff5a5ab183da0fe Author: Rusty Russell <rusty@xxxxxxxxxxxxxxx> Date: Wed Aug 26 12:22:32 2009 -0700 virtio: net refill on out-of-memory If we run out of memory, use keventd to fill the buffer. There's a report of this happening: "Page allocation failures in guest", Message-ID: <20090713115158.0a4892b0@xxxxxxxxxxxxxxxxx> Signed-off-by: Rusty Russell <rusty@xxxxxxxxxxxxxxx> Signed-off-by: David S. Miller <davem@xxxxxxxxxxxxx> commit 0b4f2928f14c4a9770b0866923fc81beb7f4aa57 Author: Alexey Dobriyan <adobriyan@xxxxxxxxx> Date: Wed Aug 26 12:03:35 2009 -0700 smc91x: fix compilation on SMP Signed-off-by: Alexey Dobriyan <adobriyan@xxxxxxxxx> Signed-off-by: David S. Miller <davem@xxxxxxxxxxxxx> commit ced909ff048c9950e211783417f3c01361f3be28 Author: Dmitry Torokhov <dmitry.torokhov@xxxxxxxxx> Date: Tue Aug 25 19:24:10 2009 -0700 Input: i8042 - add Acer Aspire 5536 to the nomux list When KBC is in active multiplexing mode, disabling and re-enabling the touchpad with the special key leaves the touchpad dead. Since the laptop does not have any external PS/2 ports disabling MUX mode should be safe. Reported-by: Eugeniy Meshcheryakov <eugen@xxxxxxxxxx> Signed-off-by: Dmitry Torokhov <dtor@xxxxxxx> commit 295594e9cf6ae2efd73371777aa8feba0f87f42f Author: Yinghai Lu <yinghai@xxxxxxxxxx> Date: Tue Aug 25 13:44:44 2009 -0700 x86: Fix vSMP boot crash 2.6.31-rc7 does not boot on vSMP systems: [ 8.501108] CPU31: Thermal monitoring enabled (TM1) [ 8.501127] CPU 31 MCA banks SHD:2 SHD:3 SHD:5 SHD:6 SHD:8 [ 8.650254] CPU31: Intel(R) Xeon(R) CPU E5540 @ 2.53GHz stepping 04 [ 8.710324] Brought up 32 CPUs [ 8.713916] Total of 32 processors activated (162314.96 BogoMIPS). [ 8.721489] ERROR: parent span is not a superset of domain->span [ 8.727686] ERROR: domain->groups does not contain CPU0 [ 8.733091] ERROR: groups don't span domain->span [ 8.737975] ERROR: domain->cpu_power not set [ 8.742416] Ravikiran Thirumalai bisected it to: | commit 2759c3287de27266e06f1f4e82cbd2d65f6a044c | x86: don't call read_apic_id if !cpu_has_apic The problem is that on vSMP systems the CPUID derived initial-APICIDs are overlapping - so we need to fall back on hard_smp_processor_id() which reads the local APIC. Both come from the hardware (influenced by firmware though) so it's a tough call which one to trust. Doing the quirk expresses the vSMP property properly and also does not affect other systems, so we go for this solution instead of a revert. Reported-and-Tested-by: Ravikiran Thirumalai <kiran@xxxxxxxxxxxx> Signed-off-by: Yinghai Lu <yinghai@xxxxxxxxxx> Cc: Linus Torvalds <torvalds@xxxxxxxxxxxxxxxxxxxx> Cc: Cyrill Gorcunov <gorcunov@xxxxxxxxx> Cc: Shai Fultheim <shai@xxxxxxxxxxxx> Cc: Suresh Siddha <suresh.b.siddha@xxxxxxxxx> LKML-Reference: <4A944D3C.5030100@xxxxxxxxxx> Signed-off-by: Ingo Molnar <mingo@xxxxxxx> commit f415c413f458837bd0c27086b79aca889f9435e4 Merge: 4dc627d55edad85e26ae81f17634bd4590993ba0 4484b9c8b4976acee181d377f8ba571109d1a2be Author: Linus Torvalds <torvalds@xxxxxxxxxxxxxxxxxxxx> Date: Tue Aug 25 21:24:49 2009 -0700 Merge git://git.kernel.org/pub/scm/linux/kernel/git/davem/net-2.6 * git://git.kernel.org/pub/scm/linux/kernel/git/davem/net-2.6: irda/sa1100_ir: fix broken netdev_ops conversion irda/au1k_ir: fix broken netdev_ops conversion pkt_sched: Fix bogon in tasklet_hrtimer changes. commit 4dc627d55edad85e26ae81f17634bd4590993ba0 Merge: 9c9376886622b45c32f64c4444f5628dde77dfe6 d8ed1d43e17898761c7221014a15a4c7501d2ff3 Author: Linus Torvalds <torvalds@xxxxxxxxxxxxxxxxxxxx> Date: Tue Aug 25 21:24:26 2009 -0700 Merge git://git.kernel.org/pub/scm/linux/kernel/git/davem/sparc-2.6 * git://git.kernel.org/pub/scm/linux/kernel/git/davem/sparc-2.6: sparc64: Validate linear D-TLB misses. sparc64: Update defconfig. sparc32: Update defconfig. sparc32: Kill trap table freeing code. sparc: sys32.S incorrect compat-layer splice() system call sparc: Use page_fault_out_of_memory() for VM_FAULT_OOM. sparc64: Sign extend length arg to truncate syscalls when compat. sparc: Fix cleanup crash in bbc_envctrl_cleanup() commit 7adb4df410966dfe43e4815256e3215110648fb8 Author: H. Peter Anvin <hpa@xxxxxxxxx> Date: Tue Aug 25 21:06:03 2009 -0700 x86, xen: Initialize cx to suppress warning Initialize cx before calling xen_cpuid(), in order to suppress the "may be used uninitialized in this function" warning. Signed-off-by: H. Peter Anvin <hpa@xxxxxxxxx> Cc: Jeremy Fitzhardinge <jeremy@xxxxxxxx> commit d560bc61575efae43595cbcb56d0ba3b9450139c Author: Jeremy Fitzhardinge <jeremy@xxxxxxxx> Date: Tue Aug 25 12:53:02 2009 -0700 x86, xen: Suppress WP test on Xen Xen always runs on CPUs which properly support WP enforcement in privileged mode, so there's no need to test for it. This also works around a crash reported by Arnd Hannemann, though I think its just a band-aid for that case. Reported-by: Arnd Hannemann <hannemann@xxxxxxxxxxxxxxxxxxx> Signed-off-by: Jeremy Fitzhardinge <jeremy.fitzhardinge@xxxxxxxxxx> Acked-by: Pekka Enberg <penberg@xxxxxxxxxxxxxx> Signed-off-by: H. Peter Anvin <hpa@xxxxxxxxx> commit 4484b9c8b4976acee181d377f8ba571109d1a2be Author: Alexander Beregalov <a.beregalov@xxxxxxxxx> Date: Tue Aug 25 20:39:37 2009 -0700 irda/sa1100_ir: fix broken netdev_ops conversion This patch is based on commit d2f3ad4 (pxaficp-ir: remove incorrect net_device_ops). Do the same for sa1100_ir. Untested. Signed-off-by: Alexander Beregalov <a.beregalov@xxxxxxxxx> Signed-off-by: David S. Miller <davem@xxxxxxxxxxxxx> commit 730a9cfc2dcead5538c0c96a046000d97140b0c0 Author: Alexander Beregalov <a.beregalov@xxxxxxxxx> Date: Tue Aug 25 20:39:18 2009 -0700 irda/au1k_ir: fix broken netdev_ops conversion This patch is based on commit d2f3ad4 (pxaficp-ir: remove incorrect net_device_ops). Do the same for au1k_ir. Untested. Signed-off-by: Alexander Beregalov <a.beregalov@xxxxxxxxx> Signed-off-by: David S. Miller <davem@xxxxxxxxxxxxx> commit d8ed1d43e17898761c7221014a15a4c7501d2ff3 Author: David S. Miller <davem@xxxxxxxxxxxxx> Date: Tue Aug 25 16:47:46 2009 -0700 sparc64: Validate linear D-TLB misses. When page alloc debugging is not enabled, we essentially accept any virtual address for linear kernel TLB misses. But with kgdb, kernel address probing, and other facilities we can try to access arbitrary crap. So, make sure the address we miss on will translate to physical memory that actually exists. In order to make this work we have to embed the valid address bitmap into the kernel image. And in order to make that less expensive we make an adjustment, in that the max physical memory address is decreased to "1 << 41", even on the chips that support a 42-bit physical address space. We can do this because bit 41 indicates "I/O space" and thus covers non-memory ranges. The result of this is that: 1) kpte_linear_bitmap shrinks from 2K to 1K in size 2) we need 64K more for the valid address bitmap We can't let the valid address bitmap be dynamically allocated once we start using it to validate TLB misses, otherwise we have crazy issues to deal with wrt. recursive TLB misses and such. If we're in a TLB miss it could be the deepest trap level that's legal inside of the cpu. So if we TLB miss referencing the bitmap, the cpu will be out of trap levels and enter RED state. To guard against out-of-range accesses to the bitmap, we have to check to make sure no bits in the physical address above bit 40 are set. We could export and use last_valid_pfn for this check, but that's just an unnecessary extra memory reference. On the plus side of all this, since we load all of these translations into the special 4MB mapping TSB, and we check the TSB first for TLB misses, there should be absolutely no real cost for these new checks in the TLB miss path. Reported-by: heyongli@xxxxxxxxx Signed-off-by: David S. Miller <davem@xxxxxxxxxxxxx> commit 9c9376886622b45c32f64c4444f5628dde77dfe6 Merge: 87bcfa33669449e517fda718ed3c2e1899e6541b 4464fcaa9cbfc9c551956b48af203e2f775ca892 Author: Linus Torvalds <torvalds@xxxxxxxxxxxxxxxxxxxx> Date: Tue Aug 25 11:24:37 2009 -0700 Merge branch 'perfcounters-fixes-for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/tip/linux-2.6-tip * 'perfcounters-fixes-for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/tip/linux-2.6-tip: perf_counter: Fix typo in read() output generation perf tools: Check perf.data owner commit 87bcfa33669449e517fda718ed3c2e1899e6541b Merge: 44afa9a4b8c5773f47e6494da12ca086c9ffea34 ec9c96ef3cc0124cb94375b17faaa8cff5dfdf97 Author: Linus Torvalds <torvalds@xxxxxxxxxxxxxxxxxxxx> Date: Tue Aug 25 11:24:24 2009 -0700 Merge branch 'core-fixes-for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/tip/linux-2.6-tip * 'core-fixes-for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/tip/linux-2.6-tip: dma-debug: Fix check_unmap null pointer dereference commit 44afa9a4b8c5773f47e6494da12ca086c9ffea34 Merge: 7d63e6359a2e86cd6335337de99354ab07680c55 f833bab87fca5c3ce13778421b1365845843b976 Author: Linus Torvalds <torvalds@xxxxxxxxxxxxxxxxxxxx> Date: Tue Aug 25 11:24:04 2009 -0700 Merge branch 'timers-fixes-for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/tip/linux-2.6-tip * 'timers-fixes-for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/tip/linux-2.6-tip: clockevent: Prevent dead lock on clockevents_lock timers: Drop write permission on /proc/timer_list commit 7d63e6359a2e86cd6335337de99354ab07680c55 Merge: 9f459fadbb38abe68aa342f533ca17d8d90d6f2e 4a683bf94b8a10e2bb0da07aec3ac0a55e5de61f Author: Linus Torvalds <torvalds@xxxxxxxxxxxxxxxxxxxx> Date: Tue Aug 25 11:23:43 2009 -0700 Merge branch 'tracing-fixes-for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/tip/linux-2.6-tip * 'tracing-fixes-for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/tip/linux-2.6-tip: tracing: Fix too large stack usage in do_one_initcall() tracing: handle broken names in ftrace filter ftrace: Unify effect of writing to trace_options and option/* commit 9f459fadbb38abe68aa342f533ca17d8d90d6f2e Merge: e9cab24cf3e5610898fb26bfd664615d0fd6a8d6 c62e43202e7cf50ca24bce58b255df7bf5de69d0 Author: Linus Torvalds <torvalds@xxxxxxxxxxxxxxxxxxxx> Date: Tue Aug 25 11:23:25 2009 -0700 Merge branch 'x86-fixes-for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/tip/linux-2.6-tip * 'x86-fixes-for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/tip/linux-2.6-tip: x86: Fix build with older binutils and consolidate linker script x86: Fix an incorrect argument of reserve_bootmem() x86: add vmlinux.lds to targets in arch/x86/boot/compressed/Makefile xen: rearrange things to fix stackprotector x86: make sure load_percpu_segment has no stackprotector i386: Fix section mismatches for init code with !HOTPLUG_CPU x86, pat: Allow ISA memory range uncacheable mapping requests commit e9cab24cf3e5610898fb26bfd664615d0fd6a8d6 Merge: a206e9417f19cf42156249953b72223a0076dc6b 3c4cec65274481ec6332b0a91f19b4c8c5394801 Author: Linus Torvalds <torvalds@xxxxxxxxxxxxxxxxxxxx> Date: Tue Aug 25 09:47:36 2009 -0700 Merge branch 'for_linus' of git://git.kernel.org/pub/scm/linux/kernel/git/jack/linux-fs-2.6 * 'for_linus' of git://git.kernel.org/pub/scm/linux/kernel/git/jack/linux-fs-2.6: ext3: Improve error message that changing journaling mode on remount is not possible ext3: Update Kconfig description of EXT3_DEFAULTS_TO_ORDERED commit a206e9417f19cf42156249953b72223a0076dc6b Merge: 7cafe60550469ad80e990d9223c4b5d501635015 b1ddaf681e362ed453182ddee1699d7487069a16 Author: Linus Torvalds <torvalds@xxxxxxxxxxxxxxxxxxxx> Date: Tue Aug 25 09:47:06 2009 -0700 Merge branch 'fix/misc' of git://git.kernel.org/pub/scm/linux/kernel/git/tiwai/sound-2.6 * 'fix/misc' of git://git.kernel.org/pub/scm/linux/kernel/git/tiwai/sound-2.6: sound: pcm_lib: fix unsorted list constraint handling sound: vx222: fix input level control range check ALSA: ali5451: fix timeout handling in snd_ali_{codecs,timer}_ready() commit 7cafe60550469ad80e990d9223c4b5d501635015 Merge: 5c58ceff103d8a654f24769bb1baaf84a841b0cc c5e7f5a38a7ebf3697281bc7cb494e676f287ac0 Author: Linus Torvalds <torvalds@xxxxxxxxxxxxxxxxxxxx> Date: Tue Aug 25 09:30:58 2009 -0700 Merge git://git.kernel.org/pub/scm/linux/kernel/git/wim/linux-2.6-watchdog * git://git.kernel.org/pub/scm/linux/kernel/git/wim/linux-2.6-watchdog: [WATCHDOG] ar7_wdt: fix path to ar7-specific headers commit 5c58ceff103d8a654f24769bb1baaf84a841b0cc Author: Linus Torvalds <torvalds@xxxxxxxxxxxxxxxxxxxx> Date: Tue Aug 25 09:12:43 2009 -0700 tty: make sure to flush any pending work when halting the ldisc When I rewrote tty ldisc code to use proper reference counts (commits 65b770468e98 and cbe9352fa08f) in order to avoid a race with hangup, the test-program that Eric Biederman used to trigger the original problem seems to have exposed another long-standing bug: the hangup code did the 'tty_ldisc_halt()' to stop any buffer flushing activity, but unlike the other call sites it never actually flushed any pending work. As a result, if you get just the right timing, the pending work may be just about to execute (ie the timer has already triggered and thus cancel_delayed_work() was a no-op), when we then re-initialize the ldisc from under it. That, in turn, results in various random problems, usually seen as a NULL pointer dereference in run_timer_softirq() or a BUG() in worker_thread (but it can be almost anything). Fix it by adding the required 'flush_scheduled_work()' after doing the tty_ldisc_halt() (this also requires us to move the ldisc halt to before taking the ldisc mutex in order to avoid a deadlock with the workqueue executing do_tty_hangup, which requires the mutex). The locking should be cleaned up one day (the requirement to do this outside the ldisc_mutex is very annoying, and weakens the lock), but that's a larger and separate undertaking. Reported-by: Eric W. Biederman <ebiederm@xxxxxxxxxxxx> Tested-by: Xiaotian Feng <xtfeng@xxxxxxxxx> Tested-by: Yanmin Zhang <yanmin_zhang@xxxxxxxxxxxxxxx> Tested-by: Dave Young <hidave.darkstar@xxxxxxxxx> Cc: Frederic Weisbecker <fweisbec@xxxxxxxxx> Cc: Greg Kroah-Hartman <gregkh@xxxxxxx> Cc: Alan Cox <alan@xxxxxxxxxxxxxxxxxxx> Signed-off-by: Linus Torvalds <torvalds@xxxxxxxxxxxxxxxxxxxx> commit c62e43202e7cf50ca24bce58b255df7bf5de69d0 Author: Jan Beulich <JBeulich@xxxxxxxxxx> Date: Tue Aug 25 14:50:53 2009 +0100 x86: Fix build with older binutils and consolidate linker script binutils prior to 2.17 can't deal with the currently possible situation of a new segment following the per-CPU segment, but that new segment being empty - objcopy misplaces the .bss (and perhaps also the .brk) sections outside of any segment. However, the current ordering of sections really just appears to be the effect of cumulative unrelated changes; re-ordering things allows to easily guarantee that the segment following the per-CPU one is non-empty, and at once eliminates the need for the bogus data.init2 segment. Once touching this code, also use the various data section helper macros from include/asm-generic/vmlinux.lds.h. -v2: fix !SMP builds. Signed-off-by: Jan Beulich <jbeulich@xxxxxxxxxx> Cc: <sam@xxxxxxxxxxxx> LKML-Reference: <4A94085D02000078000119A5@xxxxxxxxxxxxxxxxxx> Signed-off-by: Ingo Molnar <mingo@xxxxxxx> commit b1ddaf681e362ed453182ddee1699d7487069a16 Author: Clemens Ladisch <clemens@xxxxxxxxxx> Date: Tue Aug 25 08:15:41 2009 +0200 sound: pcm_lib: fix unsorted list constraint handling snd_interval_list() expected a sorted list but did not document this, so there are drivers that give it an unsorted list. To fix this, change the algorithm to work with any list. This fixes the "Slave PCM not usable" error with USB devices that have multiple alternate settings with sample rates in decreasing order, such as the Philips Askey VC010 WebCam. http://bugzilla.kernel.org/show_bug.cgi?id=14028 Reported-and-tested-by: Andrzej <adkadk@xxxxxxxxx> Signed-off-by: Clemens Ladisch <clemens@xxxxxxxxxx> Cc: <stable@xxxxxxxxxx> Signed-off-by: Takashi Iwai <tiwai@xxxxxxx> commit a2cb6a4dd470d7a64255a10b843b0d188416b78f Author: David S. Miller <davem@xxxxxxxxxxxxx> Date: Mon Aug 24 19:37:05 2009 -0700 pkt_sched: Fix bogon in tasklet_hrtimer changes. Reported by Stephen Rothwell, luckily it's harmless: net/sched/sch_api.c: In function 'qdisc_watchdog': net/sched/sch_api.c:460: warning: initialization from incompatible pointer type net/sched/sch_cbq.c: In function 'cbq_undelay': net/sched/sch_cbq.c:595: warning: initialization from incompatible pointer type Signed-off-by: David S. Miller <davem@xxxxxxxxxxxxx> commit f8aed700c6ec46ddade6570004ce25332283b306 Author: Ma Ling <ling.ma@xxxxxxxxx> Date: Mon Aug 24 13:50:24 2009 +0800 drm/i915: Set crtc/clone mask in different output devices Based on Bspec each encoder has different sharing pipe property, i.e. Integrated or SDVO TV both will occupy one pipe exclusively, and sdvo-non-tv and crt are allowed to share one. The patch moves sharing judgment into differnet output functions, and sets the right clone bit. This fixes both HDMI outputs choosing the same pipe. https://bugs.freedesktop.org/show_bug.cgi?id=22247 Signed-off-by: Ma Ling <ling.ma@xxxxxxxxx> Reviewed-by : Jesse Barnes <jbarnes@xxxxxxxxxxxxxxxx> Signed-off-by: Zhao Yakui <yakui.zhao@xxxxxxxxx> Signed-off-by: Eric Anholt <eric@xxxxxxxxxx> commit 27185ae1b795a4ba5e25b95fb5584e950545d774 Author: Ma Ling <ling.ma@xxxxxxxxx> Date: Mon Aug 24 13:50:23 2009 +0800 drm/i915: Always use SDVO_B detect bit for SDVO output detection. After the following commit is shipped, the SDVO C detection will depend on the SDVO_C/DP detion bit. commit 13520b051e8888dd3af9bda639d83e7df76613d1 Author: Kristian Høgsberg <krh@xxxxxxxxxx> Date: Fri Mar 13 15:42:14 2009 -0400 drm/i915: Read the right SDVO register when detecting SVDO/HDMI. According to the spec we should continue to detect the SDVO_B/C based on the SDVO_B detection bit. The new detection bit on G4X platform is for the HDMI_C detection rather than SDVO_C detection. https://bugs.freedesktop.org/show_bug.cgi?id=20639 Signed-off-by: Ma Ling <ling.ma@xxxxxxxxx> Acked-by: Zhao Yakui <yakui.zhao@xxxxxxxxx> Signed-off-by: Eric Anholt <eric@xxxxxxxxxx> commit 19e1f888c681d9f71ae0a814902d334eac1911dd Author: Roel Kluin <roel.kluin@xxxxxxxxx> Date: Sun Aug 9 13:50:53 2009 +0200 drm/i915: Fix typo that broke SVID1 in intel_sdvo_multifunc_encoder() Bit SDVO_OUTPUT_SVID0 was tested twice Signed-off-by: Roel Kluin <roel.kluin@xxxxxxxxx> Signed-off-by: Eric Anholt <eric@xxxxxxxxxx> commit bc5e5718acd7f7d000d913e619562767863610bf Author: Bruno Prémont <bonbons@xxxxxxxxxxxxxxxxx> Date: Sat Aug 8 13:01:17 2009 +0200 drm/i915: Check if BIOS enabled dual-channel LVDS on 8xx, not only on 9xx Commit 0c2e39525b3b53a97a0202c5f35058147e53977e is not sufficient to get fd.o bug #20115 fixed. In addition intel_find_best_PLL() must not only rely on BIOS settings for i9xx chips but also for i8xx, so drop the IS_I9XX() check. Signed-off-by: Bruno Prémont <bonbons@xxxxxxxxxxxxxxxxx> Signed-off-by: Eric Anholt <eric@xxxxxxxxxx> commit 942642a412454c3365f0abc8399c8ef2944f4eac Author: Sean Young <sean@xxxxxxxx> Date: Thu Aug 6 17:35:50 2009 +0800 drm/i915: Set the multiplier for SDVO on G33 platform http://bugs.freedesktop.org/show_bug.cgi?id=21417 Signed-off-by: Sean Young <sean@xxxxxxxx> Reviewed-by: Zhao Yakui <yakui.zhao@xxxxxxxxx> Acked-by: Zhenyu Wang <zhenyuw@xxxxxxxxxxxxxxx> Signed-off-by: Eric Anholt <eric@xxxxxxxxxx> commit 7111dc73923e9737b38a3ef5b5f236109000ff28 Author: Trond Myklebust <Trond.Myklebust@xxxxxxxxxx> Date: Mon Aug 24 19:21:29 2009 -0400 NFSv4: Fix an infinite looping problem with the nfs4_state_manager Commit 76db6d9500caeaa774a3e32a997eba30bbdc176b (nfs41: add session setup to the state manager) introduces an infinite loop possibility in the NFSv4 state manager. By first checking nfs4_has_session() before clearing the NFS4CLNT_SESSION_SETUP flag, it allows for a situation where someone sets that flag, but it never gets cleared, and so the state manager loops. In fact commit c3fad1b1aaf850bf692642642ace7cd0d64af0a3 (nfs41: add session reset to state manager) causes this to happen every time we get a network partition error. Signed-off-by: Trond Myklebust <Trond.Myklebust@xxxxxxxxxx> Tested-by: Daniel J Blueman <daniel.blueman@xxxxxxxxx> Signed-off-by: Linus Torvalds <torvalds@xxxxxxxxxxxxxxxxxxxx> commit 2584e7986f235572d4b03bbe52fd1e85c1679b8e Merge: 7c0a57d5c47bcfc492b3139e77400f888a935c44 c795b33ba171e41563ab7e25105c0cd4edd81cd7 Author: Linus Torvalds <torvalds@xxxxxxxxxxxxxxxxxxxx> Date: Mon Aug 24 14:41:28 2009 -0700 Merge branch 'upstream-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/jlbec/ocfs2 * 'upstream-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/jlbec/ocfs2: ocfs2/dlm: Wait on lockres instead of erroring cancel requests ocfs2: Add missing lock name ocfs2: Don't oops in ocfs2_kill_sb on a failed mount ocfs2: release the buffer head in ocfs2_do_truncate. ocfs2: Handle quota file corruption more gracefully commit 7c0a57d5c47bcfc492b3139e77400f888a935c44 Merge: 353d5c30c666580347515da609dd74a2b8e9b828 94da210af4978b94cb70318bd1b282a73c50b175 Author: Linus Torvalds <torvalds@xxxxxxxxxxxxxxxxxxxx> Date: Mon Aug 24 12:53:45 2009 -0700 Merge branch 'fixes' of git://git.marvell.com/orion * 'fixes' of git://git.marvell.com/orion: [ARM] Orion NAND: Make asm volatile avoid GCC pushing ldrd out of the loop [ARM] Kirkwood: enable eSATA on QNAP TS-219P [ARM] Kirkwood: __init requires linux/init.h commit 353d5c30c666580347515da609dd74a2b8e9b828 Author: Hugh Dickins <hugh.dickins@xxxxxxxxxxxxx> Date: Mon Aug 24 16:30:28 2009 +0100 mm: fix hugetlb bug due to user_shm_unlock call 2.6.30's commit 8a0bdec194c21c8fdef840989d0d7b742bb5d4bc removed user_shm_lock() calls in hugetlb_file_setup() but left the user_shm_unlock call in shm_destroy(). In detail: Assume that can_do_hugetlb_shm() returns true and hence user_shm_lock() is not called in hugetlb_file_setup(). However, user_shm_unlock() is called in any case in shm_destroy() and in the following atomic_dec_and_lock(&up->__count) in free_uid() is executed and if up->__count gets zero, also cleanup_user_struct() is scheduled. Note that sched_destroy_user() is empty if CONFIG_USER_SCHED is not set. However, the ref counter up->__count gets unexpectedly non-positive and the corresponding structs are freed even though there are live references to them, resulting in a kernel oops after a lots of shmget(SHM_HUGETLB)/shmctl(IPC_RMID) cycles and CONFIG_USER_SCHED set. Hugh changed Stefan's suggested patch: can_do_hugetlb_shm() at the time of shm_destroy() may give a different answer from at the time of hugetlb_file_setup(). And fixed newseg()'s no_id error path, which has missed user_shm_unlock() ever since it came in 2.6.9. Reported-by: Stefan Huber <shuber2@xxxxxxxxx> Signed-off-by: Hugh Dickins <hugh.dickins@xxxxxxxxxxxxx> Tested-by: Stefan Huber <shuber2@xxxxxxxxx> Cc: stable@xxxxxxxxxx Signed-off-by: Linus Torvalds <torvalds@xxxxxxxxxxxxxxxxxxxx> commit 0257a0c0c1997aac28420e784b3ef8f3ce17f093 Merge: e40c9056db75e093e6d99d2c14510cb131eb482a 9f844e5118d1627025c8ea7cfc0ea69038ea63fd Author: Linus Torvalds <torvalds@xxxxxxxxxxxxxxxxxxxx> Date: Mon Aug 24 12:48:41 2009 -0700 Merge branch 'drm-fixes' of git://git.kernel.org/pub/scm/linux/kernel/git/airlied/drm-2.6 * 'drm-fixes' of git://git.kernel.org/pub/scm/linux/kernel/git/airlied/drm-2.6: drm/radeon/kms: Fix radeon_gem_busy_ioctl harder. commit e40c9056db75e093e6d99d2c14510cb131eb482a Merge: 22e93eddd9c63c61e5a38b82eea08f6095189e7f 92c548cd35d50df398f442b07021150094578460 Author: Linus Torvalds <torvalds@xxxxxxxxxxxxxxxxxxxx> Date: Mon Aug 24 12:26:48 2009 -0700 Merge git://git.kernel.org/pub/scm/linux/kernel/git/hskinnemoen/avr32-2.6 * git://git.kernel.org/pub/scm/linux/kernel/git/hskinnemoen/avr32-2.6: favr32: improve touchscreen response avr32/lib: fix unaligned memcpy where len < 4 avr32/lib: fix unaligned memcpy() commit 22e93eddd9c63c61e5a38b82eea08f6095189e7f Merge: 1cac6ec9b7f9c48a26309380656f399a0587b860 9b2fb2da4edfb163842800abbeb4c14bc1759469 Author: Linus Torvalds <torvalds@xxxxxxxxxxxxxxxxxxxx> Date: Mon Aug 24 12:25:27 2009 -0700 Merge branch 'for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/dtor/input * 'for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/dtor/input: Input: ucb1400_ts - enable interrupt unconditionally Input: ucb1400_ts - enable ADC Filter Input: wacom - don't use on-stack memory for report buffers Input: iforce - support new revision of ACT LABS Force RS Input: joydev - decouple axis and button map ioctls from input constants commit 1cac6ec9b7f9c48a26309380656f399a0587b860 Merge: ce0cfd4ca817dbfd5f8267e7a6a235ed2041bf4a 8ff499e43c537648399fca8ba39d24c0768b3fab Author: Linus Torvalds <torvalds@xxxxxxxxxxxxxxxxxxxx> Date: Mon Aug 24 12:25:03 2009 -0700 Merge git://git.kernel.org/pub/scm/linux/kernel/git/davem/net-2.6 * git://git.kernel.org/pub/scm/linux/kernel/git/davem/net-2.6: smc91x: let smc91x work well under netpoll pxaficp-ir: remove incorrect net_device_ops NET: llc, zero sockaddr_llc struct drivers/net: fixed drivers that support netpoll use ndo_start_xmit() netpoll: warning for ndo_start_xmit returns with interrupts enabled net: Fix Micrel KSZ8842 Kconfig description netfilter: xt_quota: fix wrong return value (error case) ipv6: Fix commit 63d9950b08184e6531adceb65f64b429909cc101 (ipv6: Make v4-mapped bindings consistent with IPv4) E100: fix interaction with swiotlb on X86. pkt_sched: Convert CBQ to tasklet_hrtimer. pkt_sched: Convert qdisc_watchdog to tasklet_hrtimer rtl8187: always set MSR_LINK_ENEDCA flag with RTL8187B ibm_newemac: emac_close() needs to call netif_carrier_off() net: fix ks8851 build errors net: Rename MAC platform driver for w90p910 platform yellowfin: Fix buffer underrun after dev_alloc_skb() failure orinoco: correct key bounds check in orinoco_hw_get_tkip_iv mac80211: fix todo lock commit ce0cfd4ca817dbfd5f8267e7a6a235ed2041bf4a Merge: 637952ca689013339b977558061fa4ca8e07e1c1 16bfa38b1936212428cb38fbfbbb8f6c62b8d81f Author: Linus Torvalds <torvalds@xxxxxxxxxxxxxxxxxxxx> Date: Mon Aug 24 12:24:01 2009 -0700 Merge branch 'for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/jmorris/security-testing-2.6 * 'for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/jmorris/security-testing-2.6: ima: hashing large files bug fix kernel_read: redefine offset type commit a6a06f7b577f89d0b916c5ccaff67ca5ed444a78 Author: Amerigo Wang <amwang@xxxxxxxxxx> Date: Fri Aug 21 04:34:45 2009 -0400 x86: Fix an incorrect argument of reserve_bootmem() This line looks suspicious, because if this is true, then the 'flags' parameter of function reserve_bootmem_generic() will be unused when !CONFIG_NUMA. I don't think this is what we want. Signed-off-by: WANG Cong <amwang@xxxxxxxxxx> Cc: Yinghai Lu <yinghai@xxxxxxxxxx> Cc: akpm@xxxxxxxxxxxxxxxxxxxx LKML-Reference: <20090821083709.5098.52505.sendpatchset@xxxxxxxxxxxxxxxxxxxxx> Signed-off-by: Ingo Molnar <mingo@xxxxxxx> commit 94da210af4978b94cb70318bd1b282a73c50b175 Author: Simon Kagstrom <simon.kagstrom@xxxxxxxxxxxxxx> Date: Thu Aug 20 09:19:53 2009 +0200 [ARM] Orion NAND: Make asm volatile avoid GCC pushing ldrd out of the loop GCC 4.3.3 and 4.4.1 happily moves the dword load instruction out of the loop in orion_nand_read_buf. This patch makes the instruction volatile to avoid the issue. I've discussed this at gcc-help, refer to the thread at http://gcc.gnu.org/ml/gcc-help/2009-08/msg00187.html The early clobber is added to avoid the destination registers and the source register overlapping. Signed-off-by: Simon Kagstrom <simon.kagstrom@xxxxxxxxxxxxxx> Signed-off-by: Nicolas Pitre <nico@xxxxxxxxxxx> commit c55bf102b675c94edef006ce487d909669221d90 Author: John Holland <john.holland@xxxxxxxxxxxxx> Date: Wed Aug 19 13:24:03 2009 -1000 [ARM] Kirkwood: enable eSATA on QNAP TS-219P Initialize PCI/PCIe on the QNAP TS-119, TS-219 and TS-219P hardware allowing the use of the discrete eSATA controller connected to the PCIe bus in the TS-219P. Signed-off-by: John Holland <john.holland@xxxxxxxxxxxxx> Tested-by: Thomas Reitmayr <treitmayr@xxxxxxxxxx> Signed-off-by: Martin Michlmayr <tbm@xxxxxxxxxx> Signed-off-by: Nicolas Pitre <nico@xxxxxxxxxxx> commit 3e475f579e56caf57cadc0cc995c152f9da641a9 Author: Martin Michlmayr <tbm@xxxxxxxxxx> Date: Mon Aug 17 23:34:10 2009 -1000 [ARM] Kirkwood: __init requires linux/init.h Include linux/init.h for __init to fix this error: CC [M] drivers/net/wireless/wl12xx/boot.o In file included from arch/arm/mach-kirkwood/include/mach/gpio.h:13, from arch/arm/include/asm/gpio.h:5, from include/linux/gpio.h:7, from drivers/net/wireless/wl12xx/boot.c:24: arch/arm/plat-orion/include/plat/gpio.h:32: error: expected â??=â??, â??,â??, â??;â??, â??asmâ?? or â??__attribute__â?? before â??orion_gpio_initâ?? make[6]: *** [drivers/net/wireless/wl12xx/boot.o] Error 1 make[5]: *** [drivers/net/wireless/wl12xx] Error 2 Signed-off-by: Martin Michlmayr <tbm@xxxxxxxxxx> Signed-off-by: Nicolas Pitre <nico@xxxxxxxxxxx> commit 3c4cec65274481ec6332b0a91f19b4c8c5394801 Author: Jan Kara <jack@xxxxxxx> Date: Mon Aug 24 16:38:43 2009 +0200 ext3: Improve error message that changing journaling mode on remount is not possible This patch makes the error message about changing journaling mode on remount more descriptive. Some people are going to hit this error now due to commit bbae8bcc49bc4d002221dab52c79a50a82e7cd1f if they configure a kernel to default to data=writeback mode. The problem happens if they have data=ordered set for the root filesystem in /etc/fstab but not in the kernel command line (and they don't use initrd). Their filesystem then gets mounted as data=writeback by kernel but then their boot fails because init scripts won't be able to remount the filesystem rw. Better error message will hopefully make it easier for them to find the error in their setup and bother us less with error reports :). Signed-off-by: Jan Kara <jack@xxxxxxx> commit 6d41807614151829ae17a3a58bff8572af5e407e Author: Theodore Ts'o <tytso@xxxxxxx> Date: Mon Aug 10 16:03:43 2009 -0400 ext3: Update Kconfig description of EXT3_DEFAULTS_TO_ORDERED The old description for this configuration option was perhaps not completely balanced in terms of describing the tradeoffs of using a default of data=writeback vs. data=ordered. Despite the fact that old description very strongly recomended disabling this feature, all of the major distributions have elected to preserve the existing 'legacy' default, which is a strong hint that it perhaps wasn't telling the whole story. This revised description has been vetted by a number of ext3 developers as being better at informing the user about the tradeoffs of enabling or disabling this configuration feature. Cc: linux-ext4@xxxxxxxxxxxxxxx Signed-off-by: "Theodore Ts'o" <tytso@xxxxxxx> Signed-off-by: Jan Kara <jack@xxxxxxx> commit edd1365e90eb32625041d09de427d7b03461bc5c Author: Clemens Ladisch <clemens@xxxxxxxxxx> Date: Mon Aug 24 09:11:58 2009 +0200 sound: vx222: fix input level control range check Fix a logic error in the range check of the input level control that would prevent setting any volume less than the maximum. Signed-off-by: Clemens Ladisch <clemens@xxxxxxxxxx> Signed-off-by: Takashi Iwai <tiwai@xxxxxxx> commit 8ff499e43c537648399fca8ba39d24c0768b3fab Author: Dongdong Deng <dongdong.deng@xxxxxxxxxxxxx> Date: Sun Aug 23 22:59:04 2009 -0700 smc91x: let smc91x work well under netpoll The NETPOLL requires that interrupts remain disabled in its callbacks. Using *_irq_save()/irq_restore() to replace *_irq_disable()/irq_enable() functions in NETPOLL's callbacks of smc91x, so that it doesn't enable interrupts when already disabled, and kgdboe/netconsole would work properly over smc91x. Signed-off-by: Dongdong Deng <dongdong.deng@xxxxxxxxxxxxx> Acked-by: Nicolas Pitre <nico@xxxxxxx> Signed-off-by: David S. Miller <davem@xxxxxxxxxxxxx> commit d2f3ad4cedc00c8ee848e7abe9b2bbc93b9a8c2d Author: Marek Vasut <marek.vasut@xxxxxxxxx> Date: Sun Aug 23 22:57:30 2009 -0700 pxaficp-ir: remove incorrect net_device_ops This patch fixes broken pxaficp-ir. The problem was in incorrect net_device_ops being specified which prevented the driver from operating. The symptoms were: - failing ifconfig for IrLAN, resulting in SIOCSIFFLAGS: Cannot assign requested address - irattach working for IrCOMM, but the port stayed disabled Moreover this patch corrects missing sysfs device link. Signed-off-by: Marek Vasut <marek.vasut@xxxxxxxxx> Signed-off-by: David S. Miller <davem@xxxxxxxxxxxxx> commit 28e9fc592cb8c7a43e4d3147b38be6032a0e81bc Author: Jiri Slaby <jirislaby@xxxxxxxxx> Date: Sun Aug 23 22:55:51 2009 -0700 NET: llc, zero sockaddr_llc struct sllc_arphrd member of sockaddr_llc might not be changed. Zero sllc before copying to the above layer's structure. Signed-off-by: Jiri Slaby <jirislaby@xxxxxxxxx> Signed-off-by: David S. Miller <davem@xxxxxxxxxxxxx> commit 16bfa38b1936212428cb38fbfbbb8f6c62b8d81f Author: Mimi Zohar <zohar@xxxxxxxxxxxxxxxxxx> Date: Fri Aug 21 14:32:49 2009 -0400 ima: hashing large files bug fix Hashing files larger than INT_MAX causes process to loop. Dependent on redefining kernel_read() offset type to loff_t. (http://bugzilla.kernel.org/show_bug.cgi?id=13909) Cc: stable@xxxxxxxxxx Signed-off-by: Mimi Zohar <zohar@xxxxxxxxxx> Signed-off-by: James Morris <jmorris@xxxxxxxxx> commit 6777d773a463ac045d333b989d4e44660f8d92ad Author: Mimi Zohar <zohar@xxxxxxxxxxxxxxxxxx> Date: Fri Aug 21 14:32:48 2009 -0400 kernel_read: redefine offset type vfs_read() offset is defined as loff_t, but kernel_read() offset is only defined as unsigned long. Redefine kernel_read() offset as loff_t. Cc: stable@xxxxxxxxxx Signed-off-by: Mimi Zohar <zohar@xxxxxxxxxx> Signed-off-by: James Morris <jmorris@xxxxxxxxx> commit 4871953c0ef2cafeb37bbe186d9d13dcb24fc2c5 Author: Dongdong Deng <dongdong.deng@xxxxxxxxxxxxx> Date: Sun Aug 23 19:49:07 2009 -0700 drivers/net: fixed drivers that support netpoll use ndo_start_xmit() The NETPOLL API requires that interrupts remain disabled in netpoll_send_skb(). The use of "A functions set" in the NETPOLL API callbacks causes the interrupts to get enabled and can lead to kernel instability. The solution is to use "B functions set" to prevent the irqs from getting enabled while in netpoll_send_skb(). A functions set: local_irq_disable()/local_irq_enable() spin_lock_irq()/spin_unlock_irq() spin_trylock_irq()/spin_unlock_irq() B functions set: local_irq_save()/local_irq_restore() spin_lock_irqsave()/spin_unlock_irqrestore() spin_trylock_irqsave()/spin_unlock_irqrestore() Signed-off-by: Dongdong Deng <dongdong.deng@xxxxxxxxxxxxx> Acked-by: Matt Mackall <mpm@xxxxxxxxxxx> Signed-off-by: David S. Miller <davem@xxxxxxxxxxxxx> commit 79b1bee888d43b14cf0c08fb8e5aa6cb161e48f8 Author: Dongdong Deng <dongdong.deng@xxxxxxxxxxxxx> Date: Fri Aug 21 03:33:36 2009 +0000 netpoll: warning for ndo_start_xmit returns with interrupts enabled WARN_ONCE for ndo_start_xmit() enable interrupts in netpoll_send_skb(), because the NETPOLL API requires that interrupts remain disabled in netpoll_send_skb(). Signed-off-by: Dongdong Deng <dongdong.deng@xxxxxxxxxxxxx> Acked-by: Matt Mackall <mpm@xxxxxxxxxxx> Signed-off-by: David S. Miller <davem@xxxxxxxxxxxxx> commit c189308bd8b6a29b11c3ec29a42a3f0aabad6bc8 Author: Andreas Mohr <andi@xxxxxxxx> Date: Fri Aug 21 00:46:06 2009 +0000 net: Fix Micrel KSZ8842 Kconfig description Signed-off-by: Andreas Mohr <andi@xxxxxxxx> Acked-by: Richard Röjfors <richard.rojfors.ext@xxxxxxxxxxxxxxx> Signed-off-by: David S. Miller <davem@xxxxxxxxxxxxx> commit 2149f66f49ab07515666127bf5140c5c94677af8 Author: Patrick McHardy <kaber@xxxxxxxxx> Date: Thu Aug 20 02:47:34 2009 +0000 netfilter: xt_quota: fix wrong return value (error case) Success was indicated on a memory allocation failure, thereby causing a crash due to a later NULL deref. (Affects v2.6.30-rc1 up to here.) Signed-off-by: Jan Engelhardt <jengelh@xxxxxxxxxx> Signed-off-by: Patrick McHardy <kaber@xxxxxxxxx> Signed-off-by: David S. Miller <davem@xxxxxxxxxxxxx> commit ca6982b858e1d08010c1d29d8e8255b2ac2ad70a Author: Bruno Prémont <bonbons@xxxxxxxxxxxxxxxxx> Date: Sun Aug 23 19:06:28 2009 -0700 ipv6: Fix commit 63d9950b08184e6531adceb65f64b429909cc101 (ipv6: Make v4-mapped bindings consistent with IPv4) Commit 63d9950b08184e6531adceb65f64b429909cc101 (ipv6: Make v4-mapped bindings consistent with IPv4) changes behavior of inet6_bind() for v4-mapped addresses so it should behave the same way as inet_bind(). During this change setting of err to -EADDRNOTAVAIL got lost: af_inet.c:469 inet_bind() err = -EADDRNOTAVAIL; if (!sysctl_ip_nonlocal_bind && !(inet->freebind || inet->transparent) && addr->sin_addr.s_addr != htonl(INADDR_ANY) && chk_addr_ret != RTN_LOCAL && chk_addr_ret != RTN_MULTICAST && chk_addr_ret != RTN_BROADCAST) goto out; af_inet6.c:463 inet6_bind() if (addr_type == IPV6_ADDR_MAPPED) { int chk_addr_ret; /* Binding to v4-mapped address on a v6-only socket * makes no sense */ if (np->ipv6only) { err = -EINVAL; goto out; } /* Reproduce AF_INET checks to make the bindings consitant */ v4addr = addr->sin6_addr.s6_addr32[3]; chk_addr_ret = inet_addr_type(net, v4addr); if (!sysctl_ip_nonlocal_bind && !(inet->freebind || inet->transparent) && v4addr != htonl(INADDR_ANY) && chk_addr_ret != RTN_LOCAL && chk_addr_ret != RTN_MULTICAST && chk_addr_ret != RTN_BROADCAST) goto out; } else { Signed-off-by Bruno Prémont <bonbons@xxxxxxxxxxxxxxxxx> Signed-off-by: David S. Miller <davem@xxxxxxxxxxxxx> commit 6ff9c2e7fa8ca63a575792534b63c5092099c286 Author: Krzysztof HaÅ?asa <khc@xxxxxxxxx> Date: Sun Aug 23 19:02:13 2009 -0700 E100: fix interaction with swiotlb on X86. E100 places it's RX packet descriptors inside skb->data and uses them with bidirectional streaming DMA mapping. Data in descriptors is accessed simultaneously by the chip (writing status and size when a packet is received) and CPU (reading to check if the packet was received). This isn't a valid usage of PCI DMA API, which requires use of the coherent (consistent) memory for such purpose. Unfortunately e100 chips working in "simplified" RX mode have to store received data directly after the descriptor. Fixing the driver to conform to the API would require using unsupported "flexible" RX mode or receiving data into a coherent memory and using CPU to copy it to network buffers. This patch, while not yet making the driver conform to the PCI DMA API, allows it to work correctly on X86 with swiotlb (while not breaking other architectures). Signed-off-by: Krzysztof HaÅ?asa <khc@xxxxxxxxx> Signed-off-by: David S. Miller <davem@xxxxxxxxxxxxx> commit 38acce2d7983632100a9ff3fd20295f6e34074a8 Author: David S. Miller <davem@xxxxxxxxxxxxx> Date: Fri Aug 21 16:51:38 2009 -0700 pkt_sched: Convert CBQ to tasklet_hrtimer. This code expects to run in softirq context, and bare hrtimers run in hw IRQ context. Signed-off-by: David S. Miller <davem@xxxxxxxxxxxxx> Acked-by: Thomas Gleixner <tglx@xxxxxxxxxxxxx> commit 70bdbd3d1ae9c4ca3e84a43df34262face26575d Author: Bartlomiej Zolnierkiewicz <bzolnier@xxxxxxxxx> Date: Sun Aug 23 15:27:25 2009 +0200 ALSA: ali5451: fix timeout handling in snd_ali_{codecs,timer}_ready() Modify loops in such way that the register value is checked also after the timeout condition, just in case the heavy interrupt load etc. caused the thread to sleep for the time period exceeding the timeout value. While at it remove an extra ALI_STIMER read from snd_ali_stimer_ready(). Reported-by: Jack Byer <ojbyer@xxxxxxx> Signed-off-by: Bartlomiej Zolnierkiewicz <bzolnier@xxxxxxxxx> Signed-off-by: Takashi Iwai <tiwai@xxxxxxx> commit 637952ca689013339b977558061fa4ca8e07e1c1 Author: Hendrik Brueckner <brueckner@xxxxxxxxxxxxxxxxxx> Date: Sun Aug 23 18:09:06 2009 +0200 [S390] set preferred console based on conmode setup_arch() unconditionally sets the preferred console to ttyS. This breaks the use of 3270 devices as the console. Provide a new function to set the default preferred console for s390. The preferred console depends on the conmode parameter that is used to switch between 3270 and 3215 terminal/console mode. Signed-off-by: Hendrik Brueckner <brueckner@xxxxxxxxxxxxxxxxxx> Signed-off-by: Martin Schwidefsky <schwidefsky@xxxxxxxxxx> commit cf05b824dbb871159e1b4c4f2733b9c9d2f756cf Author: Julia Lawall <julia@xxxxxxx> Date: Sun Aug 23 18:09:05 2009 +0200 [S390] drivers/s390: put NULL test before dereference If the NULL test on block is needed, it should be before the dereference of the base field. The semantic match that finds this problem is as follows: (http://coccinelle.lip6.fr/) // <smpl> @r@ expression E1,E2; identifier fld; statement S1,S2; @@ E1 = E2->fld; ( if (E1 == NULL) S1 else S2 | *if (E2 == NULL) S1 else S2 ) // </smpl> Signed-off-by: Julia Lawall <julia@xxxxxxx> Signed-off-by: Martin Schwidefsky <schwidefsky@xxxxxxxxxx> commit 06739a8ad321b1e5140b318c648b0cc4bf8c6daa Author: Sebastian Ott <sebott@xxxxxxxxxxxxxxxxxx> Date: Sun Aug 23 18:09:04 2009 +0200 [S390] cio: fix double free after failed device initialization If io_subchannel_initialize_dev fails it will release the only reference to the ccw device therefore the caller should not kfree this device since this is done in the release function. Signed-off-by: Sebastian Ott <sebott@xxxxxxxxxxxxxxxxxx> Signed-off-by: Martin Schwidefsky <schwidefsky@xxxxxxxxxx> commit 9f844e5118d1627025c8ea7cfc0ea69038ea63fd Author: Michel Dänzer <daenzer@xxxxxxxxxx> Date: Sat Aug 22 17:38:23 2009 +0200 drm/radeon/kms: Fix radeon_gem_busy_ioctl harder. It was mixing up TTM placement values and flags. Signed-off-by: Michel Dänzer <daenzer@xxxxxxxxxx> Signed-off-by: Dave Airlie <airlied@xxxxxxxxxx> commit ee5f9757ea17759e1ce5503bdae2b07e48e32af9 Author: David S. Miller <davem@xxxxxxxxxxxxx> Date: Fri Aug 21 16:33:34 2009 -0700 pkt_sched: Convert qdisc_watchdog to tasklet_hrtimer None of this stuff should execute in hw IRQ context, therefore use a tasklet_hrtimer so that it runs in softirq context. Signed-off-by: David S. Miller <davem@xxxxxxxxxxxxx> Acked-by: Thomas Gleixner <tglx@xxxxxxxxxxxxx> commit 3edf2fb9d80a46d6c32ba12547a42419845b4b76 Merge: e3054ea7f79db2c694a4f74febead2d4f8de5a98 c82f63e411f1b58427c103bd95af2863b1c96dd1 Author: Linus Torvalds <torvalds@xxxxxxxxxxxxxxxxxxxx> Date: Sat Aug 22 12:14:01 2009 -0700 Merge branch 'for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/jbarnes/pci-2.6 * 'for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/jbarnes/pci-2.6: PCI: check saved state before restore commit e3054ea7f79db2c694a4f74febead2d4f8de5a98 Merge: 422bef879e84104fee6dc68ded0e371dbeb5f88e 388ce4beb7135722c584b0af18f215e3ec657adf Author: Linus Torvalds <torvalds@xxxxxxxxxxxxxxxxxxxx> Date: Sat Aug 22 08:30:58 2009 -0700 Merge git://git.kernel.org/pub/scm/linux/kernel/git/jejb/scsi-rc-fixes-2.6 * git://git.kernel.org/pub/scm/linux/kernel/git/jejb/scsi-rc-fixes-2.6: [SCSI] mpt2sas: fix config request and diag reset deadlock [SCSI] mpt2sas: Bump driver version 01.100.04.00 [SCSI] mpt2sas: fix oops because drv data points to NULL on resume from hibernate [SCSI] mpt2sas: fix crash due to Watchdog is active while OS in standby mode [SCSI] mpt2sas: fix infinite loop inside config request [SCSI] mpt2sas: Excessive log info causes sas iounit page time out [SCSI] mpt2sas: Raid 10 Value is showing as Raid 1E in /va/log/messages [SCSI] mpt2sas: Expander fix oops saying "Already part of another port" [SCSI] mpt2sas: Introduced check for enclosure_handle to avoid crash commit 422bef879e84104fee6dc68ded0e371dbeb5f88e Author: Linus Torvalds <torvalds@xxxxxxxxxxxxxxxxxxxx> Date: Fri Aug 21 18:00:46 2009 -0700 Linux 2.6.31-rc7 commit 8e9d78edea3ce5c0036f85b93091483f2f15443a Author: Linus Torvalds <torvalds@xxxxxxxxxxxxxxxxxxxx> Date: Fri Aug 21 17:40:08 2009 -0700 Re-introduce page mapping check in mark_buffer_dirty() In commit a8e7d49aa7be728c4ae241a75a2a124cdcabc0c5 ("Fix race in create_empty_buffers() vs __set_page_dirty_buffers()"), I removed a test for a NULL page mapping unintentionally when some of the code inside __set_page_dirty() was moved to the callers. That removal generally didn't matter, since a filesystem would serialize truncation (which clears the page mapping) against writing (which marks the buffer dirty), so locking at a higher level (either per-page or an inode at a time) should mean that the buffer page would be stable. And indeed, nothing bad seemed to happen. Except it turns out that apparently reiserfs does something odd when under load and writing out the journal, and we have a number of bugzilla entries that look similar: http://bugzilla.kernel.org/show_bug.cgi?id=13556 http://bugzilla.kernel.org/show_bug.cgi?id=13756 http://bugzilla.kernel.org/show_bug.cgi?id=13876 and it looks like reiserfs depended on that check (the common theme seems to be "data=journal", and a journal writeback during a truncate). I suspect reiserfs should have some additional locking, but in the meantime this should get us back to the pre-2.6.29 behavior. Pattern-pointed-out-by: Roland Kletzing <devzero@xxxxxx> Cc: stable@xxxxxxxxxx (2.6.29 and 2.6.30) Cc: Jeff Mahoney <jeffm@xxxxxxxx> Cc: Nick Piggin <npiggin@xxxxxxx> Cc: Al Viro <viro@xxxxxxxxxxxxxxxxxx> Signed-off-by: Linus Torvalds <torvalds@xxxxxxxxxxxxxxxxxxxx> commit 649bf17829d087f83754e2a8161e094a167ce3d3 Merge: d3b325f9c25be6d504bc73afce7f92d0e25001d7 1a9937b7f07ab6e35515e32a7625f0ba50ab7670 Author: David S. Miller <davem@xxxxxxxxxxxxx> Date: Fri Aug 21 13:13:04 2009 -0700 Merge branch 'master' of git://git.kernel.org/pub/scm/linux/kernel/git/linville/wireless-2.6 commit 4dfd79e7b42bff334128907e28c3b41f1ef1cec8 Merge: b57f92157e6517f0b3bd22e3a8ce7227e230c4f5 f779b3e513478218cbaaaa0a506d7801cab6fd14 Author: Linus Torvalds <torvalds@xxxxxxxxxxxxxxxxxxxx> Date: Fri Aug 21 10:45:09 2009 -0700 Merge branch 'drm-fixes' of git://git.kernel.org/pub/scm/linux/kernel/git/airlied/drm-2.6 * 'drm-fixes' of git://git.kernel.org/pub/scm/linux/kernel/git/airlied/drm-2.6: drm/radeon: add GET_PARAM/INFO support for Z pipes drm/radeon/kms: add r100/r200 OQ support. drm: Fix sysfs device confusion. drm/radeon/kms: implement the bo busy ioctl properly. commit b57f92157e6517f0b3bd22e3a8ce7227e230c4f5 Merge: b04e6373d694e977c95ae0ae000e2c1e2cf92d73 03e860bd9f6a3cca747b0795bed26279a8b420a0 Author: Linus Torvalds <torvalds@xxxxxxxxxxxxxxxxxxxx> Date: Fri Aug 21 09:56:55 2009 -0700 Merge branch 'btrfs' of git://git.kernel.dk/linux-2.6-block * 'btrfs' of git://git.kernel.dk/linux-2.6-block: btrfs: fix inode rbtree corruption commit b04e6373d694e977c95ae0ae000e2c1e2cf92d73 Author: Linus Torvalds <torvalds@xxxxxxxxxxxxxxxxxxxx> Date: Fri Aug 21 09:48:10 2009 -0700 x86: don't call '->send_IPI_mask()' with an empty mask As noted in 83d349f35e1ae72268c5104dbf9ab2ae635425d4 ("x86: don't send an IPI to the empty set of CPU's"), some APIC's will be very unhappy with an empty destination mask. That commit added a WARN_ON() for that case, and avoided the resulting problem, but didn't fix the underlying reason for why those empty mask cases happened. This fixes that, by checking the result of 'cpumask_andnot()' of the current CPU actually has any other CPU's left in the set of CPU's to be sent a TLB flush, and not calling down to the IPI code if the mask is empty. The reason this started happening at all is that we started passing just the CPU mask pointers around in commit 4595f9620 ("x86: change flush_tlb_others to take a const struct cpumask"), and when we did that, the cpumask was no longer thread-local. Before that commit, flush_tlb_mm() used to create it's own copy of 'mm->cpu_vm_mask' and pass that copy down to the low-level flush routines after having tested that it was not empty. But after changing it to just pass down the CPU mask pointer, the lower level TLB flush routines would now get a pointer to that 'mm->cpu_vm_mask', and that could still change - and become empty - after the test due to other CPU's having flushed their own TLB's. See http://bugzilla.kernel.org/show_bug.cgi?id=13933 for details. Tested-by: Thomas Björnell <thomas.bjornell@xxxxxxxxx> Cc: stable@xxxxxxxxxx Signed-off-by: Linus Torvalds <torvalds@xxxxxxxxxxxxxxxxxxxx> commit 1a9937b7f07ab6e35515e32a7625f0ba50ab7670 Author: Herton Ronaldo Krzesinski <herton@xxxxxxxxxxxxxxx> Date: Thu Aug 20 21:16:17 2009 -0300 rtl8187: always set MSR_LINK_ENEDCA flag with RTL8187B RTL8187B always needs MSR_LINK_ENEDCA flag to be set even when it is in no link mode, otherwise it'll not be able to associate when this flag is not set after the change "mac80211: fix managed mode BSSID handling". By accident, setting BSSID of AP before association makes 8187B to successfuly associate even when ENEDCA flag isn't set, which was the case before the mac80211 change. But now the BSSID of AP we are trying to associate is only available after association is successful, and any attempt to associate without the needed flag doesn't work. Signed-off-by: Herton Ronaldo Krzesinski <herton@xxxxxxxxxxxxxxx> Tested-by: Larry Finger <Larry.Finger@xxxxxxxxxxxx> Acked-by: Hin-Tak Leung <htl10@xxxxxxxxxxxxxxxxxxxxx> Signed-off-by: John W. Linville <linville@xxxxxxxxxxxxx> commit f4b0373b26567cafd421d91101852ed7a34e9e94 Author: Linus Torvalds <torvalds@xxxxxxxxxxxxxxxxxxxx> Date: Fri Aug 21 09:26:15 2009 -0700 Make bitmask 'and' operators return a result code When 'and'ing two bitmasks (where 'andnot' is a variation on it), some cases want to know whether the result is the empty set or not. In particular, the TLB IPI sending code wants to do cpumask operations and determine if there are any CPU's left in the final set. So this just makes the bitmask (and cpumask) functions return a boolean for whether the result has any bits set. Cc: stable@xxxxxxxxxx (2.6.30, needed by TLB shootdown fix) Signed-off-by: Linus Torvalds <torvalds@xxxxxxxxxxxxxxxxxxxx> commit 83d349f35e1ae72268c5104dbf9ab2ae635425d4 Author: Linus Torvalds <torvalds@xxxxxxxxxxxxxxxxxxxx> Date: Fri Aug 21 09:23:57 2009 -0700 x86: don't send an IPI to the empty set of CPU's The default_send_IPI_mask_logical() function uses the "flat" APIC mode to send an IPI to a set of CPU's at once, but if that set happens to be empty, some older local APIC's will apparently be rather unhappy. So just warn if a caller gives us an empty mask, and ignore it. This fixes a regression in 2.6.30.x, due to commit 4595f9620 ("x86: change flush_tlb_others to take a const struct cpumask"), documented here: http://bugzilla.kernel.org/show_bug.cgi?id=13933 which causes a silent lock-up. It only seems to happen on PPro, P2, P3 and Athlon XP cores. Most developers sadly (or not so sadly, if you're a developer..) have more modern CPU's. Also, on x86-64 we don't use the flat APIC mode, so it would never trigger there even if the APIC didn't like sending an empty IPI mask. Reported-by: Pavel Vilim <wylda@xxxxxxxx> Reported-and-tested-by: Thomas Björnell <thomas.bjornell@xxxxxxxxx> Reported-and-tested-by: Martin Rogge <marogge@xxxxxxxxxxxxx> Cc: Mike Travis <travis@xxxxxxx> Cc: Ingo Molnar <mingo@xxxxxxx> Cc: stable@xxxxxxxxxx Signed-off-by: Linus Torvalds <torvalds@xxxxxxxxxxxxxxxxxxxx> commit 4464fcaa9cbfc9c551956b48af203e2f775ca892 Author: Peter Zijlstra <a.p.zijlstra@xxxxxxxxx> Date: Fri Aug 21 17:19:36 2009 +0200 perf_counter: Fix typo in read() output generation When you iterate a list, using the iterator is useful. Before: ID: 5 ID: 5 ID: 5 ID: 5 EVNT: 0x40088b scale: nan ID: 5 CNT: 1006252 ID: 6 CNT: 1011090 ID: 7 CNT: 1011196 ID: 8 CNT: 1011095 EVNT: 0x40088c scale: 1.000000 ID: 5 CNT: 2003065 ID: 6 CNT: 2011671 ID: 7 CNT: 2012620 ID: 8 CNT: 2013479 EVNT: 0x40088c scale: 1.000000 ID: 5 CNT: 3002390 ID: 6 CNT: 3015996 ID: 7 CNT: 3018019 ID: 8 CNT: 3020006 EVNT: 0x40088b scale: 1.000000 ID: 5 CNT: 4002406 ID: 6 CNT: 4021120 ID: 7 CNT: 4024241 ID: 8 CNT: 4027059 After: ID: 1 ID: 2 ID: 3 ID: 4 EVNT: 0x400889 scale: nan ID: 1 CNT: 1005270 ID: 2 CNT: 1009833 ID: 3 CNT: 1010065 ID: 4 CNT: 1010088 EVNT: 0x400898 scale: nan ID: 1 CNT: 2001531 ID: 2 CNT: 2022309 ID: 3 CNT: 2022470 ID: 4 CNT: 2022627 EVNT: 0x400888 scale: 0.489467 ID: 1 CNT: 3001261 ID: 2 CNT: 3027088 ID: 3 CNT: 3027941 ID: 4 CNT: 3028762 Reported-by: stephane eranian <eranian@xxxxxxxxxxxxxx> Signed-off-by: Peter Zijlstra <a.p.zijlstra@xxxxxxxxx> Cc: Paul Mackerras <paulus@xxxxxxxxx> Cc: Corey J Ashford <cjashfor@xxxxxxxxxx> Cc: perfmon2-devel <perfmon2-devel@xxxxxxxxxxxxxxxxxxxxx> LKML-Reference: <1250867976.7538.73.camel@twins> Signed-off-by: Ingo Molnar <mingo@xxxxxxx> commit 4a683bf94b8a10e2bb0da07aec3ac0a55e5de61f Author: Ingo Molnar <mingo@xxxxxxx> Date: Fri Aug 21 12:53:36 2009 +0200 tracing: Fix too large stack usage in do_one_initcall() One of my testboxes triggered this nasty stack overflow crash during SCSI probing: [ 5.874004] sd 0:0:0:0: [sda] Write cache: enabled, read cache: enabled, doesn't support DPO or FUA [ 5.875004] device: 'sda': device_add [ 5.878004] BUG: unable to handle kernel NULL pointer dereference at 00000a0c [ 5.878004] IP: [<b1008321>] print_context_stack+0x81/0x110 [ 5.878004] *pde = 00000000 [ 5.878004] Thread overran stack, or stack corrupted [ 5.878004] Oops: 0000 [#1] PREEMPT SMP DEBUG_PAGEALLOC [ 5.878004] last sysfs file: [ 5.878004] [ 5.878004] Pid: 1, comm: swapper Not tainted (2.6.31-rc6-tip-01272-g9919e28-dirty #5685) [ 5.878004] EIP: 0060:[<b1008321>] EFLAGS: 00010083 CPU: 0 [ 5.878004] EIP is at print_context_stack+0x81/0x110 [ 5.878004] EAX: cf8a3000 EBX: cf8a3fe4 ECX: 00000049 EDX: 00000000 [ 5.878004] ESI: b1cfce84 EDI: 00000000 EBP: cf8a3018 ESP: cf8a2ff4 [ 5.878004] DS: 007b ES: 007b FS: 00d8 GS: 0000 SS: 0068 [ 5.878004] Process swapper (pid: 1, ti=cf8a2000 task=cf8a8000 task.ti=cf8a3000) [ 5.878004] Stack: [ 5.878004] b1004867 fffff000 cf8a3ffc [ 5.878004] Call Trace: [ 5.878004] [<b1004867>] ? kernel_thread_helper+0x7/0x10 [ 5.878004] BUG: unable to handle kernel NULL pointer dereference at 00000a0c [ 5.878004] IP: [<b1008321>] print_context_stack+0x81/0x110 [ 5.878004] *pde = 00000000 [ 5.878004] Thread overran stack, or stack corrupted [ 5.878004] Oops: 0000 [#2] PREEMPT SMP DEBUG_PAGEALLOC The oops did not reveal any more details about the real stack that we have and the system got into an infinite loop of recursive pagefaults. So i booted with CONFIG_STACK_TRACER=y and the 'stacktrace' boot parameter. The box did not crash (timings/conditions probably changed a tiny bit to trigger the catastrophic crash), but the /debug/tracing/stack_trace file was rather revealing: Depth Size Location (72 entries) ----- ---- -------- 0) 3704 52 __change_page_attr+0xb8/0x290 1) 3652 24 __change_page_attr_set_clr+0x43/0x90 2) 3628 60 kernel_map_pages+0x108/0x120 3) 3568 40 prep_new_page+0x7d/0x130 4) 3528 84 get_page_from_freelist+0x106/0x420 5) 3444 116 __alloc_pages_nodemask+0xd7/0x550 6) 3328 36 allocate_slab+0xb1/0x100 7) 3292 36 new_slab+0x1c/0x160 8) 3256 36 __slab_alloc+0x133/0x2b0 9) 3220 4 kmem_cache_alloc+0x1bb/0x1d0 10) 3216 108 create_object+0x28/0x250 11) 3108 40 kmemleak_alloc+0x81/0xc0 12) 3068 24 kmem_cache_alloc+0x162/0x1d0 13) 3044 52 scsi_pool_alloc_command+0x29/0x70 14) 2992 20 scsi_host_alloc_command+0x22/0x70 15) 2972 24 __scsi_get_command+0x1b/0x90 16) 2948 28 scsi_get_command+0x35/0x90 17) 2920 24 scsi_setup_blk_pc_cmnd+0xd4/0x100 18) 2896 128 sd_prep_fn+0x332/0xa70 19) 2768 36 blk_peek_request+0xe7/0x1d0 20) 2732 56 scsi_request_fn+0x54/0x520 21) 2676 12 __generic_unplug_device+0x2b/0x40 22) 2664 24 blk_execute_rq_nowait+0x59/0x80 23) 2640 172 blk_execute_rq+0x6b/0xb0 24) 2468 32 scsi_execute+0xe0/0x140 25) 2436 64 scsi_execute_req+0x152/0x160 26) 2372 60 scsi_vpd_inquiry+0x6c/0x90 27) 2312 44 scsi_get_vpd_page+0x112/0x160 28) 2268 52 sd_revalidate_disk+0x1df/0x320 29) 2216 92 rescan_partitions+0x98/0x330 30) 2124 52 __blkdev_get+0x309/0x350 31) 2072 8 blkdev_get+0xf/0x20 32) 2064 44 register_disk+0xff/0x120 33) 2020 36 add_disk+0x6e/0xb0 34) 1984 44 sd_probe_async+0xfb/0x1d0 35) 1940 44 __async_schedule+0xf4/0x1b0 36) 1896 8 async_schedule+0x12/0x20 37) 1888 60 sd_probe+0x305/0x360 38) 1828 44 really_probe+0x63/0x170 39) 1784 36 driver_probe_device+0x5d/0x60 40) 1748 16 __device_attach+0x49/0x50 41) 1732 32 bus_for_each_drv+0x5b/0x80 42) 1700 24 device_attach+0x6b/0x70 43) 1676 16 bus_attach_device+0x47/0x60 44) 1660 76 device_add+0x33d/0x400 45) 1584 52 scsi_sysfs_add_sdev+0x6a/0x2c0 46) 1532 108 scsi_add_lun+0x44b/0x460 47) 1424 116 scsi_probe_and_add_lun+0x182/0x4e0 48) 1308 36 __scsi_add_device+0xd9/0xe0 49) 1272 44 ata_scsi_scan_host+0x10b/0x190 50) 1228 24 async_port_probe+0x96/0xd0 51) 1204 44 __async_schedule+0xf4/0x1b0 52) 1160 8 async_schedule+0x12/0x20 53) 1152 48 ata_host_register+0x171/0x1d0 54) 1104 60 ata_pci_sff_activate_host+0xf3/0x230 55) 1044 44 ata_pci_sff_init_one+0xea/0x100 56) 1000 48 amd_init_one+0xb2/0x190 57) 952 8 local_pci_probe+0x13/0x20 58) 944 32 pci_device_probe+0x68/0x90 59) 912 44 really_probe+0x63/0x170 60) 868 36 driver_probe_device+0x5d/0x60 61) 832 20 __driver_attach+0x89/0xa0 62) 812 32 bus_for_each_dev+0x5b/0x80 63) 780 12 driver_attach+0x1e/0x20 64) 768 72 bus_add_driver+0x14b/0x2d0 65) 696 36 driver_register+0x6e/0x150 66) 660 20 __pci_register_driver+0x53/0xc0 67) 640 8 amd_init+0x14/0x16 68) 632 572 do_one_initcall+0x2b/0x1d0 69) 60 12 do_basic_setup+0x56/0x6a 70) 48 20 kernel_init+0x84/0xce 71) 28 28 kernel_thread_helper+0x7/0x10 There's a lot of fat functions on that stack trace, but the largest of all is do_one_initcall(). This is due to the boot trace entry variables being on the stack. Fixing this is relatively easy, initcalls are fundamentally serialized, so we can move the local variables to file scope. Note that this large stack footprint was present for a couple of months already - what pushed my system over the edge was the addition of kmemleak to the call-chain: 6) 3328 36 allocate_slab+0xb1/0x100 7) 3292 36 new_slab+0x1c/0x160 8) 3256 36 __slab_alloc+0x133/0x2b0 9) 3220 4 kmem_cache_alloc+0x1bb/0x1d0 10) 3216 108 create_object+0x28/0x250 11) 3108 40 kmemleak_alloc+0x81/0xc0 12) 3068 24 kmem_cache_alloc+0x162/0x1d0 13) 3044 52 scsi_pool_alloc_command+0x29/0x70 This pushes the total to ~3800 bytes, only a tiny bit more was needed to corrupt the on-kernel-stack thread_info. The fix reduces the stack footprint from 572 bytes to 28 bytes. Cc: Peter Zijlstra <a.p.zijlstra@xxxxxxxxx> Cc: Thomas Gleixner <tglx@xxxxxxxxxxxxx> Cc: Frederic Weisbecker <fweisbec@xxxxxxxxx> Cc: Steven Rostedt <srostedt@xxxxxxxxxx> Cc: Catalin Marinas <catalin.marinas@xxxxxxx> Cc: Jens Axboe <jens.axboe@xxxxxxxxxx> Cc: Linus Torvalds <torvalds@xxxxxxxxxxxxxxxxxxxx> Cc: <stable@xxxxxxxxxx> LKML-Reference: <new-submission> Signed-off-by: Ingo Molnar <mingo@xxxxxxx> commit f779b3e513478218cbaaaa0a506d7801cab6fd14 Author: Alex Deucher <alexdeucher@xxxxxxxxx> Date: Wed Aug 19 19:11:39 2009 -0400 drm/radeon: add GET_PARAM/INFO support for Z pipes Needed for occlusion queries on rv530 chips. Signed-off-by: Alex Deucher <alexdeucher@xxxxxxxxx> Signed-off-by: Dave Airlie <airlied@xxxxxxxxxx> commit 03e860bd9f6a3cca747b0795bed26279a8b420a0 Author: From: Nick Piggin <npiggin@xxxxxxx> Date: Fri Aug 21 10:09:44 2009 +0200 btrfs: fix inode rbtree corruption Node may not be inserted over existing node. This causes inode tree corruption and I was seeing crashes in inode_tree_del which I can not reproduce after this patch. The other way to fix this would be to tie inode lifetime in the rbtree with inode while not in freeing state. I had a look at this but it is not so trivial at this point. At least this patch gets things working again. Signed-off-by: Nick Piggin <npiggin@xxxxxxx> Cc: Chris Mason <chris.mason@xxxxxxxxxx> Acked-by: Yan Zheng <zheng.yan@xxxxxxxxxx> Signed-off-by: Jens Axboe <jens.axboe@xxxxxxxxxx> commit ec9c96ef3cc0124cb94375b17faaa8cff5dfdf97 Author: Kyle McMartin <kyle@xxxxxxxxxx> Date: Wed Aug 19 21:17:08 2009 -0400 dma-debug: Fix check_unmap null pointer dereference While it's debatable whether or not a NULL device argument to the DMA API functions is valid... since it certainly isn't valid on devices with an IOMMU... dma-debug really shouldn't be dereferencing null pointers either. Guard against that in err_printk and the driver_filter functions. A Fedora rawhide user was seeing this in one of the dvb drivers resulting in an oops on boot. [ A patch has been sent for testing to the driver, but I feel the dma debugging support should be fixed as well. (There's still a pile of legacy garbage in the kernel passing null pointers to dma_{alloc,free}_*. :( ] Signed-off-by: Kyle McMartin <kyle@xxxxxxxxxx> Cc: mchehab@xxxxxxxxxxxxx Cc: Joerg Roedel <joerg.roedel@xxxxxxx> LKML-Reference: <20090820011708.GP25206@xxxxxxxxxxxxxxxxxxxxxx> Signed-off-by: Ingo Molnar <mingo@xxxxxxx> commit 9b2fb2da4edfb163842800abbeb4c14bc1759469 Author: Pavel Revak <palo@xxxxxxxxxxx> Date: Thu Aug 20 22:30:54 2009 -0700 Input: ucb1400_ts - enable interrupt unconditionally Sometimes, when using the touchscreen, it stops working till next restart and the following message is printed: ucb1400: unexpected IE_STATUS = 0x0 The following patch retriggers the touchscreen interrupt unconditionally. This prevents hanging of the touchscreen in case of bogus interrupt occurence. Signed-off-by: Pavel Revak <palo@xxxxxxxxxxx> Acked-by: Marek Vasut <marek.vasut@xxxxxxxxx> Signed-off-by: Dmitry Torokhov <dtor@xxxxxxx> commit 1700f5fde88f9a251037bc86bde538ee32c59905 Author: Marek Vasut <marek.vasut@xxxxxxxxx> Date: Thu Aug 20 22:05:53 2009 -0700 Input: ucb1400_ts - enable ADC Filter This patch enables ADC filtering on UCB1400 codec by default. The benefit from this change is mostly on some Colibri boards where the ADCSYNC pin of the UCB1400 codec isn't connected causing the touchscreen to jitter very badly. This change has no visible effect on boards where the ADCSYNC pin is connected. Signed-off-by: Marek Vasut <marek.vasut@xxxxxxxxx> Tested-by: Palo Revak <palo@xxxxxxxxxxx> Signed-off-by: Dmitry Torokhov <dtor@xxxxxxx> commit 3b7307c2d66dd575ef24b88898b4bc4bddb254f4 Author: Dmitry Torokhov <dmitry.torokhov@xxxxxxxxx> Date: Thu Aug 20 21:41:04 2009 -0700 Input: wacom - don't use on-stack memory for report buffers Tested-by: Martin Capitanio <martin@xxxxxxxxxxxxx> Signed-off-by: Dmitry Torokhov <dtor@xxxxxxx> commit c795b33ba171e41563ab7e25105c0cd4edd81cd7 Author: Goldwyn Rodrigues <rgoldwyn@xxxxxxxxx> Date: Thu Aug 20 13:43:19 2009 -0500 ocfs2/dlm: Wait on lockres instead of erroring cancel requests In case a downconvert is queued, and a flock receives a signal, BUG_ON(lockres->l_action != OCFS2_AST_INVALID) is triggered because a lock cancel triggers a dlmunlock while an AST is scheduled. To avoid this, allow a LKM_CANCEL to pass through, and let it wait on __dlm_wait_on_lockres(). Signed-off-by: Goldwyn Rodrigues <rgoldwyn@xxxxxxx> Acked-off-by: Mark Fasheh <mfasheh@xxxxxxxx> Signed-off-by: Joel Becker <joel.becker@xxxxxxxxxx> commit 17782d99502851dc7e48114ee9c5a6d6741cba18 Author: Dave Airlie <airlied@xxxxxxxxxx> Date: Fri Aug 21 10:07:54 2009 +1000 drm/radeon/kms: add r100/r200 OQ support. This adds the relocation necessary for OQ support on the r100/r200 chipsets. Signed-off-by: Dave Airlie <airlied@xxxxxxxxxx> commit 08e4d534743f4e9af3602aebbc1cca9372762028 Author: Thomas Hellstrom <thellstrom@xxxxxxxxxx> Date: Thu Aug 20 19:02:31 2009 +1000 drm: Fix sysfs device confusion. The drm sysfs class suspend / resume methods could not distinguish between different device types wich could lead to illegal type casts. Use struct device_type and make sure the class suspend / resume callbacks are aware of those. There is no per device-type suspend / resume. Only new-style PM. Signed-off-by: Thomas Hellstrom <thellstrom@xxxxxxxxxx> Reviewed-by: Jesse Barnes <jbarnes@xxxxxxxxxxxxxxxx> Signed-off-by: Dave Airlie <airlied@xxxxxxxxxx> commit e3b2415e281a97ade36d88404094a90cfea838c0 Author: Dave Airlie <airlied@xxxxxxxxxx> Date: Fri Aug 21 09:47:45 2009 +1000 drm/radeon/kms: implement the bo busy ioctl properly. The previous patch assumes the ioctl already existed, when it actually didn't. It also didn't return the correct error code. Signed-off-by: Dave Airlie <airlied@xxxxxxxxxx> commit a8b88d3d49623ac701b5dc996cbd61219c793c7c Author: Jan Kara <jack@xxxxxxx> Date: Thu Aug 20 18:26:52 2009 +0200 ocfs2: Add missing lock name There is missing name for NFSSync cluster lock. This makes lockdep unhappy because we end up passing NULL to lockdep when initializing lock key. Fix it. Signed-off-by: Jan Kara <jack@xxxxxxx> Signed-off-by: Joel Becker <joel.becker@xxxxxxxxxx> commit fc0ce23506d943b9eaa731a051769d0e0605eb03 Author: Jan Beulich <JBeulich@xxxxxxxxxx> Date: Thu Aug 20 16:14:15 2009 +0100 x86: add vmlinux.lds to targets in arch/x86/boot/compressed/Makefile The absence of vmlinux.lds here keeps .vmlinux.lds.cmd from being included, which in turn leads to it and all its dependents always getting rebuilt independent of whether they are already up-to-date. Signed-off-by: Jan Beulich <jbeulich@xxxxxxxxxx> LKML-Reference: <4A8D84670200007800010D31@xxxxxxxxxxxxxxxxxx> Signed-off-by: H. Peter Anvin <hpa@xxxxxxxxx> commit 429966b8f644dda2afddb4f834a944e9b46a7645 Merge: a1d12511157c8d22a5a6779f8a9d73a1adcfc3b0 c37faafa7d46622b749437f7d294201a63af4beb Author: Linus Torvalds <torvalds@xxxxxxxxxxxxxxxxxxxx> Date: Thu Aug 20 14:55:24 2009 -0700 Merge branch 'i2c-fixes-rc6' of git://aeryn.fluff.org.uk/bjdooks/linux * 'i2c-fixes-rc6' of git://aeryn.fluff.org.uk/bjdooks/linux: i2c-stu300: I2C STU300 stability updates i2c-omap: Enable workaround for Errata 1.153 based on i2c-omap: ACK pending [R/X]DR and [R/X]RDY interrupts i2c-omap: Fix I2C status ACK commit c37faafa7d46622b749437f7d294201a63af4beb Author: Linus Walleij <linus.walleij@xxxxxxxxxxxxxx> Date: Thu Aug 13 22:14:23 2009 +0200 i2c-stu300: I2C STU300 stability updates - blk clk is enabled when an irq arrives. The clk should be enabled, but just to make sure. - All error bits are handled no matter state machine state - All irq's will run complete() except for irq's that wasn't an event. - No more looking into status registers just in case an interrupt has happend and the irq handle wasn't executed. - irq_disable/enable are now separete functions. - clk settings calculation changed to round upwards instead of downwards. - Number of address send attempts before giving up is increased to 12 from 10 since it most times take 8 tries before getting through. Signed-off-by: Linus Walleij <linus.walleij@xxxxxxxxxxxxxx> Signed-off-by: Ben Dooks <ben-linux@xxxxxxxxx> commit 61149787d65b4a2f9c638d363dc65e13cb063e29 Author: Moiz Sonasath <m-sonasath@xxxxxx> Date: Thu Aug 20 11:21:16 2009 -0500 i2c-omap: Enable workaround for Errata 1.153 based on Silicon Errata 1.153 has been fixed on OMAP 3630|4430 with the use of a later version of I2C IP block. The errata impacts OMAP 2420|2430|3430, enable the workaround for these based on I2C IP block revision number instead of OMAP CPU type Signed-off-by: Moiz Sonasath <m-sonasath@xxxxxx> Signed-off-by: Vikram Pandita <vikram.pandita@xxxxxx Reviewed-by: Paul Walmsley <paul@xxxxxxxxx> Signed-off-by: Ben Dooks <ben-linux@xxxxxxxxx> commit dd11976aea15bde53ce40b076dd5fa462c74f41a Author: Moiz Sonasath <m-sonasath@xxxxxx> Date: Thu Aug 20 11:21:15 2009 -0500 i2c-omap: ACK pending [R/X]DR and [R/X]RDY interrupts ACK any pending read/write interrupts before exiting the ISR either after completing the operation [ARDY interrupt] or in case of an error [NACK|AL interrupt] Signed-off-by: Moiz Sonasath <m-sonasath@xxxxxx> Signed-off-by: Vikram Pandita <vikram.pandita@xxxxxx> Signed-off-by: Ben Dooks <ben-linux@xxxxxxxxx> commit dcc4ec26942d3bae2c5a82ab8346ab53b540a171 Author: Nishanth Menon <nm@xxxxxx> Date: Thu Aug 20 11:21:14 2009 -0500 i2c-omap: Fix I2C status ACK I2C status ack for [RX]RDR and [RX]RDY could cause race conditions of clearing the event twice and a violation of the programing sequence as defined in TRM This patch fixes the same. Signed-off-by: Nishanth Menon <nm@xxxxxx> Signed-off-by: Moiz Sonasath <m-sonasath@xxxxxx> Signed-off-by: Ben Dooks <ben-linux@xxxxxxxxx> commit a1d12511157c8d22a5a6779f8a9d73a1adcfc3b0 Merge: 6c30c53fd5ae6a99a23ad78e90c428d2c8ffb07f 3abf2f3639959e4f53f209f93cd4d93fe9356de1 Author: Linus Torvalds <torvalds@xxxxxxxxxxxxxxxxxxxx> Date: Thu Aug 20 10:19:39 2009 -0700 Merge branch 'fix/hda' of git://git.kernel.org/pub/scm/linux/kernel/git/tiwai/sound-2.6 * 'fix/hda' of git://git.kernel.org/pub/scm/linux/kernel/git/tiwai/sound-2.6: ALSA: hda - Fix probe of Toshiba laptops with ALC268 codec ALSA: hda: add model for Intel DG45ID/DG45FC boards ALSA: hda: enable speaker output for Compaq 6530s/6531s commit c82f63e411f1b58427c103bd95af2863b1c96dd1 Author: Alek Du <alek.du@xxxxxxxxx> Date: Sat Aug 8 08:46:19 2009 +0800 PCI: check saved state before restore Without the check, the config space may be filled with zeros. Though the driver should try to avoid call restoring before saving, but the pci layer also should check this. Also removes the existing check in pci_restore_standard_config, since it's superfluous with the new check in restore_state. Acked-by: Rafael J. Wysocki <rjw@xxxxxxx> Signed-off-by: Alek Du <alek.du@xxxxxxxxx> Signed-off-by: Jesse Barnes <jbarnes@xxxxxxxxxxxxxxxx> commit cbcb340cb6a6f9f32724c90493f509dd41105e20 Merge: 78b89ecd731798f2fec8cc26ca90739253cec33c ce2eef33d35cd7b932492b5a81fb0febd2b323cd Author: Ingo Molnar <mingo@xxxxxxx> Date: Thu Aug 20 12:05:24 2009 +0200 Merge branch 'bugfix' of git://git.kernel.org/pub/scm/linux/kernel/git/jeremy/xen into x86/urgent commit d3b325f9c25be6d504bc73afce7f92d0e25001d7 Author: Petri Gynther <pgynther@xxxxxxxxxx> Date: Thu Aug 20 02:21:27 2009 -0700 ibm_newemac: emac_close() needs to call netif_carrier_off() When ibm_newemac netdev instance is shutdown with "ifconfig down", the netdev interface does not go properly down. netif_carrier_ok() keeps returning TRUE even after "ifconfig down". The problem can be seen when ibm_newemac instances are slaves of a bonding interface. The bonding interface code uses netif_carrier_ok() to determine the link status of its slaves. When ibm_newemac slave is shutdown with "ifconfig down", the bonding interface won't detect any link status change because netif_carrier_ok() keeps returning TRUE. Signed-off-by: Petri Gynther <pgynther@xxxxxxxxxx> Signed-off-by: David S. Miller <davem@xxxxxxxxxxxxx> commit 68947b8f9a36f7f7f54ca95e0c6e169bb603e803 Author: Jiri Kosina <jkosina@xxxxxxx> Date: Wed Aug 19 22:07:44 2009 -0700 Input: iforce - support new revision of ACT LABS Force RS Reported-by: cemede@xxxxxxxxx Signed-off-by: Jiri Kosina <jkosina@xxxxxxx> Signed-off-by: Dmitry Torokhov <dtor@xxxxxxx> commit ce2eef33d35cd7b932492b5a81fb0febd2b323cd Author: Jeremy Fitzhardinge <jeremy.fitzhardinge@xxxxxxxxxx> Date: Mon Aug 17 12:26:53 2009 -0700 xen: rearrange things to fix stackprotector Make sure the stack-protector segment registers are properly set up before calling any functions which may have stack-protection compiled into them. [ Impact: prevent Xen early-boot crash when stack-protector is enabled ] Signed-off-by: Jeremy Fitzhardinge <jeremy.fitzhardinge@xxxxxxxxxx> commit 5416c2663517ebd0be0664c4d4ce3df0b116c059 Author: Jeremy Fitzhardinge <jeremy.fitzhardinge@xxxxxxxxxx> Date: Mon Aug 17 12:25:41 2009 -0700 x86: make sure load_percpu_segment has no stackprotector load_percpu_segment() is used to set up the per-cpu segment registers, which are also used for -fstack-protector. Make sure that the load_percpu_segment() function doesn't have stackprotector enabled. [ Impact: allow percpu setup before calling stack-protected functions ] Signed-off-by: Jeremy Fitzhardinge <jeremy.fitzhardinge@xxxxxxxxxx> commit cbb35f8a2858f7e0fff5df598cb286c4bcae5976 Author: Randy Dunlap <randy.dunlap@xxxxxxxxxx> Date: Wed Aug 19 12:13:31 2009 -0700 net: fix ks8851 build errors Fix build errors due to missing Kconfig select of CRC32: ks8851.c:(.text+0x7d2ee): undefined reference to `crc32_le' ks8851.c:(.text+0x7d2f5): undefined reference to `bitrev32' Signed-off-by: Randy Dunlap <randy.dunlap@xxxxxxxxxx> Signed-off-by: David S. Miller <davem@xxxxxxxxxxxxx> commit 3abf2f3639959e4f53f209f93cd4d93fe9356de1 Author: Takashi Iwai <tiwai@xxxxxxx> Date: Wed Aug 19 20:05:02 2009 +0200 ALSA: hda - Fix probe of Toshiba laptops with ALC268 codec There are many variants of Toshiba laptops with ALC268 codec, and it seems that a few of them don't work with model=toshiba preset since they have the secondary ALC268 codec just for HDMI output. This is a regression due to the previous clean-up work to merge all Toshiba quirk entries into a single check. This patch adds the identification of such laptops to apply the standard BIOS-probing method. Unfortunately, Toshiba laptops have all the same PCI SSID, so we need to check the codec SSID to identify each device. Tested-by: Alexey Dobriyan <adobriyan@xxxxxxxxx> Signed-off-by: Takashi Iwai <tiwai@xxxxxxx> commit 6c30c53fd5ae6a99a23ad78e90c428d2c8ffb07f Merge: 0dc9aa845c20ed1f46c85f229591b811dffc4b3b a924586036833086b262a371b09d1266c23bb4d1 Author: Linus Torvalds <torvalds@xxxxxxxxxxxxxxxxxxxx> Date: Wed Aug 19 10:40:24 2009 -0700 Merge branch 'for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/ryusuke/nilfs2 * 'for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/ryusuke/nilfs2: nilfs2: fix oopses with doubly mounted snapshots nilfs2: missing a read lock for segment writer in nilfs_attach_checkpoint() commit 0dc9aa845c20ed1f46c85f229591b811dffc4b3b Author: Anton Blanchard <anton@xxxxxxxxx> Date: Wed Aug 19 16:10:16 2009 +0100 AFS: Documentation updates Fix some issues with the AFS documentation, found when testing AFS on ppc64: - Update AFS features: reading/writing, local caching - Typo in kafs sysfs debug file - Use modprobe instead of insmod in example - Update IPs for grand.central.org Signed-off-by: Anton Blanchard <anton@xxxxxxxxx> Signed-off-by: David Howells <dhowells@xxxxxxxxxx> Signed-off-by: Linus Torvalds <torvalds@xxxxxxxxxxxxxxxxxxxx> commit cad2c8fd9b3afceced08838c87c520e6da417a65 Merge: 4aa2d56b2149e70a0b944b4f21e4aed33d9ab94e 5ef5f72febfea420ce58f670bad83830a5e5e3de Author: Linus Torvalds <torvalds@xxxxxxxxxxxxxxxxxxxx> Date: Wed Aug 19 10:38:36 2009 -0700 Merge branch 'drm-fixes' of git://git.kernel.org/pub/scm/linux/kernel/git/airlied/drm-2.6 * 'drm-fixes' of git://git.kernel.org/pub/scm/linux/kernel/git/airlied/drm-2.6: drm/kms: teardown crtc correctly when fb is destroyed. drm/kms/radeon: cleanup combios TV table like DDX. drm/radeon/kms: memset the allocated framebuffer before using it. drm/radeon/kms: although LVDS might be possible on crtc 1 don't do it. drm/radeon/kms: implement bo busy check + current domain drm/radeon/kms: cut down indirects in register accesses. drm/radeon/kms: Fix up vertical blank interrupt support. drm/radeon/kms: add rv530 R300_SU_REG_DEST + reloc for ZPASS_ADDR drm/edid: fixup detailed timings like the X server. drm/radeon/kms: Add specific rs690 authorized register table commit 4aa2d56b2149e70a0b944b4f21e4aed33d9ab94e Merge: d46c7d9ab8289f23a5e161060b84fd7e63de7921 1fef7891755d99039592aa8d1ed02e981f38de15 Author: Linus Torvalds <torvalds@xxxxxxxxxxxxxxxxxxxx> Date: Wed Aug 19 09:44:51 2009 -0700 Merge branch 'next' of git://git.monstr.eu/linux-2.6-microblaze * 'next' of git://git.monstr.eu/linux-2.6-microblaze: microblaze: Update Microblaze defconfigs microblaze: Use klimit instead of _end for memory init microblaze: Enable ppoll syscall microblaze: Sane handling of missing timer/intc in device tree microblaze: use the generic ack_bad_irq implementation commit d46c7d9ab8289f23a5e161060b84fd7e63de7921 Merge: c124891f50f11e33acdfa276864ea089bab726b6 b395cd8a74b4a8d943dd4b5585e676f62f7350b3 Author: Linus Torvalds <torvalds@xxxxxxxxxxxxxxxxxxxx> Date: Wed Aug 19 09:43:19 2009 -0700 Merge branch 'perfcounters-fixes-for-linus-2' of git://git.kernel.org/pub/scm/linux/kernel/git/tip/linux-2.6-tip * 'perfcounters-fixes-for-linus-2' of git://git.kernel.org/pub/scm/linux/kernel/git/tip/linux-2.6-tip: perf tools: Make 'make html' work perf annotate: Fix segmentation fault perf_counter: Fix the PARISC build perf_counter: Check task on counter read IPI perf: Rename perf-examples.txt to examples.txt perf record: Fix typo in pid_synthesize_comm_event commit f833bab87fca5c3ce13778421b1365845843b976 Author: Suresh Siddha <suresh.b.siddha@xxxxxxxxx> Date: Mon Aug 17 14:34:59 2009 -0700 clockevent: Prevent dead lock on clockevents_lock Currently clockevents_notify() is called with interrupts enabled at some places and interrupts disabled at some other places. This results in a deadlock in this scenario. cpu A holds clockevents_lock in clockevents_notify() with irqs enabled cpu B waits for clockevents_lock in clockevents_notify() with irqs disabled cpu C doing set_mtrr() which will try to rendezvous of all the cpus. This will result in C and A come to the rendezvous point and waiting for B. B is stuck forever waiting for the spinlock and thus not reaching the rendezvous point. Fix the clockevents code so that clockevents_lock is taken with interrupts disabled and thus avoid the above deadlock. Also call lapic_timer_propagate_broadcast() on the destination cpu so that we avoid calling smp_call_function() in the clockevents notifier chain. This issue left us wondering if we need to change the MTRR rendezvous logic to use stop machine logic (instead of smp_call_function) or add a check in spinlock debug code to see if there are other spinlocks which gets taken under both interrupts enabled/disabled conditions. Signed-off-by: Suresh Siddha <suresh.b.siddha@xxxxxxxxx> Signed-off-by: Venkatesh Pallipadi <venkatesh.pallipadi@xxxxxxxxx> Cc: "Pallipadi Venkatesh" <venkatesh.pallipadi@xxxxxxxxx> Cc: "Brown Len" <len.brown@xxxxxxxxx> LKML-Reference: <1250544899.2709.210.camel@xxxxxxxxxxxxxxxxxxxx> Signed-off-by: Thomas Gleixner <tglx@xxxxxxxxxxxxx> commit fa6963b2481beff8b11f76006fbb63fdbbf2d2d7 Author: Peter Zijlstra <a.p.zijlstra@xxxxxxxxx> Date: Wed Aug 19 11:18:26 2009 +0200 perf tools: Check perf.data owner Add an owner check to opening perf.data files and a switch to silence it. Because perf-report/perf-annotate are binary parsers reading another users' perf.data file could be a security risk if the file were explicitly engineered to trigger bugs in the parser (we hope of course there are non such bugs, but you never know). Signed-off-by: Peter Zijlstra <a.p.zijlstra@xxxxxxxxx> Cc: Arnaldo Carvalho de Melo <acme@xxxxxxxxxx> Cc: Frederic Weisbecker <fweisbec@xxxxxxxxx> Cc: Mike Galbraith <efault@xxxxxx> Cc: Peter Zijlstra <a.p.zijlstra@xxxxxxxxx> Cc: Paul Mackerras <paulus@xxxxxxxxx> LKML-Reference: <20090819092023.896648538@xxxxxxxxx> Signed-off-by: Ingo Molnar <mingo@xxxxxxx> commit ae709440edb2d36f51f5ea51cfab931f45c03e02 Author: Wu Fengguang <fengguang.wu@xxxxxxxxx> Date: Wed Aug 19 17:05:11 2009 +0800 ALSA: hda: add model for Intel DG45ID/DG45FC boards The BIOS pin configs are in fact correct and shall not be overwritten. Signed-off-by: Wu Fengguang <fengguang.wu@xxxxxxxxx> Signed-off-by: Takashi Iwai <tiwai@xxxxxxx> commit 150fe14c1a1f08cb430d8382bf5554c2a168b79b Author: Wu Fengguang <fengguang.wu@xxxxxxxxx> Date: Wed Aug 19 16:58:59 2009 +0800 ALSA: hda: enable speaker output for Compaq 6530s/6531s HP Compaq 6530s and 6531s internal speaker is silence or becomes silence within 1 minute after fresh boot. It is found that pin 0x1c must be set to PIN_OUT mode to make the speaker work. This is weird - line-in pin 0x1c and speaker pin 0x16 seem to be unrelated. The codec differences before/after patch are: @@ Node 0x17 [Pin Complex] wcaps 0x40020b: Pin Default 0x41a6e130: [N/A] Mic at Ext Rear Conn = Digital, Color = White DefAssociation = 0x3, Sequence = 0x0 Misc = NO_PRESENCE - Pin-ctls: 0x24: IN + Pin-ctls: 0x40: OUT @@ Node 0x1c [Pin Complex] wcaps 0x40018d: Pin Default 0x41813021: [N/A] Line In at Ext Rear Conn = 1/8, Color = Blue DefAssociation = 0x2, Sequence = 0x1 - Pin-ctls: 0x24: IN VREF_80 + Pin-ctls: 0x40: OUT VREF_HIZ Unsolicited: tag=00, enabled=0 Connection: 1 0x24 Tests show that it won't impact (external) Mic recording. Reported-by: "Lin, Ming M" <ming.m.lin@xxxxxxxxx> Signed-off-by: Wu Fengguang <fengguang.wu@xxxxxxxxx> Signed-off-by: Takashi Iwai <tiwai@xxxxxxx> commit 1ca3976d8ca8b0b44145994b1433f759a642615b Author: David S. Miller <davem@xxxxxxxxxxxxx> Date: Tue Aug 18 23:56:21 2009 -0700 sparc64: Update defconfig. Signed-off-by: David S. Miller <davem@xxxxxxxxxxxxx> commit 2193aa276e2579d9c781c5269521d43f47da9959 Author: David S. Miller <davem@xxxxxxxxxxxxx> Date: Tue Aug 18 23:46:12 2009 -0700 sparc32: Update defconfig. Signed-off-by: David S. Miller <davem@xxxxxxxxxxxxx> commit a9919646d12a13bea7eb74b996686f900dffb120 Author: David S. Miller <davem@xxxxxxxxxxxxx> Date: Tue Aug 18 23:44:08 2009 -0700 sparc32: Kill trap table freeing code. Normally, srmmu uses different trap table register values to allow determination of the cpu we're on. All of the trap tables have identical content, they just sit at different offsets from the first trap table, and the offset shifted down and masked out determines the cpu we are on. The code tries to free them up when they aren't actually used (don't have all 4 cpus, we're on sun4d, etc.) but that causes problems. For one thing it triggers false positives in the DMA debugging code. And fixing that up while preserving this relative offset thing isn't trivial. So just kill the freeing code, it costs us at most 3 pages, big deal... Signed-off-by: David S. Miller <davem@xxxxxxxxxxxxx> commit 456d8991a795ff5e44dbc1c2a7f8d5b4ed675866 Author: Wan ZongShun <mcuos.com@xxxxxxxxx> Date: Tue Aug 18 23:34:58 2009 -0700 net: Rename MAC platform driver for w90p910 platform Due to I modified the corresponding platform device name, so I make the patch to rename MAC platform driver for w90p910 platform. Signed-off-by: Wan ZongShun <mcuos.com@xxxxxxxxx> Signed-off-by: David S. Miller <davem@xxxxxxxxxxxxx> commit 5ef5f72febfea420ce58f670bad83830a5e5e3de Author: Dave Airlie <airlied@xxxxxxxxxx> Date: Mon Aug 17 13:11:23 2009 +1000 drm/kms: teardown crtc correctly when fb is destroyed. If userspace destroys a framebuffer that is in use on a crtc, don't just null it out, tear down the crtc properly so the hw gets turned off. Signed-off-by: Dave Airlie <airlied@xxxxxxxxxx> commit 6a719e05330ef19acd9392dbbfb95a774776dee5 Author: Dave Airlie <airlied@xxxxxxxxxx> Date: Mon Aug 17 10:19:51 2009 +1000 drm/kms/radeon: cleanup combios TV table like DDX. The fallback case wasn't getting executed properly if there was no TV table, which my T42 M7 hasn't got. Signed-off-by: Dave Airlie <airlied@xxxxxxxxxx> commit bf8e828b00a5b6a0fea16f452be578c060d57d64 Author: Dave Airlie <airlied@xxxxxxxxxx> Date: Mon Aug 17 10:20:47 2009 +1000 drm/radeon/kms: memset the allocated framebuffer before using it. This gets rid of some ugliness, we shuold probably find a way for the GPU to zero this. Signed-off-by: Dave Airlie <airlied@xxxxxxxxxx> commit 80e6914db18e702549a15dea36fa7ace17f25c50 Author: Dave Airlie <airlied@xxxxxxxxxx> Date: Mon Aug 17 10:22:37 2009 +1000 drm/radeon/kms: although LVDS might be possible on crtc 1 don't do it. LVDS always requests RMX_FULL, we need to fix it so that doesn't happen before we can enable LVDS on crtc 1. Signed-off-by: Dave Airlie <airlied@xxxxxxxxxx> commit e7a5965a81a29a13cd4994fa23a6a7a1488bcdb6 Author: Roel Kluin <roel.kluin@xxxxxxxxx> Date: Tue Aug 18 20:21:40 2009 -0700 yellowfin: Fix buffer underrun after dev_alloc_skb() failure yellowfin_init_ring() needs to clean up if dev_alloc_skb() fails and should pass an error status up to the caller. This also prevents an buffer underrun if failure occurred in the first iteration. yellowfin_open() which calls yellowfin_init_ring() should free its requested irq upon failure. Signed-off-by: Roel Kluin <roel.kluin@xxxxxxxxx> Signed-off-by: David S. Miller <davem@xxxxxxxxxxxxx> commit e2c6cbd9ace61039d3de39e717195e38f1492aee Author: Mathieu Desnoyers <mathieu.desnoyers@xxxxxxxxxx> Date: Tue Aug 18 20:16:55 2009 -0700 sparc: sys32.S incorrect compat-layer splice() system call I think arch/sparc/kernel/sys32.S has an incorrect splice definition: SIGN2(sys32_splice, sys_splice, %o0, %o1) The splice() prototype looks like : long splice(int fd_in, loff_t *off_in, int fd_out, loff_t *off_out, size_t len, unsigned int flags); So I think we should have : SIGN2(sys32_splice, sys_splice, %o0, %o2) Signed-off-by: Mathieu Desnoyers <mathieu.desnoyers@xxxxxxxxxx> Signed-off-by: David S. Miller <davem@xxxxxxxxxxxxx> commit c124891f50f11e33acdfa276864ea089bab726b6 Merge: 77f312a96dd1e01c49ccd872265e70a8346b53cc 024e6cb408307de41cbfcb1e5a170d9af60ab2a9 Author: Linus Torvalds <torvalds@xxxxxxxxxxxxxxxxxxxx> Date: Tue Aug 18 19:41:47 2009 -0700 Merge branch 'for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/jmorris/security-testing-2.6 * 'for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/jmorris/security-testing-2.6: security: Fix prompt for LSM_MMAP_MIN_ADDR security: Make LSM_MMAP_MIN_ADDR default match its help text. commit 77f312a96dd1e01c49ccd872265e70a8346b53cc Merge: dc8ed71eeb8adce08d3070f4130e12ee540baa59 142d44b0dd6741a64a7bdbe029110e7c1dcf1d23 Author: Linus Torvalds <torvalds@xxxxxxxxxxxxxxxxxxxx> Date: Tue Aug 18 19:41:05 2009 -0700 Merge branch 'for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/tj/percpu * 'for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/tj/percpu: percpu: use the right flag for get_vm_area() percpu, sparc64: fix sparse possible cpu map handling init: set nr_cpu_ids before setup_per_cpu_areas() commit eda1e328556565e211b7450250e40d6de751563a Author: Jiri Olsa <jolsa@xxxxxxxxxx> Date: Tue Aug 11 17:29:04 2009 +0200 tracing: handle broken names in ftrace filter If one filter item (for set_ftrace_filter and set_ftrace_notrace) is being setup by more than 1 consecutive writes (FTRACE_ITER_CONT flag), it won't be handled corretly. I used following program to test/verify: [snip] #include <stdio.h> #include <sys/types.h> #include <sys/stat.h> #include <fcntl.h> #include <string.h> int main(int argc, char **argv) { int fd, i; char *file = argv[1]; if (-1 == (fd = open(file, O_WRONLY))) { perror("open failed"); return -1; } for(i = 0; i < (argc - 2); i++) { int len = strlen(argv[2+i]); int cnt, off = 0; while(len) { cnt = write(fd, argv[2+i] + off, len); len -= cnt; off += cnt; } } close(fd); return 0; } [snip] before change: sh-4.0# echo > ./set_ftrace_filter sh-4.0# /test ./set_ftrace_filter "sys" "_open " sh-4.0# cat ./set_ftrace_filter #### all functions enabled #### sh-4.0# after change: sh-4.0# echo > ./set_ftrace_notrace sh-4.0# test ./set_ftrace_notrace "sys" "_open " sh-4.0# cat ./set_ftrace_notrace sys_open sh-4.0# Signed-off-by: Jiri Olsa <jolsa@xxxxxxxxxx> LKML-Reference: <20090811152904.GA26065@xxxxxxxxxxxxxxxxxxxxxxxxxxxx> Signed-off-by: Steven Rostedt <rostedt@xxxxxxxxxxx> commit dc8ed71eeb8adce08d3070f4130e12ee540baa59 Merge: 7f9cfb31030737a7fc9a1cbca3fd01bec184c849 e412cd257e0d51e0ecbb89f50953835b5a0681b2 Author: Linus Torvalds <torvalds@xxxxxxxxxxxxxxxxxxxx> Date: Tue Aug 18 16:55:43 2009 -0700 Merge branch 'x86-fixes-for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/tip/linux-2.6-tip * 'x86-fixes-for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/tip/linux-2.6-tip: x86, mce: Don't initialize MCEs on unknown CPUs x86, mce: don't log boot MCEs on Pentium M (model == 13) CPUs x86: Annotate section mismatch warnings in kernel/apic/x2apic_uv_x.c x86, mce: therm_throt: Don't log redundant normality x86: Fix UV BAU destination subnode id commit 7f9cfb31030737a7fc9a1cbca3fd01bec184c849 Author: Bo Liu <bo-liu@xxxxxxxxxxx> Date: Tue Aug 18 14:11:19 2009 -0700 mm: build_zonelists(): move clear node_load[] to __build_all_zonelists() If node_load[] is cleared everytime build_zonelists() is called,node_load[] will have no help to find the next node that should appear in the given node's fallback list. Because of the bug, zonelist's node_order is not calculated as expected. This bug affects on big machine, which has asynmetric node distance. [synmetric NUMA's node distance] 0 1 2 0 10 12 12 1 12 10 12 2 12 12 10 [asynmetric NUMA's node distance] 0 1 2 0 10 12 20 1 12 10 14 2 20 14 10 This (my bug) is very old but no one has reported this for a long time. Maybe because the number of asynmetric NUMA is very small and they use cpuset for customizing node memory allocation fallback. [akpm@xxxxxxxxxxxxxxxxxxxx: fix CONFIG_NUMA=n build] Signed-off-by: Bo Liu <bo-liu@xxxxxxxxxxx> Reviewed-by: KAMEZAWA Hiroyuki <kamezawa.hiroyu@xxxxxxxxxxxxxx> Cc: Mel Gorman <mel@xxxxxxxxx> Cc: Christoph Lameter <cl@xxxxxxxxxxxxxxxxxxxx> Cc: <stable@xxxxxxxxxx> Signed-off-by: Andrew Morton <akpm@xxxxxxxxxxxxxxxxxxxx> Signed-off-by: Linus Torvalds <torvalds@xxxxxxxxxxxxxxxxxxxx> commit 503f7944fac68f4fdf71f8ebd06907f51eb64515 Author: Joe Perches <joe@xxxxxxxxxxx> Date: Tue Aug 18 14:11:18 2009 -0700 REPORTING-BUGS: add get_maintainer.pl blurb Signed-off-by: Joe Perches <joe@xxxxxxxxxxx> Signed-off-by: Andrew Morton <akpm@xxxxxxxxxxxxxxxxxxxx> Signed-off-by: Linus Torvalds <torvalds@xxxxxxxxxxxxxxxxxxxx> commit 28d7a6ae92c099d81cbea08c20be0d2cf7ccd7ca Author: Graff Yang <graff.yang@xxxxxxxxx> Date: Tue Aug 18 14:11:17 2009 -0700 nommu: check fd read permission in validate_mmap_request() According to the POSIX (1003.1-2008), the file descriptor shall have been opened with read permission, regardless of the protection options specified to mmap(). The ltp test cases mmap06/07 need this. Signed-off-by: Graff Yang <graff.yang@xxxxxxxxx> Acked-by: Paul Mundt <lethal@xxxxxxxxxxxx> Signed-off-by: David Howells <dhowells@xxxxxxxxxx> Acked-by: Greg Ungerer <gerg@xxxxxxxxxxxx> Signed-off-by: Andrew Morton <akpm@xxxxxxxxxxxxxxxxxxxx> Signed-off-by: Linus Torvalds <torvalds@xxxxxxxxxxxxxxxxxxxx> commit 191529756633052680dd9d23ad63744ca5aa02a1 Author: Ben Dooks <ben@xxxxxxxxxxxx> Date: Tue Aug 18 14:11:17 2009 -0700 spi_s3c24xx: fix transfer setup code Since the changes to the bitbang driver, there is the possibility we will be called with either the speed_hz or bpw values zero. We take these to mean that the default values (8 bits per word, or maximum bus speed). Signed-off-by: Ben Dooks <ben@xxxxxxxxxxxx> Cc: David Brownell <david-b@xxxxxxxxxxx> Signed-off-by: Andrew Morton <akpm@xxxxxxxxxxxxxxxxxxxx> Signed-off-by: Linus Torvalds <torvalds@xxxxxxxxxxxxxxxxxxxx> commit b8978784544e8b4e8fbacb558df8580957d4f8a5 Author: Ben Dooks <ben@xxxxxxxxxxxx> Date: Tue Aug 18 14:11:16 2009 -0700 spi_s3c24xx: fix clock rate calculation Currently the clock rate calculation may round as pleased, which means that it is possible that we will round down and end up with a faster clock rate than intended. Change the calculation to use DIV_ROUND_UP() to ensure that we end up with a clock rate either the same as or lower than the user requested one. Signed-off-by: Ben Dooks <ben@xxxxxxxxxxxx> Cc: David Brownell <david-b@xxxxxxxxxxx> Signed-off-by: Andrew Morton <akpm@xxxxxxxxxxxxxxxxxxxx> Signed-off-by: Linus Torvalds <torvalds@xxxxxxxxxxxxxxxxxxxx> commit b2503a9408e44eb0531adc3436c513ea70f91c42 Author: Andrew Morton <akpm@xxxxxxxxxxxxxxxxxxxx> Date: Tue Aug 18 14:11:12 2009 -0700 mmc: add the new linux-mmc mailing list to MAINTAINERS There are a number of individual MMC drivers listed in MAINTAINERS. I didn't modify those records. Perhaps I should have. Cc: <linux-mmc@xxxxxxxxxxxxxxx> Cc: Manuel Lauss <manuel.lauss@xxxxxxxxx> Cc: Nicolas Pitre <nico@xxxxxxx> Cc: Pierre Ossman <drzeus@xxxxxxxxx> Cc: Pavel Pisa <ppisa@xxxxxxxxxx> Cc: Jarkko Lavinen <jarkko.lavinen@xxxxxxxxx> Cc: Ben Dooks <ben-linux@xxxxxxxxx> Cc: Sascha Sommer <saschasommer@xxxxxxxxxx> Cc: Ian Molton <ian@xxxxxxxxxxxxxx> Cc: Joseph Chan <JosephChan@xxxxxxxxxx> Cc: Harald Welte <HaraldWelte@xxxxxxxxxxx> Signed-off-by: Andrew Morton <akpm@xxxxxxxxxxxxxxxxxxxx> Signed-off-by: Linus Torvalds <torvalds@xxxxxxxxxxxxxxxxxxxx> commit 0753ba01e126020bf0f8150934903b48935b697d Author: KOSAKI Motohiro <kosaki.motohiro@xxxxxxxxxxxxxx> Date: Tue Aug 18 14:11:10 2009 -0700 mm: revert "oom: move oom_adj value" The commit 2ff05b2b (oom: move oom_adj value) moveed the oom_adj value to the mm_struct. It was a very good first step for sanitize OOM. However Paul Menage reported the commit makes regression to his job scheduler. Current OOM logic can kill OOM_DISABLED process. Why? His program has the code of similar to the following. ... set_oom_adj(OOM_DISABLE); /* The job scheduler never killed by oom */ ... if (vfork() == 0) { set_oom_adj(0); /* Invoked child can be killed */ execve("foo-bar-cmd"); } .... vfork() parent and child are shared the same mm_struct. then above set_oom_adj(0) doesn't only change oom_adj for vfork() child, it's also change oom_adj for vfork() parent. Then, vfork() parent (job scheduler) lost OOM immune and it was killed. Actually, fork-setting-exec idiom is very frequently used in userland program. We must not break this assumption. Then, this patch revert commit 2ff05b2b and related commit. Reverted commit list --------------------- - commit 2ff05b2b4e (oom: move oom_adj value from task_struct to mm_struct) - commit 4d8b9135c3 (oom: avoid unnecessary mm locking and scanning for OOM_DISABLE) - commit 8123681022 (oom: only oom kill exiting tasks with attached memory) - commit 933b787b57 (mm: copy over oom_adj value at fork time) Signed-off-by: KOSAKI Motohiro <kosaki.motohiro@xxxxxxxxxxxxxx> Cc: Paul Menage <menage@xxxxxxxxxx> Cc: David Rientjes <rientjes@xxxxxxxxxx> Cc: KAMEZAWA Hiroyuki <kamezawa.hiroyu@xxxxxxxxxxxxxx> Cc: Rik van Riel <riel@xxxxxxxxxx> Cc: Linus Torvalds <torvalds@xxxxxxxxxxxxxxxxxxxx> Cc: Oleg Nesterov <oleg@xxxxxxxxxx> Cc: Nick Piggin <npiggin@xxxxxxx> Cc: Mel Gorman <mel@xxxxxxxxx> Signed-off-by: Andrew Morton <akpm@xxxxxxxxxxxxxxxxxxxx> Signed-off-by: Linus Torvalds <torvalds@xxxxxxxxxxxxxxxxxxxx> commit 89a4eb4b66e8f4d395e14a14d262dac4d6ca52f0 Author: Jeff Layton <jlayton@xxxxxxxxxx> Date: Tue Aug 18 14:11:08 2009 -0700 vfs: make get_sb_pseudo set s_maxbytes to value that can be cast to signed get_sb_pseudo sets s_maxbytes to ~0ULL which becomes negative when cast to a signed value. Fix it to use MAX_LFS_FILESIZE which casts properly to a positive signed value. Signed-off-by: Jeff Layton <jlayton@xxxxxxxxxx> Reviewed-by: Johannes Weiner <hannes@xxxxxxxxxxx> Acked-by: Steve French <smfrench@xxxxxxxxx> Reviewed-by: Christoph Hellwig <hch@xxxxxx> Cc: Al Viro <viro@xxxxxxxxxxxxxxxxxx> Cc: Robert Love <rlove@xxxxxxxxxx> Signed-off-by: Andrew Morton <akpm@xxxxxxxxxxxxxxxxxxxx> Signed-off-by: Linus Torvalds <torvalds@xxxxxxxxxxxxxxxxxxxx> commit 6b6f0b6c131321e1bc34c47b7f671b0360315402 Author: Joe Perches <joe@xxxxxxxxxxx> Date: Tue Aug 18 14:11:06 2009 -0700 MAINTAINERS: OSD LIBRARY and FILESYSTEM pattern fix Signed-off-by: Joe Perches <joe@xxxxxxxxxxx> Acked-by: Benny Halevy <bhalevy@xxxxxxxxxxx> Cc: Boaz Harrosh <bharrosh@xxxxxxxxxxx> Signed-off-by: Andrew Morton <akpm@xxxxxxxxxxxxxxxxxxxx> Signed-off-by: Linus Torvalds <torvalds@xxxxxxxxxxxxxxxxxxxx> commit 08fdef99342955a62884fb5c49ab43431a1cafbf Merge: c1a8f1f1c8e01eab5862c8db39b49ace814e6c66 518ff04fd84290a7ad9042e8a46d78d29cb443d3 Author: David S. Miller <davem@xxxxxxxxxxxxx> Date: Tue Aug 18 16:29:16 2009 -0700 Merge branch 'master' of git://git.kernel.org/pub/scm/linux/kernel/git/linville/wireless-2.6 commit 024e6cb408307de41cbfcb1e5a170d9af60ab2a9 Author: Andreas Schwab <schwab@xxxxxxxxxxxxxx> Date: Tue Aug 18 22:14:29 2009 +0200 security: Fix prompt for LSM_MMAP_MIN_ADDR Fix prompt for LSM_MMAP_MIN_ADDR. (Verbs are cool!) Signed-off-by: Andreas Schwab <schwab@xxxxxxxxxxxxxx> Acked-by: Eric Paris <eparis@xxxxxxxxxx> Signed-off-by: James Morris <jmorris@xxxxxxxxx> commit a58578e47f004017cf47803ad372490806630e58 Author: Dave Jones <davej@xxxxxxxxxx> Date: Tue Aug 18 13:47:37 2009 -0400 security: Make LSM_MMAP_MIN_ADDR default match its help text. Commit 788084aba2ab7348257597496befcbccabdc98a3 added the LSM_MMAP_MIN_ADDR option, whose help text states "For most ia64, ppc64 and x86 users with lots of address space a value of 65536 is reasonable and should cause no problems." Which implies that it's default setting was typoed. Signed-off-by: Dave Jones <davej@xxxxxxxxxx> Acked-by: Eric Paris <eparis@xxxxxxxxxx> Signed-off-by: James Morris <jmorris@xxxxxxxxx> commit dcd94dbdaff452b95d4ba11fdbf853b5bda8e6e7 Merge: 8486a0f95c844b27ecc855cfec89b7e34f831cad 69ab849439b506cd8dd2879527fdb64d95dd5211 Author: Linus Torvalds <torvalds@xxxxxxxxxxxxxxxxxxxx> Date: Tue Aug 18 13:57:38 2009 -0700 Merge branch 'irq-fixes-for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/tip/linux-2.6-tip * 'irq-fixes-for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/tip/linux-2.6-tip: genirq: Wake up irq thread after action has been installed commit 8486a0f95c844b27ecc855cfec89b7e34f831cad Merge: b9d030a123b6b7fbf262c995455197ea5184b497 c1a8f1f1c8e01eab5862c8db39b49ace814e6c66 Author: Linus Torvalds <torvalds@xxxxxxxxxxxxxxxxxxxx> Date: Tue Aug 18 13:55:01 2009 -0700 Merge git://git.kernel.org/pub/scm/linux/kernel/git/davem/net-2.6 * git://git.kernel.org/pub/scm/linux/kernel/git/davem/net-2.6: (60 commits) net: restore gnet_stats_basic to previous definition NETROM: Fix use of static buffer e1000e: fix use of pci_enable_pcie_error_reporting e1000e: WoL does not work on 82577/82578 with manageability enabled cnic: Fix locking in init/exit calls. cnic: Fix locking in start/stop calls. bnx2: Use mutex on slow path cnic calls. cnic: Refine registration with bnx2. cnic: Fix symbol_put_addr() panic on ia64. gre: Fix MTU calculation for bound GRE tunnels pegasus: Add new device ID. drivers/net: fixed drivers that support netpoll use ndo_start_xmit() via-velocity: Fix test of mii_status bit VELOCITY_DUPLEX_FULL rt2x00: fix memory corruption in rf cache, add a sanity check ixgbe: Fix receive on real device when VLANs are configured ixgbe: Do not return 0 in ixgbe_fcoe_ddp() upon FCP_RSP in DDP completion netxen: free napi resources during detach netxen: remove netxen workqueue ixgbe: fix issues setting rx-usecs with legacy interrupts can: fix oops caused by wrong rtnl newlink usage ... commit b9d030a123b6b7fbf262c995455197ea5184b497 Merge: 435a71d9ef68b03343949c814986e01dae849763 237674e050ae8ea40a432412df6c15d60b7ae8a6 Author: Linus Torvalds <torvalds@xxxxxxxxxxxxxxxxxxxx> Date: Tue Aug 18 13:54:26 2009 -0700 Merge branch 'sh/for-2.6.31' of git://git.kernel.org/pub/scm/linux/kernel/git/lethal/sh-2.6 * 'sh/for-2.6.31' of git://git.kernel.org/pub/scm/linux/kernel/git/lethal/sh-2.6: sh: sh7724 ddr self-refresh changes sh: use in-soc KEYSC on se7724 sh: CMT suspend/resume sh: skip disabled LCDC channels commit 435a71d9ef68b03343949c814986e01dae849763 Merge: df4ecf1524c7793de3121b2d4e5fc6bcc0da3bfb 80ffb3cceaefa405f2ecd46d66500ed8d53efe74 Author: Linus Torvalds <torvalds@xxxxxxxxxxxxxxxxxxxx> Date: Tue Aug 18 13:54:08 2009 -0700 Merge branch 'for-linus' of git://neil.brown.name/md * 'for-linus' of git://neil.brown.name/md: Fix new incorrect error return from do_md_stop. commit a924586036833086b262a371b09d1266c23bb4d1 Author: Ryusuke Konishi <konishi.ryusuke@xxxxxxxxxxxxx> Date: Wed Aug 19 00:29:43 2009 +0900 nilfs2: fix oopses with doubly mounted snapshots will fix kernel oopses like the following: # mount -t nilfs2 -r -o cp=20 /dev/sdb1 /test1 # mount -t nilfs2 -r -o cp=20 /dev/sdb1 /test2 # umount /test1 # umount /test2 BUG: sleeping function called from invalid context at arch/x86/mm/fault.c:1069 in_atomic(): 0, irqs_disabled(): 1, pid: 3886, name: umount.nilfs2 1 lock held by umount.nilfs2/3886: #0: (&type->s_umount_key#31){+.+...}, at: [<c10b398a>] deactivate_super+0x52/0x6c irq event stamp: 1219 hardirqs last enabled at (1219): [<c135c774>] __mutex_unlock_slowpath+0xf8/0x119 hardirqs last disabled at (1218): [<c135c6d5>] __mutex_unlock_slowpath+0x59/0x119 softirqs last enabled at (1214): [<c1033316>] __do_softirq+0x1a5/0x1ad softirqs last disabled at (1205): [<c1033354>] do_softirq+0x36/0x5a Pid: 3886, comm: umount.nilfs2 Not tainted 2.6.31-rc6 #55 Call Trace: [<c1023549>] __might_sleep+0x107/0x10e [<c13603c0>] do_page_fault+0x246/0x397 [<c136017a>] ? do_page_fault+0x0/0x397 [<c135e753>] error_code+0x6b/0x70 [<c136017a>] ? do_page_fault+0x0/0x397 [<c104f805>] ? __lock_acquire+0x91/0x12fd [<c1050a62>] ? __lock_acquire+0x12ee/0x12fd [<c1050a62>] ? __lock_acquire+0x12ee/0x12fd [<c1050b2b>] lock_acquire+0xba/0xdd [<d0d17d3f>] ? nilfs_detach_segment_constructor+0x2f/0x2fa [nilfs2] [<c135d4fe>] down_write+0x2a/0x46 [<d0d17d3f>] ? nilfs_detach_segment_constructor+0x2f/0x2fa [nilfs2] [<d0d17d3f>] nilfs_detach_segment_constructor+0x2f/0x2fa [nilfs2] [<c104ea2c>] ? mark_held_locks+0x43/0x5b [<c104ecb1>] ? trace_hardirqs_on_caller+0x10b/0x133 [<c104ece4>] ? trace_hardirqs_on+0xb/0xd [<d0d09ac1>] nilfs_put_super+0x2f/0xca [nilfs2] [<c10b3352>] generic_shutdown_super+0x49/0xb8 [<c10b33de>] kill_block_super+0x1d/0x31 [<c10e6599>] ? vfs_quota_off+0x0/0x12 [<c10b398f>] deactivate_super+0x57/0x6c [<c10c4bc3>] mntput_no_expire+0x8c/0xb4 [<c10c5094>] sys_umount+0x27f/0x2a4 [<c10c50c6>] sys_oldumount+0xd/0xf [<c10031a4>] sysenter_do_call+0x12/0x38 ... This turns out to be a bug brought by an -rc1 patch ("nilfs2: simplify remaining sget() use"). In the patch, a new "put resource" function, nilfs_put_sbinfo() was introduced to delay freeing nilfs_sb_info struct. But the nilfs_put_sbinfo() mistakenly used atomic_dec_and_test() function to check the reference count, and it caused the nilfs_sb_info was freed when user mounted a snapshot twice. This bug also suggests there was unseen memory leak in usual mount /umount operations for nilfs. Signed-off-by: Ryusuke Konishi <konishi.ryusuke@xxxxxxxxxxxxx> commit b395cd8a74b4a8d943dd4b5585e676f62f7350b3 Author: Kyle McMartin <kyle@xxxxxxxxxx> Date: Tue Aug 18 12:41:25 2009 -0400 perf tools: Make 'make html' work pushd tools/perf/Documentation make html popd is failing for me... ASCIIDOC perf-annotate.html ERROR: unsafe: include file: /etc/asciidoc/./stylesheets/xhtml11.css ERROR: unsafe: include file: /etc/asciidoc/./stylesheets/xhtml11-manpage.css ERROR: unsafe: include file: /etc/asciidoc/./stylesheets/xhtml11-quirks.css make: *** [perf-annotate.html] Error 1 Apparently asciidoc "unsafe" is the default mode of operation in practice. https://bugzilla.redhat.com/show_bug.cgi?id=506953 Works tidily now. Signed-off-by: Kyle McMartin <kyle@xxxxxxxxxx> 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: <20090818164125.GM25206@xxxxxxxxxxxxxxxxxxxxxx> Signed-off-by: Ingo Molnar <mingo@xxxxxxx> commit 78b89ecd731798f2fec8cc26ca90739253cec33c Author: Jan Beulich <JBeulich@xxxxxxxxxx> Date: Tue Aug 18 16:41:33 2009 +0100 i386: Fix section mismatches for init code with !HOTPLUG_CPU Commit 0e83815be719d3391bf5ea24b7fe696c07dbd417 changed the section the initial_code variable gets allocated in, in an attempt to address a section conflict warning. This, however created a new section conflict when building without HOTPLUG_CPU. The apparently only (reasonable) way to address this is to always use __REFDATA. Once at it, also fix a second section mismatch when not using HOTPLUG_CPU. Signed-off-by: Jan Beulich <jbeulich@xxxxxxxxxx> Cc: Robert Richter <robert.richter@xxxxxxx> LKML-Reference: <4A8AE7CD020000780001054B@xxxxxxxxxxxxxxxxxx> Signed-off-by: Ingo Molnar <mingo@xxxxxxx> commit 69ab849439b506cd8dd2879527fdb64d95dd5211 Author: Thomas Gleixner <tglx@xxxxxxxxxxxxx> Date: Mon Aug 17 14:07:16 2009 +0200 genirq: Wake up irq thread after action has been installed The wake_up_process() of the new irq thread in __setup_irq() is too early as the irqaction is not yet fully initialized especially action->irq is not yet set. The interrupt thread might dereference the wrong irq descriptor. Move the wakeup after the action is installed and action->irq has been set. Reported-by: Michael Buesch <mb@xxxxxxxxx> Signed-off-by: Thomas Gleixner <tglx@xxxxxxxxxxxxx> Tested-by: Michael Buesch <mb@xxxxxxxxx> commit 15f3fa4e7f608c5ce19187b3b4a953222fdfa751 Author: Ingo Molnar <mingo@xxxxxxx> Date: Tue Aug 18 13:52:28 2009 +0200 perf annotate: Fix segmentation fault Linus reported this perf annotate segfault: [torvalds@nehalem git]$ perf annotate unmap_vmas Segmentation fault #0 map__clone (self=<value optimized out>) at builtin-annotate.c:236 #1 thread__fork (self=<value optimized out>) at builtin-annotate.c:372 The bug here was that builtin-annotate.c was a copy of builtin-report.c and a threading related fix to builtin-report.c didnt get propagated to builtin-annotate.c ... Reported-by: Linus Torvalds <torvalds@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> LKML-Reference: <new-submission> Signed-off-by: Ingo Molnar <mingo@xxxxxxx> commit f738eb1b63edf664da1b4ac76895d988749b2f07 Author: Ingo Molnar <mingo@xxxxxxx> Date: Tue Aug 18 11:32:24 2009 +0200 perf_counter: Fix the PARISC build PARISC does not build: /home/mingo/tip/kernel/perf_counter.c: In function 'perf_counter_index': /home/mingo/tip/kernel/perf_counter.c:2016: error: 'PERF_COUNTER_INDEX_OFFSET' undeclared (first use in this function) /home/mingo/tip/kernel/perf_counter.c:2016: error: (Each undeclared identifier is reported only once /home/mingo/tip/kernel/perf_counter.c:2016: error: for each function it appears in.) As PERF_COUNTER_INDEX_OFFSET is not defined. Now, we could define it in the architecture - but lets also provide a core default of 0 (which happens to be what all but one architecture uses at the moment). Architectures that need a different index offset should set this value in their asm/perf_counter.h files. Cc: Kyle McMartin <kyle@xxxxxxxxxxx> Cc: Helge Deller <deller@xxxxxx> Cc: linux-parisc@xxxxxxxxxxxxxxx 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 1fef7891755d99039592aa8d1ed02e981f38de15 Author: Michal Simek <monstr@xxxxxxxxx> Date: Tue Aug 18 11:05:11 2009 +0200 microblaze: Update Microblaze defconfigs Signed-off-by: Michal Simek <monstr@xxxxxxxxx> commit 8f37b6c9852ff79cc8472c44ea6f6485dfd58bd2 Author: Michal Simek <monstr@xxxxxxxxx> Date: Tue Aug 11 12:36:12 2009 +0200 microblaze: Use klimit instead of _end for memory init For noMMU system when you use larger rootfs image there is problem with using _end label because we increase klimit but in memory initialization we use still _end which is wrong. Larger mtd rootfs was rewritten by init_bootmem_node. MMU kernel use static initialization where klimit is setup to _end. There is no any other hanling with klimit. Signed-off-by: Michal Simek <monstr@xxxxxxxxx> commit 2856ed35ead295a7cc8788d9ba860e746dfc92bb Author: Michal Simek <monstr@xxxxxxxxx> Date: Thu Aug 6 16:00:52 2009 +0200 microblaze: Enable ppoll syscall Signed-off-by: Michal Simek <monstr@xxxxxxxxx> commit 892ee92b81b6e7fa5f6147c96e11c6c1b9802fc6 Author: John Williams <john.williams@xxxxxxxxxxxxx> Date: Wed Jul 29 22:08:40 2009 +1000 microblaze: Sane handling of missing timer/intc in device tree This code path doesn't test any returned pointers for NULL, leading to a bad kernel page fault if there's no timer/intc found. Slightly better is to BUG(), but even better still would be a printk beforehand. Signed-off-by: John Williams <john.williams@xxxxxxxxxxxxx> Signed-off-by: Michal Simek <monstr@xxxxxxxxx> commit 6b99ecec25c8fd501e74306f5d23dd0365065e2a Author: Christoph Hellwig <hch@xxxxxx> Date: Thu Aug 6 23:00:38 2009 +0200 microblaze: use the generic ack_bad_irq implementation Signed-off-by: Christoph Hellwig <hch@xxxxxx> Signed-off-by: Michal Simek <monstr@xxxxxxxxx> commit 1154ecbd2f8298ef75609f5f8ed5aca96be599fb Author: Zhang Qiang <zhangqiang.buaa@xxxxxxxxx> Date: Tue Aug 18 14:58:24 2009 +0800 nilfs2: missing a read lock for segment writer in nilfs_attach_checkpoint() 'ns_cno' of structure 'the_nilfs' must be protected from segment writer, in other words, the caller of nilfs_get_checkpoint should hold read lock for nilfs->ns_segctor_sem. This patch adds the lock/unlock operations in nilfs_attach_checkpoint() when calling nilfs_cpfile_get_checkpoint(). Signed-off-by: Zhang Qiang <zhangqiang.buaa@xxxxxxxxx> Signed-off-by: Ryusuke Konishi <konishi.ryusuke@xxxxxxxxxxxxx> commit c1a8f1f1c8e01eab5862c8db39b49ace814e6c66 Author: Eric Dumazet <eric.dumazet@xxxxxxxxx> Date: Sun Aug 16 09:36:49 2009 +0000 net: restore gnet_stats_basic to previous definition In 5e140dfc1fe87eae27846f193086724806b33c7d "net: reorder struct Qdisc for better SMP performance" the definition of struct gnet_stats_basic changed incompatibly, as copies of this struct are shipped to userland via netlink. Restoring old behavior is not welcome, for performance reason. Fix is to use a private structure for kernel, and teach gnet_stats_copy_basic() to convert from kernel to user land, using legacy structure (struct gnet_stats_basic) Based on a report and initial patch from Michael Spang. Reported-by: Michael Spang <mspang@xxxxxxxxxxxxxxxxxxx> Signed-off-by: Eric Dumazet <eric.dumazet@xxxxxxxxx> Signed-off-by: David S. Miller <davem@xxxxxxxxxxxxx> commit c6ba973b8fa97422aab4204f7d79f1d413cde925 Author: Ralf Baechle <ralf@xxxxxxxxxxxxxx> Date: Mon Aug 17 18:05:32 2009 -0700 NETROM: Fix use of static buffer The static variable used by nr_call_to_digi might result in corruption if multiple threads are trying to usee a node or neighbour via ioctl. Fixed by having the caller pass a structure in. This is safe because nr_add_node rsp. nr_add_neigh will allocate a permanent structure, if needed. Signed-off-by: Ralf Baechle <ralf@xxxxxxxxxxxxxx> Signed-off-by: David S. Miller <davem@xxxxxxxxxxxxx> commit 80ffb3cceaefa405f2ecd46d66500ed8d53efe74 Author: NeilBrown <neilb@xxxxxxx> Date: Tue Aug 18 10:35:26 2009 +1000 Fix new incorrect error return from do_md_stop. Recent commit c8c00a6915a2e3d10416e8bdd3138429beb96210 changed the exit paths in do_md_stop and was not quite careful enough. There is one path were 'err' now needs to be cleared but it isn't. So setting an array to readonly (with mdadm --readonly) will work, but will incorrectly report and error: ENXIO. Signed-off-by: NeilBrown <neilb@xxxxxxx> commit f2d84b65b9778e8a35dd904f7d3993f0a60c9756 Author: Zhaolei <zhaolei@xxxxxxxxxxxxxx> Date: Fri Aug 7 18:55:48 2009 +0800 ftrace: Unify effect of writing to trace_options and option/* "echo noglobal-clock > trace_options" can be used to change trace clock but "echo 0 > options/global-clock" can't. The flag toggling will be silently accepted without actually changing the clock callback. We can fix it by using set_tracer_flags() in trace_options_core_write(). Changelog: v1->v2: Simplified switch() after Li Zefan <lizf@xxxxxxxxxxxxxx>'s suggestion Signed-off-by: Zhao Lei <zhaolei@xxxxxxxxxxxxxx> Cc: Steven Rostedt <srostedt@xxxxxxxxxx> Cc: Li Zefan <lizf@xxxxxxxxxxxxxx> Signed-off-by: Frederic Weisbecker <fweisbec@xxxxxxxxx> commit 7815f4be4026b6c5027058102ae67a4b9feffa5f Author: Eric Van Hensbergen <ericvh@xxxxxxxxx> Date: Mon Aug 17 16:49:44 2009 -0500 9p: update documentation pointers Signed-off-by: Eric Van Hensbergen <ericvh@xxxxxxxxx> commit 4b53e4b500779230aedd5355940aeaaed0b5353b Author: Abhishek Kulkarni <adkulkar@xxxxxxxxxxxx> Date: Mon Aug 17 16:42:28 2009 -0500 9p: remove unnecessary v9fses->options which duplicates the mount string The mount options string is saved in sb->s_options. This patch removes the redundant duplicating of the mount options. Also, since we are not displaying anything special in show options, we replace v9fs_show_options with generic_show_options for now. Signed-off-by: Abhishek Kulkarni <adkulkar@xxxxxxxxxxxx> Signed-off-by: Eric Van Hensbergen <ericvh@xxxxxxxxx> commit 0aad37ef3deed118d3816e1d1a600eb2ec9dcb87 Author: Abhishek Kulkarni <adkulkar@xxxxxxxxxxxx> Date: Mon Aug 17 16:38:45 2009 -0500 net/9p: insulate the client against an invalid error code sent by a 9p server A looney tunes server sending an invalid error code (which is !IS_ERR_VALUE) can result in a client oops. So fix it by adding a check and converting unknown or invalid error codes to -ESERVERFAULT. Signed-off-by: Abhishek Kulkarni <adkulkar@xxxxxxxxxxxx> Signed-off-by: Eric Van Hensbergen <ericvh@xxxxxxxxx> commit 48559b4c30708ebdc849483da9fb83ee08c6c908 Author: Abhishek Kulkarni <adkulkar@xxxxxxxxxxxx> Date: Mon Aug 17 16:32:18 2009 -0500 9p: Add missing cast for the error return value in v9fs_get_inode Cast the error return value (ENOMEM) in v9fs_get_inode() to its correct type using ERR_PTR. Signed-off-by: Abhishek Kulkarni <adkulkar@xxxxxxxxxxxx> Signed-off-by: Eric Van Hensbergen <ericvh@xxxxxxxxx> commit 5fd131893793567c361ae64cbeb28a2a753bbe35 Author: Jan Kara <jack@xxxxxxx> Date: Thu Jul 30 17:01:53 2009 +0200 ocfs2: Don't oops in ocfs2_kill_sb on a failed mount If we fail to mount the filesystem, we have to be careful not to dereference uninitialized structures in ocfs2_kill_sb. Signed-off-by: Jan Kara <jack@xxxxxxx> Signed-off-by: Joel Becker <joel.becker@xxxxxxxxxx> commit 4d3297ca5bf37ff5956f76fb352e009880aad62d Author: Abhishek Kulkarni <adkulkar@xxxxxxxxxxxx> Date: Sun Jul 19 13:41:51 2009 -0600 9p: Remove redundant inode uid/gid assignment Remove a redundant update of inode's i_uid and i_gid after v9fs_get_inode() since the latter already sets up a new inode and sets the proper uid and gid values. Signed-off-by: Abhishek Kulkarni <adkulkar@xxxxxxxxxxxx> Signed-off-by: Eric Van Hensbergen <ericvh@xxxxxxxxx> commit 1b5ab3e86712b6be38ebbe0d821387c1d8f91d7c Author: Abhishek Kulkarni <adkulkar@xxxxxxxxxxxx> Date: Sun Jul 19 13:41:52 2009 -0600 9p: Fix possible regressions when ->get_sb fails. ->get_sb can fail causing some badness. this patch fixes * clear sb->fs_s_info in kill_sb. * deactivate_locked_super() calls kill_sb (v9fs_kill_super) which closes the destroys the client, clunks all its fids and closes the v9fs session. Attempting to do it twice will cause an oops. Signed-off-by: Abhishek Kulkarni <adkulkar@xxxxxxxxxxxx> Signed-off-by: Eric Van Hensbergen <ericvh@xxxxxxxxx> commit 4f4038328da5eb9cc237b51d3fe68138fd3fea14 Author: Abhishek Kulkarni <adkulkar@xxxxxxxxxxxx> Date: Sun Jul 19 13:41:53 2009 -0600 9p: Fix v9fs show_options Add the delimiter ',' before the options when they are passed and check if no option parameters are passed to prevent displaying NULL in /proc/mounts. Signed-off-by: Abhishek Kulkarni <adkulkar@xxxxxxxxxxxx> Signed-off-by: Eric Van Hensbergen <ericvh@xxxxxxxxx> commit 02bc35672b2fdf251e264adca5407792f63191e4 Author: Abhishek Kulkarni <adkulkar@xxxxxxxxxxxx> Date: Sun Jul 19 13:41:54 2009 -0600 9p: Fix possible memleak in v9fs_inode_from fid. Add missing p9stat_free in v9fs_inode_from_fid to avoid any possible leaks. Signed-off-by: Abhishek Kulkarni <adkulkar@xxxxxxxxxxxx> Signed-off-by: Eric Van Hensbergen <ericvh@xxxxxxxxx> commit 0e15597ebfe00e28857185f46aba00f400480ffe Author: Abhishek Kulkarni <adkulkar@xxxxxxxxxxxx> Date: Sun Jul 19 13:41:55 2009 -0600 9p: minor comment fixes Fix the comments -- mostly the improper and/or missing descriptions of function parameters. Signed-off-by: Abhishek Kulkarni <adkulkar@xxxxxxxxxxxx> Signed-off-by: Eric Van Hensbergen <ericvh@xxxxxxxxx> commit 2bb541157fe2602af7b9952096d0524f6f9c1e73 Author: Abhishek Kulkarni <adkulkar@xxxxxxxxxxxx> Date: Sun Jul 19 13:41:56 2009 -0600 9p: Fix possible inode leak in v9fs_get_inode. Add a missing iput when cleaning up if v9fs_get_inode fails after returning a valid inode. Signed-off-by: Abhishek Kulkarni <adkulkar@xxxxxxxxxxxx> Signed-off-by: Eric Van Hensbergen <ericvh@xxxxxxxxx> commit 50fb6d2bd7062708892ae7147f30c3ee905b7a3d Author: Abhishek Kulkarni <adkulkar@xxxxxxxxxxxx> Date: Sun Jul 19 13:41:57 2009 -0600 9p: Check for error in return value of v9fs_fid_add Check if v9fs_fid_add was successful or not based on its return value. Signed-off-by: Abhishek Kulkarni <adkulkar@xxxxxxxxxxxx> Signed-off-by: Eric Van Hensbergen <ericvh@xxxxxxxxx> commit 1adcaafe7414c5731f758b158aa0525057225deb Author: Suresh Siddha <suresh.b.siddha@xxxxxxxxx> Date: Mon Aug 17 13:23:50 2009 -0700 x86, pat: Allow ISA memory range uncacheable mapping requests Max Vozeler reported: > Bug 13877 - bogl-term broken with CONFIG_X86_PAT=y, works with =n > > strace of bogl-term: > 814 mmap2(NULL, 65536, PROT_READ|PROT_WRITE, MAP_SHARED, 4, 0) > = -1 EAGAIN (Resource temporarily unavailable) > 814 write(2, "bogl: mmaping /dev/fb0: Resource temporarily unavailable\n", > 57) = 57 PAT code maps the ISA memory range as WB in the PAT attribute, so that fixed range MTRR registers define the actual memory type (UC/WC/WT etc). But the upper level is_new_memtype_allowed() API checks are failing, as the request here is for UC and the return tracked type is WB (Tracked type is WB as MTRR type for this legacy range potentially will be different for each 4k page). Fix is_new_memtype_allowed() by always succeeding the ISA address range checks, as the null PAT (WB) and def MTRR fixed range register settings satisfy the memory type needs of the applications that map the ISA address range. Reported-and-Tested-by: Max Vozeler <xam@xxxxxxxxxx> Signed-off-by: Suresh Siddha <suresh.b.siddha@xxxxxxxxx> Signed-off-by: Venkatesh Pallipadi <venkatesh.pallipadi@xxxxxxxxx> Signed-off-by: H. Peter Anvin <hpa@xxxxxxxxx> commit df4ecf1524c7793de3121b2d4e5fc6bcc0da3bfb Merge: c58afec8b2576b121eced7b94eb94eaf4626bacc 87c62a66edd645a9b1ff1f9b00ab20c5a93d8845 Author: Linus Torvalds <torvalds@xxxxxxxxxxxxxxxxxxxx> Date: Mon Aug 17 13:39:52 2009 -0700 Merge branch 'upstream' of git://ftp.linux-mips.org/pub/scm/upstream-linus * 'upstream' of git://ftp.linux-mips.org/pub/scm/upstream-linus: MIPS: Fix HPAGE_SIZE redefinition commit c58afec8b2576b121eced7b94eb94eaf4626bacc Merge: 52dec22e739eec8f3a0154f768a599f5489048bd bc990f5cb424cdca9dda866785d088e2c2110ecc Author: Linus Torvalds <torvalds@xxxxxxxxxxxxxxxxxxxx> Date: Mon Aug 17 13:39:30 2009 -0700 Merge branch 'for-linus' of git://oss.sgi.com/xfs/xfs * 'for-linus' of git://oss.sgi.com/xfs/xfs: xfs: fix locking in xfs_iget_cache_hit commit 52dec22e739eec8f3a0154f768a599f5489048bd Merge: 08e53fcb0db34baca3db84a457b6d67faabee4c6 1d9959734a1949ea4f2427bd2d8b21ede6b2441c Author: Linus Torvalds <torvalds@xxxxxxxxxxxxxxxxxxxx> Date: Mon Aug 17 13:38:58 2009 -0700 Merge branch 'for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/jmorris/security-testing-2.6 * 'for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/jmorris/security-testing-2.6: security: define round_hint_to_min in !CONFIG_SECURITY Security/SELinux: seperate lsm specific mmap_min_addr SELinux: call cap_file_mmap in selinux_file_mmap Capabilities: move cap_file_mmap to commoncap.c commit 08e53fcb0db34baca3db84a457b6d67faabee4c6 Author: Eric Paris <eparis@xxxxxxxxxx> Date: Sun Aug 16 21:51:55 2009 -0400 inotify: start watch descriptor count at 1 The inotify_add_watch man page specifies that inotify_add_watch() will return a non-negative integer. However, historically the inotify watches started at 1, not at 0. Turns out that the inotifywait program provided by the inotify-tools package doesn't properly handle a 0 watch descriptor. In 7e790dd5 we changed from starting at 1 to starting at 0. This patch starts at 1, just like in previous kernels, but also just like in previous kernels it's possible for it to wrap back to 0. This preserves the kernel functionality exactly like it was before the patch (neither method broke the spec) Signed-off-by: Eric Paris <eparis@xxxxxxxxxx> Signed-off-by: Linus Torvalds <torvalds@xxxxxxxxxxxxxxxxxxxx> commit cd94c8bbef8d4b796a7ed4c551355a334604fd36 Author: Eric Paris <eparis@xxxxxxxxxx> Date: Sun Aug 16 21:51:49 2009 -0400 inotify: tail drop inotify q_overflow events In f44aebcc the tail drop logic of events with no file backing (q_overflow and in_ignored) was reversed so IN_IGNORED events would never be tail dropped. This now means that Q_OVERFLOW events are NOT tail dropped. The fix is to not tail drop IN_IGNORED, but to tail drop Q_OVERFLOW. Signed-off-by: Eric Paris <eparis@xxxxxxxxxx> Signed-off-by: Linus Torvalds <torvalds@xxxxxxxxxxxxxxxxxxxx> commit eef3a116be11d35396efb2a8cc7345fd3221e294 Author: Eric Paris <eparis@xxxxxxxxxx> Date: Sun Aug 16 21:51:44 2009 -0400 notify: unused event private race inotify decides if private data it passed to get added to an event was used by checking list_empty(). But it's possible that the event may have been dequeued and the private event removed so it would look empty. The fix is to use the return code from fsnotify_add_notify_event rather than looking at the list. Signed-off-by: Eric Paris <eparis@xxxxxxxxxx> Signed-off-by: Linus Torvalds <torvalds@xxxxxxxxxxxxxxxxxxxx> commit 0f66f96d21b4bbff49baaa337546e687d7c58e87 Merge: 894ef820b10d77e2d6d717342fc408bdd9825139 a2bb9f4d6a5a589b481595207ac3588cc08d1b60 Author: Linus Torvalds <torvalds@xxxxxxxxxxxxxxxxxxxx> Date: Mon Aug 17 13:36:39 2009 -0700 Merge master.kernel.org:/home/rmk/linux-2.6-arm * master.kernel.org:/home/rmk/linux-2.6-arm: (37 commits) ARM: 5673/1: U300 fix initsection compile warning ARM: Fix broken highmem support mx31moboard: invert sdhc ro signal sense ARM: S3C24XX: Fix clkout mpx error ARM: S3C64XX: serial: Fix a typo in Kconfig IXP4xx: Fix IO_SPACE_LIMIT for 2.6.31-rc core PCI changes OMAP3: RX51: Updated rx51_defconfig OMAP2/3: mmc-twl4030: Free up MMC regulators while cleaning up OMAP3: RX51: Define TWL4030 USB transceiver in board file OMAP3: Overo: Fix smsc911x platform device resource value OMAP3: Fix omap3 sram virtual addres overlap vmalloc space after increasing vmalloc size OMAP2/3: DMA errata correction OMAP: Fix testing of cpu defines for mach-omap1 OMAP3: Overo: add missing pen-down GPIO definition OMAP: GPIO: clear/restore level/edge detect settings on mask/unmask OMAP3: PM: Fix wrong sequence in suspend. OMAP: PM: CPUfreq: obey min/max settings of policy OMAP2/3/4: UART: allow in-order port traversal OMAP2/3/4: UART: Allow per-UART disabling wakeup for serial ports OMAP3: Fixed crash bug with serial + suspend ... commit 60e2ec48665b8495360ca4a6004c5cd52beb2bc1 Author: Tao Ma <tao.ma@xxxxxxxxxx> Date: Wed Aug 12 14:42:47 2009 +0800 ocfs2: release the buffer head in ocfs2_do_truncate. In ocfs2_do_truncate, we forget to release last_eb_bh which will cause memleak. So call brelse in the end. Signed-off-by: Tao Ma <tao.ma@xxxxxxxxxx> Signed-off-by: Joel Becker <joel.becker@xxxxxxxxxx> commit ada508274b8698a33cb0e5bd037db0f9dc781795 Author: Jan Kara <jack@xxxxxxx> Date: Mon Aug 3 18:24:21 2009 +0200 ocfs2: Handle quota file corruption more gracefully ocfs2_read_virt_blocks() does BUG when we try to read a block from a file beyond its end. Since this can happen due to filesystem corruption, it is not really an appropriate answer. Make ocfs2_read_quota_block() check the condition and handle it by calling ocfs2_error() and returning EIO. [ Modified to print ip_blkno in the error - Joel ] Reported-by: Tristan Ye <tristan.ye@xxxxxxxxxx> Signed-off-by: Jan Kara <jack@xxxxxxx> Signed-off-by: Joel Becker <joel.becker@xxxxxxxxxx> commit 518ff04fd84290a7ad9042e8a46d78d29cb443d3 Author: John W. Linville <linville@xxxxxxxxxxxxx> Date: Mon Aug 17 12:09:26 2009 -0400 orinoco: correct key bounds check in orinoco_hw_get_tkip_iv If key is 4 that is an array out of bounds. Reported-by: Dan Carpenter <error27@xxxxxxxxx> Signed-off-by: John W. Linville <linville@xxxxxxxxxxxxx> commit 523d2f6982136d332c9b7dd00e9e16da1091f060 Author: Johannes Berg <johannes@xxxxxxxxxxxxxxxx> Date: Wed Jul 1 21:26:43 2009 +0200 mac80211: fix todo lock The key todo lock can be taken from different locks that require it to be _bh to avoid lock inversion due to (soft)irqs. This should fix the two problems reported by Bob and Gabor: http://mid.gmane.org/20090619113049.GB18956@xxxxxxxxxxxxx http://mid.gmane.org/4A3FA376.8020307@xxxxxxxxxxx Signed-off-by: Johannes Berg <johannes@xxxxxxxxxxxxxxxx> Cc: Bob Copeland <me@xxxxxxxxxxxxxxx> Cc: Gabor Juhos <juhosg@xxxxxxxxxxx> Signed-off-by: John W. Linville <linville@xxxxxxxxxxxxx> commit 87c62a66edd645a9b1ff1f9b00ab20c5a93d8845 Author: Atsushi Nemoto <anemo@xxxxxxxxxxxxx> Date: Tue Jul 14 22:37:09 2009 +0900 MIPS: Fix HPAGE_SIZE redefinition This patch fixes warnings like this: CC fs/proc/meminfo.o In file included from /work/linux/include/linux/mmzone.h:20, from /work/linux/include/linux/gfp.h:4, from /work/linux/include/linux/mm.h:8, from /work/linux/fs/proc/meminfo.c:5: /work/linux/arch/mips/include/asm/page.h:36:1: warning: "HPAGE_SIZE" redefined In file included from /work/linux/fs/proc/meminfo.c:2: /work/linux/include/linux/hugetlb.h:107:1: warning: this is the location of the previous definition Signed-off-by: Atsushi Nemoto <anemo@xxxxxxxxxxxxx> Acked-by: David Daney <ddaney@xxxxxxxxxxxxxxxxxx> Signed-off-by: Ralf Baechle <ralf@xxxxxxxxxxxxxx> commit e412cd257e0d51e0ecbb89f50953835b5a0681b2 Author: Ingo Molnar <mingo@xxxxxxx> Date: Mon Aug 17 10:19:00 2009 +0200 x86, mce: Don't initialize MCEs on unknown CPUs An older test-box started hanging at the following point during bootup: [ 0.022996] Mount-cache hash table entries: 512 [ 0.024996] Initializing cgroup subsys debug [ 0.025996] Initializing cgroup subsys cpuacct [ 0.026995] Initializing cgroup subsys devices [ 0.027995] Initializing cgroup subsys freezer [ 0.028995] mce: CPU supports 5 MCE banks I've bisected it down to commit 4efc0670 ("x86, mce: use 64bit machine check code on 32bit"), which utilizes the MCE code on 32-bit systems too. The problem is caused by this detail in my config: # CONFIG_CPU_SUP_INTEL is not set This disables the quirks in mce_cpu_quirks() but still enables MCE support - which then hangs due to the missing quirk workaround needed on this CPU: if (c->x86 == 6 && c->x86_model < 0x1A && banks > 0) mce_banks[0].init = 0; The safe solution is to not initialize MCEs if we dont know on what CPU we are running (or if that CPU's support code got disabled in the config). Also be a bit more defensive on 32-bit systems: dont do a boot-time dump of pending MCEs not just on the specific system that we found a problem with (Pentium-M), but earlier ones as well. Now this problem is probably not common and disabling CPU support is rare - but still being more defensive in something we turned on for a wide range of CPUs is prudent. Cc: Hidetoshi Seto <seto.hidetoshi@xxxxxxxxxxxxxx> LKML-Reference: Message-ID: <4A88E3E4.40506@xxxxxxxxxxxxxx> Signed-off-by: Ingo Molnar <mingo@xxxxxxx> commit de809347aeef0a68c04576c464414d0e4dce59fc Author: Amerigo Wang <amwang@xxxxxxxxxx> Date: Mon Aug 17 05:43:01 2009 -0400 timers: Drop write permission on /proc/timer_list /proc/timer_list and /proc/slabinfo are not supposed to be written, so there should be no write permissions on it. Signed-off-by: WANG Cong <amwang@xxxxxxxxxx> Cc: Pekka Enberg <penberg@xxxxxxxxxxxxxx> Cc: Vegard Nossum <vegard.nossum@xxxxxxxxx> Cc: Eduard - Gabriel Munteanu <eduard.munteanu@xxxxxxxxxxx> Cc: linux-mm@xxxxxxxxx Cc: Christoph Lameter <cl@xxxxxxxxxxxxxxxxxxxx> Cc: David Rientjes <rientjes@xxxxxxxxxx> Cc: Amerigo Wang <amwang@xxxxxxxxxx> Cc: Matt Mackall <mpm@xxxxxxxxxxx> Cc: Arjan van de Ven <arjan@xxxxxxxxxxxxxxx> LKML-Reference: <20090817094525.6355.88682.sendpatchset@xxxxxxxxxxxxxxxxxxxxx> Signed-off-by: Ingo Molnar <mingo@xxxxxxx> commit e1ac3614ff606ae03677f47459113f98a19af63c Author: Paul Mackerras <paulus@xxxxxxxxx> Date: Fri Aug 14 15:39:10 2009 +1000 perf_counter: Check task on counter read IPI In general, code in perf_counter.c that is called through an IPI checks, for per-task counters, that the counter's task is still the current task. This is to handle the race condition where the cpu switches from the task we want to another task in the interval between sending the IPI and the IPI arriving and being handled on the target CPU. For some reason, __perf_counter_read is missing this check, yet there is no reason why the race condition can't occur. This adds a check that the current task is the one we want. If it isn't, we just return. In that case the counter->count value should be up to date, since it will have been updated when the counter was scheduled out, which must have happened since the IPI was sent. I don't have an example of an actual failure due to this race, but it seems obvious that it could occur and we need to guard against it. Signed-off-by: Paul Mackerras <paulus@xxxxxxxxx> Acked-by: Peter Zijlstra <a.p.zijlstra@xxxxxxxxx> LKML-Reference: <19076.63614.277861.368125@xxxxxxxxxxxxxxxxxxxxx> Signed-off-by: Ingo Molnar <mingo@xxxxxxx> commit 2932cffc89e9a1476b28a59896fa4f81e0d4f131 Author: Carlos R. Mafra <crmafra@xxxxxxxxx> Date: Mon Aug 17 00:36:21 2009 +0200 perf: Rename perf-examples.txt to examples.txt Rename it to examples.txt to avoid the perf-*.txt pattern in the Makefile, otherwise 'make doc' fails because perf-examples.txt is not formatted to be a man page: ERROR: perf-examples.txt: line 1: manpage document title is mandatory Signed-off-by: Carlos R. Mafra <crmafra@xxxxxxxxx> Cc: Peter Zijlstra <a.p.zijlstra@xxxxxxxxx> Cc: Paul Mackerras <paulus@xxxxxxxxx> LKML-Reference: <new-submission> Signed-off-by: Ingo Molnar <mingo@xxxxxxx> commit c7f6fa44115d401e89db730f357629d39f8e4ba6 Author: Bartlomiej Zolnierkiewicz <bzolnier@xxxxxxxxx> Date: Tue Jul 28 23:52:54 2009 +0200 x86, mce: don't log boot MCEs on Pentium M (model == 13) CPUs On my legacy Pentium M laptop (Acer Extensa 2900) I get bogus MCE on a cold boot with CONFIG_X86_NEW_MCE enabled, i.e. (after decoding it with mcelog): MCE 0 HARDWARE ERROR. This is *NOT* a software problem! Please contact your hardware vendor CPU 0 BANK 1 MCG status: MCi status: Error overflow Uncorrected error Error enabled Processor context corrupt MCA: Data CACHE Level-1 UNKNOWN Error STATUS f200000000000195 MCGSTATUS 0 [ The other STATUS values observed: f2000000000001b5 (... UNKNOWN error) and f200000000000115 (... READ Error). To verify that this is not a CONFIG_X86_NEW_MCE bug I also modified the CONFIG_X86_OLD_MCE code (which doesn't log any MCEs) to dump content of STATUS MSR before it is cleared during initialization. ] Since the bogus MCE results in a kernel taint (which in turn disables lockdep support) don't log boot MCEs on Pentium M (model == 13) CPUs by default ("mce=bootlog" boot parameter can be be used to get the old behavior). Signed-off-by: Bartlomiej Zolnierkiewicz <bzolnier@xxxxxxxxx> Reviewed-by: Andi Kleen <andi@xxxxxxxxxxxxxx> Signed-off-by: H. Peter Anvin <hpa@xxxxxxxxx> Signed-off-by: Ingo Molnar <mingo@xxxxxxx> commit bc990f5cb424cdca9dda866785d088e2c2110ecc Author: Christoph Hellwig <hch@xxxxxxxxxxxxx> Date: Sun Aug 16 20:36:34 2009 -0400 xfs: fix locking in xfs_iget_cache_hit The locking in xfs_iget_cache_hit currently has numerous problems: - we clear the reclaim tag without i_flags_lock which protects modifications to it - we call inode_init_always which can sleep with pag_ici_lock held (this is oss.sgi.com BZ #819) - we acquire and drop i_flags_lock a lot and thus provide no consistency between the various flags we set/clear under it This patch fixes all that with a major revamp of the locking in the function. The new version acquires i_flags_lock early and only drops it once we need to call into inode_init_always or before calling xfs_ilock. This patch fixes a bug seen in the wild where we race modifying the reclaim tag. Signed-off-by: Christoph Hellwig <hch@xxxxxx> Reviewed-by: Felix Blyakher <felixb@xxxxxxx> Reviewed-by: Eric Sandeen <sandeen@xxxxxxxxxxx> Signed-off-by: Felix Blyakher <felixb@xxxxxxx> commit 1d9959734a1949ea4f2427bd2d8b21ede6b2441c Author: Eric Paris <eparis@xxxxxxxxxx> Date: Fri Aug 7 14:53:57 2009 -0400 security: define round_hint_to_min in !CONFIG_SECURITY Fix the header files to define round_hint_to_min() and to define mmap_min_addr_handler() in the !CONFIG_SECURITY case. Built and tested with !CONFIG_SECURITY Signed-off-by: Eric Paris <eparis@xxxxxxxxxx> Signed-off-by: James Morris <jmorris@xxxxxxxxx> commit 788084aba2ab7348257597496befcbccabdc98a3 Author: Eric Paris <eparis@xxxxxxxxxx> Date: Fri Jul 31 12:54:11 2009 -0400 Security/SELinux: seperate lsm specific mmap_min_addr Currently SELinux enforcement of controls on the ability to map low memory is determined by the mmap_min_addr tunable. This patch causes SELinux to ignore the tunable and instead use a seperate Kconfig option specific to how much space the LSM should protect. The tunable will now only control the need for CAP_SYS_RAWIO and SELinux permissions will always protect the amount of low memory designated by CONFIG_LSM_MMAP_MIN_ADDR. This allows users who need to disable the mmap_min_addr controls (usual reason being they run WINE as a non-root user) to do so and still have SELinux controls preventing confined domains (like a web server) from being able to map some area of low memory. Signed-off-by: Eric Paris <eparis@xxxxxxxxxx> Signed-off-by: James Morris <jmorris@xxxxxxxxx> commit 8cf948e744e0218af604c32edecde10006dc8e9e Author: Eric Paris <eparis@xxxxxxxxxx> Date: Fri Jul 31 12:54:05 2009 -0400 SELinux: call cap_file_mmap in selinux_file_mmap Currently SELinux does not check CAP_SYS_RAWIO in the file_mmap hook. This means there is no DAC check on the ability to mmap low addresses in the memory space. This function adds the DAC check for CAP_SYS_RAWIO while maintaining the selinux check on mmap_zero. This means that processes which need to mmap low memory will need CAP_SYS_RAWIO and mmap_zero but will NOT need the SELinux sys_rawio capability. Signed-off-by: Eric Paris <eparis@xxxxxxxxxx> Signed-off-by: James Morris <jmorris@xxxxxxxxx> commit 9c0d90103c7e0eb6e638e5b649e9f6d8d9c1b4b3 Author: Eric Paris <eparis@xxxxxxxxxx> Date: Fri Jul 31 12:53:58 2009 -0400 Capabilities: move cap_file_mmap to commoncap.c Currently we duplicate the mmap_min_addr test in cap_file_mmap and in security_file_mmap if !CONFIG_SECURITY. This patch moves cap_file_mmap into commoncap.c and then calls that function directly from security_file_mmap ifndef CONFIG_SECURITY like all of the other capability checks are done. Signed-off-by: Eric Paris <eparis@xxxxxxxxxx> Acked-by: Serge Hallyn <serue@xxxxxxxxxx> Signed-off-by: James Morris <jmorris@xxxxxxxxx> commit cefb87efc9aa0288849149484870d5ab989fbd59 Author: Dave Airlie <airlied@xxxxxxxxxx> Date: Sun Aug 16 21:05:45 2009 +1000 drm/radeon/kms: implement bo busy check + current domain This implements the busy ioctl along with a current domain check. returns 0 or -EBUSY puts the current domain no matter what the answer. Signed-off-by: Dave Airlie <airlied@xxxxxxxxxx> commit 52459ab91363343af8ae252766e9da762344a2e7 Author: Leonardo Potenza <lpotenza@xxxxxxxxx> Date: Sun Aug 16 18:55:48 2009 +0200 x86: Annotate section mismatch warnings in kernel/apic/x2apic_uv_x.c The function uv_acpi_madt_oem_check() has been marked __init, the struct apic_x2apic_uv_x has been marked __refdata. The aim is to address the following section mismatch messages: WARNING: arch/x86/kernel/apic/built-in.o(.data+0x1368): Section mismatch in reference from the variable apic_x2apic_uv_x to the function .cpuinit.text:uv_wakeup_secondary() The variable apic_x2apic_uv_x references the function __cpuinit uv_wakeup_secondary() If the reference is valid then annotate the variable with __init* or __refdata (see linux/init.h) or name the variable: *driver, *_template, *_timer, *_sht, *_ops, *_probe, *_probe_one, *_console, WARNING: arch/x86/kernel/built-in.o(.data+0x68e8): Section mismatch in reference from the variable apic_x2apic_uv_x to the function .cpuinit.text:uv_wakeup_secondary() The variable apic_x2apic_uv_x references the function __cpuinit uv_wakeup_secondary() If the reference is valid then annotate the variable with __init* or __refdata (see linux/init.h) or name the variable: *driver, *_template, *_timer, *_sht, *_ops, *_probe, *_probe_one, *_console, WARNING: arch/x86/built-in.o(.text+0x7b36f): Section mismatch in reference from the function uv_acpi_madt_oem_check() to the function .init.text:early_ioremap() The function uv_acpi_madt_oem_check() references the function __init early_ioremap(). This is often because uv_acpi_madt_oem_check lacks a __init annotation or the annotation of early_ioremap is wrong. WARNING: arch/x86/built-in.o(.text+0x7b38d): Section mismatch in reference from the function uv_acpi_madt_oem_check() to the function .init.text:early_iounmap() The function uv_acpi_madt_oem_check() references the function __init early_iounmap(). This is often because uv_acpi_madt_oem_check lacks a __init annotation or the annotation of early_iounmap is wrong. WARNING: arch/x86/built-in.o(.data+0x8668): Section mismatch in reference from the variable apic_x2apic_uv_x to the function .cpuinit.text:uv_wakeup_secondary() The variable apic_x2apic_uv_x references the function __cpuinit uv_wakeup_secondary() If the reference is valid then annotate the variable with __init* or __refdata (see linux/init.h) or name the variable: *driver, *_template, *_timer, *_sht, *_ops, *_probe, *_probe_one, *_console, Signed-off-by: Leonardo Potenza <lpotenza@xxxxxxxxx> LKML-Reference: <200908161855.48302.lpotenza@xxxxxxxxx> Signed-off-by: Ingo Molnar <mingo@xxxxxxx> commit 894ef820b10d77e2d6d717342fc408bdd9825139 Author: Randy Dunlap <randy.dunlap@xxxxxxxxxx> Date: Sun Aug 16 07:33:30 2009 -0700 dm-log-userspace: fix printk format warning drivers/md/dm-log-userspace-transfer.c:110: warning: format '%lu' expects type 'long unsigned int', but argument 4 has type 'size_t' Previously posted and acked, but apparently lost. http://lkml.indiana.edu/hypermail/linux/kernel/0906.2/02074.html Signed-off-by: Randy Dunlap <randy.dunlap@xxxxxxxxxx> Cc: dm-devel@xxxxxxxxxx Signed-off-by: Linus Torvalds <torvalds@xxxxxxxxxxxxxxxxxxxx> commit 4e5c25d405e18a2f279ca2bfc855508ec3a0186b Author: Hugh Dickins <hugh.dickins@xxxxxxxxxxxxx> Date: Sun Aug 16 15:54:37 2009 +0100 x86, mce: therm_throt: Don't log redundant normality 0d01f31439c1e4d602bf9fdc924ab66f407f5e38 "x86, mce: therm_throt - change when we print messages" removed redundant announcements of "Temperature/speed normal". They're not worth logging and remove their accompanying "Machine check events logged" messages as well from the console. Signed-off-by: Hugh Dickins <hugh.dickins@xxxxxxxxxxxxx> Cc: Hidetoshi Seto <seto.hidetoshi@xxxxxxxxxxxxxx> Cc: Andi Kleen <andi@xxxxxxxxxxxxxx> Cc: Dmitry Torokhov <dtor@xxxxxxx> LKML-Reference: <Pine.LNX.4.64.0908161544100.7929@xxxxxxxxxxxxx> Signed-off-by: Ingo Molnar <mingo@xxxxxxx> commit 68eac4602b9104cdaa6c18b3edd914cececa6a1e Author: Xiaotian Feng <dfeng@xxxxxxxxxx> Date: Fri Aug 14 14:35:52 2009 +0000 e1000e: fix use of pci_enable_pcie_error_reporting commit 111b9dc5 ("e1000e: add aer support") introduces pcie aer support for e1000e, but it is not reasonable to disable it in e1000_remove but enable it in e1000_resume. This patch enables aer support in e1000_probe. Signed-off-by: Xiaotian Feng <dfeng@xxxxxxxxxx> Signed-off-by: Jeff Kirsher <jeffrey.t.kirsher@xxxxxxxxx> Signed-off-by: David S. Miller <davem@xxxxxxxxxxxxx> commit 82776a4bcd7aa5fbcd2e6339b3ce88b727dd40ab Author: Bruce Allan <bruce.w.allan@xxxxxxxxx> Date: Fri Aug 14 14:35:33 2009 +0000 e1000e: WoL does not work on 82577/82578 with manageability enabled With manageability (Intel AMT) enabled via BIOS, PHY wakeup does not get configured on newer parts which use PHY wakeup vs. MAC wakeup which causes WoL to not work. The driver should configure PHY wakeup whether or not manageability is enabled. Signed-off-by: Bruce Allan <bruce.w.allan@xxxxxxxxx> Signed-off-by: Jeff Kirsher <jeffrey.t.kirsher@xxxxxxxxx> Signed-off-by: David S. Miller <davem@xxxxxxxxxxxxx> commit 7fc1ece40704b150477e548a7a98d285cc418790 Author: Michael Chan <mchan@xxxxxxxxxxxx> Date: Fri Aug 14 15:49:47 2009 +0000 cnic: Fix locking in init/exit calls. The slow path ulp_init and ulp_exit calls to the bnx2i driver are sleepable calls and therefore should not be protected using rcu_read_lock. Fix it by using mutex and refcount during these calls. cnic_unregister_driver() will now wait for the refcount to go to zero before completing the call. Signed-off-by: Michael Chan <mchan@xxxxxxxxxxxx> Reviewed-by: Benjamin Li <benli@xxxxxxxxxxxx> Signed-off-by: David S. Miller <davem@xxxxxxxxxxxxx> commit 681dbd710779e8b8d5bae926f6b11f30df70638b Author: Michael Chan <mchan@xxxxxxxxxxxx> Date: Fri Aug 14 15:49:46 2009 +0000 cnic: Fix locking in start/stop calls. The slow path ulp_start and ulp_stop calls to the bnx2i driver are sleepable calls and therefore should not be protected using rcu_read_lock. Fix it by using mutex and setting a bit during these calls. cnic_unregister_device() will now wait for the bit to clear before completing the call. Signed-off-by: Michael Chan <mchan@xxxxxxxxxxxx> Reviewed-by: Benjamin Li <benli@xxxxxxxxxxxx> Signed-off-by: David S. Miller <davem@xxxxxxxxxxxxx> commit c5a889508203446c1abc1d670599b3a816841813 Author: Michael Chan <mchan@xxxxxxxxxxxx> Date: Fri Aug 14 15:49:45 2009 +0000 bnx2: Use mutex on slow path cnic calls. The slow path calls to the cnic driver are sleepable calls so we cannot use rcu_read_lock(). Use mutex for these slow path calls instead. Signed-off-by: Michael Chan <mchan@xxxxxxxxxxxx> Reviewed-by: Benjamin Li <benli@xxxxxxxxxxxx> Signed-off-by: David S. Miller <davem@xxxxxxxxxxxxx> commit a3059b12adae868c42629ecf058a94195ef1e958 Author: Michael Chan <mchan@xxxxxxxxxxxx> Date: Fri Aug 14 15:49:44 2009 +0000 cnic: Refine registration with bnx2. Register and unregister with bnx2 during NETDEV_UP and NETDEV_DOWN events. This simplifies the sequence of events and allows locking fixes in the next patch. Signed-off-by: Michael Chan <mchan@xxxxxxxxxxxx> Reviewed-by: Benjamin Li <benli@xxxxxxxxxxxx> Signed-off-by: David S. Miller <davem@xxxxxxxxxxxxx> commit 64c6460875957502541a4ba30835ac625a0bee79 Author: Michael Chan <mchan@xxxxxxxxxxxx> Date: Fri Aug 14 15:49:43 2009 +0000 cnic: Fix symbol_put_addr() panic on ia64. When the cnic driver tries to grab a symbol from bnx2 when bnx2 is running init code, symbol_get() will succeed but symbol_put_addr() will hit BUG() a moment later. module_text_address() fails because bnx2 is still in init code. This is fixed by using symbol_put() instead which does the exact opposite of symbol_get(). Signed-off-by: Michael Chan <mchan@xxxxxxxxxxxx> Signed-off-by: David S. Miller <davem@xxxxxxxxxxxxx> commit b2add73dbf93fd50f00564d7abc3e2b9aa9dd20c Author: Guillaume Knispel <gknispel@xxxxxxxxxxxxxxxxx> Date: Sat Aug 15 19:30:24 2009 +0200 poll/select: initialize triggered field of struct poll_wqueues The triggered field of struct poll_wqueues introduced in commit 5f820f648c92a5ecc771a96b3c29aa6e90013bba ("poll: allow f_op->poll to sleep"). It was first set to 1 in pollwake() (now __pollwake() ), tested and later set to 0 in poll_schedule_timeout(), but not initialized before. As a result when the process needs to sleep, triggered was likely to be non-zero even if pollwake() is not called before the first poll_schedule_timeout(), meaning schedule_hrtimeout_range() would not be called and an extra loop calling all ->poll() would be done. This patch initialize triggered to 0 in poll_initwait() so the ->poll() are not called twice before the process goes to sleep when it needs to. Signed-off-by: Guillaume Knispel <gknispel@xxxxxxxxxxxxxxxxx> Acked-by: Thomas Gleixner <tglx@xxxxxxxxxxxxx> Acked-by: Tejun Heo <tj@xxxxxxxxxx> Cc: stable@xxxxxxxxxx Signed-off-by: Linus Torvalds <torvalds@xxxxxxxxxxxxxxxxxxxx> commit de1b28989edff519d0548ebaa3f94fd3d1524cf2 Author: Dave Airlie <airlied@xxxxxxxxxx> Date: Wed Aug 12 18:43:14 2009 +1000 drm/radeon/kms: cut down indirects in register accesses. We really don't want to be doing all these indirects, updating the GPU gart table is something we do often so the less overhead the better. Signed-off-by: Dave Airlie <airlied@xxxxxxxxxx> commit 7ed220d738cf16adff6bc3b31ad25b8848a2fa9c Author: Michel Dänzer <daenzer@xxxxxxxxxx> Date: Thu Aug 13 11:10:51 2009 +0200 drm/radeon/kms: Fix up vertical blank interrupt support. Fixes 3D apps timing out in the WAIT_VBLANK ioctl. AVIVO bits compile-tested only. Signed-off-by: Michel Dänzer <daenzer@xxxxxxxxxx> Signed-off-by: Dave Airlie <airlied@xxxxxxxxxx> commit 3f8befec95d5c1bbc6e247e1a5dafa82519530f9 Author: Dave Airlie <airlied@xxxxxxxxxx> Date: Sat Aug 15 20:54:13 2009 +1000 drm/radeon/kms: add rv530 R300_SU_REG_DEST + reloc for ZPASS_ADDR These are needed for Occulsion Query support. Signed-off-by: Dave Airlie <airlied@xxxxxxxxxx> commit a2bb9f4d6a5a589b481595207ac3588cc08d1b60 Author: Linus Walleij <linus.walleij@xxxxxxxxxxxxxx> Date: Thu Aug 13 21:57:22 2009 +0100 ARM: 5673/1: U300 fix initsection compile warning The u300_init_check_chip() function was not properly tagged with the __init macro and provided a initsection mismatch on compilation. Signed-off-by: Linus Walleij <linus.walleij@xxxxxxxxxxxxxx> Signed-off-by: Russell King <rmk+kernel@xxxxxxxxxxxxxxxx> commit c5e7f5a38a7ebf3697281bc7cb494e676f287ac0 Author: Florian Fainelli <florian@xxxxxxxxxxx> Date: Wed Jun 3 13:05:48 2009 +0200 [WATCHDOG] ar7_wdt: fix path to ar7-specific headers AR7 is currently being resubmitted for mainline inclusion and we changed the path to the ar7-specific headers from ar7 to mach-ar7 to reflect the other MIPS-based boards header hierarchy. This patch will avoid any future compilation failure due to missing headers. Signed-off-by: Florian Fainelli <florian@xxxxxxxxxxx> Signed-off-by: Wim Van Sebroeck <wim@xxxxxxxxx> commit 824df399a31fe92d88eb8caf86768cc8c7c72a06 Merge: 8b6120789598d55f6aa2b4e9ac7e70a205d857da 48ec45e725aa385d72bced73b267dfaf13351876 Author: Russell King <rmk@xxxxxxxxxxxxxxxxxxxxxxx> Date: Sat Aug 15 12:43:13 2009 +0100 Merge branch 's3c-fixes' of git://aeryn.fluff.org.uk/bjdooks/linux commit 8b6120789598d55f6aa2b4e9ac7e70a205d857da Merge: dde5828f56cb2c1aa70365c476e6830482127258 563abb4be1a79e7b64784d43beb9d0cacb1bad6f Author: Russell King <rmk@xxxxxxxxxxxxxxxxxxxxxxx> Date: Sat Aug 15 12:42:46 2009 +0100 Merge branch 'for-rmk-rc' of git://git.pengutronix.de/git/imx/linux-2.6 commit dde5828f56cb2c1aa70365c476e6830482127258 Author: Russell King <rmk@xxxxxxxxxxxxxxxxxxxxxxx> Date: Sat Aug 15 12:36:00 2009 +0100 ARM: Fix broken highmem support Currently, highmem is selectable, and you can request an increased vmalloc area. However, none of this has any effect on the memory layout since a patch in the highmem series was accidentally dropped. Moreover, even if you did want highmem, all memory would still be registered as lowmem, possibly resulting in overflow of the available virtual mapping space. The highmem boundary is determined by the highest allowed beginning of the vmalloc area, which depends on its configurable minimum size (see commit 60296c71f6c5063e3c1f1d2619ca0b60940162e7 for details on this). We should create mappings and initialize bootmem only for low memory, while the zone allocator must still be told about highmem. Currently, memory nodes which are completely located in high memory are not supported. This is not a huge limitation since systems relying on highmem support are unlikely to have discontiguous memory with large holes. [ A similar patch was meant to be merged before commit 5f0fbf9ecaf3 and be available in Linux v2.6.30, however some git rebase screw-up of mine dropped the first commit of the series, and that goofage escaped testing somehow as well. -- Nico ] Signed-off-by: Russell King <rmk+kernel@xxxxxxxxxxxxxxxx> Reviewed-by: Nicolas Pitre <nico@xxxxxxxxxxx> commit 39e6dd73502f64e2ae3236b304e160ae30de9384 Author: Arnaldo Carvalho de Melo <acme@xxxxxxxxxx> Date: Fri Aug 14 15:26:32 2009 -0300 perf record: Fix typo in pid_synthesize_comm_event We were using 'fd' locally, but there was a global 'fd' too, so when converting from open to fopen the test made against fd should be made against 'fp', but since we have that global it didnt get discovered ... Reported-by: Ulrich Drepper <drepper@xxxxxxxxxx> Signed-off-by: Arnaldo Carvalho de Melo <acme@xxxxxxxxxx> Cc: Peter Zijlstra <peterz@xxxxxxxxxxxxx> LKML-Reference: <20090814182632.GF3490@xxxxxxxxxxxxxxxxxx> Signed-off-by: Ingo Molnar <mingo@xxxxxxx> commit 3ef12c3c97603bad405d30c989718cc9405e2759 Author: Cliff Wickman <cpw@xxxxxxx> Date: Fri Aug 14 13:56:37 2009 -0500 x86: Fix UV BAU destination subnode id The SGI UV Broadcast Assist Unit is used to send TLB shootdown messages to remote nodes of the system. The header of the message must contain the subnode id of the block in the receiving hub that handles such messages. It should always be 0x10, the id of the "LB" block. It had previously been documented as a "must be zero" field. Signed-off-by: Cliff Wickman <cpw@xxxxxxx> Acked-by: Jack Steiner <steiner@xxxxxxx> LKML-Reference: <E1Mc1x7-0005Ce-6t@xxxxxxxxxxxxxxxxxxxxxx> Signed-off-by: Ingo Molnar <mingo@xxxxxxx> commit 237674e050ae8ea40a432412df6c15d60b7ae8a6 Author: Magnus Damm <damm@xxxxxxxxxx> Date: Sat Aug 15 02:53:42 2009 +0000 sh: sh7724 ddr self-refresh changes This patch updates the SuperH Mobile sleep assembly code with support for DBSC memory controller found in the sh7724 processor. Without this fix the memory hooked up to the sh7724 processor will never enter self-refresh mode before suspending to ram. The effect of this is that the memory contents most likeley will be lost upon resume which may or may not be what you want. Signed-off-by: Magnus Damm <damm@xxxxxxxxxx> Signed-off-by: Paul Mundt <lethal@xxxxxxxxxxxx> commit 9747e78b304b44d6fb73e2c8071406d55aa8bb75 Author: Magnus Damm <damm@xxxxxxxxxx> Date: Sat Aug 15 02:53:34 2009 +0000 sh: use in-soc KEYSC on se7724 This patch updates the Solution Engine 7724 board code to use in-SoC KEYSC resources for the keyboard platform device. Using the in-SoC key scan controller fixes a crash-during-resume issue. Without this patch the KEYSC hardware block located in the board specific FPGA is used together with an external IRQ which is routed through the FPGA and handled by some board specific demux code. This board specific FPGA interrupt code does not implement desc->set_wake() so the enable_irq_wake() call in the sh_keysc driver will fail at suspend-to-ram time and the disable_irq_wake() will bomb out when resuming. Changing the platform data to use the in-SoC KEYSC hardware makes the se7724 board support code less special which is a good thing. Also, the board specific KEYSC pin setup code selects in-SoC pin functions already which makes the current FPGA platform device data look like a typo. Signed-off-by: Magnus Damm <damm@xxxxxxxxxx> Signed-off-by: Paul Mundt <lethal@xxxxxxxxxxxx> commit f6431732f128a241b149c0aa85dfec852455ebf9 Author: Magnus Damm <damm@xxxxxxxxxx> Date: Sat Aug 15 02:53:25 2009 +0000 sh: CMT suspend/resume This patch updates the SuperH CMT driver with suspend and resume callbacks for the suspend-to-ram case. This patch stops the CMT channel at suspend time to avoid unwanted wake up events. Signed-off-by: Magnus Damm <damm@xxxxxxxxxx> Signed-off-by: Paul Mundt <lethal@xxxxxxxxxxxx> commit 21bc1f024d0d4ea43fc0f2a43504e759261c7b18 Author: Magnus Damm <damm@xxxxxxxxxx> Date: Sat Aug 15 02:53:16 2009 +0000 sh: skip disabled LCDC channels This patch updates the SuperH Mobile LCDC driver to skip over disabled channels. Without this patch suspend-to-ram operation will crash if deferred io is enabled. Signed-off-by: Magnus Damm <damm@xxxxxxxxxx> Signed-off-by: Paul Mundt <lethal@xxxxxxxxxxxx> commit ebb177d2afb8532a8a316489aed545ed0c170802 Author: Dave Airlie <airlied@xxxxxxxxxx> Date: Sat Aug 15 12:25:08 2009 +1000 drm/edid: fixup detailed timings like the X server. this syncs the versioning check with the code the X server uses. Reported-by: Anssi Hannula <anssi.hannula@xxxxxx> Signed-off-by: Dave Airlie <airlied@xxxxxxxxxx> commit 616b8434688aa08bd6f019cc60c8dfe121e9e5ae Author: Jerome Glisse <jglisse@xxxxxxxxxx> Date: Thu Aug 6 17:47:24 2009 +0200 drm/radeon/kms: Add specific rs690 authorized register table rs690 is r3xx 3D engine with AVIVO modesetting so we need to allow AVIVO register for vline synchronization. This add a specific table to rs690 to handle that. Thanks to Marc (marvin24) for debugging this and kudos to Andre (taiu1) for spotting the origin of the bugs. Signed-off-by: Jerome Glisse <jglisse@xxxxxxxxxx> Signed-off-by: Dave Airlie <airlied@xxxxxxxxxx> commit 8cdb045632e5ee22854538619ac6f150eb0a4894 Author: Tom Goff <thomas.goff@xxxxxxxxxx> Date: Fri Aug 14 16:33:56 2009 -0700 gre: Fix MTU calculation for bound GRE tunnels The GRE header length should be subtracted when the tunnel MTU is calculated. This just corrects for the associativity change introduced by commit 42aa916265d740d66ac1f17290366e9494c884c2 ("gre: Move MTU setting out of ipgre_tunnel_bind_dev"). Signed-off-by: Tom Goff <thomas.goff@xxxxxxxxxx> Signed-off-by: David S. Miller <davem@xxxxxxxxxxxxx> commit 7c1d15d736687057f4dc6e51fbf44b6f6e4320cb Author: Petko Manolov <petkan@xxxxxxxxxxxxx> Date: Fri Aug 14 06:40:48 2009 +0000 pegasus: Add new device ID. Add new definition to 'pegasus.h' for support Japanese IO DATA "ETX-US2" USB Ethernet Adapter. PEGASUS_DEV( $B!H(BIO DATA USB ETX-US2$B!I(B, VENDOR_IODATA, 0x092a, DEFAULT_GPIO_RESET | PEGASUS_II ) Signed-off-by: David S. Miller <davem@xxxxxxxxxxxxx> commit 22580f894ac190c46beebb5c3172e450a2318f79 Author: Dongdong Deng <dongdong.deng@xxxxxxxxxxxxx> Date: Thu Aug 13 19:12:31 2009 +0000 drivers/net: fixed drivers that support netpoll use ndo_start_xmit() The NETPOLL API requires that interrupts remain disabled in netpoll_send_skb(). The use of spin_lock_irq() and spin_unlock_irq() in the NETPOLL API callbacks causes the interrupts to get enabled and can lead to kernel instability. The solution is to use spin_lock_irqsave() and spin_unlock_restore() to prevent the irqs from getting enabled while in netpoll_send_skb(). Call trace: netpoll_send_skb() { -> local_irq_save(flags) ---> dev->ndo_start_xmit(skb, dev) ---> spin_lock_irq() ---> spin_unlock_irq() *******here would enable the interrupt. ... -> local_irq_restore(flags) } Signed-off-by: Dongdong Deng <dongdong.deng@xxxxxxxxxxxxx> Signed-off-by: Jason Wessel <jason.wessel@xxxxxxxxxxxxx> Acked-by: Bruce Ashfield <bruce.ashfield@xxxxxxxxxxxxx> Acked-by: Matt Mackall <mpm@xxxxxxxxxxx> Signed-off-by: David S. Miller <davem@xxxxxxxxxxxxx> commit 0527a1a8440a20b3d0fd1d0c9e75a6f38a9d5315 Author: roel kluin <roel.kluin@xxxxxxxxx> Date: Fri Aug 14 02:09:56 2009 +0000 via-velocity: Fix test of mii_status bit VELOCITY_DUPLEX_FULL Test whether VELOCITY_DUPLEX_FULL bit is set in mii_status. Signed-off-by: Roel Kluin <roel.kluin@xxxxxxxxx> Signed-off-by: David S. Miller <davem@xxxxxxxxxxxxx> commit c9a2bfd1f08973115c2fc3da9372e0e81ac42a19 Author: Wolfram Sang <w.sang@xxxxxxxxxxxxxx> Date: Fri Aug 14 13:09:32 2009 -0700 pcmcia: add CNF-CDROM-ID for ide Fixes this report: http://article.gmane.org/gmane.linux.kernel.pcmcia.devel/2228/ Reported-by: John McGrath <john@xxxxxxxxxxxxxxxx> Signed-off-by: Wolfram Sang <w.sang@xxxxxxxxxxxxxx> Signed-off-by: David S. Miller <davem@xxxxxxxxxxxxx> commit 88512935a24305fea7aecc9ba4d675869e97fc2a Merge: 8a62babfb87aa5911e87e0ce38381bdfdc4a2b83 6b26dead3ce97d016b57724b01974d5ca5c84bd5 Author: David S. Miller <davem@xxxxxxxxxxxxx> Date: Fri Aug 14 12:27:19 2009 -0700 Merge branch 'master' of git://git.kernel.org/pub/scm/linux/kernel/git/linville/wireless-2.6 commit 5d12dc1fd6b0ba31d3166e42ed01996df6dad34e Merge: 3011c7f0d421ed85c75683addf3b31eaa1ab6cec d7e623da1a757fbd8c117fa29190ca8bef14dab3 Author: Linus Torvalds <torvalds@xxxxxxxxxxxxxxxxxxxx> Date: Fri Aug 14 09:34:25 2009 -0700 Merge git://git.kernel.org/pub/scm/linux/kernel/git/steve/gfs2-2.6-fixes * git://git.kernel.org/pub/scm/linux/kernel/git/steve/gfs2-2.6-fixes: GFS2: Fix permissions on "recover" file commit 3011c7f0d421ed85c75683addf3b31eaa1ab6cec Merge: 64f1607ffbbc772685733ea63e6f7f4183df1b16 08b39642b1e375afd014c50f6013ec4a292ca3b2 Author: Linus Torvalds <torvalds@xxxxxxxxxxxxxxxxxxxx> Date: Fri Aug 14 08:25:19 2009 -0700 Merge branch 'for_linus' of git://git.kernel.org/pub/scm/linux/kernel/git/mchehab/linux-2.6 * 'for_linus' of git://git.kernel.org/pub/scm/linux/kernel/git/mchehab/linux-2.6: (38 commits) V4L/DVB (12441): siano: read buffer overflow V4L/DVB (12440): Use kzalloc for frontend states to have struct dvb_frontend properly V4L/DVB (12438): Read buffer overflow V4L/DVB (12437): dvb: siano uses/depends on INPUT V4L/DVB (12436): stk-webcam: read buffer overflow V4L/DVB (12432): em28xx: fix regression in Empire DualTV digital tuning V4L/DVB (12429): v4l2-ioctl: fix G_STD and G_PARM default handlers V4L/DVB (12428): hdpvr: add missing initialization of current_norm V4L/DVB (12424): soc-camera: fix recursive locking in .buf_queue() V4L/DVB (12422): media/zr364xx: fix build errors V4L/DVB (12405): em28xx-cards: move register 0x13 setting to the proper place V4L/DVB (12411): em28xx: Fix artifacts with Silvercrest webcam V4L/DVB (12410): em28xx: Move the non-board dependent part to be outside em28xx_pre_card_setup() V4L/DVB (12407): em28xx: Adjust Silvercrest xtal frequency V4L/DVB (12406): em28xx: fix: don't do image interlacing on webcams V4L/DVB (12403): em28xx: properly reports some em2710 chips V4L/DVB (12402): em28xx: fix: some em2710 chips use a different vendor ID V4L/DVB (12401): m9v011: add vflip/hflip controls to control mirror/upside down V4L/DVB (12400): em28xx: Allow changing fps on webcams V4L/DVB (12399): mt9v011: Add support for controlling frame rates ... commit 388ce4beb7135722c584b0af18f215e3ec657adf Author: Kashyap, Desai <kashyap.desai@xxxxxxx> Date: Fri Aug 14 15:01:35 2009 +0530 [SCSI] mpt2sas: fix config request and diag reset deadlock Moving the setting and clearing of the mutex's to _config_request. There was a mutex deadlock when diag reset is called from inside _config_request, so diag reset was moved to outside the mutexs. Signed-off-by: James Bottomley <James.Bottomley@xxxxxxx> commit 6b26dead3ce97d016b57724b01974d5ca5c84bd5 Author: Pavel Roskin <proski@xxxxxxx> Date: Tue Aug 4 17:48:16 2009 -0400 rt2x00: fix memory corruption in rf cache, add a sanity check Change rt2x00_rf_read() and rt2x00_rf_write() to subtract 1 from the rf register number. This is needed because the rf registers are enumerated starting with one. The size of the rf register cache is just enough to hold all registers, so writing to the highest register was corrupting memory. Add a check to make sure that the rf register number is valid. Signed-off-by: Pavel Roskin <proski@xxxxxxx> Cc: stable@xxxxxxxxxx Acked-by: Ivo van Doorn <IvDoorn@xxxxxxxxx> Signed-off-by: John W. Linville <linville@xxxxxxxxxxxxx> commit d7e623da1a757fbd8c117fa29190ca8bef14dab3 Author: Steven Whitehouse <swhiteho@xxxxxxxxxx> Date: Tue Aug 11 11:20:11 2009 +0100 GFS2: Fix permissions on "recover" file Although this file is only ever written and not read by userspace, it seems that the utils are opening this file O_RDWR, so we need to allow that. Also fixes the whitespace which seemed to be broken. Signed-off-by: Steven Whitehouse <swhiteho@xxxxxxxxxx> Cc: David Teigland <teigland@xxxxxxxxxx> commit 563abb4be1a79e7b64784d43beb9d0cacb1bad6f Author: Valentin Longchamp <valentin.longchamp@xxxxxxx> Date: Tue Aug 11 17:29:21 2009 +0200 mx31moboard: invert sdhc ro signal sense Small confusion with our hardware engineer, the WP signal (RO) is active low on our boards, the signal has to inverted. This is a pretty straightforward patch, it could even go to -rc, but if not, then push it for 2.6.32. Signed-off-by: Valentin Longchamp <valentin.longchamp@xxxxxxx> Signed-off-by: Sascha Hauer <s.hauer@xxxxxxxxxxxxxx> commit 142d44b0dd6741a64a7bdbe029110e7c1dcf1d23 Author: Amerigo Wang <amwang@xxxxxxxxxx> Date: Thu Aug 13 02:00:13 2009 -0400 percpu: use the right flag for get_vm_area() get_vm_area() only accepts VM_* flags, not GFP_*. And according to the doc of get_vm_area(), here should be VM_ALLOC. Signed-off-by: WANG Cong <amwang@xxxxxxxxxx> Acked-by: Tejun Heo <tj@xxxxxxxxxx> Cc: Ingo Molnar <mingo@xxxxxxx> commit 74d46d6b2d23d44d72c37df4c6a5d2e782f7b088 Author: Tejun Heo <tj@xxxxxxxxxx> Date: Tue Jul 21 17:11:50 2009 +0900 percpu, sparc64: fix sparse possible cpu map handling percpu code has been assuming num_possible_cpus() == nr_cpu_ids which is incorrect if cpu_possible_map contains holes. This causes percpu code to access beyond allocated memories and vmalloc areas. On a sparc64 machine with cpus 0 and 2 (u60), this triggers the following warning or fails boot. WARNING: at /devel/tj/os/work/mm/vmalloc.c:106 vmap_page_range_noflush+0x1f0/0x240() Modules linked in: Call Trace: [00000000004b17d0] vmap_page_range_noflush+0x1f0/0x240 [00000000004b1840] map_vm_area+0x20/0x60 [00000000004b1950] __vmalloc_area_node+0xd0/0x160 [0000000000593434] deflate_init+0x14/0xe0 [0000000000583b94] __crypto_alloc_tfm+0xd4/0x1e0 [00000000005844f0] crypto_alloc_base+0x50/0xa0 [000000000058b898] alg_test_comp+0x18/0x80 [000000000058dad4] alg_test+0x54/0x180 [000000000058af00] cryptomgr_test+0x40/0x60 [0000000000473098] kthread+0x58/0x80 [000000000042b590] kernel_thread+0x30/0x60 [0000000000472fd0] kthreadd+0xf0/0x160 ---[ end trace 429b268a213317ba ]--- This patch fixes generic percpu functions and sparc64 setup_per_cpu_areas() so that they handle sparse cpu_possible_map properly. Please note that on x86, cpu_possible_map() doesn't contain holes and thus num_possible_cpus() == nr_cpu_ids and this patch doesn't cause any behavior difference. Signed-off-by: Tejun Heo <tj@xxxxxxxxxx> Acked-by: David S. Miller <davem@xxxxxxxxxxxxx> Cc: Ingo Molnar <mingo@xxxxxxx> commit d6647bdf98a0de19963de8d5d9698d469ed72097 Author: Tejun Heo <tj@xxxxxxxxxx> Date: Tue Jul 21 17:11:50 2009 +0900 init: set nr_cpu_ids before setup_per_cpu_areas() nr_cpu_ids is dependent only on cpu_possible_map and setup_per_cpu_areas() already depends on cpu_possible_map and will use nr_cpu_ids. Initialize nr_cpu_ids before setting up percpu areas. Signed-off-by: Tejun Heo <tj@xxxxxxxxxx> commit 8a62babfb87aa5911e87e0ce38381bdfdc4a2b83 Author: Lucy Liu <lucy.liu@xxxxxxxxx> Date: Thu Aug 13 14:09:38 2009 +0000 ixgbe: Fix receive on real device when VLANs are configured Traffic received with a priority tag (VID = 0) and non-zero priority value was incorrectly handled by the VLAN packet code path due to a check on zero for the whole VLAN tag instead of just the VID. This patch masked out the priority field when checking the vlan tag for received VLAN packets. Signed-off-by: Lucy Liu <lucy.liu@xxxxxxxxx> Acked-by: Peter P Waskiewicz Jr <peter.p.waskiewicz.jr@xxxxxxxxx> Signed-off-by: Jeff Kirsher <jeffrey.t.kirsher@xxxxxxxxx> Signed-off-by: David S. Miller <davem@xxxxxxxxxxxxx> commit 17e78b0655da20f2fc2bbde3b8252dac07c82914 Author: Yi Zou <yi.zou@xxxxxxxxx> Date: Thu Aug 13 14:09:58 2009 +0000 ixgbe: Do not return 0 in ixgbe_fcoe_ddp() upon FCP_RSP in DDP completion We return the ddp->len in ixgbe_fcoe_ddp() to indicate the length of data that have been DDPed. However, it is possible that the length is 0, e.g., for SCSI READ, the FCP_RSP may come back w/ SCSI status 0x28 as Task Set Full with no FCP data for DDP. In ixgbe_fcoe_ddp(), we return 0 to indicate not passing DDPed packets to upper layer. Therefore in the case of ddp->len being 0 upon FCP_RSP, we do not want to return the 0 ddp->len as we want FCP_RSP to be always delivered to the upper layer. This patch fixes this bug by setting rc only if ddp->len is non-zero. Signed-off-by: Yi Zou <yi.zou@xxxxxxxxx> Acked-by: Peter P Waskiewicz Jr <peter.p.waskiewicz.jr@xxxxxxxxx> Signed-off-by: Jeff Kirsher <jeffrey.t.kirsher@xxxxxxxxx> Signed-off-by: David S. Miller <davem@xxxxxxxxxxxxx> commit 48ec45e725aa385d72bced73b267dfaf13351876 Author: Davide Rizzo <elpa.rizzo@xxxxxxxxx> Date: Thu Aug 13 11:53:53 2009 +0200 ARM: S3C24XX: Fix clkout mpx error Bug correction: CLK Outputs cannot have XTAL as parent Signed-off-by: Davide Rizzo <elpa.rizzo@xxxxxxxxx> [ben-linux@xxxxxxxxx: updated patch subject] Signed-off-by: Ben Dooks <ben-linux@xxxxxxxxx> commit a219dc4d4463809b1be473038e7d9f3437ca452d Author: Ramax Lo <ramaxlo@xxxxxxxxx> Date: Wed Aug 12 23:55:56 2009 +0800 ARM: S3C64XX: serial: Fix a typo in Kconfig The typo causes drivers/serial/s3c6400.c not being built for s3c6400 platform. Signed-off-by: Ramax Lo <ramaxlo@xxxxxxxxx> Signed-off-by: Ben Dooks <ben-linux@xxxxxxxxx> commit 08b39642b1e375afd014c50f6013ec4a292ca3b2 Author: Roel Kluin <roel.kluin@xxxxxxxxx> Date: Mon Aug 10 22:59:33 2009 -0300 V4L/DVB (12441): siano: read buffer overflow With mode DEVICE_MODE_RAW_TUNER a read occurs past the end of smscore_fw_lkup[]. Subsequently an attempt is made to load the firmware from the resulting filename. Signed-off-by: Roel Kluin <roel.kluin@xxxxxxxxx> Signed-off-by: Andrew Morton <akpm@xxxxxxxxxxxxxxxxxxxx> Signed-off-by: Douglas Schilling Landgraf <dougsland@xxxxxxxxxx> Signed-off-by: Mauro Carvalho Chehab <mchehab@xxxxxxxxxx> commit 084e24acc906c162c92de7df807190856ae60928 Author: Matthias Schwarzott <zzam@xxxxxxxxxx> Date: Mon Aug 10 22:51:01 2009 -0300 V4L/DVB (12440): Use kzalloc for frontend states to have struct dvb_frontend properly This patch changes most frontend drivers to allocate their state structure via kzalloc and not kmalloc. This is done to properly initialize the embedded "struct dvb_frontend frontend" field, that they all have. The visible effect of this struct being uninitalized is, that the member "id" that is used to set the name of kernel thread is totally random. Some board drivers (for example cx88-dvb) set this "id" via videobuf_dvb_alloc_frontend but most do not. So I at least get random id values for saa7134, flexcop and ttpci based cards. It looks like this in dmesg: DVB: registering adapter 1 frontend -10551321 (ST STV0299 DVB-S) The related kernel thread then also gets a strange name like "kdvb-ad-1-fe--1". Cc: Michael Krufky <mkrufky@xxxxxxxxxxx> Cc: Steven Toth <stoth@xxxxxxxxxxx> Cc: Timothy Lee <timothy.lee@xxxxxxxxxxxx> Cc: Igor M. Liplianin <liplianin@xxxxx> Signed-off-by: Matthias Schwarzott <zzam@xxxxxxxxxx> Acked-by: Andreas Oberritter <obi@xxxxxxxxxxx> Signed-off-by: Douglas Schilling Landgraf <dougsland@xxxxxxxxxx> Signed-off-by: Mauro Carvalho Chehab <mchehab@xxxxxxxxxx> commit bb2b4542b6415044894cd7c147ff54840dd8ed3f Author: Roel Kluin <roel.kluin@xxxxxxxxx> Date: Mon Aug 10 22:07:54 2009 -0300 V4L/DVB (12438): Read buffer overflow parport[n] is checked before n < MAX_CAMS Signed-off-by: Roel Kluin <roel.kluin@xxxxxxxxx> Signed-off-by: Douglas Schilling Landgraf <dougsland@xxxxxxxxxx> Signed-off-by: Mauro Carvalho Chehab <mchehab@xxxxxxxxxx> commit 27059b35397fc7cf2cbf5b4b99d912bbc06aff4d Author: Randy Dunlap <randy.dunlap@xxxxxxxxxx> Date: Mon Aug 10 21:59:16 2009 -0300 V4L/DVB (12437): dvb: siano uses/depends on INPUT siano uses input_*() functions so it should depend on INPUT to prevent build errors: ERROR: "input_event" [drivers/media/dvb/siano/sms1xxx.ko] undefined! ERROR: "input_register_device" [drivers/media/dvb/siano/sms1xxx.ko] undefined! ERROR: "input_free_device" [drivers/media/dvb/siano/sms1xxx.ko] undefined! ERROR: "input_unregister_device" [drivers/media/dvb/siano/sms1xxx.ko] undefined! ERROR: "input_allocate_device" [drivers/media/dvb/siano/sms1xxx.ko] undefined! Cc: Michael Krufky <mkrufky@xxxxxxxxxxx> Cc: Uri Shkolnik <uris@xxxxxxxxxxxx> Signed-off-by: Randy Dunlap <randy.dunlap@xxxxxxxxxx> Signed-off-by: Douglas Schilling Landgraf <dougsland@xxxxxxxxxx> Signed-off-by: Mauro Carvalho Chehab <mchehab@xxxxxxxxxx> commit 77f2c2db1146154fb054e9ce955928a66d8c959f Author: Roel Kluin <roel.kluin@xxxxxxxxx> Date: Mon Aug 10 22:17:25 2009 -0300 V4L/DVB (12436): stk-webcam: read buffer overflow It tested the value of stk_sizes[i].m before checking whether i was in range. Cc: Hans Verkuil <hverkuil@xxxxxxxxx> Cc: Trent Piepho <xyzzy@xxxxxxxxxxxxx> Signed-off-by: Roel Kluin <roel.kluin@xxxxxxxxx> Signed-off-by: Andrew Morton <akpm@xxxxxxxxxxxxxxxxxxxx> Signed-off-by: Douglas Schilling Landgraf <dougsland@xxxxxxxxxx> Signed-off-by: Mauro Carvalho Chehab <mchehab@xxxxxxxxxx> commit 01a5fd6ff3fbae9a599d3334a8cca0f00865e360 Author: Devin Heitmueller <dheitmueller@xxxxxxxxxxxxxx> Date: Fri Aug 7 09:25:06 2009 -0300 V4L/DVB (12432): em28xx: fix regression in Empire DualTV digital tuning Restore support for digital tuning caused by regression during introduction of disable_i2c_gate parameter to zl10353 driver. Thanks to user "Xwang" for reporting the problem and testing the fix Cc: Xwang <xwang1976@xxxxxxxx> Signed-off-by: Devin Heitmueller <dheitmueller@xxxxxxxxxxxxxx> Signed-off-by: Mauro Carvalho Chehab <mchehab@xxxxxxxxxx> commit 9bedc7f7fe803c17d26b5fcf5786b50a7cf40def Author: Hans Verkuil <hverkuil@xxxxxxxxx> Date: Fri Aug 7 07:28:16 2009 -0300 V4L/DVB (12429): v4l2-ioctl: fix G_STD and G_PARM default handlers The v4l core supplies default handlers for G_STD and G_PARM. However, both default handlers are buggy. This patch fixes the following: 1) If no g_std is supplied and current_norm == 0, then this driver does not support TV video standards (e.g. a radio or webcam driver). Return -EINVAL. This ensures that there is no bogus VIDIOC_G_STD support for such drivers. 2) The default VIDIOC_G_PARM handler used current_norm instead of first checking if the driver supported g_std and calling that to get the norm. It also didn't check if current_norm was 0, since in that case the driver does not support TV standards (or no standard was set at all) and the default handler should return -EINVAL. Note that I am very unhappy with these default handlers: I think they basically behave like some very strange and unexpected side-effect. Signed-off-by: Hans Verkuil <hverkuil@xxxxxxxxx> Signed-off-by: Mauro Carvalho Chehab <mchehab@xxxxxxxxxx> commit 99362e1ece9f9651af1b849a01d91b9df1e0db2c Author: Hans Verkuil <hverkuil@xxxxxxxxx> Date: Fri Aug 7 07:10:52 2009 -0300 V4L/DVB (12428): hdpvr: add missing initialization of current_norm Drivers should either set current_norm or supply a g_std callback. The hdpvr driver does neither. Since it initializes to a 60 Hz format I've initialized the current_norm to NTSC | PAL_M | PAL_60 which is the 60 Hz subset of tvnorms. Cc: Janne Grunau <j@xxxxxxxxxx> Signed-off-by: Hans Verkuil <hverkuil@xxxxxxxxx> Signed-off-by: Mauro Carvalho Chehab <mchehab@xxxxxxxxxx> commit 2dd54a54c19d0e5b50f4e1c591653772ead9d4a1 Author: Guennadi Liakhovetski <g.liakhovetski@xxxxxx> Date: Wed Aug 5 20:06:31 2009 -0300 V4L/DVB (12424): soc-camera: fix recursive locking in .buf_queue() The .buf_queue() V4L2 driver method is called under spinlock_irqsave(q->irqlock,...), don't take the lock again inside the function. Reported-by: Antonio Ospite <ospite@xxxxxxxxxxxxxxxxx> Signed-off-by: Guennadi Liakhovetski <g.liakhovetski@xxxxxx> Signed-off-by: Mauro Carvalho Chehab <mchehab@xxxxxxxxxx> commit 7d2e2e35fb50f381c9398e481aac1e1729765ae3 Author: Randy Dunlap <randy.dunlap@xxxxxxxxxx> Date: Wed Aug 5 12:58:47 2009 -0300 V4L/DVB (12422): media/zr364xx: fix build errors Fix build errors in zr364xx by adding selects: zr364xx.c:(.text+0x195ed7): undefined reference to `videobuf_streamon' zr364xx.c:(.text+0x196030): undefined reference to `videobuf_dqbuf' zr364xx.c:(.text+0x1960c4): undefined reference to `videobuf_qbuf' zr364xx.c:(.text+0x196123): undefined reference to `videobuf_querybuf' zr364xx.c:(.text+0x196182): undefined reference to `videobuf_reqbufs' zr364xx.c:(.text+0x196224): undefined reference to `videobuf_queue_is_busy' zr364xx.c:(.text+0x196390): undefined reference to `videobuf_vmalloc_free' zr364xx.c:(.text+0x196571): undefined reference to `videobuf_iolock' zr364xx.c:(.text+0x196678): undefined reference to `videobuf_mmap_mapper' zr364xx.c:(.text+0x196760): undefined reference to `videobuf_poll_stream' zr364xx.c:(.text+0x19689a): undefined reference to `videobuf_read_one' zr364xx.c:(.text+0x1969ec): undefined reference to `videobuf_mmap_free' zr364xx.c:(.text+0x197862): undefined reference to `videobuf_queue_vmalloc_init' zr364xx.c:(.text+0x197a28): undefined reference to `videobuf_streamoff' zr364xx.c:(.text+0x198203): undefined reference to `videobuf_to_vmalloc' zr364xx.c:(.text+0x198603): undefined reference to `videobuf_streamoff' drivers/built-in.o: In function `free_buffer': zr364xx.c:(.text+0x19930c): undefined reference to `videobuf_vmalloc_free' drivers/built-in.o: In function `zr364xx_open': zr364xx.c:(.text+0x19a7de): undefined reference to `videobuf_queue_vmalloc_init' drivers/built-in.o: In function `read_pipe_completion': zr364xx.c:(.text+0x19b17f): undefined reference to `videobuf_to_vmalloc' Signed-off-by: Randy Dunlap <randy.dunlap@xxxxxxxxxx> Signed-off-by: Douglas Schilling Landgraf <dougsland@xxxxxxxxxx> Signed-off-by: Mauro Carvalho Chehab <mchehab@xxxxxxxxxx> commit d7612c86d099939503c2f849a523dbca753d1935 Author: Mauro Carvalho Chehab <mchehab@xxxxxxxxxx> Date: Fri Aug 7 18:43:00 2009 -0300 V4L/DVB (12405): em28xx-cards: move register 0x13 setting to the proper place Register 0x13 seems to be a sort of image control, maybe gamma, white level or black level. Lower values produce better images, while higher values increases the contrast and shifts colors to green. 0xff produces a black image. This register is not Silvercrest-specific, so its code should be moved to a better place. If this register is left alone, a random value can be found at the register, producing weird results. While here, let's remove register 0x0d, as it had no noticed effect at the image. Signed-off-by: Mauro Carvalho Chehab <mchehab@xxxxxxxxxx> commit 3d3215c4e4cfca74e5805a8506d50a6752172e81 Author: Mauro Carvalho Chehab <mchehab@xxxxxxxxxx> Date: Mon Aug 10 10:29:27 2009 -0300 V4L/DVB (12411): em28xx: Fix artifacts with Silvercrest webcam Silvercrest mt9v011 sensor produces a 640x480 image. However, previously, the code were getting only half of the lines and merging two consecutive frames to "produce" a 640x480 image. With the addition of progressive mode, now em28xx is working with a full image. However, when the number of lines is bigger than 240, the beginning of some odd lines are filled with blank. After lots of testing, and physically checking the device for a Xtal, it was noticed experimentally that mt9v011 is using em28xx XCLK as its clock. Due to that, changing XCLK value changes the maximum speed of the stream. At the tests, it were possible to produce up to 32 fps, using a 30 MHz XCLK. However, at that rate, the artifacts happen even at 320x240. Lower values of XCLK produces artifacts only at 640x480. At some values of xclk (for example XCLKK = 6 MHz, 640x480), it is possible to see an invalid sucession of artifacts with this pattern: .xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx ..xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx ...xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx ....xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx .xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx ..xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx ...xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx ....xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx (where the dots represent the blanked pixels) So, it seems that a waveform in the format of a ramp is interferring at the image. The cause of this interference is currently unknown. Some possibilities are: - electrical interference (maybe this device is broken?); - some issue at mt9v011 programming; - some bug at em28xx chip. So, for now, let's be conservative and use a value of XCLK that we know for sure that it won't cause artifacts. As I'm waiting for more of such devices with different em28xx chipset revisions, I'll have the opportunity to double check the issue with other pieces of hardware. Later patches can vary XCLK depending on the vertical resolutions, if a proper fix is not discovered. Signed-off-by: Mauro Carvalho Chehab <mchehab@xxxxxxxxxx> commit fcd20e3c369caf7a3fec300c9c183b25a06e21b2 Author: Mauro Carvalho Chehab <mchehab@xxxxxxxxxx> Date: Mon Aug 10 02:57:57 2009 -0300 V4L/DVB (12410): em28xx: Move the non-board dependent part to be outside em28xx_pre_card_setup() em28xx_pre_card_setup() is meant to contain board-specific initialization. Also, as autodetection sometimes occur only after having i2c bus enabled, this function may need to be called later. Moving those setups to happen outside the function avoids calling it twice without need and without duplicating output lines at dmesg. Signed-off-by: Mauro Carvalho Chehab <mchehab@xxxxxxxxxx> commit 970cff36c0850e8193ac1162e42c7c11001b872d Author: Mauro Carvalho Chehab <mchehab@xxxxxxxxxx> Date: Sat Aug 8 03:28:41 2009 -0300 V4L/DVB (12407): em28xx: Adjust Silvercrest xtal frequency We don't know the xtal frequency of Silvercrest, but we need to have some value in order to allow controlling the frame rate frequency. The value is probably still wrong, since the manufacturer announces this device as being capable of 30fps, but the maximum we can get is 13.5 fps. Signed-off-by: Mauro Carvalho Chehab <mchehab@xxxxxxxxxx> commit c2a6b54a9cf08d4ffeb75d70603c4a5d03ac97ad Author: Mauro Carvalho Chehab <mchehab@xxxxxxxxxx> Date: Sat Aug 8 03:14:55 2009 -0300 V4L/DVB (12406): em28xx: fix: don't do image interlacing on webcams Due to historical reasons, em28xx driver gets two consecutive frames and fold them into an unique framing, doing interlacing. While this works fine for TV images, this produces two bad effects with webcams: 1) webcam images are progressive. Merging two consecutive images produce interlacing artifacts on the image; 2) since the driver needs to get two frames, it reduces the maximum frame rate by two. Signed-off-by: Mauro Carvalho Chehab <mchehab@xxxxxxxxxx> commit d594317bdc716ccd8c8cf711e3827f9b6e0b766b Author: Mauro Carvalho Chehab <mchehab@xxxxxxxxxx> Date: Fri Aug 7 12:13:31 2009 -0300 V4L/DVB (12403): em28xx: properly reports some em2710 chips As reported by hermann pitton <hermann-pitton@xxxxxxxx>, some devices has a different chip id for em2710 (likely the older ones): em28xx: New device @ 480 Mbps (eb1a:2710, interface 0, class 0) em28xx #0: Identified as EM2710/EM2750/EM2751 webcam grabber (card=22) em28xx #0: em28xx chip ID = 17 Signed-off-by: Mauro Carvalho Chehab <mchehab@xxxxxxxxxx> commit 9b4e845c6cbca2bcbfdb87e4d005260604226f45 Author: Mauro Carvalho Chehab <mchehab@xxxxxxxxxx> Date: Fri Aug 7 12:08:02 2009 -0300 V4L/DVB (12402): em28xx: fix: some em2710 chips use a different vendor ID Thanks to hermann pitton <hermann-pitton@xxxxxxxx> for pointing this new variation. Tested-by: hermann pitton <hermann-pitton@xxxxxxxx> Signed-off-by: Mauro Carvalho Chehab <mchehab@xxxxxxxxxx> commit 2526ea6e46e41322eb98ac0e9c616273402bd661 Author: Mauro Carvalho Chehab <mchehab@xxxxxxxxxx> Date: Fri Aug 7 01:09:54 2009 -0300 V4L/DVB (12401): m9v011: add vflip/hflip controls to control mirror/upside down Signed-off-by: Mauro Carvalho Chehab <mchehab@xxxxxxxxxx> commit d96ecda63f41350dc93c17ccb72ea24511f207a9 Author: Mauro Carvalho Chehab <mchehab@xxxxxxxxxx> Date: Thu Aug 6 21:53:59 2009 -0300 V4L/DVB (12400): em28xx: Allow changing fps on webcams em28xx doesn't have temporal scaling. However, on webcams, sensors are capable of changing the output rate. So, VIDIOC_[G|S]_PARM ioctls should be passed to the sensor for it to properly set frame rate. Signed-off-by: Mauro Carvalho Chehab <mchehab@xxxxxxxxxx> commit 83053f7fe3eb0b6b1634d24ede87f1daa01ae60c Author: Mauro Carvalho Chehab <mchehab@xxxxxxxxxx> Date: Thu Aug 6 21:03:35 2009 -0300 V4L/DVB (12399): mt9v011: Add support for controlling frame rates Implement g_parm/s_parm ioctls. Those are used to check the current frame rate (in fps) and to set it to a value. In practice, there are only 15 possible different speeds, due to chip limits. Signed-off-by: Mauro Carvalho Chehab <mchehab@xxxxxxxxxx> commit 93b999239c418cf5c668fd966ac2c5c27b8180dd Author: Devin Heitmueller <dheitmueller@xxxxxxxxxxxxxx> Date: Mon Aug 3 22:52:59 2009 -0300 V4L/DVB (12394): cx88: Disable xc3028 power management for Geniatech x8000 A user discovered that the Geniatech x8000 encountered a regression when the xc3028 power management was introduced. The xc3028 never recovers after setting the powerdown register, which is probably because the xc3028 reset GPIO is not properly configured. Since I do not have access to the hardware and thus cannot determine the correct GPIO configuration, just disable xc3028 power management on this board, which fixes the regression. Thanks to user "ritec" for reporting the issue and testing the fix. Cc: rictec <rictec@xxxxxxxxxx> Signed-off-by: Devin Heitmueller <dheitmueller@xxxxxxxxxxxxxx> Signed-off-by: Mauro Carvalho Chehab <mchehab@xxxxxxxxxx> commit 11db906983fc6e996fcd10073843bd6f1b9a96c3 Author: Devin Heitmueller <dheitmueller@xxxxxxxxxxxxxx> Date: Mon Aug 3 22:40:16 2009 -0300 V4L/DVB (12393): cx88: fix regression in tuning for Geniatech X8000 MT The introduction of the zl10353 i2c gate control broke support for the Geniatech board (which is not behind an i2 gate). Add the needed parameter. Signed-off-by: Devin Heitmueller <dheitmueller@xxxxxxxxxxxxxx> Signed-off-by: Mauro Carvalho Chehab <mchehab@xxxxxxxxxx> commit 0e316ecfc851c8dd955d9fa6e0d3a46e451a46f4 Author: Michael Krufky <mkrufky@xxxxxxxxxxxxxx> Date: Mon Aug 3 16:51:33 2009 -0300 V4L/DVB (12391): saa7134: Use correct product name for Hauppauge WinTV-HVR1120 DVB-T/Hybrid Signed-off-by: Michael Krufky <mkrufky@xxxxxxxxxxxxxx> Signed-off-by: Mauro Carvalho Chehab <mchehab@xxxxxxxxxx> commit b5f05064b556da5183adc383e5f8d50af0392849 Author: Michael Krufky <mkrufky@xxxxxxxxxxxxxx> Date: Mon Aug 3 16:51:33 2009 -0300 V4L/DVB (12390): saa7134: Use correct product name for Hauppauge WinTV-HVR1150 ATSC/QAM-Hybrid Signed-off-by: Michael Krufky <mkrufky@xxxxxxxxxxxxxx> Signed-off-by: Mauro Carvalho Chehab <mchehab@xxxxxxxxxx> commit 79a6382551507ce196c3b4296e32b5386cdfbf15 Author: Michael Krufky <mkrufky@xxxxxxxxxxxxxx> Date: Sun Aug 2 12:37:34 2009 -0300 V4L/DVB (12386): sms1xxx: fix build warning: unused variable 'board' Remove the following build warning: sms-cards.c: In function 'sms_board_event': sms-cards.c:120: warning: unused variable 'board' Thanks to Hans Verkuil for pointing this out. The problem code has been #if 0'd for now, this will likely be used again in the future, once the event interface is complete. Cc: Hans Verkuil <hverkuil@xxxxxxxxx> Signed-off-by: Michael Krufky <mkrufky@xxxxxxxxxxxxxx> Signed-off-by: Mauro Carvalho Chehab <mchehab@xxxxxxxxxx> commit bd0232c13419b7ce51e02942082ff6af231e0f84 Author: Laurent Pinchart <laurent.pinchart@xxxxxxxxx> Date: Sat Aug 1 18:14:24 2009 -0300 V4L/DVB (12380): uvcvideo: Avoid flooding the kernel log with "unknown event type" messages The iSight sends non-UVC status events through the interrupt endpoint. Those invalid events are reported to the kernel log, resulting in a log flood. Only log the events when the UVC_TRACE_STATUS flag is set. Signed-off-by: Laurent Pinchart <laurent.pinchart@xxxxxxxxx> Signed-off-by: Mauro Carvalho Chehab <mchehab@xxxxxxxxxx> commit d79cd8393ae85ebaf53a8fc93491eea96522d68e Author: Laurent Pinchart <laurent.pinchart@xxxxxxxxx> Date: Sun Jul 19 19:16:05 2009 -0300 V4L/DVB (12328): uvcvideo: Don't apply the FIX_BANDWIDTH quirk to all ViMicro devices Commit 50144aeeb702ea105697ae5249f059ea3990b838 broke the Samsung NC10 netbook webcam. Instead of applying the FIX_BANDWIDTH quirk to all ViMicro devices, list the devices explicitly. Signed-off-by: Laurent Pinchart <laurent.pinchart@xxxxxxxxx> Signed-off-by: Mauro Carvalho Chehab <mchehab@xxxxxxxxxx> commit d1ae4e1d05cc982b6b480c1a3d69b8bb231e3493 Author: Michael Krufky <mkrufky@xxxxxxxxxxxxxx> Date: Sun Jul 12 18:25:45 2009 -0300 V4L/DVB (12374): sms1xxx: fix broken Hauppauge devices The current GPIO configuration breaks all Hauppauge devices. The code being removed affects Hauppauge devices only, and is the cause of the breakage. Signed-off-by: Michael Krufky <mkrufky@xxxxxxxxxxxxxx> Signed-off-by: Mauro Carvalho Chehab <mchehab@xxxxxxxxxx> commit 261982f17051d10a1054a77ec8ae13517e0acee2 Author: Brian Johnson <brijohn@xxxxxxxxx> Date: Sun Jul 19 15:58:56 2009 -0300 V4L/DVB (12373a): Add gspca sn9c20x subdriver entry to MAINTAINERS file MAINTAINERS | 8 ++++++++ Signed-off-by: Brian Johnson <brijohn@xxxxxxxxx> Acked-by: Jean-Francois Moine <moinejf@xxxxxxx> Signed-off-by: Mauro Carvalho Chehab <mchehab@xxxxxxxxxx> commit ba1bc64272f0af668690ba2bf859b13172db7230 Author: Nils Kassube <kassube@xxxxxxx> Date: Tue Jul 28 11:54:52 2009 -0300 V4L/DVB (12371): af9015: Fix for crash in dvb-usb-af9015 Moving BOOT fixes problem. Signed-off-by: Nils Kassube <kassube@xxxxxxx> Acked-by: Antti Palosaari <crope@xxxxxx> Signed-off-by: Douglas Schilling Landgraf <dougsland@xxxxxxxxxx> Signed-off-by: Mauro Carvalho Chehab <mchehab@xxxxxxxxxx> commit 6655be0f4f377d7e249219c6031c4be3533604a2 Author: Michael Krufky <mkrufky@xxxxxxxxxxxxxx> Date: Mon Jul 20 12:20:58 2009 -0300 V4L/DVB (12362): cx23885-417: fix manipulation of tvnorms Currently, the VIDIOC_S_STD ioctl just returns -EINVAL regardless of the norm passed. This patch sets cx23885_mpeg_template.tvnorms and cx23885_mpeg_template.current_norm so that the VIDIOC_S_STD will work. Thanks to Joseph Yasi for pointing this out, even though this particular fix was already pushed into a development repository, merge priority of this changeset has been escalated as a result of Joseph posting this identical patch. Signed-off-by: Michael Krufky <mkrufky@xxxxxxxxxxxxxx> Signed-off-by: Joseph A. Yasi <joe.yasi@xxxxxxxxx> Reviewed-by: Steven Toth <stoth@xxxxxxxxxxxxxx> Signed-off-by: Mauro Carvalho Chehab <mchehab@xxxxxxxxxx> commit 337ab6d34f0be7cfbfb5ac8cb651276fc58aa20d Author: Sohail Syyed <linuxtv@xxxxxxxxxxx> Date: Sun Jul 26 11:06:20 2009 -0300 V4L/DVB (12349): cx88: HVR1300 ensure switching from Encoder to DVB-T and back is reliable Current tip is broken and does not switch back to DVB-T correctly Signed-off-by: Sohail Syyed <linuxtv@xxxxxxxxxxx> Signed-off-by: Steven Toth <stoth@xxxxxxxxxxxxxx> Signed-off-by: Mauro Carvalho Chehab <mchehab@xxxxxxxxxx> commit 0a6e44d1beb30813f62ad376a31694e637858328 Author: Mauro Carvalho Chehab <mchehab@xxxxxxxxxx> Date: Wed Jul 29 01:39:12 2009 -0300 V4L/DVB (12344): em28xx: fix support for Plextor ConvertX PX-TV100U This device uses msp34xx and uses 2.048 MHz frequency for I2S communication. Thanks to Angelo Cano <acano@xxxxxxxxxxx> for pointing the issues with this device and proposing an approach for fixing the issue. Tested-by: Angelo Cano <acano@xxxxxxxxxxx> Signed-off-by: Mauro Carvalho Chehab <mchehab@xxxxxxxxxx> commit 458f9aa391efd34867f8cabac2e2f1af00cbc562 Author: Jan Nikitenko <jan.nikitenko@xxxxxxxxx> Date: Thu Jun 18 08:11:57 2009 -0300 V4L/DVB (12341): zl10353 and qt1010: fix stack corruption bug Fixes stack corruption bug present in dump_regs function of zl10353 and qt1010 drivers: the buffer buf was one byte smaller than required - there are 4 chars for address prefix, 16 * 3 chars for dump of 16 eeprom bytes per line and 1 byte for zero ending the string required, i.e. 53 bytes, but only 52 were provided. The one byte missing in stack based buffer buf can cause stack corruption possibly leading to kernel oops, as discovered originally with af9015 driver (af9015: fix stack corruption bug). Signed-off-by: Jan Nikitenko <jan.nikitenko@xxxxxxxxx> Signed-off-by: Mauro Carvalho Chehab <mchehab@xxxxxxxxxx> commit 296544e15a7126373851abd40acc526b79b91432 Author: Mauro Carvalho Chehab <mchehab@xxxxxxxxxx> Date: Mon Jul 27 08:24:29 2009 -0300 V4L/DVB (12340): mtv9v011: Add a missing chip version to the driver Some mt9v011 webcams report 0x8332 chip version, instead of 0x8243. From the revision history at the mt9v011 datasheet, it seems that the chip version has changed from the first release of the chip. Thanks-to hermann pitton <hermann-pitton@xxxxxxxx> for pointing this to me, on his tests with a Silvercrest webcam. Signed-off-by: Mauro Carvalho Chehab <mchehab@xxxxxxxxxx> commit 225aeb1c5863bc92c6bb1f921e9a6cf4d15dbb2a Author: Andy Walls <awalls@xxxxxxxxx> Date: Thu Jul 23 21:51:29 2009 -0300 V4L/DVB (12338): cx18: Read buffer overflow This mistakenly tested against sizeof(freqs) instead of the array size. Due to the mask the only illegal value possible was 3. Reported-by: Roel Kluin <roel.kluin@xxxxxxxxx> Signed-off-by: Andy Walls <awalls@xxxxxxxxx> Signed-off-by: Mauro Carvalho Chehab <mchehab@xxxxxxxxxx> commit ed18d0c87ee0ab6e0985d83c19cd135b1bd54998 Author: Roel Kluin <roel.kluin@xxxxxxxxx> Date: Thu Jul 23 21:46:57 2009 -0300 V4L/DVB (12337): ivtv: Read buffer overflow This mistakenly tests against sizeof(freqs) instead of the array size. Due to the mask the only illegal value possible was 3. Signed-off-by: Roel Kluin <roel.kluin@xxxxxxxxx> Signed-off-by: Andy Walls <awalls@xxxxxxxxx> Signed-off-by: Mauro Carvalho Chehab <mchehab@xxxxxxxxxx> commit 5b766182a110311fbf618f736bc8a8f2f7ce3f4c Author: Antonio Ospite <ospite@xxxxxxxxxxxxxxxxx> Date: Wed Jul 22 17:20:50 2009 -0300 V4L/DVB (12330): pxa_camera: Fix Oops in pxa_camera_probe mclk_get_divisor uses pcdev->soc_host.dev, make sure it is initialized. Signed-off-by: Antonio Ospite <ospite@xxxxxxxxxxxxxxxxx> Signed-off-by: Guennadi Liakhovetski <g.liakhovetski@xxxxxx> Signed-off-by: Mauro Carvalho Chehab <mchehab@xxxxxxxxxx> commit 232e7d68d50c9ac3a55d716e5ae215ecd1e043b9 Author: Dhananjay Phadke <dhananjay@xxxxxxxxxx> Date: Thu Aug 13 07:03:01 2009 +0000 netxen: free napi resources during detach o Defer napi resouce allocation to device attach. o Free napi resources and delete napi during detach. This ensures right behavior across firmware reset. Signed-off-by: Dhananjay Phadke <dhananjay@xxxxxxxxxx> Signed-off-by: David S. Miller <davem@xxxxxxxxxxxxx> commit e424fa9d6a0add1a9b812b07e3607daaa5b9e53d Author: Amit Kumar Salecha <amit@xxxxxxxxxx> Date: Thu Aug 13 07:03:00 2009 +0000 netxen: remove netxen workqueue o Remove private workqueue in the driver, move all scheduled tasks to keventd workqueues. This makes ports (interfaces) of same / different NIC boards independent, in terms of their link watchdog and reset tasks. o Move quick checks for link status and temperature in timer callback, schedule watchdog task only if link status changed or temperature reached critical threshold. This also fixes deadlock when thermal panic occurs, watchdog work was flushing workqueue that it was sitting on. Signed-off-by: Amit Kumar Salecha <amit@xxxxxxxxxx> Signed-off-by: Dhananjay Phadke <dhananjay@xxxxxxxxxx> Signed-off-by: David S. Miller <davem@xxxxxxxxxxxxx> commit 237057ad3fe5644fa471be474a160de2fc2e5870 Author: Don Skidmore <donald.c.skidmore@xxxxxxxxx> Date: Tue Aug 11 13:18:14 2009 +0000 ixgbe: fix issues setting rx-usecs with legacy interrupts Currently setting rx-usecs when the interface is in legacy interrupt mode it is not immediate. We were only setting EITR for each MSIx vector and since this count would be zero for legacy mode it wasn't set until after a reset. This patch corrects that by checking what mode we are in and then setting EITR accordingly. Signed-off-by: Don Skidmore <donald.skidmore@xxxxxxxxx> Signed-off-by: Jeff Kirsher <jeffrey.t.kirsher@xxxxxxxxx> Signed-off-by: David S. Miller <davem@xxxxxxxxxxxxx> commit 993e6f2fd487e2acddd711f79cf48f3420731382 Author: Oliver Hartkopp <oliver@xxxxxxxxxxxx> Date: Tue Aug 11 02:41:24 2009 +0000 can: fix oops caused by wrong rtnl newlink usage For 'real' hardware CAN devices the netlink interface is used to set CAN specific communication parameters. Real CAN hardware can not be created with the ip tool ... The invocation of 'ip link add type can' lead to an oops as the standard rtnl newlink function was called: http://bugzilla.kernel.org/show_bug.cgi?id=13954 This patch adds a private newlink function for the CAN device driver interface that unconditionally returns -EOPNOTSUPP. Signed-off-by: Oliver Hartkopp <oliver@xxxxxxxxxxxx> Reported-by: Dmitry Eremin-Solenikov <dbaryshkov@xxxxxxxxx> CC: Patrick McHardy <kaber@xxxxxxxxx> CC: Wolfgang Grandegger <wg@xxxxxxxxxxxxxx> Signed-off-by: David S. Miller <davem@xxxxxxxxxxxxx> commit 64f1607ffbbc772685733ea63e6f7f4183df1b16 Author: Linus Torvalds <torvalds@xxxxxxxxxxxxxxxxxxxx> Date: Thu Aug 13 15:43:34 2009 -0700 Linux 2.6.31-rc6 commit f9b14c9183b250cf128c7d2341e6b9bdbbcd8f35 Author: Kashyap, Desai <kashyap.desai@xxxxxxx> Date: Fri Aug 7 19:39:59 2009 +0530 [SCSI] mpt2sas: Bump driver version 01.100.04.00 Bump version to 01.100.04.00 Signed-off-by: Kashyap Desai <kashyap.desai@xxxxxxx> Signed-off-by: James Bottomley <James.Bottomley@xxxxxxx> commit fcfe6392d18283df3c561b5ef59c330d485ff8ca Author: Kashyap, Desai <kashyap.desai@xxxxxxx> Date: Fri Aug 7 19:38:48 2009 +0530 [SCSI] mpt2sas: fix oops because drv data points to NULL on resume from hibernate Fix another ocurring when the system resumes. This oops was due to driver setting the pci drvdata to NULL on the prior hibernation. Becuase it was set to NULL, upon resmume we assume the pci drvdata is non-zero, and we oops. To fix the ooops, we don't set pci drvdata to NULL at hibernation time. Signed-off-by: Kashyap Desai <kashyap.desai@xxxxxxx> Signed-off-by: James Bottomley <James.Bottomley@xxxxxxx> commit e4750c989f732555fca86dd73d488c79972362db Author: Kashyap, Desai <kashyap.desai@xxxxxxx> Date: Fri Aug 7 19:37:59 2009 +0530 [SCSI] mpt2sas: fix crash due to Watchdog is active while OS in standby mode Fix oops ocurring at hibernation time. This oops was due to the firmware fault watchdog timer still running after we freed resources. To fix the issue we need to terminate the watchdog timer at hibernation time. Signed-off-by: Kashyap Desai <kashyap.desai@xxxxxxx> Signed-off-by: James Bottomley <James.Bottomley@xxxxxxx> commit 6bd4e1e4d6023f4da069fd68729c502cc4e6dfd0 Author: Kashyap, Desai <kashyap.desai@xxxxxxx> Date: Fri Aug 7 19:37:14 2009 +0530 [SCSI] mpt2sas: fix infinite loop inside config request This restriction is introduced just to avoid loop of config_request. Retry must be limited so we have restricted config request to maximum 2 times. Signed-off-by: Kashyap Desai <kashyap.desai@xxxxxxx> Signed-off-by: James Bottomley <James.Bottomley@xxxxxxx> commit be9e8cd75ce8d94ae4aab721fdcc337fa78a9090 Author: Kashyap, Desai <kashyap.desai@xxxxxxx> Date: Fri Aug 7 19:36:43 2009 +0530 [SCSI] mpt2sas: Excessive log info causes sas iounit page time out Inhibit 0x3117 loginfos - during cable pull, there are too many printks going to the syslog, this is have impact on how fast the interrupt routine can handle keeping up with command completions; this was the root cause to the config pages timeouts. Signed-off-by: Kashyap Desai <kashyap.desai@xxxxxxx> Signed-off-by: James Bottomley <James.Bottomley@xxxxxxx> commit 62727a7ba43c0abf2673e3877079c136a9721792 Author: Kashyap, Desai <kashyap.desai@xxxxxxx> Date: Fri Aug 7 19:35:18 2009 +0530 [SCSI] mpt2sas: Raid 10 Value is showing as Raid 1E in /va/log/messages When a volume is activated, the driver will recieve a pair of ir config change events to remove the foreign volume, then add the native. In the process of the removal event, the hidden raid componet is removed from the parent.When the disks is added back, the adding of the port fails becuase there is no instance of the device in its parent. To fix this issue, the driver needs to call mpt2sas_transport_update_links() prior to calling _scsih_add_device. In addition, we added sanity checks on volume add and removal to ignore events for foreign volumes. Signed-off-by: Kashyap Desai <kashyap.desai@xxxxxxx> Signed-off-by: James Bottomley <James.Bottomley@xxxxxxx> commit 20f5895d55d9281830bfb7819c5c5b70b05297a6 Author: Kashyap, Desai <kashyap.desai@xxxxxxx> Date: Fri Aug 7 19:34:26 2009 +0530 [SCSI] mpt2sas: Expander fix oops saying "Already part of another port" Kernel panic is seen because driver did not tear down the port which should be dnoe using mpt2sas_transport_port_remove(). without this fix When expander is added back we would oops inside sas_port_add_phy. Signed-off-by: Kashyap Desai <kashyap.desai@xxxxxxx> Signed-off-by: James Bottomley <James.Bottomley@xxxxxxx> commit 15052c9e85bf0cdadcb69eb89623bf12bad8b4f8 Author: Kashyap, Desai <kashyap.desai@xxxxxxx> Date: Fri Aug 7 19:33:17 2009 +0530 [SCSI] mpt2sas: Introduced check for enclosure_handle to avoid crash Kernel panic is seen because of enclosure_handle received from FW is zero. Check is introduced before calling mpt2sas_config_get_enclosure_pg0. Signed-off-by: Kashyap Desai <kashyap.desai@xxxxxxx> Signed-off-by: James Bottomley <James.Bottomley@xxxxxxx> commit 2d860ad76f4ee4d2eba0fe3797c8d7cdce432cc0 Author: Linus Torvalds <torvalds@xxxxxxxxxxxxxxxxxxxx> Date: Thu Aug 13 13:05:10 2009 -0700 genirq: prevent wakeup of freed irq thread free_irq() can remove an irqaction while the corresponding interrupt is in progress, but free_irq() sets action->thread to NULL unconditionally, which might lead to a NULL pointer dereference in handle_IRQ_event() when the hard interrupt context tries to wake up the handler thread. Prevent this by moving the thread stop after synchronize_irq(). No need to set action->thread to NULL either as action is going to be freed anyway. This fixes a boot crash reported against preempt-rt which uses the mainline irq threads code to implement full irq threading. [ tglx: removed local irqthread variable ] Signed-off-by: Linus Torvalds <torvalds@xxxxxxxxxxxxxxxxxxxx> Signed-off-by: Thomas Gleixner <tglx@xxxxxxxxxxxxx> commit 3493e84de60590d3012139187f631f2dfbf0887f Merge: 919aa96a9cfc5071f037bf58718e05335562a6ac 94d5d1b2d891f1fd5205f978246b7864d998b25c Author: Linus Torvalds <torvalds@xxxxxxxxxxxxxxxxxxxx> Date: Thu Aug 13 12:24:33 2009 -0700 Merge branch 'perfcounters-fixes-for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/tip/linux-2.6-tip * 'perfcounters-fixes-for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/tip/linux-2.6-tip: perf_counter: Report the cloning task as parent on perf_counter_fork() perf_counter: Fix an ipi-deadlock perf: Rework/fix the whole read vs group stuff perf_counter: Fix swcounter context invariance perf report: Don't show unresolved DSOs and symbols when -S/-d is used perf tools: Add a general option to enable raw sample records perf tools: Add a per tracepoint counter attribute to get raw sample perf_counter: Provide hw_perf_counter_setup_online() APIs perf list: Fix large list output by using the pager perf_counter, x86: Fix/improve apic fallback perf record: Add missing -C option support for specifying profile cpu perf tools: Fix dso__new handle() to handle deleted DSOs perf tools: Fix fallback to cplus_demangle() when bfd_demangle() is not available perf report: Show the tid too in -D perf record: Fix .tid and .pid fill-in when synthesizing events perf_counter, x86: Fix generic cache events on P6-mobile CPUs perf_counter, x86: Fix lapic printk message commit 919aa96a9cfc5071f037bf58718e05335562a6ac Merge: 1c2ffff407140adf75bb72ae375688480793a228 392741e0a4e17c82e3978b7fcbf04291294dc0a1 Author: Linus Torvalds <torvalds@xxxxxxxxxxxxxxxxxxxx> Date: Thu Aug 13 12:09:16 2009 -0700 Merge branch 'core-fixes-for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/tip/linux-2.6-tip * 'core-fixes-for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/tip/linux-2.6-tip: futex: Fix handling of bad requeue syscall pairing futex: Fix compat_futex to be same as futex for REQUEUE_PI locking, sched: Give waitqueue spinlocks their own lockdep classes futex: Update futex_q lock_ptr on requeue proxy lock commit 1c2ffff407140adf75bb72ae375688480793a228 Merge: bc7af9ba154f648598bf92b391e446e31b09330a e8055139d996e85722984968472868d6dccb1490 Author: Linus Torvalds <torvalds@xxxxxxxxxxxxxxxxxxxx> Date: Thu Aug 13 12:08:44 2009 -0700 Merge branch 'x86-fixes-for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/tip/linux-2.6-tip * 'x86-fixes-for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/tip/linux-2.6-tip: x86: Fix oops in identify_cpu() on CPUs without CPUID x86: Clear incorrectly forced X86_FEATURE_LAHF_LM flag x86, mce: therm_throt - change when we print messages x86: Add reboot quirk for every 5 series MacBook/Pro commit 416fbdff2137e8d8cc8f23f517bee3a26b11526f Author: Luis R. Rodriguez <lrodriguez@xxxxxxxxxxx> Date: Tue Aug 11 13:10:33 2009 -0700 mac80211: fix panic when splicing unprepared TIDs We splice skbs from the pending queue for a TID onto the local pending queue when tearing down a block ack request. This is not necessary unless we actually have received a request to start a block ack request (rate control, for example). If we never received that request we should not be splicing the tid pending queue as it would be null, causing a panic. Not sure yet how exactly we allowed through a call when the tid state does not have at least HT_ADDBA_REQUESTED_MSK set, that will require some further review as it is not quite obvious. For more information see the bug report: http://bugzilla.kernel.org/show_bug.cgi?id=13922 This fixes this oops: BUG: unable to handle kernel NULL pointer dereference at 00000030 IP: [<f8806c70>] ieee80211_agg_splice_packets+0x40/0xc0 [mac80211] *pdpt = 0000000002d1e001 *pde = 0000000000000000 Thread overran stack, or stack corrupted Oops: 0000 [#1] SMP last sysfs file: /sys/module/aes_generic/initstate Modules linked in: <bleh> Pid: 0, comm: swapper Not tainted (2.6.31-rc5-wl #2) Dell DV051 EIP: 0060:[<f8806c70>] EFLAGS: 00010292 CPU: 0 EIP is at ieee80211_agg_splice_packets+0x40/0xc0 [mac80211] EAX: 00000030 EBX: 0000004c ECX: 00000003 EDX: 00000000 ESI: c1c98000 EDI: f745a1c0 EBP: c076be58 ESP: c076be38 DS: 007b ES: 007b FS: 00d8 GS: 0000 SS: 0068 Process swapper (pid: 0, ti=c076a000 task=c0709160 task.ti=c076a000) Stack: <bleh2> Call Trace: [<f8806edb>] ? ieee80211_stop_tx_ba_cb+0xab/0x150 [mac80211] [<f8802f1e>] ? ieee80211_tasklet_handler+0xce/0x110 [mac80211] [<c04862ff>] ? net_rx_action+0xef/0x1d0 [<c0149378>] ? tasklet_action+0x58/0xc0 [<c014a0f2>] ? __do_softirq+0xc2/0x190 [<c018eb48>] ? handle_IRQ_event+0x58/0x140 [<c01205fe>] ? ack_apic_level+0x7e/0x270 [<c014a1fd>] ? do_softirq+0x3d/0x40 [<c014a345>] ? irq_exit+0x65/0x90 [<c010a6af>] ? do_IRQ+0x4f/0xc0 [<c014a35d>] ? irq_exit+0x7d/0x90 [<c011d547>] ? smp_apic_timer_interrupt+0x57/0x90 [<c01094a9>] ? common_interrupt+0x29/0x30 [<c010fd9e>] ? mwait_idle+0xbe/0x100 [<c0107e42>] ? cpu_idle+0x52/0x90 [<c054b1a5>] ? rest_init+0x55/0x60 [<c077492d>] ? start_kernel+0x315/0x37d [<c07743ce>] ? unknown_bootoption+0x0/0x1f9 [<c0774099>] ? i386_start_kernel+0x79/0x81 Code: <bleh3> EIP: [<f8806c70>] ieee80211_agg_splice_packets+0x40/0xc0 [mac80211] SS:ESP 0068:c076be38 CR2: 0000000000000030 Cc: stable@xxxxxxxxxx Testedy-by: Jack Lau <jackelectronics@xxxxxxxxxxx> Signed-off-by: Luis R. Rodriguez <lrodriguez@xxxxxxxxxxx> Signed-off-by: John W. Linville <linville@xxxxxxxxxxxxx> commit bc7af9ba154f648598bf92b391e446e31b09330a Merge: d58d2d1adec90e7bc0c56e09b3ac0e9a5a471e68 b409d7a0ab46fe530efe52734984b4ed5d46c3eb Author: Linus Torvalds <torvalds@xxxxxxxxxxxxxxxxxxxx> Date: Thu Aug 13 11:17:40 2009 -0700 Merge branch 'upstream-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/jlbec/ocfs2 * 'upstream-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/jlbec/ocfs2: (22 commits) ocfs2: Fix possible deadlock when extending quota file ocfs2: keep index within status_map[] ocfs2: Initialize the cluster we're writing to in a non-sparse extend ocfs2: Remove redundant BUG_ON in __dlm_queue_ast() ocfs2/quota: Release lock for error in ocfs2_quota_write. ocfs2: Define credit counts for quota operations ocfs2: Remove syncjiff field from quota info ocfs2: Fix initialization of blockcheck stats ocfs2: Zero out padding of on disk dquot structure ocfs2: Initialize blocks allocated to local quota file ocfs2: Mark buffer uptodate before calling ocfs2_journal_access_dq() ocfs2: Make global quota files blocksize aligned ocfs2: Use ocfs2_rec_clusters in ocfs2_adjust_adjacent_records. ocfs2: Fix deadlock on umount ocfs2: Add extra credits and access the modified bh in update_edge_lengths. ocfs2: Fail ocfs2_get_block() immediately when a block needs allocation ocfs2: Fix error return in ocfs2_write_cluster() ocfs2: Fix compilation warning for fs/ocfs2/xattr.c ocfs2: Initialize count in aio_write before generic_write_checks ocfs2: log the actual return value of ocfs2_file_aio_write() ... commit d58d2d1adec90e7bc0c56e09b3ac0e9a5a471e68 Merge: 7334219c44826ae0ebe6f07555c6b97f978ce266 4d484a4a7a5126410eed5f8dd329a33f6eeed068 Author: Linus Torvalds <torvalds@xxxxxxxxxxxxxxxxxxxx> Date: Thu Aug 13 10:59:29 2009 -0700 Merge branch 'for-linus' of git://neil.brown.name/md * 'for-linus' of git://neil.brown.name/md: md: allow upper limit for resync/reshape to be set when array is read-only md/raid5: Properly remove excess drives after shrinking a raid5/6 md/raid5: make sure a reshape restarts at the correct address. md/raid5: allow new reshape modes to be restarted in the middle. md: never advance 'events' counter by more than 1. Remove deadlock potential in md_open commit 7334219c44826ae0ebe6f07555c6b97f978ce266 Merge: e694958388c50148389b0e9b9e9e8945cf0f1b98 dbefd606a3b3634799b625f4900336e61c89e868 Author: Linus Torvalds <torvalds@xxxxxxxxxxxxxxxxxxxx> Date: Thu Aug 13 10:57:53 2009 -0700 Merge branch 'sh/for-2.6.31' of git://git.kernel.org/pub/scm/linux/kernel/git/lethal/sh-2.6 * 'sh/for-2.6.31' of git://git.kernel.org/pub/scm/linux/kernel/git/lethal/sh-2.6: sh: fix i2c init order on ap325rxa V2 sh: fix i2c init order on Migo-R V2 sh: convert processor device setup functions to arch_initcall() commit e694958388c50148389b0e9b9e9e8945cf0f1b98 Author: Linus Torvalds <torvalds@xxxxxxxxxxxxxxxxxxxx> Date: Thu Aug 13 08:28:36 2009 -0700 Make sock_sendpage() use kernel_sendpage() kernel_sendpage() does the proper default case handling for when the socket doesn't have a native sendpage implementation. Now, arguably this might be something that we could instead solve by just specifying that all protocols should do it themselves at the protocol level, but we really only care about the common protocols. Does anybody really care about sendpage on something like Appletalk? Not likely. Acked-by: David S. Miller <davem@xxxxxxxxxxxxx> Acked-by: Julien TINNES <julien@xxxxxxx> Acked-by: Tavis Ormandy <taviso@xxxxxxxxxxxxxxxx> Cc: stable@xxxxxxxxxx Signed-off-by: Linus Torvalds <torvalds@xxxxxxxxxxxxxxxxxxxx> commit 94d5d1b2d891f1fd5205f978246b7864d998b25c Author: Peter Zijlstra <peterz@xxxxxxxxxxxxx> Date: Thu Aug 13 16:14:42 2009 +0200 perf_counter: Report the cloning task as parent on perf_counter_fork() A bug in (9f498cc: perf_counter: Full task tracing) makes profiling multi-threaded apps it go belly up. [ output as: (PID:TID):(PPID:PTID) ] # ./perf report -D | grep FORK 0x4b0 [0x18]: PERF_EVENT_FORK: (3237:3237):(3236:3236) 0xa10 [0x18]: PERF_EVENT_FORK: (3237:3238):(3236:3236) 0xa70 [0x18]: PERF_EVENT_FORK: (3237:3239):(3236:3236) 0xad0 [0x18]: PERF_EVENT_FORK: (3237:3240):(3236:3236) 0xb18 [0x18]: PERF_EVENT_FORK: (3237:3241):(3236:3236) Shows us that the test (27d028d perf report: Update for the new FORK/EXIT events) in builtin-report.c: /* * A thread clone will have the same PID for both * parent and child. */ if (thread == parent) return 0; Will clearly fail. The problem is that perf_counter_fork() reports the actual parent, instead of the cloning thread. Fixing that (with the below patch), yields: # ./perf report -D | grep FORK 0x4c8 [0x18]: PERF_EVENT_FORK: (1590:1590):(1589:1589) 0xbd8 [0x18]: PERF_EVENT_FORK: (1590:1591):(1590:1590) 0xc80 [0x18]: PERF_EVENT_FORK: (1590:1592):(1590:1590) 0x3338 [0x18]: PERF_EVENT_FORK: (1590:1593):(1590:1590) 0x66b0 [0x18]: PERF_EVENT_FORK: (1590:1594):(1590:1590) Which both makes more sense and doesn't confuse perf report anymore. Reported-by: Pekka Enberg <penberg@xxxxxxxxxxxxxx> Signed-off-by: Peter Zijlstra <a.p.zijlstra@xxxxxxxxx> Cc: Arnaldo Carvalho de Melo <acme@xxxxxxxxxx> Cc: paulus@xxxxxxxxx Cc: Anton Blanchard <anton@xxxxxxxxx> Cc: Arjan van de Ven <arjan@xxxxxxxxxxxxx> LKML-Reference: <1250172882.5241.62.camel@twins> Signed-off-by: Ingo Molnar <mingo@xxxxxxx> commit 970892a9031a5dc7217bd394fb9d89fa75a4a7bc Author: Peter Zijlstra <a.p.zijlstra@xxxxxxxxx> Date: Thu Aug 13 11:47:54 2009 +0200 perf_counter: Fix an ipi-deadlock perf_pending_counter() is called from IRQ context and will call perf_counter_disable(), however perf_counter_disable() uses smp_call_function_single() which doesn't fancy being used with IRQs disabled due to IPI deadlocks. Fix this by making it use the local __perf_counter_disable() call and teaching the counter_sched_out() code about pending disables as well. This should cover the case where a counter migrates before the pending queue gets processed. Signed-off-by: Peter Zijlstra <a.p.zijlstra@xxxxxxxxx> Cc: Corey J Ashford <cjashfor@xxxxxxxxxx> Cc: Paul Mackerras <paulus@xxxxxxxxx> Cc: stephane eranian <eranian@xxxxxxxxxxxxxx> LKML-Reference: <20090813103655.244097721@xxxxxxxxx> Signed-off-by: Ingo Molnar <mingo@xxxxxxx> commit 3dab77fb1bf89664bb1c9544607159dcab6f7d57 Author: Peter Zijlstra <a.p.zijlstra@xxxxxxxxx> Date: Thu Aug 13 11:47:53 2009 +0200 perf: Rework/fix the whole read vs group stuff Replace PERF_SAMPLE_GROUP with PERF_SAMPLE_READ and introduce PERF_FORMAT_GROUP to deal with group reads in a more generic way. This allows you to get group reads out of read() as well. Signed-off-by: Peter Zijlstra <a.p.zijlstra@xxxxxxxxx> Cc: Corey J Ashford <cjashfor@xxxxxxxxxx> Cc: Paul Mackerras <paulus@xxxxxxxxx> Cc: stephane eranian <eranian@xxxxxxxxxxxxxx> LKML-Reference: <20090813103655.117411814@xxxxxxxxx> Signed-off-by: Ingo Molnar <mingo@xxxxxxx> commit bcfc2602e8541ac13b1def38e2591dca072cff7a Author: Peter Zijlstra <peterz@xxxxxxxxxxxxx> Date: Thu Aug 13 09:51:55 2009 +0200 perf_counter: Fix swcounter context invariance perf_swcounter_is_counting() uses a lock, which means we cannot use swcounters from NMI or when holding that particular lock, this is unintended. The below removes the lock, this opens up race window, but not worse than the swcounters already experience due to RCU traversal of the context in perf_swcounter_ctx_event(). This also fixes the hard lockups while opening a lockdep tracepoint counter. Signed-off-by: Peter Zijlstra <a.p.zijlstra@xxxxxxxxx> Acked-by: Frederic Weisbecker <fweisbec@xxxxxxxxx> Cc: Paul Mackerras <paulus@xxxxxxxxx> Cc: stephane eranian <eranian@xxxxxxxxxxxxxx> Cc: Corey J Ashford <cjashfor@xxxxxxxxxx> LKML-Reference: <1250149915.10001.66.camel@twins> Signed-off-by: Ingo Molnar <mingo@xxxxxxx> commit 8fd101f20bdf771949a8f3a5a779877d09b2fb56 Author: Arnaldo Carvalho de Melo <acme@xxxxxxxxxx> Date: Wed Aug 12 18:19:57 2009 -0300 perf report: Don't show unresolved DSOs and symbols when -S/-d is used We're interested in just those symbols/DSOs, so filter out the unresolved ones. Signed-off-by: Arnaldo Carvalho de Melo <acme@xxxxxxxxxx> Cc: Peter Zijlstra <peterz@xxxxxxxxxxxxx> LKML-Reference: <20090812211957.GE3495@xxxxxxxxxxxxxxxxxx> Signed-off-by: Ingo Molnar <mingo@xxxxxxx> commit 3b3119fc549c93df60316d28bdd77c2de3986588 Merge: 96a4d1e23439e2356a105791bda95cc08d375b97 dee2b904a1f93c275a015b67cd693038d74b18e8 Author: Russell King <rmk@xxxxxxxxxxxxxxxxxxxxxxx> Date: Thu Aug 13 09:55:38 2009 +0100 Merge branch 'ixp4xx-fixes' of git://git.kernel.org/pub/scm/linux/kernel/git/chris/linux-2.6 commit daac07b2e6b77f1bd44104aa2f0593e5505f27d4 Author: Frederic Weisbecker <fweisbec@xxxxxxxxx> Date: Thu Aug 13 10:27:19 2009 +0200 perf tools: Add a general option to enable raw sample records While we can enable the perf sample records per tracepoint counter, we may also want to enable this option for every tracepoint counters to open, so that we don't need to add a :record flag for all of them. Add the -R, --raw-samples options for this purpose. Signed-off-by: Frederic Weisbecker <fweisbec@xxxxxxxxx> Cc: Peter Zijlstra <peterz@xxxxxxxxxxxxx> Cc: Arnaldo Carvalho de Melo <acme@xxxxxxxxxx> Cc: Mike Galbraith <efault@xxxxxx> LKML-Reference: <1250152039-7284-2-git-send-email-fweisbec@xxxxxxxxx> Signed-off-by: Ingo Molnar <mingo@xxxxxxx> commit 3a9f131fb00b8ac5950a11ad1599e45edfb5ae44 Author: Frederic Weisbecker <fweisbec@xxxxxxxxx> Date: Thu Aug 13 10:27:18 2009 +0200 perf tools: Add a per tracepoint counter attribute to get raw sample Add a new flag field while opening a tracepoint perf counter: -e tracepoint_subsystem:tracepoint_name:flags This is intended to be generic although for now it only supports the r[e[c[o[r[d]]]]] flag: ./perf record -e workqueue:workqueue_insertion:record ./perf record -e workqueue:workqueue_insertion:r will have the same effect: enabling the raw samples record for the given tracepoint counter. In the future, we may want to support further flags, separated by commas. Signed-off-by: Frederic Weisbecker <fweisbec@xxxxxxxxx> Cc: Peter Zijlstra <peterz@xxxxxxxxxxxxx> Cc: Arnaldo Carvalho de Melo <acme@xxxxxxxxxx> Cc: Mike Galbraith <efault@xxxxxx> LKML-Reference: <1250152039-7284-1-git-send-email-fweisbec@xxxxxxxxx> Signed-off-by: Ingo Molnar <mingo@xxxxxxx> commit 28402971d869e26271b25301011f667d3a5640c3 Author: Ingo Molnar <mingo@xxxxxxx> Date: Thu Aug 13 10:13:22 2009 +0200 perf_counter: Provide hw_perf_counter_setup_online() APIs Provide weak aliases for hw_perf_counter_setup_online(). This is used by the BTS patches (for v2.6.32), but it interacts with fixes so propagate this upstream. (it has no effect as of yet) Also export perf_counter_output() to architecture code. Cc: Peter Zijlstra <a.p.zijlstra@xxxxxxxxx> Cc: Paul Mackerras <paulus@xxxxxxxxx> Cc: Frederic Weisbecker <fweisbec@xxxxxxxxx> LKML-Reference: <new-submission> Signed-off-by: Ingo Molnar <mingo@xxxxxxx> commit 8f7a0dc51674ad0dd06155291b0aed60d655943c Author: Arnaldo Carvalho de Melo <acme@xxxxxxxxxx> Date: Wed Aug 12 14:44:59 2009 -0300 perf list: Fix large list output by using the pager When /sys/kernel/debug is mounted the list can be imense, so use the pager like the other tools. Signed-off-by: Arnaldo Carvalho de Melo <acme@xxxxxxxxxx> Acked-by: Frederic Weisbecker <fweisbec@xxxxxxxxx> Cc: Peter Zijlstra <peterz@xxxxxxxxxxxxx> LKML-Reference: <20090812174459.GB3495@xxxxxxxxxxxxxxxxxx> Signed-off-by: Ingo Molnar <mingo@xxxxxxx> commit 839d1624b9dcf31fdc02e47359043bb7bd71d6ca Author: Francois Romieu <romieu@xxxxxxxxxxxxx> Date: Wed Aug 12 22:18:14 2009 -0700 8139cp: balance dma_map_single vs dma_unmap_single pair The driver always: 1. allocate cp->rx_buf_sz + NET_IP_ALIGN 2. map cp->rx_buf_sz Signed-off-by: Francois Romieu <romieu@xxxxxxxxxxxxx> Signed-off-by: David S. Miller <davem@xxxxxxxxxxxxx> commit dbefd606a3b3634799b625f4900336e61c89e868 Author: Magnus Damm <damm@xxxxxxxxxx> Date: Fri Aug 7 03:52:18 2009 +0000 sh: fix i2c init order on ap325rxa V2 Convert the AP325RXA board code to register devices at arch_initcall() time instead of device_initcall(). This fix unbreaks pcf8563 RTC driver support. Signed-off-by: Magnus Damm <damm@xxxxxxxxxx> Signed-off-by: Paul Mundt <lethal@xxxxxxxxxxxx> commit ba3a17019181af5d6ab898760620c4e9916396c2 Author: Magnus Damm <damm@xxxxxxxxxx> Date: Thu Aug 13 11:39:02 2009 +0900 sh: fix i2c init order on Migo-R V2 Convert the Migo-R board code to register devices at arch_initcall() time instead of __initcall(). This fix unbreaks migor_ts touch screen driver support. Signed-off-by: Magnus Damm <damm@xxxxxxxxxx> Signed-off-by: Paul Mundt <lethal@xxxxxxxxxxxx> commit ba9a633787eed1e90d587282642580ad3d44f7fd Author: Magnus Damm <damm@xxxxxxxxxx> Date: Wed Jul 22 15:14:29 2009 +0000 sh: convert processor device setup functions to arch_initcall() Convert the processor platform device setup functions from __initcall() and sometimes device_initcall() to arch_initcall(). This makes sure that the platform devices are registered a bit earlier so the devices are available when drivers register using initcall levels earlier than device_initcall(). A good example is platform devices needed by i2c-sh_mobile.c which registers a bit earlier using subsys_initcall(). Signed-off-by: Magnus Damm <damm@xxxxxxxxxx> Signed-off-by: Paul Mundt <lethal@xxxxxxxxxxxx> commit 4d484a4a7a5126410eed5f8dd329a33f6eeed068 Author: NeilBrown <neilb@xxxxxxx> Date: Thu Aug 13 10:41:50 2009 +1000 md: allow upper limit for resync/reshape to be set when array is read-only Normally we only allow the upper limit for a reshape to be decreased when the array not performing a sync/recovery/reshape, otherwise there could be races. But if an array is part-way through a reshape when it is assembled the reshape is started immediately leaving no window to set an upper bound. If the array is started read-only, the reshape will be suspended until the array becomes writable, so that provides a window during which it is perfectly safe to reduce the upper limit of a reshape. So: allow the upper limit (sync_max) to be reduced even if the reshape thread is running, as long as the array is still read-only. Signed-off-by: NeilBrown <neilb@xxxxxxx> commit 1a67dde0abba36421a1257d01ba9de2f6d1c160a Author: NeilBrown <neilb@xxxxxxx> Date: Thu Aug 13 10:41:49 2009 +1000 md/raid5: Properly remove excess drives after shrinking a raid5/6 We were removing the drives, from the array, but not removing symlinks from /sys/.... and not marking the device as having been removed. Signed-off-by: NeilBrown <neilb@xxxxxxx> commit 9799218ae36910af50f002a5db1802d576fffb43 Author: David S. Miller <davem@xxxxxxxxxxxxx> Date: Wed Aug 12 17:37:52 2009 -0700 Revert "libertas: Read buffer overflow" This reverts commit 57921c312e8cef72ba35a4cfe870b376da0b1b87. On request from John Linville: It has been shown to create a new problem. There is work towards a solution to that one, but it isn't a simple clean-up. Signed-off-by: David S. Miller <davem@xxxxxxxxxxxxx> commit a639755cf885e437b2fe4168d35157fa90d530ab Author: NeilBrown <neilb@xxxxxxx> Date: Thu Aug 13 10:13:00 2009 +1000 md/raid5: make sure a reshape restarts at the correct address. This "if" don't allow for the possibility that the number of devices doesn't change, and so sector_nr isn't set correctly in that case. So change '>' to '>='. Signed-off-by: NeilBrown <neilb@xxxxxxx> commit 67ac6011db5d2b0c853d573ff474b25c85dfb644 Author: NeilBrown <neilb@xxxxxxx> Date: Thu Aug 13 10:06:24 2009 +1000 md/raid5: allow new reshape modes to be restarted in the middle. md/raid5 doesn't allow a reshape to restart if it involves writing over the same part of disk that it would be reading from. This happens at the beginning of a reshape that increases the number of devices, at the end of a reshape that decreases the number of devices, and continuously for a reshape that does not change the number of devices. The current code is correct for the "increase number of devices" case as the critical section at the start is handled by userspace performing a backup. It does not work for reducing the number of devices, or the no-change case. For 'reducing', we need to invert the test. For no-change we cannot really be sure things will be safe, so simply require the array to be read-only, which is how the user-space code which carefully starts such arrays works. Signed-off-by: NeilBrown <neilb@xxxxxxx> commit 51d5668cb2e3fd1827a55184e48606fff054c5be Author: NeilBrown <neilb@xxxxxxx> Date: Thu Aug 13 09:54:02 2009 +1000 md: never advance 'events' counter by more than 1. When assembling arrays, md allows two devices to have different event counts as long as the difference is only '1'. This is to cope with a system failure between updating the metadata on two difference devices. However there are currently times when we update the event count by 2. This was done to keep the event count even when the array is clean and odd when it is dirty, which allows us to avoid writing common update to spare devices and so allow those spares to go to sleep. This is bad for the above reason. So change it to never increase by two. This means that the alignment between 'odd/even' and 'clean/dirty' might take a little longer to attain, but that is only a small cost. The spares will get a few more updates but that will still be spared (;-) most updates and can still go to sleep. Prior to this patch there was a small chance that after a crash an array would fail to assemble due to the overly large event count mismatch. Signed-off-by: NeilBrown <neilb@xxxxxxx> commit a3620f7545344f932873bf98fbdf416b49409c8e Merge: 78efd1ddd95d2fac1ed8d5fadd9dab885ea70e55 39cbb602b543e477df71dca84b5b2e36f8bd29fc Author: Linus Torvalds <torvalds@xxxxxxxxxxxxxxxxxxxx> Date: Wed Aug 12 09:55:46 2009 -0700 Merge branch 'for-linus' of git://git.kernel.dk/linux-2.6-block * 'for-linus' of git://git.kernel.dk/linux-2.6-block: Remove double removal of blktrace directory commit 39cbb602b543e477df71dca84b5b2e36f8bd29fc Author: Alan D. Brunelle <alan.brunelle@xxxxxx> Date: Fri Aug 7 12:01:08 2009 -0400 Remove double removal of blktrace directory commit fd51d251e4cdb21f68e9dbc4336514d64a105a79 Author: Stefan Raspl <raspl@xxxxxxxxxxxxxxxxxx> Date: Tue May 19 09:59:08 2009 +0200 blktrace: remove debugfs entries on bad path added in an explicit invocation of debugfs_remove for bt->dir, in blk_remove_buf_file_callback we are also getting the directory removed. On occasion I am seeing memory corruption that I have bisected down to this commit. [The testing involves a (long) series of I/O benchmarks with blktrace invoked around the actual runs.] I believe that this committed patch is correct, but the problem actually lies in the code in blk_remove_buf_file_callback. With this patch I am able to consistently get complete runs whereas previously I could not get a single run to complete. The first part of the patch simply moves the debugfs_remove below the relay_close: the relay_close call will remove files under bt->dir, and so we should not remove the directory until all the files we created have been removed. (Note: This is not sufficient to fix the problem - the file system code has ref counts on the directoy, so our invocation does not cause the directory to actually be removed. Nonetheless, we should not rely upon that feature.) Signed-off-by: Alan D. Brunelle <alan.brunelle@xxxxxx> Signed-off-by: Jens Axboe <jens.axboe@xxxxxxxxxx> commit 78efd1ddd95d2fac1ed8d5fadd9dab885ea70e55 Merge: b637dc0dba6a243da2c74f5d02b42ba5eeb9425e a8914f3a6d72c97328597a556a99daaf5cc288ae Author: Linus Torvalds <torvalds@xxxxxxxxxxxxxxxxxxxx> Date: Wed Aug 12 08:49:35 2009 -0700 Merge branch 'for-linus' of git://oss.sgi.com/xfs/xfs * 'for-linus' of git://oss.sgi.com/xfs/xfs: xfs: fix spin_is_locked assert on uni-processor builds xfs: check for dinode realtime flag corruption use XFS_CORRUPTION_ERROR in xfs_btree_check_sblock xfs: switch to NOFS allocation under i_lock in xfs_attr_rmtval_get xfs: switch to NOFS allocation under i_lock in xfs_readlink_bmap xfs: switch to NOFS allocation under i_lock in xfs_attr_rmtval_set xfs: switch to NOFS allocation under i_lock in xfs_buf_associate_memory xfs: switch to NOFS allocation under i_lock in xfs_dir_cilookup_result xfs: switch to NOFS allocation under i_lock in xfs_da_buf_make xfs: switch to NOFS allocation under i_lock in xfs_da_state_alloc xfs: switch to NOFS allocation under i_lock in xfs_getbmap xfs: avoid memory allocation under m_peraglock in growfs code commit b637dc0dba6a243da2c74f5d02b42ba5eeb9425e Merge: 42c5c8435e8b7da4684607587d2c882d464cfc7d 8884be98bcfa656febd24bd18fe8bececbf81251 Author: Linus Torvalds <torvalds@xxxxxxxxxxxxxxxxxxxx> Date: Wed Aug 12 08:32:47 2009 -0700 Merge branch 'for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/tiwai/sound-2.6 * 'for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/tiwai/sound-2.6: ALSA: hda - Don't override ADC definitions for ALC codecs ALSA: hda - Add missing vmaster initialization for ALC269 ASoC: Add missing DRV_NAME definitions for fsl/* drivers commit 42c5c8435e8b7da4684607587d2c882d464cfc7d Merge: 9256a2d0b1a36906656405adf564f03ab2d2f3e9 67fe0688082509c52bd451d10a61b3565169c23e Author: Linus Torvalds <torvalds@xxxxxxxxxxxxxxxxxxxx> Date: Wed Aug 12 08:29:32 2009 -0700 Merge branch 'zerolen' of git://git.kernel.org/pub/scm/linux/kernel/git/jgarzik/misc-2.6 * 'zerolen' of git://git.kernel.org/pub/scm/linux/kernel/git/jgarzik/misc-2.6: Remove zero-length file drivers/mtd/maps/sbc8240.c commit 9256a2d0b1a36906656405adf564f03ab2d2f3e9 Merge: 1ae88b2e446261c038f2c0c3150ffae142b227a2 5594639aab8b5614cb27a3e5b2b627505cbcd137 Author: Linus Torvalds <torvalds@xxxxxxxxxxxxxxxxxxxx> Date: Wed Aug 12 08:24:17 2009 -0700 Merge branch 'upstream-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/jgarzik/libata-dev * 'upstream-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/jgarzik/libata-dev: ahci: add workaround for on-board 5723s on some gigabyte boards ahci: Soften up the dmesg on SB600 PMP softreset failure recovery Documentation/kernel-parameters.txt: document libata's ignore_hpa option sata_nv: MSI support, disabled by default libata: OCZ Vertex can't do HPA pata_atiixp: fix second channel support pata_at91: fix resource release commit 1ae88b2e446261c038f2c0c3150ffae142b227a2 Author: Trond Myklebust <Trond.Myklebust@xxxxxxxxxx> Date: Wed Aug 12 09:12:30 2009 -0400 NFS: Fix an O_DIRECT Oops... We can't call nfs_readdata_release()/nfs_writedata_release() without first initialising and referencing args.context. Doing so inside nfs_direct_read_schedule_segment()/nfs_direct_write_schedule_segment() causes an Oops. We should rather be calling nfs_readdata_free()/nfs_writedata_free() in those cases. Looking at the O_DIRECT code, the "struct nfs_direct_req" is already referencing the nfs_open_context for us. Since the readdata and writedata structures carry a reference to that, we can simplify things by getting rid of the extra nfs_open_context references, so that we can replace all instances of nfs_readdata_release()/nfs_writedata_release(). Reported-by: Catalin Marinas <catalin.marinas@xxxxxxx> Signed-off-by: Trond Myklebust <Trond.Myklebust@xxxxxxxxxx> Tested-by: Catalin Marinas <catalin.marinas@xxxxxxx> Cc: stable@xxxxxxxxxx Signed-off-by: Linus Torvalds <torvalds@xxxxxxxxxxxxxxxxxxxx> commit 04da8a43da804723a550f00dd158fd5b5e25ae35 Author: Ingo Molnar <mingo@xxxxxxx> Date: Tue Aug 11 10:40:08 2009 +0200 perf_counter, x86: Fix/improve apic fallback Johannes Stezenbach reported that his Pentium-M based laptop does not have the local APIC enabled by default, and hence perfcounters do not get initialized. Add a fallback for this case: allow non-sampled counters and return with an error on sampled counters. This allows 'perf stat' to work out of box - and allows 'perf top' and 'perf record' to fall back on a hrtimer based sampling method. ( Passing 'lapic' on the boot line will allow hardware sampling to occur - but if the APIC is disabled permanently by the hardware then this fallback still allows more systems to use perfcounters. ) Also decouple perfcounter support from X86_LOCAL_APIC. -v2: fix typo breaking counters on all other systems ... Reported-by: Johannes Stezenbach <js@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: <new-submission> Signed-off-by: Ingo Molnar <mingo@xxxxxxx> commit 0a5ac84650fb7a7f226814103d95724e34b012ae Author: Jens Axboe <jens.axboe@xxxxxxxxxx> Date: Wed Aug 12 11:18:01 2009 +0200 perf record: Add missing -C option support for specifying profile cpu perf top supports a -C for setting the profile CPU, but perf record does not. This adds the same option for perf record, allowing the user to specify a specific target profile CPU. Signed-off-by: Jens Axboe <jens.axboe@xxxxxxxxxx> 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: <20090812091801.GC12579@xxxxxxxxx> Signed-off-by: Ingo Molnar <mingo@xxxxxxx> commit 1340e6bbaff7ff7f6f75eb4a5c34933efce84a84 Author: Arnaldo Carvalho de Melo <acme@xxxxxxxxxx> Date: Tue Aug 11 17:04:36 2009 -0300 perf tools: Fix dso__new handle() to handle deleted DSOs It is better than showing the map addr, this way at least we know that we can't get the symtabs because the DSO was deleted (system update) while an app still used such DSO. Yeah, don't do that, but if you do, you'll figure it out quicker this way. [acme@doppio linux-2.6-tip]$ perf report | head -15 # Samples: 3796 # # Overhead Command Shared Object Symbol # ........ ....... ................................................................... ...... # 23.55% pidgin /lib64/libglib-2.0.so.0.2000.4.#prelink#.Pd98lu (deleted) [.] 0x00000000038844 21.55% pidgin /lib64/libpthread-2.10.1.so.#prelink#.AFwK8Q (deleted) [.] 0x0000000000a42d 10.85% pidgin [kernel] [.] vread_hpet 7.85% pidgin /lib64/libgobject-2.0.so.0.2000.4.#prelink#.o1vpU7 (deleted) [.] 0x00000000014de8 3.35% pidgin /lib64/libc-2.10.1.so (deleted) [.] 0x0000000007a875 3.19% pidgin /lib64/libdbus-1.so.3.4.0.#prelink#.6mwgZP (deleted) [.] 0x0000000001d254 3.06% pidgin /usr/lib64/libgtk-x11-2.0.so.0.1600.5.#prelink#.511hAl (deleted) [.] 0x000000002334e7 2.90% pidgin /usr/lib64/libgdk-x11-2.0.so.0.1600.5.#prelink#.5qlMo1 (deleted) [.] 0x00000000037b2d 1.84% pidgin [kernel] [k] do_sys_poll 1.45% pidgin /usr/lib64/libX11.so.6.2.0.#prelink#.iR59Rx (deleted) [.] 0x0000000004c751 [acme@doppio linux-2.6-tip]$ Signed-off-by: Arnaldo Carvalho de Melo <acme@xxxxxxxxxx> Cc: Luis Claudio R. Gonçalves <lclaudio@xxxxxxxxxx> Cc: Clark Williams <williams@xxxxxxxxxx> Cc: H. Peter Anvin <hpa@xxxxxxxxx> Cc: Peter Zijlstra <peterz@xxxxxxxxxxxxx> Cc: Mike Galbraith <efault@xxxxxx> Cc: Frédéric Weisbecker <fweisbec@xxxxxxxxx> LKML-Reference: <20090811200436.GA3478@xxxxxxxxxxxxxxxxxx> Signed-off-by: Ingo Molnar <mingo@xxxxxxx> commit 247648e3742ded01e42a4b14c2da330b13cbb47f Author: Arnaldo Carvalho de Melo <acme@xxxxxxxxxx> Date: Tue Aug 11 16:22:11 2009 -0300 perf tools: Fix fallback to cplus_demangle() when bfd_demangle() is not available In old binutils we can't access bfd_demangle(), use cplus_demangle() just like oprofile. Signed-off-by: Arnaldo Carvalho de Melo <acme@xxxxxxxxxx> Cc: Luis Claudio R. Gonçalves <lclaudio@xxxxxxxxxx> Cc: H. Peter Anvin <hpa@xxxxxxxxx> Cc: Peter Zijlstra <peterz@xxxxxxxxxxxxx> Cc: Mike Galbraith <efault@xxxxxx> Cc: Frédéric Weisbecker <fweisbec@xxxxxxxxx> LKML-Reference: <20090811192211.GG18061@xxxxxxxxxxxxxxxxxx> Signed-off-by: Ingo Molnar <mingo@xxxxxxx> commit 94a24752fe95ca1e7f98b197052d44e6a207740d Author: Arnaldo Carvalho de Melo <acme@xxxxxxxxxx> Date: Tue Aug 11 16:21:38 2009 -0300 perf report: Show the tid too in -D This made it easier to find the firefox threading related bug. Signed-off-by: Arnaldo Carvalho de Melo <acme@xxxxxxxxxx> Cc: "H. Peter Anvin" <hpa@xxxxxxxxx> Cc: Peter Zijlstra <peterz@xxxxxxxxxxxxx> Cc: Mike Galbraith <efault@xxxxxx> Cc: Frédéric Weisbecker <fweisbec@xxxxxxxxx> LKML-Reference: <20090811192138.GE18061@xxxxxxxxxxxxxxxxxx> Signed-off-by: Ingo Molnar <mingo@xxxxxxx> commit 2a8083f063472f27c253545dd64e1a7bbbb1ab61 Author: Arnaldo Carvalho de Melo <acme@xxxxxxxxxx> Date: Tue Aug 11 16:22:00 2009 -0300 perf record: Fix .tid and .pid fill-in when synthesizing events Noticed when trying to record events for a firefox thread. We were synthesizing both .tid and .pid with the pid passed via --pid. Fix it by reading /proc/PID/status and getting the tgid to use in .pid, .tid gets the specified "pid". Signed-off-by: Arnaldo Carvalho de Melo <acme@xxxxxxxxxx> Cc: "H. Peter Anvin" <hpa@xxxxxxxxx> Cc: Frédéric Weisbecker <fweisbec@xxxxxxxxx> Cc: Peter Zijlstra <peterz@xxxxxxxxxxxxx> Cc: Mike Galbraith <efault@xxxxxx> LKML-Reference: <20090811192200.GF18061@xxxxxxxxxxxxxxxxxx> Signed-off-by: Ingo Molnar <mingo@xxxxxxx> commit 67fe0688082509c52bd451d10a61b3565169c23e Author: Jeff Garzik <jeff@xxxxxxxxxx> Date: Wed Aug 12 06:29:57 2009 -0400 Remove zero-length file drivers/mtd/maps/sbc8240.c It was "deleted" in commit 2bf961b7ccd69e108ac435c67e2b0522b403c578 Signed-off-by: Jeff Garzik <jgarzik@xxxxxxxxxx> commit 5594639aab8b5614cb27a3e5b2b627505cbcd137 Author: Tejun Heo <tj@xxxxxxxxxx> Date: Tue Aug 4 14:30:08 2009 +0900 ahci: add workaround for on-board 5723s on some gigabyte boards Some gigabytes have on-board SIMG5723s connected to JMB ahcis. These are used to implement hardware raid. Unfortunately some firmware revisions on these 5723s don't bring the link down when all the downstream ports are unoccupied while not responding to reset protocol which makes libata think that there's device attached to the port but is not responding and retry. This results in painfully wrong boot detection time for these ports when they're empty. This patch quirks those boards such that ahci gives up after the initial timeout. Combined with parallel probing, this gives quick enough probing and also is safe because SIMG5723 will respond to the first try if any of the downstream ports is occupied. Signed-off-by: Tejun Heo <tj@xxxxxxxxxx> Reported-by: Marc Bowes <marcbowes@xxxxxxxxx> Reported-by: Nicolas Mailhot <Nicolas.Mailhot@xxxxxxxxxxx> Signed-off-by: Jeff Garzik <jgarzik@xxxxxxxxxx> commit b6931c1fbaf7fda9ea7f120228a96600d7090049 Author: Shane Huang <shane.huang@xxxxxxx> Date: Wed Aug 5 10:10:41 2009 +0800 ahci: Soften up the dmesg on SB600 PMP softreset failure recovery Too strong words led to spurious bug reports: Novell bugzilla #527748, RedHat bugzilla #468800. This patch is used to soften up the dmesg on SB600 PMP softreset failure recovery, so as to remove the scariness and concern from community. Reported-by: pgnet Dev <pgnet.dev@xxxxxxxxx> Signed-off-by: Shane Huang <shane.huang@xxxxxxx> Cc: Tejun Heo <tj@xxxxxxxxxx> Signed-off-by: Jeff Garzik <jgarzik@xxxxxxxxxx> commit 20308871588518b5e209c403de2a3ad9a2eba9af Author: Michael Prokop <mika@xxxxxxxx> Date: Thu Aug 6 00:14:10 2009 +0200 Documentation/kernel-parameters.txt: document libata's ignore_hpa option By default the kernel honors the HPA (host protected area) of hard drives. Using libata's ignore_hpa module option it's possible to change this behaviour. Document usage and options of libata.ignore_hpa in Documentation/kernel-parameters.txt. Signed-off-by: Michael Prokop <mika@xxxxxxxx> Signed-off-by: Jeff Garzik <jgarzik@xxxxxxxxxx> commit 51c8949950647afeeb897e08dd75ad99078adb50 Author: Tony Vroon <tony@xxxxxxxx> Date: Thu Aug 6 00:50:09 2009 +0100 sata_nv: MSI support, disabled by default At least the nVidia MCP55 controller quite happily supports MSI. This adds an option to use it. It is disabled by default. As per feedback by Robert Hancock, it will honour the user request as the kernel will not enable MSI where the controller or the specific system configuration do not support it. Signed-off-by: Tony Vroon <tony@xxxxxxxx> Cc: Robert Hancock <hancockrwd@xxxxxxxxx> Signed-off-by: Jeff Garzik <jgarzik@xxxxxxxxxx> commit 7831387bda72af3059be48d39846d3eb6d8ce2f6 Author: Tejun Heo <tj@xxxxxxxxxx> Date: Fri Aug 7 01:59:15 2009 +0900 libata: OCZ Vertex can't do HPA OCZ Vertex SSD can't do HPA and not in a usual way. It reports HPA, allows unlocking but then fails all IOs which fall in the unlocked area. Quirk it so that HPA unlocking is not used for the device. Reported by Daniel Perup in bnc#522414. https://bugzilla.novell.com/show_bug.cgi?id=522414 Signed-off-by: Tejun Heo <tj@xxxxxxxxxx> Reported-by: Daniel Perup <probe@xxxxxxxx> Signed-off-by: Jeff Garzik <jgarzik@xxxxxxxxxx> commit 1fd4bbec8c0d6db96b02141f324066afa2e77e89 Author: Bartlomiej Zolnierkiewicz <bzolnier@xxxxxxxxx> Date: Thu Aug 6 17:47:05 2009 +0200 pata_atiixp: fix second channel support PIO and MWDMA timings are never programmed for the second channel because timing registers are treated as 16-bit long ones. The bug is an attixp -> pata_atiixp regression and goes back to: commit 669a5db411d85a14f86cd92bc16bf7ab5b8aa235 Author: Jeff Garzik <jeff@xxxxxxxxxx> Date: Tue Aug 29 18:12:40 2006 -0400 [libata] Add a bunch of PATA drivers. Cc: Krystian Juskowiak <jusko@xxxxxxx> Cc: Andrew Morton <akpm@xxxxxxxxxxxxxxxxxxxx> Cc: Borislav Petkov <bbpetkov@xxxxxxxx> Cc: Robert Hancock <hancockrwd@xxxxxxxxx> Signed-off-by: Bartlomiej Zolnierkiewicz <bzolnier@xxxxxxxxx> Signed-off-by: Jeff Garzik <jgarzik@xxxxxxxxxx> commit df9eba8c9febf53782ef896518e7177999d98188 Author: Tejun Heo <tj@xxxxxxxxxx> Date: Fri Aug 7 11:15:20 2009 +0900 pata_at91: fix resource release Julias Lawall discovered that pata_at91 wasn't freeing a memory region allocated with kzalloc() on init failure paths. Upon review, pata_at91 also seems to be doing unnecessary explicit resource releases for managed resources too. Convert memory allocation to managed one and drop unnecessary explicit resource releases. Signed-off-by: Tejun Heo <tj@xxxxxxxxxx> Cc: Julia Lawall <julia@xxxxxxx> Cc: Sergey Matyukevich <geomatsi@xxxxxxxxx> Signed-off-by: Jeff Garzik <jgarzik@xxxxxxxxxx> commit e8055139d996e85722984968472868d6dccb1490 Author: Ondrej Zary <linux@xxxxxxxxxxxxxxxxxxxx> Date: Tue Aug 11 20:00:11 2009 +0200 x86: Fix oops in identify_cpu() on CPUs without CPUID Kernel is broken for x86 CPUs without CPUID since 2.6.28. It crashes with NULL pointer dereference in identify_cpu(): 766 generic_identify(c); 767 768--> if (this_cpu->c_identify) 769 this_cpu->c_identify(c); this_cpu is NULL. This is because it's only initialized in get_cpu_vendor() function, which is not called if the CPU has no CPUID instruction. Signed-off-by: Ondrej Zary <linux@xxxxxxxxxxxxxxxxxxxx> LKML-Reference: <200908112000.15993.linux@xxxxxxxxxxxxxxxxxxxx> Signed-off-by: Ingo Molnar <mingo@xxxxxxx> commit ec8b4b7085605e801a7740a2c3c33256aebe249c Author: Stephen Kitt <steve@xxxxxxx> Date: Wed Aug 12 01:12:08 2009 -0700 Input: joydev - decouple axis and button map ioctls from input constants The KEY_MAX change in 2.6.28 changed the values of the JSIOCSBTNMAP and JSIOCGBTNMAP constants; software compiled with the old values no longer works with kernels following 2.6.28, because the ioctl switch statement no longer matches the values given by the software. This patch handles these ioctls independently of the length of data specified, and applies the same treatment to JSIOCSAXMAP and JSIOCGAXMAP which currently depend on ABS_MAX. Signed-off-by: Stephen Kitt <steve@xxxxxxx> Signed-off-by: Dmitry Torokhov <dtor@xxxxxxx> commit a8914f3a6d72c97328597a556a99daaf5cc288ae Author: Christoph Hellwig <hch@xxxxxx> Date: Mon Aug 10 11:32:44 2009 -0300 xfs: fix spin_is_locked assert on uni-processor builds Without SMP or preemption spin_is_locked always returns false, so we can't do an assert with it. Instead use assert_spin_locked, which does the right thing on all builds. Signed-off-by: Christoph Hellwig <hch@xxxxxx> Reviewed-by: Eric Sandeen <sandeen@xxxxxxxxxxx> Reported-by: Johannes Engel <jcnengel@xxxxxxxxxxxxxx> Tested-by: Johannes Engel <jcnengel@xxxxxxxxxxxxxx> Signed-off-by: Felix Blyakher <felixb@xxxxxxx> commit b89d4208de3de442c9025919c4261be0b38e79a4 Author: Christoph Hellwig <hch@xxxxxx> Date: Mon Aug 10 11:32:18 2009 -0300 xfs: check for dinode realtime flag corruption Ramon tested XFS with a modified version of fsfuzzer and hit a NULL pointer dereference in __xfs_get_blocks due to the RT device target pointer being NULL. To fix this reject inode with the realtime bit set on a a filesystem without an RT subvolume during inode read. Signed-off-by: Christoph Hellwig <hch@xxxxxx> Reviewed-by: Eric Sandeen <sandeen@xxxxxxxxxxx> Reviewed-by: Felix Blyakher <felixb@xxxxxxx> Reported-by: Ramon de Carvalho Valle <ramon@xxxxxxxxxxxxxxxx> Tested-by: Ramon de Carvalho Valle <ramon@xxxxxxxxxxxxxxxx> Signed-off-by: Felix Blyakher <felixb@xxxxxxx> commit e0c222c411e22f086e929cd69fdcc89336164ec1 Author: Eric Sandeen <sandeen@xxxxxxxxxxx> Date: Mon Jul 20 10:52:15 2009 -0500 use XFS_CORRUPTION_ERROR in xfs_btree_check_sblock In Red Hat Bug 512552 - Can't write to XFS mount during raid5 resync a user ran into corruption while resyncing a raid, and we failed a consistency test, but didn't get much more info; it'd be nice to call XFS_CORRUPTION_ERROR here so we can see the buffer contents. Signed-off-by: Eric Sandeen <sandeen@xxxxxxxxxxx> Reviewed-by: Christoph Hellwig <hch@xxxxxx> Signed-off-by: Felix Blyakher <felixb@xxxxxxx> commit ddd3a14e0f030f0f7b900621f67532285b8657ef Author: Christoph Hellwig <hch@xxxxxxxxxxxxx> Date: Sat Jul 18 18:15:01 2009 -0400 xfs: switch to NOFS allocation under i_lock in xfs_attr_rmtval_get xfs_attr_rmtval_get is always called with i_lock held, but i_lock is taken in reclaim context so all allocations under it must avoid recursions into the filesystem. Reported by the new reclaim context tracing in lockdep. Signed-off-by: Christoph Hellwig <hch@xxxxxx> Reviewed-by: Felix Blyakher <felixb@xxxxxxx> Signed-off-by: Felix Blyakher <felixb@xxxxxxx> commit 7b02ecb3031b192823bc732ae717febc0a59aa92 Author: Christoph Hellwig <hch@xxxxxxxxxxxxx> Date: Sat Jul 18 18:15:00 2009 -0400 xfs: switch to NOFS allocation under i_lock in xfs_readlink_bmap xfs_readlink_bmap is called with i_lock held, but i_lock is taken in reclaim context so all allocations under it must avoid recursions into the filesystem. Reported by the new reclaim context tracing in lockdep. Signed-off-by: Christoph Hellwig <hch@xxxxxx> Reviewed-by: Felix Blyakher <felixb@xxxxxxx> Signed-off-by: Felix Blyakher <felixb@xxxxxxx> commit 10746e47e722b5688fcd6eba9fbf9b2e64a248a7 Author: Christoph Hellwig <hch@xxxxxxxxxxxxx> Date: Sat Jul 18 18:14:59 2009 -0400 xfs: switch to NOFS allocation under i_lock in xfs_attr_rmtval_set xfs_attr_rmtval_set is always called with i_lock held, and i_lock is taken in reclaim context so all allocations under it must avoid recursions into the filesystem. Reported by the new reclaim context tracing in lockdep. Signed-off-by: Christoph Hellwig <hch@xxxxxx> Reviewed-by: Felix Blyakher <felixb@xxxxxxx> Signed-off-by: Felix Blyakher <felixb@xxxxxxx> commit 36fae17a648e0aee5d9560514d08477ef48dc87f Author: Christoph Hellwig <hch@xxxxxxxxxxxxx> Date: Sat Jul 18 18:14:58 2009 -0400 xfs: switch to NOFS allocation under i_lock in xfs_buf_associate_memory xfs_buf_associate_memory is used for setting up the spare buffer for the log wrap case in xlog_sync which can happen under i_lock when called from xfs_fsync. The i_lock mutex is taken in reclaim context so all allocations under it must avoid recursions into the filesystem. There are a couple more uses of xfs_buf_associate_memory in the log recovery code that are also affected by this, but I'd rather keep the code simple than passing on a gfp_mask argument. Longer term we should just stop requiring the memoery allocation in xlog_sync by some smaller rework of the buffer layer. Reported by the new reclaim context tracing in lockdep. Signed-off-by: Christoph Hellwig <hch@xxxxxx> Reviewed-by: Felix Blyakher <felixb@xxxxxxx> Signed-off-by: Felix Blyakher <felixb@xxxxxxx> commit 3f52c2f0a07c23771909cc53f2e9451a7f1bf253 Author: Christoph Hellwig <hch@xxxxxxxxxxxxx> Date: Sat Jul 18 18:14:57 2009 -0400 xfs: switch to NOFS allocation under i_lock in xfs_dir_cilookup_result xfs_dir_cilookup_result is always called with i_lock held, but i_lock is taken in reclaim context so all allocations under it must avoid recursions into the filesystem. Reported by the new reclaim context tracing in lockdep. Signed-off-by: Christoph Hellwig <hch@xxxxxx> Reviewed-by: Felix Blyakher <felixb@xxxxxxx> Signed-off-by: Felix Blyakher <felixb@xxxxxxx> commit 73195ed7864ae4a1fb0bea2ed9df59d19b4fde90 Author: Christoph Hellwig <hch@xxxxxxxxxxxxx> Date: Sat Jul 18 18:14:56 2009 -0400 xfs: switch to NOFS allocation under i_lock in xfs_da_buf_make i_lock is taken in the reclaim context so all allocations under it must avoid recursions into the filesystem. Reported by the new reclaim context tracing in lockdep. Signed-off-by: Christoph Hellwig <hch@xxxxxx> Reviewed-by: Felix Blyakher <felixb@xxxxxxx> Signed-off-by: Felix Blyakher <felixb@xxxxxxx> commit f41d7fb9da05b604f8a69fb6cac2a0563c8ede4e Author: Christoph Hellwig <hch@xxxxxxxxxxxxx> Date: Sat Jul 18 18:14:55 2009 -0400 xfs: switch to NOFS allocation under i_lock in xfs_da_state_alloc xfs_da_state_alloc is always called with i_lock held, but i_lock is taken in reclaim context so all allocations under it must avoid recursions into the filesystem. Reported by the new reclaim context tracing in lockdep. Signed-off-by: Christoph Hellwig <hch@xxxxxx> Reviewed-by: Felix Blyakher <felixb@xxxxxxx> Signed-off-by: Felix Blyakher <felixb@xxxxxxx> commit ca35dcd6cae7d4a780c484c53f45548c4719f82c Author: Christoph Hellwig <hch@xxxxxxxxxxxxx> Date: Sat Jul 18 18:14:54 2009 -0400 xfs: switch to NOFS allocation under i_lock in xfs_getbmap xfs_getbmap allocates memory with i_lock held, but i_lock is taken in reclaim context so all allocations under it must avoid recursions into the filesystem. Reported by the new reclaim context tracing in lockdep. Signed-off-by: Christoph Hellwig <hch@xxxxxx> Reviewed-by: Felix Blyakher <felixb@xxxxxxx> Signed-off-by: Felix Blyakher <felixb@xxxxxxx> commit 0cc6eee130b0c062feec8446d9cecdb17d2cfad3 Author: Christoph Hellwig <hch@xxxxxxxxxxxxx> Date: Sat Jul 18 18:14:53 2009 -0400 xfs: avoid memory allocation under m_peraglock in growfs code Allocate the memory for the larger m_perag array before taking the per-AG lock as the per-AG lock can be taken under the i_lock which can be taken from reclaim context. Reported by the new reclaim context tracing in lockdep. Signed-off-by: Christoph Hellwig <hch@xxxxxx> Reviewed-by: Felix Blyakher <felixb@xxxxxxx> Signed-off-by: Felix Blyakher <felixb@xxxxxxx> commit 8884be98bcfa656febd24bd18fe8bececbf81251 Merge: 909a2607a5c923bf40a07ab0bfaa78bee775bf55 dd704698f56c1451fc9c5daadcd6e3a089de2c40 Author: Takashi Iwai <tiwai@xxxxxxx> Date: Wed Aug 12 08:05:20 2009 +0200 Merge branch 'fix/hda' into for-linus * fix/hda: ALSA: hda - Don't override ADC definitions for ALC codecs ALSA: hda - Add missing vmaster initialization for ALC269 commit 909a2607a5c923bf40a07ab0bfaa78bee775bf55 Merge: 90bc1a658a53f8832ee799685703977a450e5af9 afc5e65245255a268ab22a20477ed2c9f2cdfcd3 Author: Takashi Iwai <tiwai@xxxxxxx> Date: Wed Aug 12 08:05:19 2009 +0200 Merge branch 'fix/asoc' into for-linus * fix/asoc: ASoC: Add missing DRV_NAME definitions for fsl/* drivers commit 7cb7beb31aa3d941833b6a6e553687422c31e4b6 Merge: 4d9c73f60efe7a76f086bc93f7ef22be9d78bed6 e7369e01eb85550ed60dd1b0e120b69dfb03dc23 Author: Linus Torvalds <torvalds@xxxxxxxxxxxxxxxxxxxx> Date: Tue Aug 11 17:06:16 2009 -0700 Merge branch 'release' of git://git.kernel.org/pub/scm/linux/kernel/git/fyu/linux-2.6 * 'release' of git://git.kernel.org/pub/scm/linux/kernel/git/fyu/linux-2.6: arch/ia64/kernel/iosapic: missing test after ioremap() ia64/topology.c: exit cache_add_dev when kobject_init_and_add fails arch/ia64/Makefile: Remove -mtune=merced in IA64 kernel build IA64: includecheck fix: ia64, pgtable.h IA64: includecheck fix: ia64, ia64_ksyms.c ia64: boolean __test_and_clear_bit Bug Fix arch/ia64/kernel/pci-dma.c: fix recursive dma_supported() call in iommu_dma_supported() commit e7369e01eb85550ed60dd1b0e120b69dfb03dc23 Author: Roel Kluin <[roel.kluin@xxxxxxxxx]> Date: Tue Aug 11 14:52:11 2009 -0700 arch/ia64/kernel/iosapic: missing test after ioremap() Missing test after ioremap() Signed-off-by: Roel Kluin <roel.kluin@xxxxxxxxx> Acked-by: Fenghua Yu <fenghua.yu@xxxxxxxxx> commit 5359dffd4396f281c5b77de1acbee6fb1b333b23 Author: Fenghua Yu <fenghua.yu@xxxxxxxxx> Date: Tue Aug 11 14:52:11 2009 -0700 ia64/topology.c: exit cache_add_dev when kobject_init_and_add fails Make cache_add_dev exit sysfs when kobject_init_and_add returns an error. Signed-off-by: Xiaotian Feng <dfeng@xxxxxxxxxx> Signed-off-by: Fenghua Yu <fenghua.yu@xxxxxxxxx> commit bf2a4c7270b9a22243a91ab5efcc47aaf997c66b Author: Fenghua Yu <[fenghua.yu@xxxxxxxxx]> Date: Tue Aug 11 14:52:11 2009 -0700 arch/ia64/Makefile: Remove -mtune=merced in IA64 kernel build Between GCC version 3.4.0 and 4.3.3 (including 3.4.0 and 4.3.3), -mtune=merced is implemented in GCC. Starting from 4.4.0, -mtune=merced is deprecated. Even implemented in versions between 3.4.0 and 4.3.3, the -mtune=merced feature has been broken in some of the versions. For example, GCC 4.1.2 reports interanl tuning function errors during kernel building with -mtune=merced. Or GCC Bugzilla 16130 reports another -mtune=merced issue on GCC 3.4.1. So I would remove the -mtune=merced from IA64 kernel build. Without this option, kernel on Merced will remain the same except losing an unstable and out-of-date performance tunning feature. Since GCC version 3.4.0, -mtune=mckinley has been implemented. The -mtune=mckinley option functions the same as mtune=itanium2. And mtune=itanium2 is the default option. So we don't need to add mtune=mckinley either since its been the default option in any GCC version which implements this option. Signed-off-by: Fenghua Yu <fenghua.yu@xxxxxxxxx> commit b5a8879347bbe68bd24c8870503bf6a0362da26b Author: Jaswinder Singh Rajput <[jaswinder@xxxxxxxxxx]> Date: Tue Aug 11 14:52:11 2009 -0700 IA64: includecheck fix: ia64, pgtable.h fix the following 'make includecheck' warning: arch/ia64/include/asm/pgtable.h: asm/processor.h is included more than once. Signed-off-by: Jaswinder Singh Rajput <jaswinderrajput@xxxxxxxxx> Acked-by: Fenghua Yu <fenghua.yu@xxxxxxxxx> commit cfa5f809e399c699974ba6018eefa022bbc2e16e Author: Jaswinder Singh Rajput <[jaswinder@xxxxxxxxxx]> Date: Tue Aug 11 14:52:10 2009 -0700 IA64: includecheck fix: ia64, ia64_ksyms.c fix the following 'make includecheck' warning: arch/ia64/kernel/ia64_ksyms.c: asm/page.h is included more than once. Signed-off-by: Jaswinder Singh Rajput <jaswinderrajput@xxxxxxxxx> Acked-by: Fenghua Yu <fenghua.yu@xxxxxxxxx> commit 8d6f9af91959256244878cd801c1c969e66cd093 Author: Johannes Weiner <[hannes@xxxxxxxxxxx]> Date: Tue Aug 11 14:52:10 2009 -0700 ia64: boolean __test_and_clear_bit __test_and_clear_bit() returns a bitfield with the tested-for bit set. Make it consistent with the other bitops - of ia64 but also every other architecture - and return a boolean value. Signed-off-by: Johannes Weiner <hannes@xxxxxxxxxxx> Acked-by: Fenghua Yu <fenghua.yu@xxxxxxxxx> commit 51b89f7a6615eca184aa0b85db5781d931e9c8d1 Author: Fenghua Yu <[fenghua.yu@xxxxxxxxx]> Date: Tue Aug 11 14:52:10 2009 -0700 Bug Fix arch/ia64/kernel/pci-dma.c: fix recursive dma_supported() call in iommu_dma_supported() In commit 160c1d8e40866edfeae7d68816b7005d70acf391, dma_ops->dma_supported = iommu_dma_supported; This dma_ops->dma_supported is first called in platform_dma_init() during kernel boot. Then dma_ops->dma_supported will be called recursively in iommu_dma_supported. Kernel can not boot because kernel can not get out of iommu_dma_supported until it runs out of stack memory. Signed-off-by: Fenghua Yu <fenghua.yu@xxxxxxxxx> commit dee2b904a1f93c275a015b67cd693038d74b18e8 Author: Mikael Pettersson <mikpe@xxxxxxxx> Date: Sun Aug 9 21:21:57 2009 +0200 IXP4xx: Fix IO_SPACE_LIMIT for 2.6.31-rc core PCI changes 2.6.31-rc kernels don't boot on my ixp4xx box (ds101), because the libata driver doesn't find the PCI IDE controller any more. 2.6.30 was fine. I traced this to a PCI update (1f82de10d6b1d845155363c895c552e61b36b51a) in 2.6.30-git19. Diffing the kernel boot logs from 2.6.30-git18 and 2.6.30-git19 illustrates the breakage: > --- dmesg-2.6.30-git18 2009-08-04 01:45:22.000000000 +0200 > +++ dmesg-2.6.30-git19 2009-08-04 01:45:46.000000000 +0200 > @@ -26,6 +26,13 @@ > pci 0000:00:02.2: PME# supported from D0 D1 D2 D3hot > pci 0000:00:02.2: PME# disabled > PCI: bus0: Fast back to back transfers disabled > +pci 0000:00:01.0: BAR 0: can't allocate I/O resource [0x10000-0xffff] > +pci 0000:00:01.0: BAR 1: can't allocate I/O resource [0x10000-0xffff] > +pci 0000:00:01.0: BAR 2: can't allocate I/O resource [0x10000-0xffff] > +pci 0000:00:01.0: BAR 3: can't allocate I/O resource [0x10000-0xffff] > +pci 0000:00:01.0: BAR 4: can't allocate I/O resource [0x10000-0xffff] > +pci 0000:00:02.0: BAR 4: can't allocate I/O resource [0x10000-0xffff] > +pci 0000:00:02.1: BAR 4: can't allocate I/O resource [0x10000-0xffff] > bio: create slab <bio-0> at 0 > SCSI subsystem initialized > NET: Registered protocol family 2 > @@ -44,11 +51,7 @@ > console [ttyS0] enabled > serial8250.0: ttyS1 at MMIO 0xc8001000 (irq = 13) is a XScale > Driver 'sd' needs updating - please use bus_type methods > -PCI: enabling device 0000:00:01.0 (0140 -> 0141) > -scsi0 : pata_artop > -scsi1 : pata_artop > -ata1: PATA max UDMA/100 cmd 0x1050 ctl 0x1060 bmdma 0x1040 irq 28 > -ata2: PATA max UDMA/100 cmd 0x1058 ctl 0x1064 bmdma 0x1048 irq 28 > +pata_artop 0000:00:01.0: no available native port > Using configured DiskOnChip probe address 0x50000000 > DiskOnChip found at 0x50000000 > NAND device: Manufacturer ID: 0x98, Chip ID: 0x73 (Toshiba NAND 16MiB 3,3V 8-bit) The specific change in 1f82de10d6b1d845155363c895c552e61b36b51a responsible for this failure turned out to be the following: > --- a/drivers/pci/probe.c > +++ b/drivers/pci/probe.c > @@ -193,7 +193,7 @@ int __pci_read_base(struct pci_dev *dev, enum pci_bar_type type, > res->flags |= pci_calc_resource_flags(l) | IORESOURCE_SIZEALIGN; > if (type == pci_bar_io) { > l &= PCI_BASE_ADDRESS_IO_MASK; > - mask = PCI_BASE_ADDRESS_IO_MASK & 0xffff; > + mask = PCI_BASE_ADDRESS_IO_MASK & IO_SPACE_LIMIT; > } else { > l &= PCI_BASE_ADDRESS_MEM_MASK; > mask = (u32)PCI_BASE_ADDRESS_MEM_MASK; Every arch except arm's ixp4xx defines IO_SPACE_LIMIT as an all-bits-one bitmask, typically -1UL but sometimes only a 16-bit 0x0000ffff. But ixp4xx defines it as 0xffff0000, which is now causing the PCI failures. Russell King noted that ixp4xx has 64KB PCI IO space, so IO_SPACE_LIMIT should be 0x0000ffff. This patch makes that change, which fixes the PCI failures on my ixp4xx box. Signed-off-by: Mikael Pettersson <mikpe@xxxxxxxx> Signed-off-by: Krzysztof HaÅ?asa <khc@xxxxxxxxx> commit fbd8b1819e80ac5a176d085fdddc3a34d1499318 Author: Kevin Winchester <kjwinchester@xxxxxxxxx> Date: Mon Aug 10 19:56:45 2009 -0300 x86: Clear incorrectly forced X86_FEATURE_LAHF_LM flag Due to an erratum with certain AMD Athlon 64 processors, the BIOS may need to force enable the LAHF_LM capability. Unfortunately, in at least one case, the BIOS does this even for processors that do not support the functionality. Add a specific check that will clear the feature bit for processors known not to support the LAHF/SAHF instructions. Signed-off-by: Kevin Winchester <kjwinchester@xxxxxxxxx> Acked-by: Borislav Petkov <petkovbb@xxxxxxxxxxxxxx> LKML-Reference: <4A80A5AD.2000209@xxxxxxxxx> Signed-off-by: Ingo Molnar <mingo@xxxxxxx> commit f64ccccb8afa43abdd63fcbd230f818d6ea0883f Author: Ingo Molnar <mingo@xxxxxxx> Date: Tue Aug 11 10:26:33 2009 +0200 perf_counter, x86: Fix generic cache events on P6-mobile CPUs Johannes Stezenbach reported that 'perf stat' does not count cache-miss and cache-references events on his Pentium-M based laptop. This is because we left them blank in p6_perfmon_event_map[], fill them in. Reported-by: Johannes Stezenbach <js@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: <new-submission> Signed-off-by: Ingo Molnar <mingo@xxxxxxx> commit 3c581a7f94542341bf0da496a226b44ac63521a8 Author: Ingo Molnar <mingo@xxxxxxx> Date: Tue Aug 11 10:47:36 2009 +0200 perf_counter, x86: Fix lapic printk message Instead of this garbled bootup on UP Pentium-M systems: [ 0.015048] Performance Counters: [ 0.016004] no Local APIC, try rebooting with lapicno PMU driver, software counters only. Print: [ 0.015050] Performance Counters: [ 0.016004] no APIC, boot with the "lapic" boot parameter to force-enable it. [ 0.017003] no PMU driver, software counters only. Cf: Frederic Weisbecker <fweisbec@xxxxxxxxx> Cc: Peter Zijlstra <a.p.zijlstra@xxxxxxxxx> 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 0d01f31439c1e4d602bf9fdc924ab66f407f5e38 Author: Dmitry Torokhov <dmitry.torokhov@xxxxxxxxx> Date: Sun Aug 9 21:44:49 2009 -0700 x86, mce: therm_throt - change when we print messages My Latitude d630 seems to be handling thermal events in SMI by lowering the max frequency of the CPU till it cools down but still leaks the "everything is normal" events. This spams the console and with high priority printks. Adjust therm_throt driver to only print messages about the fact that temperatire returned back to normal when leaving the throttling state. Also lower the severity of "back to normal" message from KERN_CRIT to KERN_INFO. Signed-off-by: Dmitry Torokhov <dtor@xxxxxxx> Acked-by: H. Peter Anvin <hpa@xxxxxxxxx> LKML-Reference: <20090810051513.0558F526EC9@xxxxxxxxxxxxxxxxxxxxxxxxx> Signed-off-by: Ingo Molnar <mingo@xxxxxxx> commit dd704698f56c1451fc9c5daadcd6e3a089de2c40 Author: Takashi Iwai <tiwai@xxxxxxx> Date: Tue Aug 11 08:45:11 2009 +0200 ALSA: hda - Don't override ADC definitions for ALC codecs ALC269 and ALC861-VD parsers override the ADC definitions unconditionally without checking the spec definition. This causes the problem when any inconsistent ADC is set up in the device quirk (like ALC272 with digital-mic). This patch avoids the overriding by adding the proper checks. Reference: Novell bnc#529467 https://bugzilla.novell.com/show_bug.cgi?id=529467 Signed-off-by: Takashi Iwai <tiwai@xxxxxxx> commit 4d9c73f60efe7a76f086bc93f7ef22be9d78bed6 Merge: 651b1f125c7e3806bbd635739d009433dc07372d 314dabb83a547ec4da819e8cbc78fac9cec605cd Author: Linus Torvalds <torvalds@xxxxxxxxxxxxxxxxxxxx> Date: Mon Aug 10 19:25:00 2009 -0700 Merge branch 'for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/jmorris/security-testing-2.6 * 'for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/jmorris/security-testing-2.6: SELinux: fix memory leakage in /security/selinux/hooks.c commit 314dabb83a547ec4da819e8cbc78fac9cec605cd Author: James Morris <jmorris@xxxxxxxxx> Date: Mon Aug 10 22:00:13 2009 +1000 SELinux: fix memory leakage in /security/selinux/hooks.c Fix memory leakage in /security/selinux/hooks.c The buffer always needs to be freed here; we either error out or allocate more memory. Reported-by: iceberg <strakh@xxxxxxxxx> Signed-off-by: James Morris <jmorris@xxxxxxxxx> Acked-by: Stephen Smalley <sds@xxxxxxxxxxxxx> commit 651b1f125c7e3806bbd635739d009433dc07372d Author: Magnus Damm <damm@xxxxxxxxxx> Date: Mon Aug 10 23:41:18 2009 +0200 PM / Driver Core: Kill dev_pm_ops platform warning for now Commit 783ea7d4eeefe895f2731fe73ac951e94418927b (Driver Core: Rework platform suspend/resume, print warning) added a warning message printed for platform drivers that use the legacy PM callbacks rather than struct dev_pm_ops. Unfortunately, this resulted in some confusion and made some people try to convert drivers by replacing the old callbacks with struct dev_pm_ops in automatic way, which generally is not a good idea. Remove the platform device runtime dev_pm_ops warning for now, because it's annoying to users and it's not really necessary right now. [rjw: Modified the changelog to be more informative.] Signed-off-by: Magnus Damm <damm@xxxxxxxxxx> Acked-by: Greg Kroah-Hartman <gregkh@xxxxxxx> Signed-off-by: Rafael J. Wysocki <rjw@xxxxxxx> commit e9d126cdfa60b575f1b5b02024c4faee27dccf07 Author: Dan Carpenter <error27@xxxxxxxxx> Date: Sun Aug 9 14:24:09 2009 +0200 ar9170: fix read & write outside array bounds queue == __AR9170_NUM_TXQ would cause a bug on the next line. found by Smatch ( http://repo.or.cz/w/smatch.git ). Cc: stable@xxxxxxxxxx Reported-by: Dan Carpenter <error27@xxxxxxxxx> Signed-off-by: Dan Carpenter <error27@xxxxxxxxx> Signed-off-by: Christian Lamparter <chunkeey@xxxxxx> Signed-off-by: John W. Linville <linville@xxxxxxxxxxxxx> commit 363ec5614f86110c6a6bdd72ac2147ebafd3ff5e Author: Christian Lamparter <chunkeey@xxxxxx> Date: Sat Aug 8 17:09:48 2009 +0200 ar9170usb: fix spurious firmware related message When ar9170-2.fw was missing, the driver erroneously complained about missing the initialization values file ar9170-1.fw... Signed-off-by: Christian Lamparter <chunkeey@xxxxxx> Signed-off-by: John W. Linville <linville@xxxxxxxxxxxxx> commit 85dfd81dc57e8183a277ddd7a56aa65c96f3f487 Author: Linus Torvalds <torvalds@xxxxxxxxxxxxxxxxxxxx> Date: Mon Aug 10 13:21:19 2009 -0700 pty: fix data loss when stopped (^S/^Q) Commit d945cb9cc ("pty: Rework the pty layer to use the normal buffering logic") dropped the test for 'tty->stopped' in pty_write_room(), which then causes the n_tty line discipline thing to not throttle the data properly when the tty is stopped. So instead of pausing the write due to the tty being stopped, the ldisc layer would go ahead and push it down to the pty. The pty write() routine would then refuse to take the data (because it _did_ check 'stopped'), and the data wouldn't actually be written. This whole stopped test should eventually be moved into the tty ldisc layer rather than have low-level tty drivers care about these things, but right now the fix is to just re-instate the missing pty 'stopped' handling. Reported-and-tested-by: Artur Skawina <art.08.09@xxxxxxxxx> Cc: Alan Cox <alan@xxxxxxxxxxxxxxxxxxx> Signed-off-by: Linus Torvalds <torvalds@xxxxxxxxxxxxxxxxxxxx> commit b409d7a0ab46fe530efe52734984b4ed5d46c3eb Author: Jan Kara <jack@xxxxxxx> Date: Thu Aug 6 23:29:34 2009 +0200 ocfs2: Fix possible deadlock when extending quota file In OCFS2, allocator locks rank above transaction start. Thus we cannot extend quota file from inside a transaction less we could deadlock. We solve the problem by starting transaction not already in ocfs2_acquire_dquot() but only in ocfs2_local_read_dquot() and ocfs2_global_read_dquot() and we allocate blocks to quota files before starting the transaction. In case we crash, quota files will just have a few blocks more but that's no problem since we just use them next time we extend the quota file. Signed-off-by: Jan Kara <jack@xxxxxxx> Signed-off-by: Joel Becker <joel.becker@xxxxxxxxxx> commit 3e03bbeac541856aaaf1ce1ab0250b6a490e4099 Author: Shunichi Fuji <palglowr@xxxxxxxxx> Date: Tue Aug 11 03:34:40 2009 +0900 x86: Add reboot quirk for every 5 series MacBook/Pro Reboot does not work on my MacBook Pro 13 inch (MacBookPro5,5) too. It seems all unibody MacBook and MacBookPro require PCI reboot handling, i guess. Following model/machine ID list shows unibody MacBook/Pro have the 5 series of model number: http://www.everymac.com/systems/by_capability/macs-by-machine-model-machine-id.html Signed-off-by: Shunichi Fuji <palglowr@xxxxxxxxx> Cc: Ozan Ã?aÄ?layan <ozan@xxxxxxxxxxxxx> LKML-Reference: <30046e3b0908101134p6487ddbftd8776e4ddef204be@xxxxxxxxxxxxxx> Signed-off-by: Ingo Molnar <mingo@xxxxxxx> commit d00aa6695b67a31be2ce5f7464da32c20cb50699 Merge: cec36911b5fa4ac342f6de856b12a9f71f84e6e5 1853db0e02ae4088f102b0d8e59e83dc98f93f03 Author: Linus Torvalds <torvalds@xxxxxxxxxxxxxxxxxxxx> Date: Mon Aug 10 11:48:51 2009 -0700 Merge branch 'perfcounters-fixes-for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/tip/linux-2.6-tip * 'perfcounters-fixes-for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/tip/linux-2.6-tip: (27 commits) perf_counter: Zero dead bytes from ftrace raw samples size alignment perf_counter: Subtract the buffer size field from the event record size perf_counter: Require CAP_SYS_ADMIN for raw tracepoint data perf_counter: Correct PERF_SAMPLE_RAW output perf tools: callchain: Fix bad rounding of minimum rate perf_counter tools: Fix libbfd detection for systems with libz dependency perf: "Longum est iter per praecepta, breve et efficax per exempla" perf_counter: Fix a race on perf_counter_ctx perf_counter: Fix tracepoint sampling to be part of generic sampling perf_counter: Work around gcc warning by initializing tracepoint record unconditionally perf tools: callchain: Fix sum of percentages to be 100% by displaying amount of ignored chains in fractal mode perf tools: callchain: Fix 'perf report' display to be callchain by default perf tools: callchain: Fix spurious 'perf report' warnings: ignore empty callchains perf record: Fix the -A UI for empty or non-existent perf.data perf util: Fix do_read() to fail on EOF instead of busy-looping perf list: Fix the output to not include tracepoints without an id perf_counter/powerpc: Fix oops on cpus without perf_counter hardware support perf stat: Fix tool option consistency: rename -S/--scale to -c/--scale perf report: Add debug help for the finding of symbol bugs - show the symtab origin (DSO, build-id, kernel, etc) perf report: Fix per task mult-counter stat reporting ... commit 392741e0a4e17c82e3978b7fcbf04291294dc0a1 Author: Darren Hart <dvhltc@xxxxxxxxxx> Date: Fri Aug 7 15:20:48 2009 -0700 futex: Fix handling of bad requeue syscall pairing If futex_requeue(requeue_pi=1) finds a futex_q that was created by a call other the futex_wait_requeue_pi(), the q.rt_waiter may be null. If so, this will result in an oops from the following call graph: futex_requeue() rt_mutex_start_proxy_lock() task_blocks_on_rt_mutex() waiter->task dereference OOPS We currently WARN_ON() if this is detected, clearly this is inadequate. If we detect a mispairing in futex_requeue(), bail out, seding -EINVAL to user-space. V2: Fix parenthesis warnings. Signed-off-by: Darren Hart <dvhltc@xxxxxxxxxx> Acked-by: Peter Zijlstra <peterz@xxxxxxxxxxxxx> Cc: Steven Rostedt <rostedt@xxxxxxxxxxx> Cc: John Kacur <jkacur@xxxxxxxxxx> Cc: Eric Dumazet <eric.dumazet@xxxxxxxxx> Cc: Dinakar Guniguntala <dino@xxxxxxxxxx> Cc: John Stultz <johnstul@xxxxxxxxxxxxxxxxxx> LKML-Reference: <4A7CA8C0.7010809@xxxxxxxxxx> Signed-off-by: Ingo Molnar <mingo@xxxxxxx> commit cec36911b5fa4ac342f6de856b12a9f71f84e6e5 Merge: a3263969b02260f8733940f580c7af1c716d38ad ad7d6c7a0654a4bbda3e109f56af713267e96274 Author: Linus Torvalds <torvalds@xxxxxxxxxxxxxxxxxxxx> Date: Mon Aug 10 11:21:13 2009 -0700 Merge branch 'irq-fixes-for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/tip/linux-2.6-tip * 'irq-fixes-for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/tip/linux-2.6-tip: x86/irq: Fix move_irq_desc() for nodes without ram commit a3263969b02260f8733940f580c7af1c716d38ad Merge: 9b8f013a8361b05edf511f04fe93b36310b73806 b6e61eef4f9f94714ac3ee4a5c96862d9bcd1836 Author: Linus Torvalds <torvalds@xxxxxxxxxxxxxxxxxxxx> Date: Mon Aug 10 11:11:40 2009 -0700 Merge branch 'x86-fixes-for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/tip/linux-2.6-tip * 'x86-fixes-for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/tip/linux-2.6-tip: x86: Fix serialization in pit_expect_msb() commit 9b8f013a8361b05edf511f04fe93b36310b73806 Merge: 9bcf73f48280ef8cd7f2e38e674da47c409b9906 94f81a47c4a7a2d7a16fcfdd6d81da381732c101 Author: Linus Torvalds <torvalds@xxxxxxxxxxxxxxxxxxxx> Date: Mon Aug 10 11:00:37 2009 -0700 Merge branch 'for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/jbarnes/pci-2.6 * 'for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/jbarnes/pci-2.6: PCI hotplug: SGI hotplug: do not use hotplug_slot_attr PCI hotplug: SGI hotplug: fix build failure commit b6e61eef4f9f94714ac3ee4a5c96862d9bcd1836 Author: Linus Torvalds <torvalds@xxxxxxxxxxxxxxxxxxxx> Date: Fri Jul 31 12:45:41 2009 -0700 x86: Fix serialization in pit_expect_msb() Wei Chong Tan reported a fast-PIT-calibration corner-case: | pit_expect_msb() is vulnerable to SMI disturbance corner case | in some platforms which causes /proc/cpuinfo to show wrong | CPU MHz value when quick_pit_calibrate() jumps to success | section. I think that the real issue isn't even an SMI - but the fact that in the very last iteration of the loop, there's no serializing instruction _after_ the last 'rdtsc'. So even in the absense of SMI's, we do have a situation where the cycle counter was read without proper serialization. The last check should be done outside the outer loop, since _inside_ the outer loop, we'll be testing that the PIT has the right MSB value has the right value in the next iteration. So only the _last_ iteration is special, because that's the one that will not check the PIT MSB value any more, and because the final 'get_cycles()' isn't serialized. In other words: - I'd like to move the PIT MSB check to after the last iteration, rather than in every iteration - I think we should comment on the fact that it's also a serializing instruction and so 'fences in' the TSC read. Here's a suggested replacement. Signed-off-by: Linus Torvalds <torvalds@xxxxxxxxxxxxxxxxxxxx> Reported-by: "Tan, Wei Chong" <wei.chong.tan@xxxxxxxxx> Tested-by: "Tan, Wei Chong" <wei.chong.tan@xxxxxxxxx> LKML-Reference: <B28277FD4E0F9247A3D55704C440A140D5D683F3@xxxxxxxxxxxxxxxxxxxxxxxxxxxx> Signed-off-by: Ingo Molnar <mingo@xxxxxxx> commit 9bcf73f48280ef8cd7f2e38e674da47c409b9906 Merge: 2c661a669b3e2e34311d7965271a628671191e45 704b836cbf19e885f8366bccb2e4b0474346c02d Author: Linus Torvalds <torvalds@xxxxxxxxxxxxxxxxxxxx> Date: Mon Aug 10 09:00:47 2009 -0700 Merge branch 'for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/jmorris/security-testing-2.6 * 'for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/jmorris/security-testing-2.6: mm_for_maps: take ->cred_guard_mutex to fix the race with exec mm_for_maps: shift down_read(mmap_sem) to the caller mm_for_maps: simplify, use ptrace_may_access() commit 2c661a669b3e2e34311d7965271a628671191e45 Merge: 04e35357e2e3ff4e0cabd6468354cf3dbfeb4f27 b2f2e8fee3d62f621e795f25b2fc0f51bbdb4af9 Author: Linus Torvalds <torvalds@xxxxxxxxxxxxxxxxxxxx> Date: Mon Aug 10 08:59:56 2009 -0700 Merge branch 'merge' of git://git.kernel.org/pub/scm/linux/kernel/git/benh/powerpc * 'merge' of git://git.kernel.org/pub/scm/linux/kernel/git/benh/powerpc: powerpc/dma: pci_set_dma_mask() shouldn't fail if mask fits in RAM commit 04e35357e2e3ff4e0cabd6468354cf3dbfeb4f27 Author: Jaswinder Singh Rajput <jaswinder@xxxxxxxxxx> Date: Mon Aug 10 16:45:42 2009 +0100 MN10300: includecheck fix: mn10300, pci.h Fix the following 'make includecheck' warning: arch/mn10300/include/asm/pci.h: linux/mm.h is included more than once. Signed-off-by: Jaswinder Singh Rajput <jaswinderrajput@xxxxxxxxx> Signed-off-by: David Howells <dhowells@xxxxxxxxxx> Signed-off-by: Linus Torvalds <torvalds@xxxxxxxxxxxxxxxxxxxx> commit 5e2f89b5d5d87a7c3ba19fc85ba0c29adb65f639 Author: Figo.zhang <figo1802@xxxxxxxxx> Date: Sat Aug 8 21:01:22 2009 +0800 mempool.c: clean up type-casting clean up type-casting twice. "size_t" is typedef as "unsigned long" in 64-bit system, and "unsigned int" in 32-bit system, and the intermediate cast to 'long' is pointless. Signed-off-by: Figo.zhang <figo1802@xxxxxxxxx> Signed-off-by: Linus Torvalds <torvalds@xxxxxxxxxxxxxxxxxxxx> commit 1392e3b33319fd1a2527bebfc56631c2f2d3c7c5 Author: Ryusuke Konishi <konishi.ryusuke@xxxxxxxxxxxxx> Date: Sat Aug 8 17:52:50 2009 +0900 documentation: register ioctl entry of nilfs2 This will register the ioctl range used by nilfs2 file system to the table listed in Documentation/ioctl/ioctl-number.txt. Signed-off-by: Ryusuke Konishi <konishi.ryusuke@xxxxxxxxxxxxx> Signed-off-by: Linus Torvalds <torvalds@xxxxxxxxxxxxxxxxxxxx> commit 1853db0e02ae4088f102b0d8e59e83dc98f93f03 Author: Frederic Weisbecker <fweisbec@xxxxxxxxx> Date: Mon Aug 10 16:38:36 2009 +0200 perf_counter: Zero dead bytes from ftrace raw samples size alignment After aligning the ftrace raw samples, there are dead bytes storing random data from the stack. We don't want to leak these to userspace, then zero these out. Before: 0x2de88 [0x50]: event: 9 . . ... raw event: size 80 bytes . 0000: 09 00 00 00 01 00 50 00 d0 c7 00 81 ff ff ff ff ......P........ . 0010: 68 01 00 00 68 01 00 00 2c 00 00 00 00 00 00 00 h...h...,...... . 0020: 2c 00 00 00 2b 00 01 02 68 01 00 00 68 01 00 00 ,...+...h...h.. . 0030: 6b 6f 6e 64 65 6d 61 6e 64 2f 30 00 00 00 00 00 kondemand/0.... . 0040: 68 01 00 00 40 7f 46 81 ff ff ff ff 00 10 1b 7f h...@.F........ ^ ^ ^ ^ Leak After: 0x2d318 [0x50]: event: 9 . . ... raw event: size 80 bytes . 0000: 09 00 00 00 01 00 50 00 d0 c7 00 81 ff ff ff ff ......P........ . 0010: 68 01 00 00 68 01 00 00 68 14 00 00 00 00 00 00 h...h...h...... . 0020: 2c 00 00 00 2b 00 01 02 68 01 00 00 68 01 00 00 ,...+...h...h.. . 0030: 6b 6f 6e 64 65 6d 61 6e 64 2f 30 00 00 00 00 00 kondemand/0.... . 0040: 68 01 00 00 a0 80 46 81 ff ff ff ff 00 00 00 00 h.....F........ ^ ^ ^ ^ Fixed Reported-by: Peter Zijlstra <peterz@xxxxxxxxxxxxx> Signed-off-by: Frederic Weisbecker <fweisbec@xxxxxxxxx> Cc: Frederic Weisbecker <fweisbec@xxxxxxxxx> Cc: Peter Zijlstra <peterz@xxxxxxxxxxxxx> Cc: Arnaldo Carvalho de Melo <acme@xxxxxxxxxx> Cc: Mike Galbraith <efault@xxxxxx> LKML-Reference: <1249915116-5210-1-git-send-email-fweisbec@xxxxxxxxx> Signed-off-by: Ingo Molnar <mingo@xxxxxxx> Cc: Peter Zijlstra <peterz@xxxxxxxxxxxxx> Cc: Arnaldo Carvalho de Melo <acme@xxxxxxxxxx> Cc: Mike Galbraith <efault@xxxxxx> commit 96a4d1e23439e2356a105791bda95cc08d375b97 Merge: f40aac940aa83645ec2218ccce90cc1c6881b74c 6fd210a9cc398ecbff7bcdbe220651b73b654f56 Author: Russell King <rmk@xxxxxxxxxxxxxxxxxxxxxxx> Date: Mon Aug 10 15:50:27 2009 +0100 Merge branch 'pm-upstream/fixes' of git://git.kernel.org/pub/scm/linux/kernel/git/khilman/linux-omap-pm commit 304703aba31a87903b8c0db8f5e6890cac2d596d Author: Frederic Weisbecker <fweisbec@xxxxxxxxx> Date: Mon Aug 10 16:11:32 2009 +0200 perf_counter: Subtract the buffer size field from the event record size We compute the perf raw sample size by aligning the raw ftrace event size plus the buffer size field itself. We do that instead of aligning only the perf raw sample size, so that we might economize some in some cases. But this buffer size field is not stored in the perf raw sample, we must then substract its size from the buffer once we computed the alignment unless we may get a useless u32 field in the buffer. Signed-off-by: Frederic Weisbecker <fweisbec@xxxxxxxxx> Acked-by: Peter Zijlstra <peterz@xxxxxxxxxxxxx> Cc: Arnaldo Carvalho de Melo <acme@xxxxxxxxxx> Cc: Mike Galbraith <efault@xxxxxx> Cc: Paul Mackerras <paulus@xxxxxxxxx> LKML-Reference: <20090810141129.GA5124@nowhere> Signed-off-by: Ingo Molnar <mingo@xxxxxxx> commit 4dc88029fd916b860ef063c40180aa604ce93494 Author: Dinakar Guniguntala <dino@xxxxxxxxxx> Date: Mon Aug 10 18:31:42 2009 +0530 futex: Fix compat_futex to be same as futex for REQUEUE_PI Need to add the REQUEUE_PI checks to the compat_sys_futex API as well to ensure 32 bit requeue's work fine on a 64 bit system. Patch is against latest tip Signed-off-by: Dinakar Guniguntala <dino@xxxxxxxxxx> Cc: Darren Hart <dvhltc@xxxxxxxxxx> LKML-Reference: <20090810130142.GA23619@xxxxxxxxxx> Signed-off-by: Ingo Molnar <mingo@xxxxxxx> commit f40aac940aa83645ec2218ccce90cc1c6881b74c Merge: 7063c88c726a704e648ba36ca78baa630f8b7b0a 3c82e229f09a6acc8d24dc27c5e0e60b1d7161c2 Author: Russell King <rmk@xxxxxxxxxxxxxxxxxxxxxxx> Date: Mon Aug 10 14:24:18 2009 +0100 Merge branch 'omap_fixes_31' of git://git.pwsan.com/linux-2.6 commit 7063c88c726a704e648ba36ca78baa630f8b7b0a Merge: f4b9a988685da6386d7f9a72df3098bcc3270526 4177662ec9f5e50b69ef074369fdb429dd48d97e Author: Russell King <rmk@xxxxxxxxxxxxxxxxxxxxxxx> Date: Mon Aug 10 14:23:29 2009 +0100 Merge branch 'omap-fixes' of git://git.kernel.org/pub/scm/linux/kernel/git/tmlind/linux-omap-2.6 commit 2fc391112fb6f3424435a3aa2fda887497b5f807 Author: Peter Zijlstra <peterz@xxxxxxxxxxxxx> Date: Mon Aug 10 12:33:05 2009 +0100 locking, sched: Give waitqueue spinlocks their own lockdep classes Give waitqueue spinlocks their own lockdep classes when they are initialised from init_waitqueue_head(). This means that struct wait_queue::func functions can operate other waitqueues. This is used by CacheFiles to catch the page from a backing fs being unlocked and to wake up another thread to take a copy of it. Signed-off-by: Peter Zijlstra <a.p.zijlstra@xxxxxxxxx> Signed-off-by: David Howells <dhowells@xxxxxxxxxx> Tested-by: Takashi Iwai <tiwai@xxxxxxx> Cc: linux-cachefs@xxxxxxxxxx Cc: torvalds@xxxxxxxx Cc: akpm@xxxxxxxxxxxxxxxxxxxx LKML-Reference: <20090810113305.17284.81508.stgit@xxxxxxxxxxxxxxxxxxxxxx> Signed-off-by: Ingo Molnar <mingo@xxxxxxx> commit 4177662ec9f5e50b69ef074369fdb429dd48d97e Author: Roger Quadros <ext-roger.quadros@xxxxxxxxx> Date: Mon Aug 10 14:49:52 2009 +0300 OMAP3: RX51: Updated rx51_defconfig Added REGULATOR, MMC and updated default CMDLINE so RX51 now boots. Note that the regulator code should be moved from mmc-twl4030.c to omap_hsmmc.c so it can be a module. Signed-off-by: Roger Quadros <ext-roger.quadros@xxxxxxxxx> Signed-off-by: Tony Lindgren <tony@xxxxxxxxxxx> commit 22833044fbe2764d44ae03f58508e671652ca186 Author: Roger Quadros <ext-roger.quadros@xxxxxxxxx> Date: Mon Aug 10 14:49:51 2009 +0300 OMAP2/3: mmc-twl4030: Free up MMC regulators while cleaning up twl_mmc_cleanup() must free up the regulators that were allocated by twl_mmc_late_init(). This eliminates the below error when 'omap_hsmmc' module is repeatedly loaded and unloaded. "sysfs: cannot create duplicate filename '/devices/platform /mmci-omap-hs.0/microamps_requested_vmmc'" Signed-off-by: Roger Quadros <ext-roger.quadros@xxxxxxxxx> Signed-off-by: Tony Lindgren <tony@xxxxxxxxxxx> commit dfc27b34496923b5f552eb9cdf20468045114ada Author: Roger Quadros <ext-roger.quadros@xxxxxxxxx> Date: Mon Aug 10 14:49:51 2009 +0300 OMAP3: RX51: Define TWL4030 USB transceiver in board file Add OTG transceiver to RX51 platform data to prevent kernel NULL pointer dereference during MUSB initialisation. Signed-off-by: Roger Quadros <ext-roger.quadros@xxxxxxxxx> Signed-off-by: Felipe Balbi <felipe.balbi@xxxxxxxxx> Signed-off-by: Tony Lindgren <tony@xxxxxxxxxxx> commit 5032902c331acc71956e47abd90d090181c5ef4a Author: Sergio Aguirre <saaguirre@xxxxxx> Date: Mon Aug 10 14:49:50 2009 +0300 OMAP3: Overo: Fix smsc911x platform device resource value Fixes a wrong setting of resource parameter list in SMSC911x platform driver data structure for Overo case. This fixes folowing warning when compiling for Overo board: warning: initialization from incompatible pointer type Introduced since commit id: commit 172ef275444efa12d834fb9d1b1acdac92db47f7 Author: Steve Sakoman <sakoman@xxxxxxxxx> Date: Mon Feb 2 06:27:49 2009 +0000 ARM: Add SMSC911X support to Overo platform (V2) Signed-off-by: Sergio Aguirre <saaguirre@xxxxxx> Signed-off-by: Tony Lindgren <tony@xxxxxxxxxxx> commit 370bc1fdefb8a30018d98aca2fdfd6b6701082e7 Author: Janboe Ye <yuan-bo.ye@xxxxxxxxxxxx> Date: Mon Aug 10 14:49:50 2009 +0300 OMAP3: Fix omap3 sram virtual addres overlap vmalloc space after increasing vmalloc size commit e85c205ac1427f2405021a36f083280ff0d0a35e increase vmalloc size. vmalloc space will overlap with OMAP3 sram virtual address. Signed-off-by: Li Hong Mei <hong-mei.li@xxxxxxxxxxxx> Signed-off-by: Janboe Ye <yuan-bo.ye@xxxxxxxxxxxx> Reviewed-by: Paul Walmsley <paul@xxxxxxxxx> commit 284119c48f4a0c469b3e0237b500e536b4bc7b6f Author: Vikram Pandita <vikram.pandita@xxxxxx> Date: Mon Aug 10 14:49:50 2009 +0300 OMAP2/3: DMA errata correction This errata is valid for: OMAP2420 Errata 1.85 Impacts all 2420 ES rev OMAP2430 Errata 1.10 Impacts only ES1.0 Description: DMA may hang when several channels are used in parallel OMAP3430: Not impacted, so remove the errata fix for omap3 Fixed issue reported on cpu_is_omap24xx check reported by Nishant Kamat Signed-off-by: Vikram Pandita <vikram.pandita@xxxxxx> Reviewed-by: Nishant Kamat <nskamat@xxxxxx> Signed-off-by: Tony Lindgren <tony@xxxxxxxxxxx> commit cd92204924fafbd5c7241dfd12ca3176d542e0c5 Author: Tony Lindgren <tony@xxxxxxxxxxx> Date: Mon Aug 10 14:49:50 2009 +0300 OMAP: Fix testing of cpu defines for mach-omap1 There's no need to keep these defines limited in the ifdef block for mach-omap2. It will just cause problems testing for the CPU revision in the common code, like the next patch does for the DMA errata. Signed-off-by: Tony Lindgren <tony@xxxxxxxxxxx> commit 704b836cbf19e885f8366bccb2e4b0474346c02d Author: Oleg Nesterov <oleg@xxxxxxxxxx> Date: Fri Jul 10 03:27:40 2009 +0200 mm_for_maps: take ->cred_guard_mutex to fix the race with exec The problem is minor, but without ->cred_guard_mutex held we can race with exec() and get the new ->mm but check old creds. Now we do not need to re-check task->mm after ptrace_may_access(), it can't be changed to the new mm under us. Strictly speaking, this also fixes another very minor problem. Unless security check fails or the task exits mm_for_maps() should never return NULL, the caller should get either old or new ->mm. Signed-off-by: Oleg Nesterov <oleg@xxxxxxxxxx> Acked-by: Serge Hallyn <serue@xxxxxxxxxx> Signed-off-by: James Morris <jmorris@xxxxxxxxx> commit 00f89d218523b9bf6b522349c039d5ac80aa536d Author: Oleg Nesterov <oleg@xxxxxxxxxx> Date: Fri Jul 10 03:27:38 2009 +0200 mm_for_maps: shift down_read(mmap_sem) to the caller mm_for_maps() takes ->mmap_sem after security checks, this looks strange and obfuscates the locking rules. Move this lock to its single caller, m_start(). Signed-off-by: Oleg Nesterov <oleg@xxxxxxxxxx> Acked-by: Serge Hallyn <serue@xxxxxxxxxx> Signed-off-by: James Morris <jmorris@xxxxxxxxx> commit 13f0feafa6b8aead57a2a328e2fca6a5828bf286 Author: Oleg Nesterov <oleg@xxxxxxxxxx> Date: Tue Jun 23 21:25:32 2009 +0200 mm_for_maps: simplify, use ptrace_may_access() It would be nice to kill __ptrace_may_access(). It requires task_lock(), but this lock is only needed to read mm->flags in the middle. Convert mm_for_maps() to use ptrace_may_access(), this also simplifies the code a little bit. Also, we do not need to take ->mmap_sem in advance. In fact I think mm_for_maps() should not play with ->mmap_sem at all, the caller should take this lock. With or without this patch, without ->cred_guard_mutex held we can race with exec() and get the new ->mm but check old creds. Signed-off-by: Oleg Nesterov <oleg@xxxxxxxxxx> Reviewed-by: Serge Hallyn <serue@xxxxxxxxxx> Signed-off-by: James Morris <jmorris@xxxxxxxxx> commit 100d5eb36ba20dc0b99a17ea2b9800c567bfc3d1 Author: Takashi Iwai <tiwai@xxxxxxx> Date: Mon Aug 10 11:55:51 2009 +0200 ALSA: hda - Add missing vmaster initialization for ALC269 Without the initialization of vmaster NID, the dB information got confused for ALC269 codec. Reference: Novell bnc#527361 https://bugzilla.novell.com/show_bug.cgi?id=527361 Signed-off-by: Takashi Iwai <tiwai@xxxxxxx> Cc: <stable@xxxxxxxxxx> commit a4e95fc2cbb31d70a65beffeaf8773f881328c34 Author: Peter Zijlstra <a.p.zijlstra@xxxxxxxxx> Date: Mon Aug 10 11:20:12 2009 +0200 perf_counter: Require CAP_SYS_ADMIN for raw tracepoint data Raw tracepoint data contains various kernel internals and data from other users, so restrict this to CAP_SYS_ADMIN. Signed-off-by: Peter Zijlstra <a.p.zijlstra@xxxxxxxxx> Acked-by: Frederic Weisbecker <fweisbec@xxxxxxxxx> Cc: Arnaldo Carvalho de Melo <acme@xxxxxxxxxx> Cc: Mike Galbraith <efault@xxxxxx> Cc: Paul Mackerras <paulus@xxxxxxxxx> LKML-Reference: <1249896452.17467.75.camel@twins> Signed-off-by: Ingo Molnar <mingo@xxxxxxx> commit a044560c3a1f0ad75ce685c1ed7604820b9ed319 Author: Peter Zijlstra <a.p.zijlstra@xxxxxxxxx> Date: Mon Aug 10 11:16:52 2009 +0200 perf_counter: Correct PERF_SAMPLE_RAW output PERF_SAMPLE_* output switches should unconditionally output the correct format, as they are the only way to unambiguously parse the PERF_EVENT_SAMPLE data. Signed-off-by: Peter Zijlstra <a.p.zijlstra@xxxxxxxxx> Acked-by: Frederic Weisbecker <fweisbec@xxxxxxxxx> Cc: Arnaldo Carvalho de Melo <acme@xxxxxxxxxx> Cc: Mike Galbraith <efault@xxxxxx> Cc: Paul Mackerras <paulus@xxxxxxxxx> LKML-Reference: <1249896447.17467.74.camel@twins> Signed-off-by: Ingo Molnar <mingo@xxxxxxx> commit beda2c7ea2c15ed01eef00a997d2b0496c3a502d Author: Darren Hart <dvhltc@xxxxxxxxxx> Date: Sun Aug 9 15:34:39 2009 -0700 futex: Update futex_q lock_ptr on requeue proxy lock futex_requeue() can acquire the lock on behalf of a waiter early on or during the requeue loop if it is uncontended or in the event of a lock steal or owner died. On wakeup, the waiter (in futex_wait_requeue_pi()) cleans up the pi_state owner using the lock_ptr to protect against concurrent access to the pi_state. The pi_state is hung off futex_q's on the requeue target futex hash bucket so the lock_ptr needs to be updated accordingly. The problem manifested by triggering the WARN_ON in lookup_pi_state() about the pid != pi_state->owner->pid. With this patch, the pi_state is properly guarded against concurrent access via the requeue target hb lock. The astute reviewer may notice that there is a window of time between when futex_requeue() unlocks the hb locks and when futex_wait_requeue_pi() will acquire hb2->lock. During this time the pi_state and uval are not in sync with the underlying rtmutex owner (but the uval does indicate there are waiters, so no atomic changes will occur in userspace). However, this is not a problem. Should a contending thread enter lookup_pi_state() and acquire hb2->lock before the ownership is fixed up, it will find the pi_state hung off a waiter's (possibly the pending owner's) futex_q and block on the rtmutex. Once futex_wait_requeue_pi() fixes up the owner, it will also move the pi_state from the old owner's task->pi_state_list to its own. v3: Fix plist lock name for application to mainline (rather than -rt) Compile tested against tip/v2.6.31-rc5. Signed-off-by: Darren Hart <dvhltc@xxxxxxxxxx> Cc: Peter Zijlstra <peterz@xxxxxxxxxxxxx> Cc: Steven Rostedt <rostedt@xxxxxxxxxxx> Cc: Eric Dumazet <eric.dumazet@xxxxxxxxx> Cc: Dinakar Guniguntala <dino@xxxxxxxxxx> Cc: John Stultz <johnstul@xxxxxxxxxxxxxxxxxx> LKML-Reference: <4A7F4EFF.6090903@xxxxxxxxxx> Signed-off-by: Ingo Molnar <mingo@xxxxxxx> commit b2f2e8fee3d62f621e795f25b2fc0f51bbdb4af9 Author: Benjamin Herrenschmidt <benh@xxxxxxxxxxxxxxxxxxx> Date: Mon Aug 10 16:36:38 2009 +1000 powerpc/dma: pci_set_dma_mask() shouldn't fail if mask fits in RAM On an iMac G5, the b43 driver is failing to initialise because trying to set the dma mask to 30-bit fails. Even though there's only 512MiB of RAM in the machine anyway: https://bugzilla.redhat.com/show_bug.cgi?id=514787 We should probably let it succeed if the available RAM in the system doesn't exceed the requested limit. Signed-off-by: David Woodhouse <David.Woodhouse@xxxxxxxxx> Signed-off-by: Benjamin Herrenschmidt <benh@xxxxxxxxxxxxxxxxxxx> commit 973507cb8610d4c84f090d5f1f0ca54fa0559d27 Author: roel kluin <roel.kluin@xxxxxxxxx> Date: Sat Aug 8 23:54:21 2009 +0000 mlx4_en: Fix read buffer overflow in mlx4_en_complete_rx_desc() If the length is less or equal to frag_prefix_size in the first iteration we write skb_frags_rx[-1] and read from priv->frag_info[-1] Signed-off-by: Roel Kluin <roel.kluin@xxxxxxxxx> Signed-off-by: David S. Miller <davem@xxxxxxxxxxxxx> commit be12159b24c532b4b48bdec5a543336438faa132 Author: roel kluin <roel.kluin@xxxxxxxxx> Date: Sun Aug 9 04:00:25 2009 +0000 zorro8390: Fix read buffer overflow in zorro8390_init_one() Prevent read from cards[-1] when no card was found. Signed-off-by: Roel Kluin <roel.kluin@xxxxxxxxx> Signed-off-by: David S. Miller <davem@xxxxxxxxxxxxx> commit 5e33b719c8fcccfedc1d25167826a0f93fe6c5a1 Author: roel kluin <roel.kluin@xxxxxxxxx> Date: Fri Aug 7 03:24:27 2009 +0000 pcnet32: Read buffer overflow An `options[cards_found]' that equals `sizeof(options_mapping)' is already beyond the array. Signed-off-by: Roel Kluin <roel.kluin@xxxxxxxxx> Signed-off-by: David S. Miller <davem@xxxxxxxxxxxxx> commit 418372b0ab7a3bbcc59d71e8e4d322ef18263dab Author: Rafael Laufer <rlaufer@xxxxxxxxx> Date: Fri Aug 7 05:17:17 2009 +0000 sctp: fix missing destroy of percpu counter variable in sctp_proc_exit() Commit 1748376b6626acf59c24e9592ac67b3fe2a0e026, net: Use a percpu_counter for sockets_allocated added percpu_counter function calls to sctp_proc_init code path, but forgot to add them to sctp_proc_exit(). This resulted in a following Ooops when performing this test # modprobe sctp # rmmod -f sctp # modprobe sctp [ 573.862512] BUG: unable to handle kernel paging request at f8214a24 [ 573.862518] IP: [<c0308b8f>] __percpu_counter_init+0x3f/0x70 [ 573.862530] *pde = 37010067 *pte = 00000000 [ 573.862534] Oops: 0002 [#1] SMP [ 573.862537] last sysfs file: /sys/module/libcrc32c/initstate [ 573.862540] Modules linked in: sctp(+) crc32c libcrc32c binfmt_misc bridge stp bnep lp snd_hda_codec_analog snd_hda_intel snd_hda_codec snd_hwdep snd_pcm_oss snd_mixer_oss arc4 joydev snd_pcm ecb pcmcia snd_seq_dummy snd_seq_oss iwlagn iwlcore snd_seq_midi snd_rawmidi snd_seq_midi_event yenta_socket rsrc_nonstatic thinkpad_acpi snd_seq snd_timer snd_seq_device mac80211 psmouse sdhci_pci sdhci nvidia(P) ppdev video snd soundcore serio_raw pcspkr iTCO_wdt iTCO_vendor_support led_class ricoh_mmc pcmcia_core intel_agp nvram agpgart usbhid parport_pc parport output snd_page_alloc cfg80211 btusb ohci1394 ieee1394 e1000e [last unloaded: sctp] [ 573.862589] [ 573.862593] Pid: 5373, comm: modprobe Tainted: P R (2.6.31-rc3 #6) 7663B15 [ 573.862596] EIP: 0060:[<c0308b8f>] EFLAGS: 00010286 CPU: 1 [ 573.862599] EIP is at __percpu_counter_init+0x3f/0x70 [ 573.862602] EAX: f8214a20 EBX: f80faa14 ECX: c48c0000 EDX: f80faa20 [ 573.862604] ESI: f80a7000 EDI: 00000000 EBP: f69d5ef0 ESP: f69d5eec [ 573.862606] DS: 007b ES: 007b FS: 00d8 GS: 0033 SS: 0068 [ 573.862610] Process modprobe (pid: 5373, ti=f69d4000 task=c2130c70 task.ti=f69d4000) [ 573.862612] Stack: [ 573.862613] 00000000 f69d5f18 f80a70a8 f80fa9fc 00000000 fffffffc f69d5f30 c018e2d4 [ 573.862619] <0> 00000000 f80a7000 00000000 f69d5f88 c010112b 00000000 c07029c0 fffffffb [ 573.862626] <0> 00000000 f69d5f38 c018f83f f69d5f54 c0557cad f80fa860 00000001 c07010c0 [ 573.862634] Call Trace: [ 573.862644] [<f80a70a8>] ? sctp_init+0xa8/0x7d4 [sctp] [ 573.862650] [<c018e2d4>] ? marker_update_probe_range+0x184/0x260 [ 573.862659] [<f80a7000>] ? sctp_init+0x0/0x7d4 [sctp] [ 573.862662] [<c010112b>] ? do_one_initcall+0x2b/0x160 [ 573.862666] [<c018f83f>] ? tracepoint_module_notify+0x2f/0x40 [ 573.862671] [<c0557cad>] ? notifier_call_chain+0x2d/0x70 [ 573.862678] [<c01588fd>] ? __blocking_notifier_call_chain+0x4d/0x60 [ 573.862682] [<c016b2f1>] ? sys_init_module+0xb1/0x1f0 [ 573.862686] [<c0102ffc>] ? sysenter_do_call+0x12/0x28 [ 573.862688] Code: 89 48 08 b8 04 00 00 00 e8 df aa ec ff ba f4 ff ff ff 85 c0 89 43 14 74 31 b8 b0 18 71 c0 e8 19 b9 24 00 a1 c4 18 71 c0 8d 53 0c <89> 50 04 89 43 0c b8 b0 18 71 c0 c7 43 10 c4 18 71 c0 89 15 c4 [ 573.862725] EIP: [<c0308b8f>] __percpu_counter_init+0x3f/0x70 SS:ESP 0068:f69d5eec [ 573.862730] CR2: 00000000f8214a24 [ 573.862734] ---[ end trace 39c4e0b55e7cf54d ]--- Signed-off-by: Rafael Laufer <rlaufer@xxxxxxxxx> Signed-off-by: Vlad Yasevich <vladislav.yasevich@xxxxxx> Signed-off-by: David S. Miller <davem@xxxxxxxxxxxxx> commit 018d21ed80736eab21fabf45edbd74600a1f8330 Author: Joe Perches <joe@xxxxxxxxxxx> Date: Fri Aug 7 06:43:01 2009 +0000 MAINTAINERS: additional NETWORKING [GENERAL] and NETWORKING DRIVERS patterns Signed-off-by: Joe Perches <joe@xxxxxxxxxxx> Signed-off-by: David S. Miller <davem@xxxxxxxxxxxxx> commit 75c4885924f01aed1f887886a49dfa89960de240 Author: Yong Zhang <yong.zhang0@xxxxxxxxx> Date: Fri Aug 7 16:36:52 2009 +0000 gianfar: keep vlan related state when restart If vlan has been enabled. ifdown followed by ifup will lost hardware related state. Also remove duplicated operation in gfar_vlan_rx_register(). Signed-off-by: Yong Zhang <yong.zhang0@xxxxxxxxx> Acked-by: Dai Haruki <dai.haruki@xxxxxxxxxxxxx> Signed-off-by: David S. Miller <davem@xxxxxxxxxxxxx> commit 148675a7b2061b5a5eb194530b7c4d8de1f2887e Author: Bruce Allan <bruce.w.allan@xxxxxxxxx> Date: Fri Aug 7 07:41:56 2009 +0000 e1000e: fix potential NVM corruption on ICH9 with 8K bank size The bank offset was being incorrectly calculated on ICH9 parts with a bank size of 8K (instead of the more common 4K bank) which would cause any NVM writes to be done on the wrong address after switching from bank 1 to bank 0. Additionally, assume we are meant to use bank 0 if a valid bank is not detected, and remove the unnecessary acquisition of the SW/FW/HW semaphore when writing to the shadow ram version of the NVM image. Signed-off-by: Bruce Allan <bruce.w.allan@xxxxxxxxx> Signed-off-by: Jeff Kirsher <jeffrey.t.kirsher@xxxxxxxxx> Signed-off-by: David S. Miller <davem@xxxxxxxxxxxxx> commit 373a88d78be540c1331ea5adcb76610dddcb008b Author: Bruce Allan <bruce.w.allan@xxxxxxxxx> Date: Fri Aug 7 07:41:37 2009 +0000 e1000e: fix acquisition of SW/FW/HW semaphore for ICHx parts For ICHx parts, write the EXTCNF_CTRL.SWFLAG bit once when trying to acquire the SW/FW/HW semaphore instead of multiple times to prevent the hardware from having problems (especially for systems with manageability enabled), and extend the timeout for the hardware to set the SWFLAG bit. Signed-off-by: Bruce Allan <bruce.w.allan@xxxxxxxxx> Signed-off-by: Jeff Kirsher <jeffrey.t.kirsher@xxxxxxxxx> Signed-off-by: David S. Miller <davem@xxxxxxxxxxxxx> commit 6e455b897bb6be3a4c0c6578f679e83d399e5b92 Author: Yi Zou <yi.zou@xxxxxxxxx> Date: Thu Aug 6 13:05:44 2009 +0000 ixgbe: Disable packet split only on FCoE queues in 82599 For 82599, packet split has to be disabled for FCoE direct data placement. However, this is only required on received queues allocated for FCoE. This patch adds a per ring flags to indicate if packet split is disabled on a per queue basis, particularly for FCoE, as packet split must be disabled for large receive using direct data placement (DDP). Signed-off-by: Yi Zou <yi.zou@xxxxxxxxx> Acked-by: Peter P Waskiewicz Jr <peter.p.waskiewicz.jr@xxxxxxxxx> Signed-off-by: Jeff Kirsher <jeffrey.t.kirsher@xxxxxxxxx> Signed-off-by: David S. Miller <davem@xxxxxxxxxxxxx> commit a6616b42fbc39c1ccc2373996f1441ce7707ea93 Author: Yi Zou <yi.zou@xxxxxxxxx> Date: Thu Aug 6 13:05:23 2009 +0000 ixgbe: Pass rx_ring directly in ixgbe_configure_srrctl() Instead of passing the register index of the corresponding rx_ring and find the way back to get to corresponding rx_ring in ixgbe_configure_srrctl(), simplify the function ixgbe_configure_srrctl() by passing the rx_ring into it. Then the register index for that rx_ring is already available from rx_ring->reg_idx. Signed-off-by: Yi Zou <yi.zou@xxxxxxxxx> Acked-by: Peter P Waskiewicz Jr <peter.p.waskiewicz.jr@xxxxxxxxx> Signed-off-by: Jeff Kirsher <jeffrey.t.kirsher@xxxxxxxxx> Signed-off-by: David S. Miller <davem@xxxxxxxxxxxxx> commit 876bfd4d0f18cd1f698249870c7e7fb944de1c26 Author: Herbert Xu <herbert@xxxxxxxxxxxxxxxxxxx> Date: Thu Aug 6 14:22:44 2009 +0000 tun: Extend RTNL lock coverage over whole ioctl As it is, parts of the ioctl runs under the RTNL and parts of it do not. The unlocked section is still protected by the BKL, but there can be subtle races. For example, Eric Biederman and Paul Moore observed that if two threads tried to create two tun devices on the same file descriptor, then unexpected results may occur. As there isn't anything in the ioctl that is expected to sleep indefinitely, we can prevent this from occurring by extending the RTNL lock coverage. This also allows to get rid of the BKL. Finally, I changed tun_get_iff to take a tun device in order to avoid calling tun_put which would dead-lock as it also tries to take the RTNL lock. Signed-off-by: Herbert Xu <herbert@xxxxxxxxxxxxxxxxxxx> Signed-off-by: David S. Miller <davem@xxxxxxxxxxxxx> commit 9555b31e8c29d2000e1e1f569f6f242ebd596e47 Author: Greg Ungerer <gerg@xxxxxxxxxxxx> Date: Thu Aug 6 17:58:18 2009 +0000 fec: fix FEC driver packet transmission breakage Commit f0b3fbeae11a526c3d308b691684589ee37c359b ("FEC Buffer rework") breaks transmission of packets where the skb data buffer is not memory aligned according to FEC_ALIGNMENT. It incorrectly passes to dma_sync_single() the buffer address directly from the skb, instead of the address calculated for use (which may be the skb address or one of the bounce buffers). It seems there is no use converting the cpu address of the buffer to a physical either, since dma_map_single() expects the cpu address and will return the dma address to use in the descriptor. So remove the use of __pa() on the buffer address as well. This patch is against 2.6.30-rc5. This breakage is a regression over 2.6.30, which does not have this problem. Signed-off-by: Greg Ungerer <gerg@xxxxxxxxxxx> Signed-off-by: David S. Miller <davem@xxxxxxxxxxxxx> commit e84b90ae5eb3c112d1f208964df1d8156a538289 Author: Eric Dumazet <eric.dumazet@xxxxxxxxx> Date: Thu Aug 6 20:27:04 2009 +0000 can: Fix raw_getname() leak raw_getname() can leak 10 bytes of kernel memory to user (two bytes hole between can_family and can_ifindex, 8 bytes at the end of sockaddr_can structure) Signed-off-by: Eric Dumazet <eric.dumazet@xxxxxxxxx> Acked-by: Oliver Hartkopp <oliver@xxxxxxxxxxxx> Signed-off-by: David S. Miller <davem@xxxxxxxxxxxxx> commit b79a79471bd31d737c939a6ddc347417047b4320 Author: Jussi Mäki <joamaki@xxxxxxxxx> Date: Thu Aug 6 21:38:14 2009 +0000 Fix xfrm hash collisions by changing __xfrm4_daddr_saddr_hash to hash addresses with addition This patch fixes hash collisions in cases where number of entries have incrementing IP source and destination addresses from single respective subnets (i.e. 192.168.0.1-172.16.0.1, 192.168.0.2-172.16.0.2, and so on.). Signed-off-by: Jussi Maki <joamaki@xxxxxxxxx> Signed-off-by: David S. Miller <davem@xxxxxxxxxxxxx> commit 082ba88a5e6b1425abed3fae4ad65e0e985ed081 Author: Roel Kluin <roel.kluin@xxxxxxxxx> Date: Thu Aug 6 13:06:56 2009 +0000 atlx: strncpy does not null terminate string strlcpy() will always null terminate the string. Signed-off-by: Roel Kluin <roel.kluin@xxxxxxxxx> Cc: Jay Cliburn <jcliburn@xxxxxxxxx> Cc: Chris Snook <csnook@xxxxxxxxxx> Cc: Jie Yang <jie.yang@xxxxxxxxxxx> Signed-off-by: Andrew Morton <akpm@xxxxxxxxxxxxxxxxxxxx> Signed-off-by: David S. Miller <davem@xxxxxxxxxxxxx> commit 5d5ceb8bdde403529ad9849f300dc80b1884550f Author: Roel Kluin <roel.kluin@xxxxxxxxx> Date: Thu Aug 6 13:06:03 2009 +0000 irda: fix read buffer overflow io[i] is read before the bounds check on i, order should be reversed. Signed-off-by: Roel Kluin <roel.kluin@xxxxxxxxx> Cc: Samuel Ortiz <samuel@xxxxxxxxxx> Signed-off-by: Andrew Morton <akpm@xxxxxxxxxxxxxxxxxxxx> Signed-off-by: David S. Miller <davem@xxxxxxxxxxxxx> commit cb2f33e9596632979c140c243ac1e8e994f62180 Author: Chris Snook <chris.snook@xxxxxxxxx> Date: Thu Aug 6 12:19:31 2009 +0000 MAINTAINERS: update atlx contact info Update MAINTAINERS to reflect my current (non-)affiliation. Anyone hiring? Signed-off-by: Chris Snook <chris.snook@xxxxxxxxx> Cc: Jay Cliburn <jcliburn@xxxxxxxxx> Cc: Jie Yang <jie.yang@xxxxxxxxxxx> Cc: "David S. Miller" <davem@xxxxxxxxxxxxx> Signed-off-by: Andrew Morton <akpm@xxxxxxxxxxxxxxxxxxxx> Signed-off-by: David S. Miller <davem@xxxxxxxxxxxxx> commit f222e8b40f2177b1c4cac015b117744c1d3fa3e9 Merge: 819ae6a389d4acfab9a7bb874fa1977aa464d14b f4b9a988685da6386d7f9a72df3098bcc3270526 Author: David S. Miller <davem@xxxxxxxxxxxxx> Date: Sun Aug 9 21:29:47 2009 -0700 Merge branch 'master' of /home/davem/src/GIT/linux-2.6/ commit 819ae6a389d4acfab9a7bb874fa1977aa464d14b Merge: 0d502d8267ebab9ae4b5b4c065d20196d6069f52 dd1f57ecaf9688efa69d982652ecfa3e64f1fa55 Author: David S. Miller <davem@xxxxxxxxxxxxx> Date: Sun Aug 9 20:47:39 2009 -0700 Merge branch 'master' of git://git.kernel.org/pub/scm/linux/kernel/git/linville/wireless-2.6 commit c8c00a6915a2e3d10416e8bdd3138429beb96210 Author: NeilBrown <neilb@xxxxxxx> Date: Mon Aug 10 12:50:52 2009 +1000 Remove deadlock potential in md_open A recent commit: commit 449aad3e25358812c43afc60918c5ad3819488e7 introduced the possibility of an A-B/B-A deadlock between bd_mutex and reconfig_mutex. __blkdev_get holds bd_mutex while calling md_open which takes reconfig_mutex, do_md_run is always called with reconfig_mutex held, and it now takes bd_mutex in the call the revalidate_disk. This potential deadlock was not caught by lockdep due to the use of mutex_lock_interruptible_nexted which was introduced by commit d63a5a74dee87883fda6b7d170244acaac5b05e8 do avoid a warning of an impossible deadlock. It is quite possible to split reconfig_mutex in to two locks. One protects the array data structures while it is being reconfigured, the other ensures that an array is never even partially open while it is being deactivated. In particular, the second lock prevents an open from completing between the time when do_md_stop checks if there are any active opens, and the time when the array is either set read-only, or when ->pers is set to NULL. So we can be certain that no IO is in flight as the array is being destroyed. So create a new lock, open_mutex, just to ensure exclusion between 'open' and 'stop'. This avoids the deadlock and also avoids the lockdep warning mentioned in commit d63a5a74d Reported-by: "Mike Snitzer" <snitzer@xxxxxxxxx> Reported-by: "H. Peter Anvin" <hpa@xxxxxxxxx> Signed-off-by: NeilBrown <neilb@xxxxxxx> commit f4b9a988685da6386d7f9a72df3098bcc3270526 Merge: 17d11ba14990d2bbaaec9c09a200b803679a968e 32bc4820287a1a03982979515949e8ea56eac641 Author: Linus Torvalds <torvalds@xxxxxxxxxxxxxxxxxxxx> Date: Sun Aug 9 14:58:34 2009 -0700 Merge branch 'for-linus' of git://git.infradead.org/ubi-2.6 * 'for-linus' of git://git.infradead.org/ubi-2.6: UBI: compatible fallback in absense of sequence numbers UBI: fix double free on error path commit 17d11ba14990d2bbaaec9c09a200b803679a968e Merge: fb1ee451e64a1c963a149aeccd9ef6a718f545e7 b4a2f5e723e4f7df46731106faf9e2405673c073 Author: Linus Torvalds <torvalds@xxxxxxxxxxxxxxxxxxxx> Date: Sun Aug 9 14:58:21 2009 -0700 Merge branch 'kvm-updates/2.6.31' of git://git.kernel.org/pub/scm/virt/kvm/kvm * 'kvm-updates/2.6.31' of git://git.kernel.org/pub/scm/virt/kvm/kvm: KVM: Avoid redelivery of edge interrupt before next edge KVM: MMU: limit rmap chain length KVM: ia64: fix build failures due to ia64/unsigned long mismatches KVM: Make KVM_HPAGES_PER_HPAGE unsigned long to avoid build error on powerpc KVM: fix ack not being delivered when msi present KVM: s390: fix wait_queue handling KVM: VMX: Fix locking imbalance on emulation failure KVM: VMX: Fix locking order in handle_invalid_guest_state KVM: MMU: handle n_free_mmu_pages > n_alloc_mmu_pages in kvm_mmu_change_mmu_pages KVM: SVM: force new asid on vcpu migration KVM: x86: verify MTRR/PAT validity KVM: PIT: fix kpit_elapsed division by zero KVM: Fix KVM_GET_MSR_INDEX_LIST commit fb1ee451e64a1c963a149aeccd9ef6a718f545e7 Merge: 2e9b11afdbfe17a9cc6356076179b7ea11972607 6cb504c29b1338925c83e4430e42a51eaa43781e Author: Linus Torvalds <torvalds@xxxxxxxxxxxxxxxxxxxx> Date: Sun Aug 9 14:58:09 2009 -0700 Merge branch 'drm-fixes' of git://git.kernel.org/pub/scm/linux/kernel/git/airlied/drm-2.6 * 'drm-fixes' of git://git.kernel.org/pub/scm/linux/kernel/git/airlied/drm-2.6: drm/i915: silence vblank warnings drm: silence pointless vblank warning. drm: When adding probed modes, preserve duplicate mode types commit 2e9b11afdbfe17a9cc6356076179b7ea11972607 Merge: 95d0ad049cd6937634c0a75f9518f5166daabfce 17d42c1c497aa54952b9e58c1502a46f0df40315 Author: Linus Torvalds <torvalds@xxxxxxxxxxxxxxxxxxxx> Date: Sun Aug 9 14:57:41 2009 -0700 Merge branch 'timers-fixes-for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/tip/linux-2.6-tip * 'timers-fixes-for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/tip/linux-2.6-tip: posix_cpu_timers_exit_group(): Do not use thread_group_cputimer() commit 95d0ad049cd6937634c0a75f9518f5166daabfce Merge: 413dd8768ada25adbf53284696b71de7e7844969 f413cdb80ce00ec1a4d0ab949b5d96c81cae7f75 Author: Linus Torvalds <torvalds@xxxxxxxxxxxxxxxxxxxx> Date: Sun Aug 9 14:57:26 2009 -0700 Merge branch 'tracing-fixes-for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/tip/linux-2.6-tip * 'tracing-fixes-for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/tip/linux-2.6-tip: perf_counter: Fix/complete ftrace event records sampling perf_counter, ftrace: Fix perf_counter integration tracing/filters: Always free pred on filter_add_subsystem_pred() failure tracing/filters: Don't use pred on alloc failure ring-buffer: Fix memleak in ring_buffer_free() tracing: Fix recordmcount.pl to handle sections with only weak functions ring-buffer: Fix advance of reader in rb_buffer_peek() tracing: do not use functions starting with .L in recordmcount.pl ring-buffer: do not disable ring buffer on oops_in_progress ring-buffer: fix check of try_to_discard result commit 413dd8768ada25adbf53284696b71de7e7844969 Merge: 713e3e1875749f341247a0c922e6ddd38fbd991c fdb8a42742ac95606668f73481dfb2f760658fdd Author: Linus Torvalds <torvalds@xxxxxxxxxxxxxxxxxxxx> Date: Sun Aug 9 14:57:09 2009 -0700 Merge branch 'x86-fixes-for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/tip/linux-2.6-tip * 'x86-fixes-for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/tip/linux-2.6-tip: x86: fix buffer overflow in efi_init() x86: Add quirk to make Apple MacBookPro5,1 use reboot=pci x86: Fix MSI-X initialization by using online_mask for x2apic target_cpus x86: Fix VMI && stack protector commit 713e3e1875749f341247a0c922e6ddd38fbd991c Merge: 7b2aa037e878c939676675969983284a02958ae3 0e692a94e378628b7d527260ad939894454bcca8 Author: Linus Torvalds <torvalds@xxxxxxxxxxxxxxxxxxxx> Date: Sun Aug 9 14:56:51 2009 -0700 Merge branch 'core-fixes-for-linus-2' of git://git.kernel.org/pub/scm/linux/kernel/git/tip/linux-2.6-tip * 'core-fixes-for-linus-2' of git://git.kernel.org/pub/scm/linux/kernel/git/tip/linux-2.6-tip: lockdep: Fix typos in documentation lockdep: Fix file mode of lock_stat rtmutex: Avoid deadlock in rt_mutex_start_proxy_lock() commit c0a8865e32c8d1a562db38e06ef31ef23282f646 Author: Frederic Weisbecker <fweisbec@xxxxxxxxx> Date: Sun Aug 9 04:19:15 2009 +0200 perf tools: callchain: Fix bad rounding of minimum rate Sometimes we get callchain branches that have a rate under the limit given by the user. Say you launched: perf record -f -g -a ./hackbench 10 perf report -g fractal,10.0 And you got: 2.33% hackbench [kernel] [k] _spin_lock_irqsave | |--78.57%-- remove_wait_queue | poll_freewait | do_sys_poll | sys_poll | sysenter_dispatch | 0xf7ffa430 | 0x1ffadea3c | |--7.14%-- __up_read | up_read | do_page_fault | page_fault | 0xf7ffa430 | 0xa0df710000000a ... It is abnormal to get a 7.14% branch whereas we passed a 10% filter. The problem is that we round down the minimum threshold. This happens mostly when we have very low number of events. If the total amount of your branch is 4 and you have a subranch of 3 events, filtering to 90% will be computed like follows: limit = 4 * 0.9; The result is about 3.6, but the cast to integer will round down to 3. It means that our filter is actually of 75% We must then explicitly round up the minimum threshold. Reported-by: Ingo Molnar <mingo@xxxxxxx> Signed-off-by: Frederic Weisbecker <fweisbec@xxxxxxxxx> Cc: acme@xxxxxxxxxx Cc: peterz@xxxxxxxxxxxxx Cc: efault@xxxxxx LKML-Reference: <20090809024235.GA10146@nowhere> Signed-off-by: Ingo Molnar <mingo@xxxxxxx> commit 183f3b0887083d36c8a25cd5e3518906415d1889 Author: Mike Galbraith <efault@xxxxxx> Date: Sat Aug 8 14:14:15 2009 +0200 perf_counter tools: Fix libbfd detection for systems with libz dependency Due to a libz dependency in some distro's binutils package, C++ demangle support isn't compiled in despite the necessary libraries being available. Fix this by adding a -lz link test to the dependency detection rules. Signed-off-by: Mike Galbraith <efault@xxxxxx> Acked-by: Peter Zijlstra <a.p.zijlstra@xxxxxxxxx> LKML-Reference: <1249733655.6929.5.camel@xxxxxxxxxxxxxxxx> Signed-off-by: Ingo Molnar <mingo@xxxxxxx> commit c24b513337f06712b8c81eb4f1413d44591dfee7 Author: Carlos R. Mafra <crmafra2@xxxxxxxxx> Date: Wed Aug 5 20:53:34 2009 +0200 perf: "Longum est iter per praecepta, breve et efficax per exempla" A few examples of how 'perf' can be used, from an e-mail by Ingo Molnar http://lkml.org/lkml/2009/8/4/346. Signed-off-by: Carlos R. Mafra <crmafra2@xxxxxxxxx> Cc: Peter Zijlstra <a.p.zijlstra@xxxxxxxxx> Cc: Valdis.Kletnieks@xxxxxx LKML-Reference: <20090805185334.GA4535@xxxxxxxxxxxxxxxx> Signed-off-by: Ingo Molnar <mingo@xxxxxxx> commit 3a80b4a3539696f4b0574876326860323035a302 Author: Peter Zijlstra <a.p.zijlstra@xxxxxxxxx> Date: Fri Aug 7 19:49:01 2009 +0200 perf_counter: Fix a race on perf_counter_ctx While extending perfcounters with BTS hw-tracing, Markus Metzger managed to trigger this warning: [ 995.557128] WARNING: at kernel/perf_counter.c:1191 __perf_counter_task_sched_out+0x48/0x6b() triggers because commit 9f498cc5be7e013d8d6e4c616980ed0ffc8680d2 (perf_counter: Full task tracing) removed clearing of tsk->perf_counter_ctxp out from under ctx->lock which introduced a race (against perf_lock_task_context). Move it back and deal with the exit notification by explicitly passing along the former task context. Reported-by: Markus T Metzger <markus.t.metzger@xxxxxxxxx> Signed-off-by: Peter Zijlstra <a.p.zijlstra@xxxxxxxxx> Cc: Paul Mackerras <paulus@xxxxxxxxx> LKML-Reference: <1249667341.17467.5.camel@twins> Signed-off-by: Ingo Molnar <mingo@xxxxxxx> commit 3a43ce68ae1758fa6a839386025ef45acb6baa22 Author: Frederic Weisbecker <fweisbec@xxxxxxxxx> Date: Sat Aug 8 04:26:37 2009 +0200 perf_counter: Fix tracepoint sampling to be part of generic sampling Based on Peter's comments, make tracepoint sampling generic just like all the other sampling bits are. This is a rename with no code changes: - PERF_SAMPLE_TP_RECORD to PERF_SAMPLE_RAW - struct perf_tracepoint_record to perf_raw_record We want the system in place that transport tracepoints raw samples events into the perf ring buffer to be generalized and usable by any type of counter. Reported-by; Peter Zijlstra <peterz@xxxxxxxxxxxxx> Signed-off-by: Frederic Weisbecker <fweisbec@xxxxxxxxx> Cc: Peter Zijlstra <peterz@xxxxxxxxxxxxx> Cc: Arnaldo Carvalho de Melo <acme@xxxxxxxxxx> Cc: Mike Galbraith <efault@xxxxxx> Cc: Paul Mackerras <paulus@xxxxxxxxx> LKML-Reference: <1249698400-5441-4-git-send-email-fweisbec@xxxxxxxxx> Signed-off-by: Ingo Molnar <mingo@xxxxxxx> commit 10b8e3066066708f304e0fc5cfe658e05abf943d Author: Frederic Weisbecker <fweisbec@xxxxxxxxx> Date: Sat Aug 8 04:26:35 2009 +0200 perf_counter: Work around gcc warning by initializing tracepoint record unconditionally Despite that the tracepoint record is always present when the PERF_SAMPLE_TP_RECORD flag is set, gcc raises a warning, thinking it might not be initialized: kernel/perf_counter.c: In function â??perf_counter_outputâ??: kernel/perf_counter.c:2650: warning: â??tpâ?? may be used uninitialized in this function Then, initialize it to NULL and always check if it's not NULL before dereference it. Reported-by: Ingo Molnar <mingo@xxxxxxx> Signed-off-by: Frederic Weisbecker <fweisbec@xxxxxxxxx> Cc: Peter Zijlstra <peterz@xxxxxxxxxxxxx> Cc: Arnaldo Carvalho de Melo <acme@xxxxxxxxxx> Cc: Mike Galbraith <efault@xxxxxx> Cc: Paul Mackerras <paulus@xxxxxxxxx> LKML-Reference: <1249698400-5441-2-git-send-email-fweisbec@xxxxxxxxx> Signed-off-by: Ingo Molnar <mingo@xxxxxxx> commit 25446036cbfc2c89faacdb4fb4603943d2197dc6 Author: Frederic Weisbecker <fweisbec@xxxxxxxxx> Date: Sat Aug 8 02:16:25 2009 +0200 perf tools: callchain: Fix sum of percentages to be 100% by displaying amount of ignored chains in fractal mode When we filter the callchains below a given percentage, we ignore them and the end result only shows entries that have an upper percentage than the filter threshold. It seems to users then that we have an imbalance in the percentage, as if the sum inside a profiled branch doesn't reach 100%. Since in the past there have been real perf report bugs that showed the same sypmtom, it would be nice to assure the user that the data is perfect and trustable and it all sums up to 100.00%. So fix this by displaying the remaining hits that have been filtered but without more detail than their amount in each branches. Example while filtering below 50%: 7.73% [k] delay_tsc | |--98.22%-- __const_udelay | | | |--86.37%-- ath5k_hw_register_timeout | | ath5k_hw_noise_floor_calibration | | ath5k_hw_reset | | ath5k_reset | | ath5k_config | | ieee80211_hw_config | | | | | |--88.53%-- ieee80211_scan_work | | | worker_thread | | | kthread | | | child_rip | | --11.47%-- [...] | --13.63%-- [...] --1.78%-- [...] Reported-by: Ingo Molnar <mingo@xxxxxxx> Signed-off-by: Frederic Weisbecker <fweisbec@xxxxxxxxx> Cc: Peter Zijlstra <peterz@xxxxxxxxxxxxx> Cc: Arnaldo Carvalho de Melo <acme@xxxxxxxxxx> Cc: Mike Galbraith <efault@xxxxxx> LKML-Reference: <1249690585-9145-4-git-send-email-fweisbec@xxxxxxxxx> Signed-off-by: Ingo Molnar <mingo@xxxxxxx> commit b1a88349c37624755b28ac3b3152b48f52c1f487 Author: Frederic Weisbecker <fweisbec@xxxxxxxxx> Date: Sat Aug 8 02:16:24 2009 +0200 perf tools: callchain: Fix 'perf report' display to be callchain by default If we recorded with -g option to record the callchain, right now we require a -g option to perf report as well - and people reported this as unnecessary complication: the user already specified -g once, no need to require it a second time. So if the recording includes call-chains, display the callchain by default from perf report. ( The user can override this default using "-g none" option from perf report. ) Reported-by: Ingo Molnar <mingo@xxxxxxx> Signed-off-by: Frederic Weisbecker <fweisbec@xxxxxxxxx> Cc: Peter Zijlstra <peterz@xxxxxxxxxxxxx> Cc: Arnaldo Carvalho de Melo <acme@xxxxxxxxxx> Cc: Mike Galbraith <efault@xxxxxx> LKML-Reference: <1249690585-9145-3-git-send-email-fweisbec@xxxxxxxxx> Signed-off-by: Ingo Molnar <mingo@xxxxxxx> commit b0efe213f84f7fd5ccfe07053e3d9fb827b7c188 Author: Frederic Weisbecker <fweisbec@xxxxxxxxx> Date: Sat Aug 8 02:16:23 2009 +0200 perf tools: callchain: Fix spurious 'perf report' warnings: ignore empty callchains When the callchain tree comes to insert an empty backtrace, it raises a spurious warning about the fact we are inserting an empty. This is spurious because the radix tree assumes it did something wrong to reach this state. But it didn't, we just met an empty callchain that has to be ignored. This happens occasionally with certain types of call-chain recordings. If it happens it's a big nuisance as perf report output starts with thousands of warning lines. Reported-by: Ingo Molnar <mingo@xxxxxxx> Signed-off-by: Frederic Weisbecker <fweisbec@xxxxxxxxx> Cc: Peter Zijlstra <peterz@xxxxxxxxxxxxx> Cc: Arnaldo Carvalho de Melo <acme@xxxxxxxxxx> Cc: Mike Galbraith <efault@xxxxxx> LKML-Reference: <1249690585-9145-2-git-send-email-fweisbec@xxxxxxxxx> Signed-off-by: Ingo Molnar <mingo@xxxxxxx> commit 266e0e219888420a1a7cafc82e82891cf7b5a979 Author: Pierre Habouzit <pierre.habouzit@xxxxxxxxxxxx> Date: Fri Aug 7 14:16:01 2009 +0200 perf record: Fix the -A UI for empty or non-existent perf.data 1. Ignore the -A argument if there is no perf.data file 2. Treat an empty file like a non existent file. Else, perf will try to read the perf.data header, and fail with an error. Treating an empty file like a non-existent file makes sense, since an interupted (as in SIGKILLed) perf could leave such files around, and you don't want to annoy the user with errors for files with no data in it. Signed-off-by: Pierre Habouzit <pierre.habouzit@xxxxxxxxxxxx> Acked-by: Peter Zijlstra <a.p.zijlstra@xxxxxxxxx> Cc: Paul Mackerras <paulus@xxxxxxxxx> Signed-off-by: Ingo Molnar <mingo@xxxxxxx> commit 7eac7e9e726c1b136bd7e0ad6671ce315f48bb18 Author: Pierre Habouzit <pierre.habouzit@xxxxxxxxxxxx> Date: Fri Aug 7 14:16:00 2009 +0200 perf util: Fix do_read() to fail on EOF instead of busy-looping While toying with perf, I've noticed that perf record can easily enter a busy loop when doing something as silly as: $ perf record -A ls Yeah, do_read here really wants to read a known size, not being able to should die(), not busy-loop ;) That was the cause for the bug. Signed-off-by: Pierre Habouzit <pierre.habouzit@xxxxxxxxxxxx> Acked-by: Peter Zijlstra <a.p.zijlstra@xxxxxxxxx> Cc: Paul Mackerras <paulus@xxxxxxxxx> Signed-off-by: Ingo Molnar <mingo@xxxxxxx> commit ae07b63f4b6728e1f98aa5c5416cfc1280f59f51 Author: Peter Zijlstra <peterz@xxxxxxxxxxxxx> Date: Thu Aug 6 16:48:54 2009 +0200 perf list: Fix the output to not include tracepoints without an id Stop perf list from displaying tracepoints without an id file, those are special tracepoints that are not interfaced to perfcounters so listing them is erroneous and passing them as events will produce no output. Signed-off-by: Peter Zijlstra <a.p.zijlstra@xxxxxxxxx> Acked-by: Jason Baron <jbaron@xxxxxxxxxx> Cc: Steven Rostedt <rostedt@xxxxxxxxxxx> Cc: Chris Mason <chris.mason@xxxxxxxxxx> Signed-off-by: Ingo Molnar <mingo@xxxxxxx> commit f36a1a133a947973efb8e6a1fbdcc23e4a011437 Author: Paul Mackerras <paulus@xxxxxxxxx> Date: Fri Aug 7 16:59:45 2009 +1000 perf_counter/powerpc: Fix oops on cpus without perf_counter hardware support If we have the powerpc perf_counter backend compiled in, but the cpu we are running on is one where we don't support the PMU, we currently oops in hw_perf_group_sched_in if we try to use any counters, because ppmu is NULL in that case, and we unconditionally dereference ppmu. This fixes the problem by adding a check if ppmu is NULL at the beginning of hw_perf_group_sched_in, and also at the beginning of the other functions that get called from the perf_counter core, i.e. hw_perf_disable, hw_perf_enable, and hw_perf_counter_setup. Signed-off-by: Paul Mackerras <paulus@xxxxxxxxx> Cc: Peter Zijlstra <a.p.zijlstra@xxxxxxxxx> Cc: benh@xxxxxxxxxxxxxxxxxxx Signed-off-by: Ingo Molnar <mingo@xxxxxxx> commit b26bc5a7f81474937e427b0c855eabee5ad56f89 Author: Brice Goglin <Brice.Goglin@xxxxxxxx> Date: Fri Aug 7 10:18:39 2009 +0200 perf stat: Fix tool option consistency: rename -S/--scale to -c/--scale We want to use a coherent flag for -S/--stat across all tools, so free up -S in perf stat. Signed-off-by: Brice Goglin <Brice.Goglin@xxxxxxxx> Cc: Peter Zijlstra <a.p.zijlstra@xxxxxxxxx> Cc: paulus@xxxxxxxxx Signed-off-by: Ingo Molnar <mingo@xxxxxxx> commit 94cb9e385d5b4d55a5ae389baa10ad2835ea39bb Author: Arnaldo Carvalho de Melo <acme@xxxxxxxxxx> Date: Thu Aug 6 14:43:17 2009 -0300 perf report: Add debug help for the finding of symbol bugs - show the symtab origin (DSO, build-id, kernel, etc) Used with perf report --verbose: [acme@doppio linux-2.6-tip]$ perf report -v | head -16 5.17% firefox /usr/lib64/xulrunner-1.9.1/libxul.so 0x00000000005d8eee f [.] imgContainer::DrawFrameTo(gfxIImageFrame*, gfxIImageFrame*, nsRect&) 2.56% firefox /lib64/libpthread-2.10.1.so 0x0000000000008e02 d [.] __pthread_mutex_lock_internal 1.94% firefox /usr/lib64/xulrunner-1.9.1/libxul.so 0x0000000000d0af8f f [.] SearchTable 1.75% firefox [kernel] 0xffffffffff60013b k [.] vread_hpet 1.63% firefox /lib64/libpthread-2.10.1.so 0x000000000000a404 d [.] __pthread_mutex_unlock 1.47% firefox /usr/lib64/xulrunner-1.9.1/libmozjs.so 0x00000000000482ea f [.] js_Interpret 1.42% firefox /usr/lib64/xulrunner-1.9.1/libmozjs.so 0x000000000003eda3 f [.] JS_CallTracer 1.24% firefox [kernel] 0xffffffff8102ca4a k [k] read_hpet 1.16% firefox [kernel] 0xffffffff810f3dd4 k [k] fget_light 1.11% firefox /usr/lib64/xulrunner-1.9.1/libmozjs.so 0x00000000000567ff f [.] js_TraceObject 0.98% firefox /usr/lib64/firefox-3.5.2/firefox 0x000000000000dd23 b [.] arena_ralloc [acme@doppio linux-2.6-tip]$ The new field is just after the symbol address. To help in figuring out symbol resolution bugs. Signed-off-by: Arnaldo Carvalho de Melo <acme@xxxxxxxxxx> Acked-by: Peter Zijlstra <peterz@xxxxxxxxxxxxx> Signed-off-by: Ingo Molnar <mingo@xxxxxxx> commit 8f18aec535b5ca513dd13b531730177d35175ffa Author: Peter Zijlstra <a.p.zijlstra@xxxxxxxxx> Date: Thu Aug 6 19:40:28 2009 +0200 perf report: Fix per task mult-counter stat reporting Brice Goglin reported: > I can easily sort them by thread id, but I don't know how to match > my 4 events with each group of 4 lines. Also report the counter id and the time running/enabled stats (in case the counter got time-shared). Reported-by: Brice Goglin <Brice.Goglin@xxxxxxxx> Signed-off-by: Peter Zijlstra <a.p.zijlstra@xxxxxxxxx> Tested-by: Brice Goglin <Brice.Goglin@xxxxxxxx> Signed-off-by: Ingo Molnar <mingo@xxxxxxx> commit 1c222bce7dd0cb9578b4c5cd3874a74f1db497c3 Author: Peter Zijlstra <a.p.zijlstra@xxxxxxxxx> Date: Thu Aug 6 20:57:41 2009 +0200 perf tools: Fix multi-counter stat bug caused by incorrect reading of perf.data file header Brice Goglin reported that only the first result from a multi-counter perf record --stat run is accurate, the rest looks bogus. A silly mistake made us re-read the first attribute for every recorded attribute. Reported-by: Brice Goglin <Brice.Goglin@xxxxxxxx> Signed-off-by: Peter Zijlstra <a.p.zijlstra@xxxxxxxxx> Tested-by: Brice Goglin <Brice.Goglin@xxxxxxxx> Cc: paulus@xxxxxxxxx Signed-off-by: Ingo Molnar <mingo@xxxxxxx> commit 1953287bfe8afcbbd235bd6c42c9df06d52438dc Author: Frederic Weisbecker <fweisbec@xxxxxxxxx> Date: Fri Aug 7 07:11:05 2009 +0200 perf tools: Fix call-chain cumul hit based sub-total (fractal mode) The callchain fractal mode builds each new total hits in a new branch of profiling by using the parent's hits of the current branch plus the hits of the children. This is wrong, the total hits of a branch should be made of the sum of every children hits, we must ignore the parent hits in this scope. This patch also fixes another mistake with the hit counting. Now the rates are correct. Signed-off-by: Frederic Weisbecker <fweisbec@xxxxxxxxx> Cc: Frederic Weisbecker <fweisbec@xxxxxxxxx> Cc: Peter Zijlstra <peterz@xxxxxxxxxxxxx> Cc: Arnaldo Carvalho de Melo <acme@xxxxxxxxxx> Cc: Mike Galbraith <efault@xxxxxx> Cc: Pekka Enberg <penberg@xxxxxxxxxxxxxx> Signed-off-by: Ingo Molnar <mingo@xxxxxxx> commit 836179834833272f89098c6d1e1b89e8e69797c2 Author: Mike Galbraith <efault@xxxxxx> Date: Tue Aug 4 10:24:41 2009 +0200 perf top: Update man page perf_counter tools: update perf top manual page to reflect current implementation. Signed-off-by: Mike Galbraith <efault@xxxxxx> Cc: Peter Zijlstra <a.p.zijlstra@xxxxxxxxx> Signed-off-by: Ingo Molnar <mingo@xxxxxxx> commit 091bd2e993fcb1094a23e36157285b62bc87afdf Author: Mike Galbraith <efault@xxxxxx> Date: Tue Aug 4 10:21:23 2009 +0200 perf top: Improve interactive key handling Pressing any key which is not currently mapped to functionality, based on startup command line options, displays currently mapped keys, and prompts for input. Pressing any unmapped key at the prompt returns the user to display mode with variables unchanged. eg, pressing ? <SPACE> <ESC> etc displays currently available keys, the value of the variable associated with that key, and prompts. Pressing same again aborts input. Signed-off-by: Mike Galbraith <efault@xxxxxx> Cc: Peter Zijlstra <a.p.zijlstra@xxxxxxxxx> Signed-off-by: Ingo Molnar <mingo@xxxxxxx> commit 7b4b6658e152ed4568cfff48175d93645df081d1 Author: Peter Zijlstra <a.p.zijlstra@xxxxxxxxx> Date: Wed Jul 22 09:29:32 2009 +0200 perf_counter: Fix software counters for fast moving event sources Reimplement the software counters to deal with fast moving event sources (such as tracepoints). This means being able to generate multiple overflows from a single 'event' as well as support throttling. Signed-off-by: Peter Zijlstra <a.p.zijlstra@xxxxxxxxx> Cc: Paul Mackerras <paulus@xxxxxxxxx> Signed-off-by: Ingo Molnar <mingo@xxxxxxx> commit 46ab976443c6c566c8fe6fc72a6733a55ba9fbea Author: Mike Galbraith <efault@xxxxxx> Date: Fri Jul 24 10:09:50 2009 +0200 perf_counter tools: Allow perf top top users to switch between weighted and individual counter display Add [w]eighted hotkey. Pressing [w] toggles between displaying weighted total of all counters, and the counter selected via [E]vent select key. ------------------------------------------------------------------------------ PerfTop: 90395 irqs/sec kernel:16.1% [cache-misses/cache-references/instructions], (all, 4 CPUs) ------------------------------------------------------------------------------ weight samples pcnt RIP kernel function ______ _______ _____ ________________ _______________ 1275408.6 10881 - 5.3% - ffffffff81146f70 : copy_page_c 553683.4 43569 - 21.3% - ffffffff81146f20 : clear_page_c 74075.0 6768 - 3.3% - ffffffff81147190 : copy_user_generic_string 40602.9 7538 - 3.7% - ffffffff81284ba2 : _spin_lock 26882.1 965 - 0.5% - ffffffff8109d280 : file_ra_state_init [w] ------------------------------------------------------------------------------ PerfTop: 91221 irqs/sec kernel:14.5% [10000Hz cache-misses], (all, 4 CPUs) ------------------------------------------------------------------------------ weight samples pcnt RIP kernel function ______ _______ _____ ________________ _______________ 47320.00 - 22.3% - ffffffff81146f20 : clear_page_c 14261.00 - 6.7% - ffffffff810992f5 : __rmqueue 11046.00 - 5.2% - ffffffff81146f70 : copy_page_c 7842.00 - 3.7% - ffffffff81284ba2 : _spin_lock 7234.00 - 3.4% - ffffffff810aa1d6 : unmap_vmas Signed-off-by: Mike Galbraith <efault@xxxxxx> Signed-off-by: Peter Zijlstra <a.p.zijlstra@xxxxxxxxx> Signed-off-by: Ingo Molnar <mingo@xxxxxxx> commit 923c42c19944da214d697e312a040384a0e33e78 Author: Mike Galbraith <efault@xxxxxx> Date: Wed Jul 22 20:36:03 2009 +0200 perf_counter tools: Fix/resurrect perf top annotation in a simple interactive form perf top used to have annotation support, but it has bitrotted and removed. This patch restores that: it allows the user to select any symbol in kernel space for source level annotation on the fly, switch between event counters and alter display variables. When symbol details are being displayed, stopping annotation reverts to normal. known keys: [d] select display delay. [e] select display entries (lines). [E] select annotation event counter. [f] select normal display count filter. [F] select annotation display count filter (percentage). [qQ] quit. [s] select annotation symbol and start annotation. [S] stop annotation, revert to normal display. [z] toggle event count zeroing. Sample: ------------------------------------------------------------------------------ PerfTop: 16719 irqs/sec kernel:78.7% [cache-misses/cache-references/instructions/cycles], (all, 4 CPUs) ------------------------------------------------------------------------------ Showing cache-misses for e1000_clean_rx_irq Events Pcnt (>=3%) 0 0.0% /* adjust length to remove Ethernet CRC */ 0 0.0% if (!(adapter->flags2 & FLAG2_CRC_STRIPPING)) 0 0.0% length -= 4; 436 5.0% f039: 41 f6 84 24 5c 29 00 testb $0x1,0x295c(%r12) 0 0.0% f089: 8b 4d 84 mov -0x7c(%rbp),%ecx 0 0.0% f08c: 48 83 ef 02 sub $0x2,%rdi 0 0.0% f090: 48 83 ee 02 sub $0x2,%rsi 811 9.3% f094: f3 a4 rep movsb %ds:(%rsi),%es:(%rdi) 0 0.0% 0 0.0% while (rx_desc->status & E1000_RXD_STAT_DD) { 0 0.0% f114: 41 f6 47 0c 01 testb $0x1,0xc(%r15) 7226 82.6% f119: 0f 85 24 fe ff ff jne ef43 <e1000_clean_rx_irq+0x84> Available events: 0 cache-misses 1 cache-references 2 instructions 3 cycles Enter details event counter: 2 ------------------------------------------------------------------------------ PerfTop: 15035 irqs/sec kernel:79.0% [cache-misses/cache-references/instructions/cycles], (all, 4 CPUs) ------------------------------------------------------------------------------ Showing instructions for e1000_clean_rx_irq Events Pcnt (>=3%) 0 0.0% int *work_done, int work_to_do) 0 0.0% { 175 0.9% eebf: 55 push %rbp 1898 9.8% eec0: 48 89 e5 mov %rsp,%rbp 0 0.0% 0 0.0% i = rx_ring->next_to_clean; 140 0.7% ef0a: 0f b7 41 1a movzwl 0x1a(%rcx),%eax 670 3.4% ef0e: 89 45 ac mov %eax,-0x54(%rbp) 0 0.0% { 0 0.0% memcpy(skb->data + offset, from, len); 91 0.5% f07b: 49 8b b6 e8 00 00 00 mov 0xe8(%r14),%rsi 1153 5.9% f082: 48 8b b8 e8 00 00 00 mov 0xe8(%rax),%rdi 42 0.2% f089: 8b 4d 84 mov -0x7c(%rbp),%ecx 14 0.1% f08c: 48 83 ef 02 sub $0x2,%rdi 0 0.0% f090: 48 83 ee 02 sub $0x2,%rsi 1618 8.3% f094: f3 a4 rep movsb %ds:(%rsi),%es:(%rdi) 0 0.0% 0 0.0% /* return some buffers to hardware, one at a time is too slow */ 0 0.0% if (cleaned_count >= E1000_RX_BUFFER_WRITE) { 867 4.5% f0e7: 83 7d b0 0f cmpl $0xf,-0x50(%rbp) 0 0.0% 0 0.0% while (rx_desc->status & E1000_RXD_STAT_DD) { 37 0.2% f114: 41 f6 47 0c 01 testb $0x1,0xc(%r15) 4047 20.8% f119: 0f 85 24 fe ff ff jne ef43 <e1000_clean_rx_irq+0x84> Signed-off-by: Mike Galbraith <efault@xxxxxx> Signed-off-by: Peter Zijlstra <a.p.zijlstra@xxxxxxxxx> Cc: Paul Mackerras <paulus@xxxxxxxxx> Signed-off-by: Ingo Molnar <mingo@xxxxxxx> commit f413cdb80ce00ec1a4d0ab949b5d96c81cae7f75 Author: Frederic Weisbecker <fweisbec@xxxxxxxxx> Date: Fri Aug 7 01:25:54 2009 +0200 perf_counter: Fix/complete ftrace event records sampling This patch implements the kernel side support for ftrace event record sampling. A new counter sampling attribute is added: PERF_SAMPLE_TP_RECORD which requests ftrace events record sampling. In this case if a PERF_TYPE_TRACEPOINT counter is active and a tracepoint fires, we emit the tracepoint binary record to the perfcounter event buffer, as a sample. Result, after setting PERF_SAMPLE_TP_RECORD attribute from perf record: perf record -f -F 1 -a -e workqueue:workqueue_execution perf report -D 0x21e18 [0x48]: event: 9 . . ... raw event: size 72 bytes . 0000: 09 00 00 00 01 00 48 00 d0 c7 00 81 ff ff ff ff ......H........ . 0010: 0a 00 00 00 0a 00 00 00 21 00 00 00 00 00 00 00 ........!...... . 0020: 2b 00 01 02 0a 00 00 00 0a 00 00 00 65 76 65 6e +...........eve . 0030: 74 73 2f 31 00 00 00 00 00 00 00 00 0a 00 00 00 ts/1........... . 0040: e0 b1 31 81 ff ff ff ff ....... . 0x21e18 [0x48]: PERF_EVENT_SAMPLE (IP, 1): 10: 0xffffffff8100c7d0 period: 33 The raw ftrace binary record starts at offset 0020. Translation: struct trace_entry { type = 0x2b = 43; flags = 1; preempt_count = 2; pid = 0xa = 10; tgid = 0xa = 10; } thread_comm = "events/1" thread_pid = 0xa = 10; func = 0xffffffff8131b1e0 = flush_to_ldisc() What will come next? - Userspace support ('perf trace'), 'flight data recorder' mode for perf trace, etc. - The unconditional copy from the profiling callback brings some costs however if someone wants no such sampling to occur, and needs to be fixed in the future. For that we need to have an instant access to the perf counter attribute. This is a matter of a flag to add in the struct ftrace_event. - Take care of the events recursivity! Don't ever try to record a lock event for example, it seems some locking is used in the profiling fast path and lead to a tracing recursivity. That will be fixed using raw spinlock or recursivity protection. - [...] - Profit! :-) Signed-off-by: Frederic Weisbecker <fweisbec@xxxxxxxxx> Cc: Li Zefan <lizf@xxxxxxxxxxxxxx> Cc: Tom Zanussi <tzanussi@xxxxxxxxx> Cc: Arnaldo Carvalho de Melo <acme@xxxxxxxxxx> Cc: Peter Zijlstra <a.p.zijlstra@xxxxxxxxx> Cc: Mike Galbraith <efault@xxxxxx> Cc: Steven Rostedt <rostedt@xxxxxxxxxxx> Cc: Paul Mackerras <paulus@xxxxxxxxx> Cc: Pekka Enberg <penberg@xxxxxxxxxxxxxx> Cc: Gabriel Munteanu <eduard.munteanu@xxxxxxxxxxx> Cc: Lai Jiangshan <laijs@xxxxxxxxxxxxxx> Signed-off-by: Ingo Molnar <mingo@xxxxxxx> commit 3a6593050fbd8bbcaed3a44d01c31d907315c86c Author: Peter Zijlstra <a.p.zijlstra@xxxxxxxxx> Date: Tue Jul 21 17:34:57 2009 +0200 perf_counter, ftrace: Fix perf_counter integration Adds possible second part to the assign argument of TP_EVENT(). TP_perf_assign( __perf_count(foo); __perf_addr(bar); ) Which, when specified make the swcounter increment with @foo instead of the usual 1, and report @bar for PERF_SAMPLE_ADDR (data address associated with the event) when this triggers a counter overflow. Signed-off-by: Peter Zijlstra <a.p.zijlstra@xxxxxxxxx> Acked-by: Steven Rostedt <rostedt@xxxxxxxxxxx> Cc: Frederic Weisbecker <fweisbec@xxxxxxxxx> Cc: Jason Baron <jbaron@xxxxxxxxxx> Cc: Paul Mackerras <paulus@xxxxxxxxx> Signed-off-by: Ingo Molnar <mingo@xxxxxxx> commit e3560336be655c6791316482fe288b119f34c427 Merge: 26528e773ecc74fb1b61b7275f86f761cbb340ec 7b2aa037e878c939676675969983284a02958ae3 Author: Ingo Molnar <mingo@xxxxxxx> Date: Sun Aug 9 12:46:45 2009 +0200 Merge branch 'linus' into tracing/urgent Merge reason: Merge up to almost-rc6 to pick up latest perfcounters (on which we'll queue up a dependent fix) Signed-off-by: Ingo Molnar <mingo@xxxxxxx> commit b4a2f5e723e4f7df46731106faf9e2405673c073 Author: Gleb Natapov <gleb@xxxxxxxxxx> Date: Sun Jul 5 18:48:11 2009 +0300 KVM: Avoid redelivery of edge interrupt before next edge The check for an edge is broken in current ioapic code. ioapic->irr is cleared on each edge interrupt by ioapic_service() and this makes old_irr != ioapic->irr condition in kvm_ioapic_set_irq() to be always true. The patch fixes the code to properly recognise edge. Some HW emulation calls set_irq() without level change. If each such call is propagated to an OS it may confuse a device driver. This is the case with keyboard device emulation and Windows XP x64 installer on SMP VM. Each keystroke produce two interrupts (down/up) one interrupt is submitted to CPU0 and another to CPU1. This confuses Windows somehow and it ignores keystrokes. Signed-off-by: Gleb Natapov <gleb@xxxxxxxxxx> Signed-off-by: Avi Kivity <avi@xxxxxxxxxx> commit fdb8a42742ac95606668f73481dfb2f760658fdd Author: Roel Kluin <roel.kluin@xxxxxxxxx> Date: Thu Aug 6 15:58:13 2009 -0700 x86: fix buffer overflow in efi_init() If the vendor name (from c16) can be longer than 100 bytes (or missing a terminating null), then the null is written past the end of vendor[]. Found with Parfait, http://research.sun.com/projects/parfait/ Signed-off-by: Roel Kluin <roel.kluin@xxxxxxxxx> Cc: Ingo Molnar <mingo@xxxxxxx> Signed-off-by: Andrew Morton <akpm@xxxxxxxxxxxxxxxxxxxx> Signed-off-by: H. Peter Anvin <hpa@xxxxxxxxx> Cc: Huang Ying <ying.huang@xxxxxxxxx> commit 6cb504c29b1338925c83e4430e42a51eaa43781e Author: Frans Pop <elendil@xxxxxxxxx> Date: Sun Aug 9 12:25:29 2009 +1000 drm/i915: silence vblank warnings these errors are pretty pointless Reviewed-by: Jesse Barnes <jbarnes@xxxxxxxxxxxxxxxx> Signed-off-by: Dave Airlie <airlied@xxxxxxxxxx> commit 8d3457ec3198a569dd14dc9e3ae8b6163bcaa0b5 Author: Paul Rolland <rol@xxxxxxxxxx> Date: Sun Aug 9 12:24:01 2009 +1000 drm: silence pointless vblank warning. Some applications/hardware combinations are triggering the message "failed to acquire vblank counter" to be issued up to 20 times a second, which makes it both useless and dangerous, as this may hide other important messages. This changes makes it only appear when people are debugging. Signed-off-by: Paul Rolland <rol@xxxxxxxxxx> Reviewed-by: Jesse Barnes <jbarnes@xxxxxxxxxxxxxxxx> Lost-twice-by: Dave Airlie <airlied@xxxxxxxxxx> Signed-off-by: Dave Airlie <airlied@xxxxxxxxxx> commit 38d5487db7f289be1d56ac7df704ee49ed3213b9 Author: Keith Packard <keithp@xxxxxxxxxx> Date: Mon Jul 20 14:49:17 2009 -0700 drm: When adding probed modes, preserve duplicate mode types The code which takes probed modes and adds them to a connector eliminates duplicate modes by comparing them using drm_mode_equal. That function doesn't consider the type bits, which means that any modes which differ only in the type field will be lost. One of the bits in the mode->type field is the DRM_MODE_TYPE_PREFERRED bit. If the mode with that bit is lost, then higher level code will not know which mode to select, causing a random mode to be used instead. This patch simply merges the two mode type bits together; that seems reasonable to me, but perhaps only a subset of the bits should be used? None of these can be user defined as they all come from looking at just the hardware. Signed-off-by: Keith Packard <keithp@xxxxxxxxxx> Signed-off-by: Dave Airlie <airlied@xxxxxxxxxx> commit 17d42c1c497aa54952b9e58c1502a46f0df40315 Author: Stanislaw Gruszka <sgruszka@xxxxxxxxxx> Date: Thu Aug 6 16:03:30 2009 -0700 posix_cpu_timers_exit_group(): Do not use thread_group_cputimer() When the process exits we don't have to run new cputimer nor use running one (as it not accounts when tsk->exit_state != 0) to get process CPU times. As there is only one thread we can just use CPU times fields from task and signal structs. Signed-off-by: Stanislaw Gruszka <sgruszka@xxxxxxxxxx> Cc: Peter Zijlstra <a.p.zijlstra@xxxxxxxxx> Cc: Roland McGrath <roland@xxxxxxxxxx> Cc: Vitaly Mayatskikh <vmayatsk@xxxxxxxxxx> Signed-off-by: Andrew Morton <akpm@xxxxxxxxxxxxxxxxxxxx> Signed-off-by: Ingo Molnar <mingo@xxxxxxx> commit 26528e773ecc74fb1b61b7275f86f761cbb340ec Author: Tom Zanussi <tzanussi@xxxxxxxxx> Date: Sat Aug 8 10:49:53 2009 -0500 tracing/filters: Always free pred on filter_add_subsystem_pred() failure If filter_add_subsystem_pred() fails due to ENOSPC or ENOMEM, the pred doesn't get freed, while as a side effect it does for other errors. Make it so the caller always frees the pred for any error. Signed-off-by: Tom Zanussi <tzanussi@xxxxxxxxx> Cc: Steven Rostedt <rostedt@xxxxxxxxxxx> Cc: Frederic Weisbecker <fweisbec@xxxxxxxxx> Cc: Li Zefan <lizf@xxxxxxxxxxxxxx> LKML-Reference: <1249746593.6453.32.camel@tropicana> Signed-off-by: Ingo Molnar <mingo@xxxxxxx> commit 96b2de313b1e0e02aea80ee47df6a2b5cbdf8e13 Author: Tom Zanussi <tzanussi@xxxxxxxxx> Date: Sat Aug 8 10:49:09 2009 -0500 tracing/filters: Don't use pred on alloc failure Dan Carpenter sent me a fix to prevent pred from being used if it couldn't be allocated. I noticed the same problem also existed for the create_pred() case and added a fix for that. Reported-by: Dan Carpenter <error27@xxxxxxxxx> Signed-off-by: Tom Zanussi <tzanussi@xxxxxxxxx> Cc: Steven Rostedt <rostedt@xxxxxxxxxxx> Cc: Frederic Weisbecker <fweisbec@xxxxxxxxx> Cc: Li Zefan <lizf@xxxxxxxxxxxxxx> LKML-Reference: <1249746549.6453.29.camel@tropicana> Signed-off-by: Ingo Molnar <mingo@xxxxxxx> commit 498cdbfbcf98e0d2c90a26e6a02a82f043876e48 Author: Ozan Ã?aÄ?layan <ozan@xxxxxxxxxxxxx> Date: Tue Aug 4 19:39:31 2009 +0300 x86: Add quirk to make Apple MacBookPro5,1 use reboot=pci MacBookPro5,1 is not able to reboot unless reboot=pci is set. This patch forces it through a DMI quirk specific to this device. Signed-off-by: Ozan Ã?aÄ?layan <ozan@xxxxxxxxxxxxx> LKML-Reference: <1249403971-6543-1-git-send-email-ozan@xxxxxxxxxxxxx> Signed-off-by: Ingo Molnar <mingo@xxxxxxx> commit ad7d6c7a0654a4bbda3e109f56af713267e96274 Author: Yinghai Lu <yinghai@xxxxxxxxxx> Date: Tue Aug 4 09:01:33 2009 -0700 x86/irq: Fix move_irq_desc() for nodes without ram Don't move it if target node is -1. Signed-off-by: Yinghai Lu <yinghai@xxxxxxxxxx> LKML-Reference: <4A785B5D.4070702@xxxxxxxxxx> Signed-off-by: Ingo Molnar <mingo@xxxxxxx> commit 087d7e56deffb611a098e7e257388a41edbeef1f Author: Yinghai Lu <yinghai@xxxxxxxxxx> Date: Tue Aug 4 08:59:59 2009 -0700 x86: Fix MSI-X initialization by using online_mask for x2apic target_cpus found a system where x2apic reports an MSI-X irq initialization failure: [ 302.859446] igbvf 0000:81:10.4: enabling device (0000 -> 0002) [ 302.874369] igbvf 0000:81:10.4: using 64bit DMA mask [ 302.879023] igbvf 0000:81:10.4: using 64bit consistent DMA mask [ 302.894386] igbvf 0000:81:10.4: enabling bus mastering [ 302.898171] igbvf 0000:81:10.4: setting latency timer to 64 [ 302.914050] reserve_memtype added 0xefb08000-0xefb0c000, track uncached-minus, req uncached-minus, ret uncached-minus [ 302.933839] reserve_memtype added 0xefb28000-0xefb29000, track uncached-minus, req uncached-minus, ret uncached-minus [ 302.940367] alloc irq_desc for 265 on node 4 [ 302.956874] alloc kstat_irqs on node 4 [ 302.959452] alloc irq_2_iommu on node 0 [ 302.974328] igbvf 0000:81:10.4: irq 265 for MSI/MSI-X [ 302.977778] alloc irq_desc for 266 on node 4 [ 302.980347] alloc kstat_irqs on node 4 [ 302.995312] free_memtype request 0xefb28000-0xefb29000 [ 302.998816] igbvf 0000:81:10.4: Failed to initialize MSI-X interrupts. ... it turns out that when trying to enable MSI-X, __assign_irq_vector(new, cfg_new, apic->target_cpus()) can not get vector because for x2apic target-cpus returns cpumask_of(0) Update that to online_mask like xapic. Signed-off-by: Yinghai Lu <yinghai@xxxxxxxxxx> Acked-by: Suresh Siddha <suresh.b.siddha@xxxxxxxxx> LKML-Reference: <4A785AFF.3050902@xxxxxxxxxx> Signed-off-by: Ingo Molnar <mingo@xxxxxxx> commit 7b2aa037e878c939676675969983284a02958ae3 Merge: 710ad849ae76bc2f938a885e928b90cdbbe61a6e cf7fdd57f978d40ceb9a0f58a25f5cf9c84d6f33 Author: Linus Torvalds <torvalds@xxxxxxxxxxxxxxxxxxxx> Date: Fri Aug 7 19:06:36 2009 -0700 Merge git://git.kernel.org/pub/scm/linux/kernel/git/gregkh/usb-2.6 * git://git.kernel.org/pub/scm/linux/kernel/git/gregkh/usb-2.6: USB: fix oops on disconnect in cdc-acm USB: storage: include Prolific Technology USB drive in unusual_devs list USB: ftdi_sio: add product_id for Marvell OpenRD Base, Client USB: ftdi_sio: add vendor and product id for Bayer glucose meter serial converter cable USB: EHCI: fix counting of transaction error retries USB: EHCI: fix two new bugs related to Clear-TT-Buffer USB: usbfs: fix -ENOENT error code to be -ENODEV USB: musb: fix the nop registration for OMAP3EVM USB: devio: Properly do access_ok() checks USB: pl2303: New vendor and product id commit 710ad849ae76bc2f938a885e928b90cdbbe61a6e Merge: b32b8e645ea764620ececc0c9a66a7fc08536d4d 749d00dbf154fc2f9ac59df669205039de0d5b45 Author: Linus Torvalds <torvalds@xxxxxxxxxxxxxxxxxxxx> Date: Fri Aug 7 19:06:13 2009 -0700 Merge git://git.kernel.org/pub/scm/linux/kernel/git/gregkh/staging-2.6 * git://git.kernel.org/pub/scm/linux/kernel/git/gregkh/staging-2.6: Staging: rspiusb: Fix buffer overflow staging: add dependencies on PCI for drivers that require it Staging: rtl8192su: fix build error Staging: rt2870: Revert d44ca7 Removal of kernel_thread() API Staging: rt2870: Add USB ID for Linksys, Planex Communications, Belkin commit b32b8e645ea764620ececc0c9a66a7fc08536d4d Merge: d6a0967c90dced0a8baf502e6f3d5862fd5a5805 819e0064634f580ab618189e657ea58341d214b7 Author: Linus Torvalds <torvalds@xxxxxxxxxxxxxxxxxxxx> Date: Fri Aug 7 19:03:59 2009 -0700 Merge branch 'for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/anholt/drm-intel * 'for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/anholt/drm-intel: (22 commits) drm/i915: Fix read outside array bounds in restoring the SWF10 range. drm/i915: Use our own workqueue to avoid wedging the system along with the GPU. drm/i915: Add support for dual-channel LVDS on 8xx. drm/i915: Return disconnected for SDVO DVI when there's no digital EDID. drm/i915: Choose real sdvo output according to result from detection drm/i915: Set preferred mode for integrated TV according to TV format drm/i915: fix 845G FIFO size & burst length drm/i915: fix VGA detect on IGDNG drm/i915: Add eDP support on IGDNG mobile chip drm/i915: enable DisplayPort support on IGDNG drm/i915: Fix channel ending action for DP aux transaction drm/i915: fix issue in display pipe setup on IGDNG drm/i915: disable VGA plane reliably drm/I915: Fix offset to DVO timings in LVDS data drm/i915: hdmi detection according by reading edid drm/i915: correct self-refresh calculation in "everything off" case drm/i915: handle FIFO oversubsription correctly drm/i915: FIFO watermark calculation fixes drm/i915: ignore lvds on AOpen Mini PC MP-915 drm/i915: Allow frame buffers up to 4096x4096 on 915/945 class hardware ... commit d6a0967c90dced0a8baf502e6f3d5862fd5a5805 Merge: fb385003c4ac9634cf2448f6ded81e5fd1190c1f ceab36edd3d3ad3ffd01d41d6d1e05ac1ff8357e Author: Linus Torvalds <torvalds@xxxxxxxxxxxxxxxxxxxx> Date: Fri Aug 7 19:03:09 2009 -0700 Merge git://git.kernel.org/pub/scm/linux/kernel/git/mason/btrfs-unstable * git://git.kernel.org/pub/scm/linux/kernel/git/mason/btrfs-unstable: Btrfs: fix balancing oops when invalidate_inode_pages2 returns EBUSY Btrfs: correct error-handling zlib error handling Btrfs: remove superfluous NULL pointer check in btrfs_rename() Btrfs: make sure the async caching thread advances the key Btrfs: fix btrfs_remove_from_free_space corner case commit fb385003c4ac9634cf2448f6ded81e5fd1190c1f Merge: 36b8659f9316b24c514a7c8290596b2382b91dd2 b36ec0428a06fcbdb67d61e9e664154e5dd9a8c7 Author: Linus Torvalds <torvalds@xxxxxxxxxxxxxxxxxxxx> Date: Fri Aug 7 18:53:44 2009 -0700 Merge git://git.kernel.org/pub/scm/linux/kernel/git/hch/xfs-icache-races * git://git.kernel.org/pub/scm/linux/kernel/git/hch/xfs-icache-races: xfs: fix freeing of inodes not yet added to the inode cache vfs: add __destroy_inode vfs: fix inode_init_always calling convention commit 749d00dbf154fc2f9ac59df669205039de0d5b45 Author: Roel Kluin <roel.kluin@xxxxxxxxx> Date: Fri Aug 7 21:00:10 2009 +0200 Staging: rspiusb: Fix buffer overflow usb_buffer_map_sg() may return -1. This will result in a read from pdx->PixelUrb[frameInfo][-1] Signed-off-by: Roel Kluin <roel.kluin@xxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxx> commit 5fb4d2525b6dcffbb8bc26a7dfc7ed17ad323a06 Author: Jeff Mahoney <jeffm@xxxxxxxx> Date: Fri Aug 7 16:12:03 2009 -0700 staging: add dependencies on PCI for drivers that require it This patch adds PCI dependencies to staging drivers that require it. Signed-off-by: Jeff Mahoney <jeffm@xxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxx> commit ce9c010c5c39df05ed81a06aba492c45ee0c6f19 Author: Greg Kroah-Hartman <gregkh@xxxxxxx> Date: Tue Aug 4 16:53:36 2009 -0700 Staging: rtl8192su: fix build error This fixes a build error when selecting the rtl8192su driver as a module. This has been reported by me, and the opensuse kernel developer team, and I finally tracked it down. Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxx> commit 2c63abf9e8a51dec886da482dfd8ae752581a61c Author: Mike Galbraith <efault@xxxxxx> Date: Fri Jul 31 07:14:04 2009 +0200 Staging: rt2870: Revert d44ca7 Removal of kernel_thread() API Staging: rt2870: Revert d44ca7 Removal of kernel_thread() API The sanity check this patch introduced triggers on shutdown, apparently due to threads having already exited by the time BUG_ON() is reached. Signed-off-by: Mike Galbraith <efault@xxxxxx> Cc: Peter Teoh <htmldeveloper@xxxxxxxxx> Cc: stable <stable@xxxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxx> commit 4d2da07bc876fc5bc455e0721df388a3db7e4ba5 Author: Jakob Gruber <jakob.gruber@xxxxxxxxxxx> Date: Thu Jul 30 20:37:36 2009 +0200 Staging: rt2870: Add USB ID for Linksys, Planex Communications, Belkin Linksys WUSB100, Belkin F5D8053 N, Planex Communications unknown model. Signed-off-by: Jakob Gruber <jakob.gruber@xxxxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxx> commit cf7fdd57f978d40ceb9a0f58a25f5cf9c84d6f33 Author: Oliver Neukum <oliver@xxxxxxxxxx> Date: Tue Aug 4 23:52:09 2009 +0200 USB: fix oops on disconnect in cdc-acm This patch fixes an oops caused when during an unplug a device's table of endpoints is zeroed before the driver is notified. A pointer to the endpoint must be cached. this fixes a regression caused by commit 5186ffee2320942c3dc9745f7930e0eb15329ca6 Therefore it should go into 2.6.31 Signed-off-by: Oliver Neukum <oliver@xxxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxx> commit c15e3ca1d822abba78c00b1ffc3e7b382a50396e Author: Rogerio Brito <rbrito@xxxxxxxxxx> Date: Thu Aug 6 15:20:19 2009 -0700 USB: storage: include Prolific Technology USB drive in unusual_devs list Add a quirk entry for the Leading Driver UD-11 usb flash drive. As Alan Stern told me, the device doesn't deal correctly with the locking media feature of the device, and this patch incorporates it. Compiled, tested, working. Signed-off-by: Rogerio Brito <rbrito@xxxxxxxxxx> Cc: Phil Dibowitz <phil@xxxxxxxx> Cc: Alan Stern <stern@xxxxxxxxxxxxxxxxxxx> Cc: Robert Hancock <hancockrwd@xxxxxxxxx> Cc: stable <stable@xxxxxxxxxx> Signed-off-by: Andrew Morton <akpm@xxxxxxxxxxxxxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxx> commit 50d0678e2026c18e4147f0b16b5853113659b82d Author: Dhaval Vasa <dhaval.vasa@xxxxxxxxxxxxxx> Date: Fri Aug 7 17:26:49 2009 +0530 USB: ftdi_sio: add product_id for Marvell OpenRD Base, Client reference: http://www.open-rd.org Signed-off-by: Dhaval Vasa <dhaval.vasa@xxxxxxxxxxxxxx> Cc: stable <stable@xxxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxx> commit c47aacc67a3d26dfab9c9b8965975ed2b2010b30 Author: Marko Hänninen <bugitus@xxxxxxxxx> Date: Fri Jul 31 22:32:39 2009 +0300 USB: ftdi_sio: add vendor and product id for Bayer glucose meter serial converter cable Attached patch adds USB vendor and product IDs for Bayer's USB to serial converter cable used by Bayer blood glucose meters. It seems to be a FT232RL based device and works without any problem with ftdi_sio driver when this patch is applied. See: http://winglucofacts.com/cables/ Signed-off-by: Marko Hänninen <bugitus@xxxxxxxxx> Cc: stable <stable@xxxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxx> commit ef4638f955f2c4a667c8af20769d03f5ed3781ca Author: Alan Stern <stern@xxxxxxxxxxxxxxxxxxx> Date: Fri Jul 31 10:41:40 2009 -0400 USB: EHCI: fix counting of transaction error retries This patch (as1274) simplifies the counting of transaction-error retries. Now we will count up from 0 to QH_XACTERR_MAX instead of down from QH_XACTERR_MAX to 0. The patch also fixes a small bug: qh->xacterr was not getting initialized for interrupt endpoints. Signed-off-by: Alan Stern <stern@xxxxxxxxxxxxxxxxxxx> Tested-by: Matthijs Kooijman <matthijs@xxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxx> commit 7a0f0d951273eee889c2441846842348ebc00a2a Author: Alan Stern <stern@xxxxxxxxxxxxxxxxxxx> Date: Fri Jul 31 10:40:22 2009 -0400 USB: EHCI: fix two new bugs related to Clear-TT-Buffer This patch (as1273) fixes two(!) bugs introduced by the new Clear-TT-Buffer implementation in ehci-hcd. It is now possible for an idle QH to have some URBs on its queue -- this will happen if a Clear-TT-Buffer is pending for the QH's endpoint. Consequently we should not issue a warning when someone tries to unlink an URB from an idle QH; instead we should process the request immediately. The refcounts for QHs could get messed up, because submit_async() would increment the refcount when calling qh_link_async() and qh_link_async() would then refuse to link the QH into the schedule if a Clear-TT-Buffer was pending. Instead we should increment the refcount only when the QH actually is added to the schedule. The current code tries to be clever by leaving the refcount alone if an unlink is immediately followed by a relink; the patch changes this to an unconditional decrement and increment (although they occur in the opposite order). Signed-off-by: Alan Stern <stern@xxxxxxxxxxxxxxxxxxx> CC: David Brownell <david-b@xxxxxxxxxxx> Tested-by: Manuel Lauss <manuel.lauss@xxxxxxxxx> Tested-by: Matthijs Kooijman <matthijs@xxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxx> commit 01105a246345f011fde64d24a601090b646e9e4c Author: Alan Stern <stern@xxxxxxxxxxxxxxxxxxx> Date: Thu Jul 30 15:28:14 2009 -0400 USB: usbfs: fix -ENOENT error code to be -ENODEV This patch (as1272) changes the error code returned when an open call for a USB device node fails to locate the corresponding device. The appropriate error code is -ENODEV, not -ENOENT. Signed-off-by: Alan Stern <stern@xxxxxxxxxxxxxxxxxxx> CC: Kay Sievers <kay.sievers@xxxxxxxx> Cc: stable <stable@xxxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxx> commit e8e2ff462dd92693f29eb848f42d3eb720390d59 Author: Gupta, Ajay Kumar <ajay.gupta@xxxxxx> Date: Wed Jul 29 11:58:57 2009 +0530 USB: musb: fix the nop registration for OMAP3EVM OMAP3EVM uses ISP1504 phy which doesn't require any programming and thus has to use NOP otg transceiver. Cleanups being done: - Remove unwanted code in usb-musb.c file - Register NOP in OMAP3EVM board file using usb_nop_xceiv_register(). - Select NOP_USB_XCEIV for OMAP3EVM boards. - Don't enable TWL4030_USB in omap3_evm_defconfig Signed-off-by: Ajay Kumar Gupta <ajay.gupta@xxxxxx> Signed-off-by: Eino-Ville Talvala <talvala@xxxxxxxxxxxx> Acked-by: David Brownell <dbrownell@xxxxxxxxxxxxxxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxx> commit 18753ebc8a98efe0e8ff6167afb31cef220c8e50 Author: Michael Buesch <mb@xxxxxxxxx> Date: Wed Jul 29 11:39:03 2009 +0200 USB: devio: Properly do access_ok() checks access_ok() checks must be done on every part of the userspace structure that is accessed. If access_ok() on one part of the struct succeeded, it does not imply it will succeed on other parts of the struct. (Does depend on the architecture implementation of access_ok()). This changes the __get_user() users to first check access_ok() on the data structure. Signed-off-by: Michael Buesch <mb@xxxxxxxxx> Cc: stable <stable@xxxxxxxxxx> Cc: Pete Zaitcev <zaitcev@xxxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxx> commit 49276560c9004fce24c42e3c0ad75f34d956fc63 Author: Khanh-Dang Nguyen Thu Lam <kdntl@xxxxxxxx> Date: Tue Jul 28 19:41:17 2009 +0200 USB: pl2303: New vendor and product id I am submitting a patch for the pl2303 driver. This patch adds support for the "Sony QN-3USB" cable (vendor=0x054c, product=0x0437). This USB cable is a so-called data cable used to connect a Sony mobile phone to a computer. Supported models are Sony CMD-J5, J6, J7, J16, J26, J70 and Z7. I have used this patch with my Sony CMD-J70 for several days and I haven't encountered any kernel/hardware issue. From: Khanh-Dang Nguyen Thu Lam <kdntl@xxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxx> commit 8a57a9dda760ea7845390f1cd36f3eb2a49391d8 Author: Roel Kluin <roel.kluin@xxxxxxxxx> Date: Thu Aug 6 16:07:50 2009 -0700 ocfs2: keep index within status_map[] Do not exceed array status_map[] Signed-off-by: Roel Kluin <roel.kluin@xxxxxxxxx> Cc: Mark Fasheh <mfasheh@xxxxxxxx> Signed-off-by: Andrew Morton <akpm@xxxxxxxxxxxxxxxxxxxx> Signed-off-by: Joel Becker <joel.becker@xxxxxxxxxx> commit e7432675f8ca868a4af365759a8d4c3779a3d922 Author: Sunil Mushran <sunil.mushran@xxxxxxxxxx> Date: Thu Aug 6 16:12:58 2009 -0700 ocfs2: Initialize the cluster we're writing to in a non-sparse extend In a non-sparse extend, we correctly allocate (and zero) the clusters between the old_i_size and pos, but we don't zero the portions of the cluster we're writing to outside of pos<->len. It handles clustersize > pagesize and blocksize < pagesize. [Cleaned up by Joel Becker.] Signed-off-by: Sunil Mushran <sunil.mushran@xxxxxxxxxx> Signed-off-by: Joel Becker <joel.becker@xxxxxxxxxx> commit ceab36edd3d3ad3ffd01d41d6d1e05ac1ff8357e Author: Yan Zheng <zheng.yan@xxxxxxxxxx> Date: Fri Aug 7 13:51:33 2009 -0400 Btrfs: fix balancing oops when invalidate_inode_pages2 returns EBUSY invalidate_inode_pages2_range may return -EBUSY occasionally which results Oops. This patch fixes the issue by moving invalidate_inode_pages2_range into a loop and keeping calling it until the return value is not -EBUSY. The EBUSY return is temporary, and can happen when the btrfs release page function is unable to release a page because the EXTENT_LOCK bit is set. Signed-off-by: Yan Zheng <zheng.yan@xxxxxxxxxx> Signed-off-by: Chris Mason <chris.mason@xxxxxxxxxx> commit 60f2e8f8a07331097a57ec4abcdc680405579377 Author: Julia Lawall <julia@xxxxxxx> Date: Fri Aug 7 13:51:33 2009 -0400 Btrfs: correct error-handling zlib error handling find_zlib_workspace returns an ERR_PTR value in an error case instead of NULL. A simplified version of the semantic match that finds this problem is as follows: (http://coccinelle.lip6.fr/) // <smpl> @match exists@ expression x, E; statement S1, S2; @@ x = find_zlib_workspace(...) ... when != x = E ( * if (x == NULL || ...) S1 else S2 | * if (x == NULL && ...) S1 else S2 ) // </smpl> Signed-off-by: Julia Lawall <julia@xxxxxxx> Signed-off-by: Chris Mason <chris.mason@xxxxxxxxxx> commit 4baf8c9201e88546918cbfa61ea8062c38bc1644 Author: Bartlomiej Zolnierkiewicz <bzolnier@xxxxxxxxx> Date: Fri Aug 7 13:47:08 2009 -0400 Btrfs: remove superfluous NULL pointer check in btrfs_rename() This takes care of the following entry from Dan's list: fs/btrfs/inode.c +4788 btrfs_rename(36) warning: variable derefenced before check 'old_inode' Reported-by: Dan Carpenter <error27@xxxxxxxxx> Cc: Jonathan Corbet <corbet@xxxxxxx> Cc: Eugene Teo <eteo@xxxxxxxxxx> Cc: Julia Lawall <julia@xxxxxxx> Signed-off-by: Bartlomiej Zolnierkiewicz <bzolnier@xxxxxxxxx> Signed-off-by: Chris Mason <chris.mason@xxxxxxxxxx> commit 36b8659f9316b24c514a7c8290596b2382b91dd2 Merge: cba8784ae0a9f7d0f1f87e0607e7ae66fc45666c c0c60c4b9ab45bb02b20796401dd6a90770fd0ee Author: Linus Torvalds <torvalds@xxxxxxxxxxxxxxxxxxxx> Date: Fri Aug 7 10:46:51 2009 -0700 Merge master.kernel.org:/home/rmk/linux-2.6-arm * master.kernel.org:/home/rmk/linux-2.6-arm: (30 commits) ARM: 5639/1: arm: clkdev.c should include <linux/clk.h> ARM: 5638/1: arch/arm/kernel/signal.c: use correct address space for CRUNCH ARM: 5637/1: [KS8695] Don't reference CLOCK_TICK_RATE in drivers ARM: S3C64XX: serial: Fix section mismatch warning ARM: S3C24XX: serial: Fix section mismatch warnings ARM: S3C: PWM fix for low duty cycle ARM: 5597/1: [PCI] reset all internal hardware prior PCI initialization ARM: 5627/1: Fix restoring of lr at the end of mcount ARM: 5624/1: Document cache aliasing region S3C64XX: Fix ARMCLK configuration S3C64XX: Fix get_rate() for ARMCLK S3C24XX: GPIO: Fix pin range check in s3c_gpiolib_getchip mx3 defconfig update mx27 defconfig update ARM: 5623/1: Treo680: ir shutdown typo fix ARM: includecheck fix: plat-stmp3xxx/pinmux.c ARM: includecheck fix: plat-s3c64xx/pm.c ARM: includecheck fix: mach-omap2/mcbsp.c ARM: includecheck fix: mach-omap1/mcbsp.c ARM: includecheck fix: board-sffsdr.c ... commit cba8784ae0a9f7d0f1f87e0607e7ae66fc45666c Merge: 9cf9d28e9bf991af21fc4bbf33281b66843b094b 0bf52b981770cbf006323bab5177f2858a196766 Author: Linus Torvalds <torvalds@xxxxxxxxxxxxxxxxxxxx> Date: Fri Aug 7 10:46:27 2009 -0700 Merge git://git.kernel.org/pub/scm/linux/kernel/git/davem/net-2.6 * git://git.kernel.org/pub/scm/linux/kernel/git/davem/net-2.6: net: Fix spinlock use in alloc_netdev_mq() commit 9cf9d28e9bf991af21fc4bbf33281b66843b094b Merge: ff1649ff780fb7c0bfbf42d05ffc9b56336b9aa3 53cb780adbe69df90c8dc23e992ce40455e687c3 Author: Linus Torvalds <torvalds@xxxxxxxxxxxxxxxxxxxx> Date: Fri Aug 7 10:46:09 2009 -0700 Merge branch 'for-linus' of git://git390.marist.edu/pub/scm/linux-2.6 * 'for-linus' of git://git390.marist.edu/pub/scm/linux-2.6: [S390] KVM: Read buffer overflow [S390] kernel: Storing machine flags early in lowcore commit ff1649ff780fb7c0bfbf42d05ffc9b56336b9aa3 Merge: da758ddede96dd850945d3417ff75209a666ba0d c5b1525533c484238015c48c78f86d49a1bfb86b Author: Linus Torvalds <torvalds@xxxxxxxxxxxxxxxxxxxx> Date: Fri Aug 7 10:44:11 2009 -0700 Merge git://git.infradead.org/~dwmw2/iommu-2.6.31 * git://git.infradead.org/~dwmw2/iommu-2.6.31: intel-iommu: Fix enabling snooping feature by mistake intel-iommu: Mask physical address to correct page size in intel_map_single() intel-iommu: Correct sglist size calculation. commit da758ddede96dd850945d3417ff75209a666ba0d Merge: 389623fef0e8b088f293c437d3b7094fe82349fd 1054598cab8674438675085fae459e960eb10799 Author: Linus Torvalds <torvalds@xxxxxxxxxxxxxxxxxxxx> Date: Fri Aug 7 10:43:07 2009 -0700 Merge branch 'perfcounters-fixes-for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/tip/linux-2.6-tip * 'perfcounters-fixes-for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/tip/linux-2.6-tip: perf_counter: Fix double list iteration in per task precise stats perf: Auto-detect libelf perf symbol: Fix symbol parsing in certain cases: use the build-id as a symlink perf_counter/powerpc: Check oprofile_cpu_type for NULL before using it ftrace: Fix perf-tracepoint OOPS perf report: Add missing command line options to man page perf: Auto-detect libbfd perf report: Make --sort comm,dso,symbol the default commit 389623fef0e8b088f293c437d3b7094fe82349fd Merge: 385861206c21364c01dcfdda5064643ce111d517 57ca7deb062abf56168d15f000c16e25f88a9cf3 Author: Linus Torvalds <torvalds@xxxxxxxxxxxxxxxxxxxx> Date: Fri Aug 7 10:42:31 2009 -0700 Merge git://git.infradead.org/mtd-2.6 * git://git.infradead.org/mtd-2.6: jffs2: Fix return value from jffs2_do_readpage_nolock() mtd: mtdblock: introduce mtdblks_lock mtd: remove 'SBC8240 Wind River' Device Driver Code mtd: OneNAND: OMAP2/3: free GPMC CS on module removal mtd: OneNAND: fix incorrect bufferram offset mtd: blkdevs: do not forget to get MTD devices mtd: fix the conversion from dev to mtd_info mtd: let include/linux/mtd/partitions.h stand on its own commit 385861206c21364c01dcfdda5064643ce111d517 Merge: 131f7340b4f93f9a4a8e5a65abbd352b34d0ee08 d82f1c35348cebe2fb2d4a4d31ce0ab0769e3d93 Author: Linus Torvalds <torvalds@xxxxxxxxxxxxxxxxxxxx> Date: Fri Aug 7 10:42:14 2009 -0700 Merge branch 'for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/dtor/input * 'for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/dtor/input: Input: matrix_keypad - make matrix keymap size dynamic Input: wistron_btns - support Prestigio Wifi RF kill button Input: i8042 - add Asus G1S to noloop exception list commit 131f7340b4f93f9a4a8e5a65abbd352b34d0ee08 Merge: 3440625d78711bee41a84cf29c3d8c579b522666 17332925d7b11bb6c2d0c49450ae58dd836005da Author: Linus Torvalds <torvalds@xxxxxxxxxxxxxxxxxxxx> Date: Fri Aug 7 10:41:36 2009 -0700 Merge branch 'drm-fixes' of git://git.kernel.org/pub/scm/linux/kernel/git/airlied/drm-2.6 * 'drm-fixes' of git://git.kernel.org/pub/scm/linux/kernel/git/airlied/drm-2.6: drm/radeon/kms: setup MC/VRAM the same way for suspend/resume drm/radeon/kms: Fix caching mode selection for GTT object commit 3440625d78711bee41a84cf29c3d8c579b522666 Author: Linus Torvalds <torvalds@xxxxxxxxxxxxxxxxxxxx> Date: Thu Aug 6 15:09:34 2009 -0700 flat: fix uninitialized ptr with shared libs The new credentials code broke load_flat_shared_library() as it now uses an uninitialized cred pointer. Reported-by: Bernd Schmidt <bernds_cb1@xxxxxxxxxxx> Tested-by: Bernd Schmidt <bernds_cb1@xxxxxxxxxxx> Cc: Mike Frysinger <vapier@xxxxxxxxxx> Cc: David Howells <dhowells@xxxxxxxxxx> Cc: <stable@xxxxxxxxxx> Signed-off-by: Andrew Morton <akpm@xxxxxxxxxxxxxxxxxxxx> Signed-off-by: Linus Torvalds <torvalds@xxxxxxxxxxxxxxxxxxxx> commit 9e5cf0ca2e9b65110ae5f094d7f0f7165cd1bbbb Author: Albin Tonnerre <albin.tonnerre@xxxxxxxxxxxxxxxxxx> Date: Thu Aug 6 15:09:32 2009 -0700 lib/decompress_*: only include <linux/slab.h> if STATIC is not defined These includes were added by 079effb6933f34b9b1b67b08bd4fd7fb672d16ef ("kmemtrace, kbuild: fix slab.h dependency problem in lib/decompress_inflate.c") to fix the build when using kmemtrace. However this is not necessary when used to create a compressed kernel, and actually creates issues (brings a lot of things unavailable in the decompression environment), so don't include it if STATIC is defined. Signed-off-by: Albin Tonnerre <albin.tonnerre@xxxxxxxxxxxxxxxxxx> Cc: Sam Ravnborg <sam@xxxxxxxxxxxx> Cc: Russell King <rmk@xxxxxxxxxxxxxxxx> Cc: Ingo Molnar <mingo@xxxxxxx> Cc: Thomas Gleixner <tglx@xxxxxxxxxxxxx> Cc: "H. Peter Anvin" <hpa@xxxxxxxxx> Cc: Pekka Enberg <penberg@xxxxxxxxxxxxxx> Cc: Eduard - Gabriel Munteanu <eduard.munteanu@xxxxxxxxxxx> Cc: Phillip Lougher <phillip@xxxxxxxxxxxxxxxxxxx> Signed-off-by: Andrew Morton <akpm@xxxxxxxxxxxxxxxxxxxx> Signed-off-by: Linus Torvalds <torvalds@xxxxxxxxxxxxxxxxxxxx> commit b1af4315d823a2b6659c5b14bc17f7bc61878ef4 Author: Phillip Lougher <phillip@xxxxxxxxxxxxxxxxxxx> Date: Thu Aug 6 15:09:31 2009 -0700 bzip2/lzma: remove nasty uncompressed size hack in pre-boot environment decompress_bunzip2 and decompress_unlzma have a nasty hack that subtracts 4 from the input length if being called in the pre-boot environment. This is a nasty hack because it relies on the fact that flush = NULL only when called from the pre-boot environment (i.e. arch/x86/boot/compressed/misc.c). initramfs.c/do_mounts_rd.c pass in a flush buffer (flush != NULL). This hack prevents the decompressors from being used with flush = NULL by other callers unless knowledge of the hack is propagated to them. This patch removes the hack by making decompress (called only from the pre-boot environment) a wrapper function that subtracts 4 from the input length before calling the decompressor. Signed-off-by: Phillip Lougher <phillip@xxxxxxxxxxxxxxxxxxx> Cc: "H. Peter Anvin" <hpa@xxxxxxxxx> Signed-off-by: Andrew Morton <akpm@xxxxxxxxxxxxxxxxxxxx> Signed-off-by: Linus Torvalds <torvalds@xxxxxxxxxxxxxxxxxxxx> commit daeb6b6fbe27049f465c48a7d0ee5555c3b84064 Author: Phillip Lougher <phillip@xxxxxxxxxxxxxxxxxxx> Date: Thu Aug 6 15:09:30 2009 -0700 bzip2/lzma/gzip: fix comments describing decompressor API Fix and improve comments in decompress/generic.h that describe the decompressor API. Also remove an unused definition, and rename INBUF_LEN in lib/decompress_inflate.c to conform to bzip2/lzma naming. Signed-off-by: Phillip Lougher <phillip@xxxxxxxxxxxxxxxxxxx> Cc: "H. Peter Anvin" <hpa@xxxxxxxxx> Signed-off-by: Andrew Morton <akpm@xxxxxxxxxxxxxxxxxxxx> Signed-off-by: Linus Torvalds <torvalds@xxxxxxxxxxxxxxxxxxxx> commit 9c8a8228d0827e0d91d28527209988f672f97d28 Author: Eric Dumazet <eric.dumazet@xxxxxxxxx> Date: Thu Aug 6 15:09:28 2009 -0700 execve: must clear current->clear_child_tid While looking at Jens Rosenboom bug report (http://lkml.org/lkml/2009/7/27/35) about strange sys_futex call done from a dying "ps" program, we found following problem. clone() syscall has special support for TID of created threads. This support includes two features. One (CLONE_CHILD_SETTID) is to set an integer into user memory with the TID value. One (CLONE_CHILD_CLEARTID) is to clear this same integer once the created thread dies. The integer location is a user provided pointer, provided at clone() time. kernel keeps this pointer value into current->clear_child_tid. At execve() time, we should make sure kernel doesnt keep this user provided pointer, as full user memory is replaced by a new one. As glibc fork() actually uses clone() syscall with CLONE_CHILD_SETTID and CLONE_CHILD_CLEARTID set, chances are high that we might corrupt user memory in forked processes. Following sequence could happen: 1) bash (or any program) starts a new process, by a fork() call that glibc maps to a clone( ... CLONE_CHILD_SETTID | CLONE_CHILD_CLEARTID ...) syscall 2) When new process starts, its current->clear_child_tid is set to a location that has a meaning only in bash (or initial program) context (&THREAD_SELF->tid) 3) This new process does the execve() syscall to start a new program. current->clear_child_tid is left unchanged (a non NULL value) 4) If this new program creates some threads, and initial thread exits, kernel will attempt to clear the integer pointed by current->clear_child_tid from mm_release() : if (tsk->clear_child_tid && !(tsk->flags & PF_SIGNALED) && atomic_read(&mm->mm_users) > 1) { u32 __user * tidptr = tsk->clear_child_tid; tsk->clear_child_tid = NULL; /* * We don't check the error code - if userspace has * not set up a proper pointer then tough luck. */ << here >> put_user(0, tidptr); sys_futex(tidptr, FUTEX_WAKE, 1, NULL, NULL, 0); } 5) OR : if new program is not multi-threaded, but spied by /proc/pid users (ps command for example), mm_users > 1, and the exiting program could corrupt 4 bytes in a persistent memory area (shm or memory mapped file) If current->clear_child_tid points to a writeable portion of memory of the new program, kernel happily and silently corrupts 4 bytes of memory, with unexpected effects. Fix is straightforward and should not break any sane program. Reported-by: Jens Rosenboom <jens@xxxxxxxxxx> Acked-by: Linus Torvalds <torvalds@xxxxxxxxxxxxxxxxxxxx> Signed-off-by: Eric Dumazet <eric.dumazet@xxxxxxxxx> Signed-off-by: Oleg Nesterov <oleg@xxxxxxxxxx> Cc: Peter Zijlstra <peterz@xxxxxxxxxxxxx> Cc: Sonny Rao <sonnyrao@xxxxxxxxxx> Cc: Ingo Molnar <mingo@xxxxxxx> Cc: Thomas Gleixner <tglx@xxxxxxxxxxxxx> Cc: Ulrich Drepper <drepper@xxxxxxxxxx> Cc: Oleg Nesterov <oleg@xxxxxxxxxx> Cc: <stable@xxxxxxxxxx> Signed-off-by: Andrew Morton <akpm@xxxxxxxxxxxxxxxxxxxx> Signed-off-by: Linus Torvalds <torvalds@xxxxxxxxxxxxxxxxxxxx> commit 2198a64a7487aba036f71998ade8a6528070d32c Author: Julia Lawall <julia@xxxxxxx> Date: Thu Aug 6 15:07:41 2009 -0700 drivers/mmc: correct error-handling code sdhci_alloc_host returns an ERR_PTR value in an error case instead of NULL. A simplified version of the semantic match that finds this problem is as follows: (http://coccinelle.lip6.fr/) // <smpl> @match exists@ expression x, E; statement S1, S2; @@ x = sdhci_alloc_host(...) ... when != x = E ( * if (x == NULL || ...) S1 else S2 | * if (x == NULL && ...) S1 else S2 ) // </smpl> Signed-off-by: Julia Lawall <julia@xxxxxxx> Acked-by: Anton Vorontsov <avorontsov@xxxxxxxxxxxxx> Cc: Matt Fleming <matt@xxxxxxxxxxxxxxxxx> Cc: Ian Molton <ian@xxxxxxxxxxxxxx> Cc: "Roberto A. Foglietta" <roberto.foglietta@xxxxxxxxx> Cc: Philip Langdale <philipl@xxxxxxxxx> Cc: Pierre Ossman <pierre@xxxxxxxxx> Signed-off-by: Andrew Morton <akpm@xxxxxxxxxxxxxxxxxxxx> Signed-off-by: Linus Torvalds <torvalds@xxxxxxxxxxxxxxxxxxxx> commit 20de03dae54e10271ffd308654dfb4a117f4789d Author: Guennadi Liakhovetski <g.liakhovetski@xxxxxx> Date: Thu Aug 6 15:07:40 2009 -0700 i.MX31: fix framebuffer locking regressions Recent framebuffer locking patches first made affected systems unbootable, then the dead-lock has been fixed but as of 2.6.31-rc4 the framebuffer on mx3 machines doesn't work. Fix this. Signed-off-by: Guennadi Liakhovetski <g.liakhovetski@xxxxxx> Cc: Sascha Hauer <s.hauer@xxxxxxxxxxxxxx> Cc: Krzysztof Helt <krzysztof.h1@xxxxxxxxx> Signed-off-by: Andrew Morton <akpm@xxxxxxxxxxxxxxxxxxxx> Signed-off-by: Linus Torvalds <torvalds@xxxxxxxxxxxxxxxxxxxx> commit 2d8dd38a5aa0cc2490bbad9b75e77fa154e1d145 Author: OGAWA Hirofumi <hirofumi@xxxxxxxxxxxxxxxxxx> Date: Thu Aug 6 15:07:39 2009 -0700 vfs: mnt_want_write_file(): fix special file handling I suspect that mnt_want_write_file() may have wrong assumption. I think mnt_want_write_file() is assuming it increments ->mnt_writers if (file->f_mode & FMODE_WRITE). But, if it's special_file(), it is false? Signed-off-by: OGAWA Hirofumi <hirofumi@xxxxxxxxxxxxxxxxxx> Acked-by: Dave Hansen <dave@xxxxxxxxxxxxxxxxxx> Cc: Al Viro <viro@xxxxxxxxxxxxxxxxxx> Cc: Nick Piggin <nickpiggin@xxxxxxxxxxxx> Signed-off-by: Andrew Morton <akpm@xxxxxxxxxxxxxxxxxxxx> Signed-off-by: Linus Torvalds <torvalds@xxxxxxxxxxxxxxxxxxxx> commit 69130c7cf96ea853dc5be599dd6a4b98907d39cc Author: Eric Sandeen <sandeen@xxxxxxxxxx> Date: Thu Aug 6 15:07:37 2009 -0700 compat_ioctl: hook up compat handler for FIEMAP ioctl The FIEMAP_IOC_FIEMAP mapping ioctl was missing a 32-bit compat handler, which means that 32-bit suerspace on 64-bit kernels cannot use this ioctl command. The structure is nicely aligned, padded, and sized, so it is just this simple. Tested w/ 32-bit ioctl tester (from Josef) on a 64-bit kernel on ext4. Signed-off-by: Eric Sandeen <sandeen@xxxxxxxxxx> Cc: <linux-ext4@xxxxxxxxxxxxxxx> Cc: Mark Lord <lkml@xxxxxx> Cc: Arnd Bergmann <arnd@xxxxxxxx> Cc: Josef Bacik <josef@xxxxxxxxxx> Cc: Jan Kara <jack@xxxxxxx> Cc: <stable@xxxxxxxxxx> Signed-off-by: Andrew Morton <akpm@xxxxxxxxxxxxxxxxxxxx> Signed-off-by: Linus Torvalds <torvalds@xxxxxxxxxxxxxxxxxxxx> commit 0035fe00f77d2b0a1a2d001f7442136d1ec5aefa Author: Johannes Weiner <hannes@xxxxxxxxxxx> Date: Thu Aug 6 15:07:36 2009 -0700 fbcon: don't use vc_resize() on initialization Catalin and kmemleak spotted a leak of a VC screen buffer in vc_allocate() due to the following chain of events: vc_allocate() visual_init(init=1) vc->vc_sw->con_init(init=1) fbcon_init() vc_resize() vc->screen_buf = kmalloc() vc->screen_buf = kmalloc() The common way for the VC drivers is to set the screen dimension parameters manually in the init case and only call vc_resize() for !init - which allocates a screen buffer according to the new dimensions. fbcon instead would do vc_resize() unconditionally and afterwards set the dimensions manually (again) for !init - i.e. completely upside down. The vc_resize() allocated buffer would then get lost by vc_allocate() allocating a fresh one. Use vc_resize() only for actual resizing to close the leak. Set the dimensions manually only in initialization mode to remove the redundant setting in resize mode. The kmemleak trace from Catalin: unreferenced object 0xde158000 (size 12288): comm "Xorg", pid 1439, jiffies 4294961016 hex dump (first 32 bytes): 20 00 20 00 20 00 20 00 20 00 20 00 20 00 20 00 . . . . . . . . 20 00 20 00 20 00 20 00 20 00 20 00 20 00 20 00 . . . . . . . . backtrace: [<c006f74b>] __save_stack_trace+0x17/0x1c [<c006f81d>] create_object+0xcd/0x188 [<c01f5457>] kmemleak_alloc+0x1b/0x3c [<c006e303>] __kmalloc+0xdb/0xe8 [<c012cc4b>] vc_do_resize+0x73/0x1e0 [<c012cdf1>] vc_resize+0x15/0x18 [<c011afc1>] fbcon_init+0x1f9/0x2b8 [<c0129e87>] visual_init+0x9f/0xdc [<c012aff3>] vc_allocate+0x7f/0xfc [<c012b087>] con_open+0x17/0x80 [<c0120e43>] tty_open+0x1f7/0x2e4 [<c0072fa1>] chrdev_open+0x101/0x118 [<c006ffad>] __dentry_open+0x105/0x1cc [<c00700fd>] nameidata_to_filp+0x2d/0x38 [<c00788cd>] do_filp_open+0x2c1/0x54c [<c006fdff>] do_sys_open+0x3b/0xb4 Reported-by: Catalin Marinas <catalin.marinas@xxxxxxx> Signed-off-by: Johannes Weiner <hannes@xxxxxxxxxxx> Tested-by: Catalin Marinas <catalin.marinas@xxxxxxx> Cc: Pekka Enberg <penberg@xxxxxxxxxxxxxx> Cc: Krzysztof Helt <krzysztof.h1@xxxxxxxxx> Tested-by: Dave Young <hidave.darkstar@xxxxxxxxx> Signed-off-by: Andrew Morton <akpm@xxxxxxxxxxxxxxxxxxxx> Signed-off-by: Linus Torvalds <torvalds@xxxxxxxxxxxxxxxxxxxx> commit 521594442cc62d1c2af8436a05ab5918b7730b19 Author: Florian Tobias Schandinat <FlorianSchandinat@xxxxxx> Date: Thu Aug 6 15:07:34 2009 -0700 viafb: fix rmmod bug This fixes a bug caused by changing pointers (viafb_mode, viafb_mode1) assigned by module_param. It reduces driver complexity by not needlessly changing these vars as they are only read once and removing now superfluous code. On unpatched kernels loading viafb with viafb_mode or viafb_mode1 option used and afterwards unloading it results in: kernel BUG at mm/slub.c:2926! invalid opcode: 0000 [#1] PREEMPT last sysfs file: /sys/devices/virtual/block/loop0/removable Modules linked in: snd_hda_codec_realtek snd_hda_intel snd_hda_codec snd_hwdep snd_pcm rtl8187 snd_timer eeprom_93cx6 mmc_block snd soundcore via_sdmmc fb snd_page_alloc i2c_algo_bit i2c_viapro ehci_hcd uhci_hcd cfbcopyarea mmc_core cfbimgblt cfbfillrect video output [last unloaded: viafb] Pid: 3355, comm: rmmod Not tainted (2.6.31-rc1 #0) EIP: 0060:[<c106a759>] EFLAGS: 00010246 CPU: 0 EIP is at kfree+0x80/0xda EAX: c17c2da0 EBX: dc7edbdc ECX: 0000010f EDX: 00000000 ESI: c102c700 EDI: dc7ed8fa EBP: d703ff2c ESP: d703ff20 DS: 007b ES: 007b FS: 0000 GS: 0033 SS: 0068 Process rmmod (pid: 3355, ti=d703e000 task=db1412c0 task.ti=d703e000) Stack: dc7edbdc 00000014 00000016 d703ff40 c102c700 dc7f45d4 dc7f45d4 00000880 d703ff4c c103e571 00000000 d703ffac c103e751 66616976 da140062 db89ba80 00000328 d702edf8 db89ba80 d703ff9c c105d0f0 00000200 da14f898 00000014 Call Trace: [<c102c700>] ? destroy_params+0x1e/0x2b [<c103e571>] ? free_module+0xa2/0xd7 [<c103e751>] ? sys_delete_module+0x1ab/0x1da [<c105d0f0>] ? do_munmap+0x20a/0x225 [<c10029b4>] ? sysenter_do_call+0x12/0x26 Code: 10 76 7a 8d 87 00 00 00 40 c1 e8 0c c1 e0 05 03 05 1c 87 41 c1 66 83 38 00 79 03 8b 40 0c 8b 10 84 d2 78 12 66 f7 c2 00 c0 75 04 <0f> 0b eb fe e8 6f 5a fe ff eb 47 8b 55 04 8b 58 0c 9c 5e fa 3b EIP: [<c106a759>] kfree+0x80/0xda SS:ESP 0068:d703ff20 This is caused by the current code changing the pointers assigned by module_param. During unload it tries to free the memory the pointers point at which is now part of an internal structure. The patch simply avoids changing the pointers. This is okay as they are read only once during the initialization process. Signed-off-by: Florian Tobias Schandinat <FlorianSchandinat@xxxxxx> Cc: Scott Fang <ScottFang@xxxxxxxxxxxxxx> Cc: Joseph Chan <JosephChan@xxxxxxxxxx> Signed-off-by: Andrew Morton <akpm@xxxxxxxxxxxxxxxxxxxx> Signed-off-by: Linus Torvalds <torvalds@xxxxxxxxxxxxxxxxxxxx> commit 4bfc44958e499af9a73f62201543b3a1f617cfeb Author: KAMEZAWA Hiroyuki <kamezawa.hiroyu@xxxxxxxxxxxxxx> Date: Thu Aug 6 15:07:33 2009 -0700 mm: make set_mempolicy(MPOL_INTERLEAV) N_HIGH_MEMORY aware At first, init_task's mems_allowed is initialized as this. init_task->mems_allowed == node_state[N_POSSIBLE] And cpuset's top_cpuset mask is initialized as this top_cpuset->mems_allowed = node_state[N_HIGH_MEMORY] Before 2.6.29: policy's mems_allowed is initialized as this. 1. update tasks->mems_allowed by its cpuset->mems_allowed. 2. policy->mems_allowed = nodes_and(tasks->mems_allowed, user's mask) Updating task's mems_allowed in reference to top_cpuset's one. cpuset's mems_allowed is aware of N_HIGH_MEMORY, always. In 2.6.30: After commit 58568d2a8215cb6f55caf2332017d7bdff954e1c ("cpuset,mm: update tasks' mems_allowed in time"), policy's mems_allowed is initialized as this. 1. policy->mems_allowd = nodes_and(task->mems_allowed, user's mask) Here, if task is in top_cpuset, task->mems_allowed is not updated from init's one. Assume user excutes command as #numactrl --interleave=all ,.... policy->mems_allowd = nodes_and(N_POSSIBLE, ALL_SET_MASK) Then, policy's mems_allowd can includes a possible node, which has no pgdat. MPOL's INTERLEAVE just scans nodemask of task->mems_allowd and access this directly. NODE_DATA(nid)->zonelist even if NODE_DATA(nid)==NULL Then, what's we need is making policy->mems_allowed be aware of N_HIGH_MEMORY. This patch does that. But to do so, extra nodemask will be on statck. Because I know cpumask has a new interface of CPUMASK_ALLOC(), I added it to node. This patch stands on old behavior. But I feel this fix itself is just a Band-Aid. But to do fundametal fix, we have to take care of memory hotplug and it takes time. (task->mems_allowd should be N_HIGH_MEMORY, I think.) mpol_set_nodemask() should be aware of N_HIGH_MEMORY and policy's nodemask should be includes only online nodes. In old behavior, this is guaranteed by frequent reference to cpuset's code. Now, most of them are removed and mempolicy has to check it by itself. To do check, a few nodemask_t will be used for calculating nodemask. But, size of nodemask_t can be big and it's not good to allocate them on stack. Now, cpumask_t has CPUMASK_ALLOC/FREE an easy code for get scratch area. NODEMASK_ALLOC/FREE shoudl be there. [akpm@xxxxxxxxxxxxxxxxxxxx: cleanups & tweaks] Tested-by: KOSAKI Motohiro <kosaki.motohiro@xxxxxxxxxxxxxx> Signed-off-by: KAMEZAWA Hiroyuki <kamezawa.hiroyu@xxxxxxxxxxxxxx> Cc: Miao Xie <miaox@xxxxxxxxxxxxxx> Cc: Ingo Molnar <mingo@xxxxxxx> Cc: Peter Zijlstra <a.p.zijlstra@xxxxxxxxx> Cc: Christoph Lameter <cl@xxxxxxxxxxxxxxxxxxxx> Cc: Paul Menage <menage@xxxxxxxxxx> Cc: Nick Piggin <nickpiggin@xxxxxxxxxxxx> Cc: Yasunori Goto <y-goto@xxxxxxxxxxxxxx> Cc: Pekka Enberg <penberg@xxxxxxxxxxxxxx> Cc: David Rientjes <rientjes@xxxxxxxxxx> Cc: Lee Schermerhorn <lee.schermerhorn@xxxxxx> Signed-off-by: Andrew Morton <akpm@xxxxxxxxxxxxxxxxxxxx> Signed-off-by: Linus Torvalds <torvalds@xxxxxxxxxxxxxxxxxxxx> commit 93274e4d4e9416ad1fa47e2f26011e2c483fe5fe Author: Stefani Seibold <stefani@xxxxxxxxxxx> Date: Thu Aug 6 15:07:30 2009 -0700 fbcon: fix rotate upside down crash Fix the rotate_ud() function not to crash in case of a font which has not a width of multiple by 8: The inner loop of the font pixel copy should not access a bit outside the font memory area. Subtract the shift offset from the font width will prevent this. Signed-off-by: Stefani Seibold <stefani@xxxxxxxxxxx> Cc: Krzysztof Helt <krzysztof.h1@xxxxxxxxx> Signed-off-by: Andrew Morton <akpm@xxxxxxxxxxxxxxxxxxxx> Signed-off-by: Linus Torvalds <torvalds@xxxxxxxxxxxxxxxxxxxx> commit 69dd647f969c28d18de77e2153f30d05a1874571 Author: Xiao Guangrong <xiaoguangrong@xxxxxxxxxxxxxx> Date: Thu Aug 6 15:07:29 2009 -0700 generic-ipi: fix hotplug_cfd() Use CONFIG_HOTPLUG_CPU, not CONFIG_CPU_HOTPLUG When hot-unpluging a cpu, it will leak memory allocated at cpu hotplug, but only if CPUMASK_OFFSTACK=y, which is default to n. The bug was introduced by 8969a5ede0f9e17da4b943712429aef2c9bcd82b ("generic-ipi: remove kmalloc()"). Signed-off-by: Xiao Guangrong <xiaoguangrong@xxxxxxxxxxxxxx> Cc: Ingo Molnar <mingo@xxxxxxx> Cc: Jens Axboe <jens.axboe@xxxxxxxxxx> Cc: Nick Piggin <nickpiggin@xxxxxxxxxxxx> Cc: Peter Zijlstra <peterz@xxxxxxxxxxxxx> Cc: Rusty Russell <rusty@xxxxxxxxxxxxxxx> Cc: <stable@xxxxxxxxxx> Signed-off-by: Andrew Morton <akpm@xxxxxxxxxxxxxxxxxxxx> Signed-off-by: Linus Torvalds <torvalds@xxxxxxxxxxxxxxxxxxxx> commit 2020002a878403a6858868d85a43623f74859dba Author: Stoyan Gaydarov <sgayda2@xxxxxxxx> Date: Thu Aug 6 15:07:28 2009 -0700 drivers/w1/masters/omap_hdq.c: fix missing mutex unlock This was found using a semantic patch, more info can be found at: http://www.emn.fr/x-info/coccinelle/ Signed-off-by: Stoyan Gaydarov <sgayda2@xxxxxxxx> Acked-by: Evgeniy Polyakov <johnpol@xxxxxxxxxxx> Signed-off-by: Andrew Morton <akpm@xxxxxxxxxxxxxxxxxxxx> Signed-off-by: Linus Torvalds <torvalds@xxxxxxxxxxxxxxxxxxxx> commit b36ec0428a06fcbdb67d61e9e664154e5dd9a8c7 Author: Christoph Hellwig <hch@xxxxxx> Date: Fri Aug 7 14:38:34 2009 -0300 xfs: fix freeing of inodes not yet added to the inode cache When freeing an inode that lost race getting added to the inode cache we must not call into ->destroy_inode, because that would delete the inode that won the race from the inode cache radix tree. This patch uses splits a new xfs_inode_free helper out of xfs_ireclaim and uses that plus __destroy_inode to make sure we really only free the memory allocted for the inode that lost the race, and not mess with the inode cache state. Signed-off-by: Christoph Hellwig <hch@xxxxxx> Reviewed-by: Eric Sandeen <sandeen@xxxxxxxxxxx> Reported-by: Alex Samad <alex@xxxxxxxxxxxx> Reported-by: Andrew Randrianasulu <randrik@xxxxxxx> Reported-by: Stephane <sharnois@xxxxxxxxx> Reported-by: Tommy <tommy@xxxxxxxxxxxxxxxx> Reported-by: Miah Gregory <mace@xxxxxxxxxxxxxxx> Reported-by: Gabriel Barazer <gabriel@xxxxxxxx> Reported-by: Leandro Lucarella <llucax@xxxxxxxxx> Reported-by: Daniel Burr <dburr@xxxxxxxxxxx> Reported-by: Nickolay <newmail@xxxxxxxxx> Reported-by: Michael Guntsche <mike@xxxxxxxxxxxx> Reported-by: Dan Carley <dan.carley+linuxkern-bugs@xxxxxxxxx> Reported-by: Michael Ole Olsen <gnu@xxxxxxx> Reported-by: Michael Weissenbacher <mw@xxxxxxxxxxxx> Reported-by: Martin Spott <Martin.Spott@xxxxxxxxx> Reported-by: Christian Kujau <lists@xxxxxxxxxxxxxxx> Tested-by: Michael Guntsche <mike@xxxxxxxxxxxx> Tested-by: Dan Carley <dan.carley+linuxkern-bugs@xxxxxxxxx> Tested-by: Christian Kujau <lists@xxxxxxxxxxxxxxx> commit 2e00c97e2c1d2ffc9e26252ca26b237678b0b772 Author: Christoph Hellwig <hch@xxxxxx> Date: Fri Aug 7 14:38:29 2009 -0300 vfs: add __destroy_inode When we want to tear down an inode that lost the add to the cache race in XFS we must not call into ->destroy_inode because that would delete the inode that won the race from the inode cache radix tree. This patch provides the __destroy_inode helper needed to fix this, the actual fix will be in th next patch. As XFS was the only reason destroy_inode was exported we shift the export to the new __destroy_inode. Signed-off-by: Christoph Hellwig <hch@xxxxxx> Reviewed-by: Eric Sandeen <sandeen@xxxxxxxxxxx> commit 54e346215e4fe2ca8c94c54e546cc61902060510 Author: Christoph Hellwig <hch@xxxxxx> Date: Fri Aug 7 14:38:25 2009 -0300 vfs: fix inode_init_always calling convention Currently inode_init_always calls into ->destroy_inode if the additional initialization fails. That's not only counter-intuitive because inode_init_always did not allocate the inode structure, but in case of XFS it's actively harmful as ->destroy_inode might delete the inode from a radix-tree that has never been added. This in turn might end up deleting the inode for the same inum that has been instanciated by another process and cause lots of cause subtile problems. Also in the case of re-initializing a reclaimable inode in XFS it would free an inode we still want to keep alive. Signed-off-by: Christoph Hellwig <hch@xxxxxx> Reviewed-by: Eric Sandeen <sandeen@xxxxxxxxxxx> commit 94f81a47c4a7a2d7a16fcfdd6d81da381732c101 Author: Kenji Kaneshige <kaneshige.kenji@xxxxxxxxxxxxxx> Date: Mon Jul 27 12:06:46 2009 +0900 PCI hotplug: SGI hotplug: do not use hotplug_slot_attr By the pci slot changes, callbacks of attributes under slot directory (/sys/bus/pci/slots) had been changed to get the pointer to struct pci_slot instead of struct hotplug_slot. So the path_show() that assumes the parameter is a pointer to struct hotplug_slot seems broken. Tested-by: Mike Habeck <habeck@xxxxxxx> Signed-off-by: Kenji Kaneshige <kaneshige.kenji@xxxxxxxxxxxxxx> Signed-off-by: Jesse Barnes <jbarnes@xxxxxxxxxxxxxxxx> commit d25f14389a65c7f95512b01415d8d4a8d62855ab Author: Kenji Kaneshige <kaneshige.kenji@xxxxxxxxxxxxxx> Date: Mon Jul 27 12:05:38 2009 +0900 PCI hotplug: SGI hotplug: fix build failure The commit bd3d99c17039fd05a29587db3f4a180c48da115a ("PCI: Remove untested Electromechanical Interlock (EMI) support in pciehp."), which removes the definition of "struct hotplug_slot_attr", broke SGI hotplug driver. By this commit, we get the following compile error. drivers/pci/hotplug/sgi_hotplug.c:106: error: variable 'sn_slot_path_attr' has initializer but incomplete type drivers/pci/hotplug/sgi_hotplug.c:106: error: unknown field 'attr' specified in initializer drivers/pci/hotplug/sgi_hotplug.c:106: error: extra brace group at end of initializer drivers/pci/hotplug/sgi_hotplug.c:106: error: (near initialization for 'sn_slot_path_attr') drivers/pci/hotplug/sgi_hotplug.c:106: warning: excess elements in struct initializer drivers/pci/hotplug/sgi_hotplug.c:106: warning: (near initialization for 'sn_slot_path_attr') drivers/pci/hotplug/sgi_hotplug.c:106: error: unknown field 'show' specified in initializer drivers/pci/hotplug/sgi_hotplug.c:106: warning: excess elements in struct initializer drivers/pci/hotplug/sgi_hotplug.c:106: warning: (near initialization for 'sn_slot_path_attr') drivers/pci/hotplug/sgi_hotplug.c: In function 'sn_hp_destroy': drivers/pci/hotplug/sgi_hotplug.c:203: error: invalid use of undefined type 'struct hotplug_slot_attribute' drivers/pci/hotplug/sgi_hotplug.c: In function 'sn_hotplug_slot_register': drivers/pci/hotplug/sgi_hotplug.c:655: error: invalid use of undefined type 'struct hotplug_slot_attribute' This patch fixes this regression by adding the definition of struct hotplug_slot_attr into sgi_hotplug.c. Tested-by: Mike Habeck <habeck@xxxxxxx> Signed-off-by: Kenji Kaneshige <kaneshige.kenji@xxxxxxxxxxxxxx> Signed-off-by: Jesse Barnes <jbarnes@xxxxxxxxxxxxxxxx> commit dd1f57ecaf9688efa69d982652ecfa3e64f1fa55 Author: Bob Dunlop <rdunlop@xxxxxxxxxx> Date: Thu Aug 6 12:01:03 2009 -0400 libertas: correct packing of rxpd structure Older Gcc compilers (3.4.5 tested) need additional hints in order to get the packing of the rxpd structure (which contains a 16 bit union) correct on the ARM processor. struct txpd does not need these hints since it contains a 32 bit union that packs naturally. Signed-off-by: R.J.Dunlop <rdunlop@xxxxxxxxxx> Acked-by: Dan Williams <dcbw@xxxxxxxxxx> Signed-off-by: John W. Linville <linville@xxxxxxxxxxxxx> commit 60aa569f9212a13382c29cc734f275dec0f55e0b Author: Lennert Buytenhek <buytenh@xxxxxxxxxxxxxx> Date: Mon Aug 3 21:59:09 2009 +0200 mwl8k: prevent module unload hang We need to unregister our ieee80211_hw before resetting the chip, as the former causes firmware commands to be issued which will time out once the chip has been reset. Signed-off-by: Lennert Buytenhek <buytenh@xxxxxxxxxxx> Acked-by: Nicolas Pitre <nico@xxxxxxxxxxx> Signed-off-by: John W. Linville <linville@xxxxxxxxxxxxx> commit a94cc97e14c5750ec2b50b2e4ecdfb0f369ed0f4 Author: Lennert Buytenhek <buytenh@xxxxxxxxxxxxxx> Date: Mon Aug 3 21:58:57 2009 +0200 mwl8k: prevent crash in ->configure_filter() if no interface was added Signed-off-by: Lennert Buytenhek <buytenh@xxxxxxxxxxx> Acked-by: Nicolas Pitre <nico@xxxxxxxxxxx> Signed-off-by: John W. Linville <linville@xxxxxxxxxxxxx> commit 37055bd455b31b8220c35a1ede9c6aceb791cc88 Author: Lennert Buytenhek <buytenh@xxxxxxxxxxxxxx> Date: Mon Aug 3 21:58:47 2009 +0200 mwl8k: call pci_unmap_single() before accessing command structure again Signed-off-by: Lennert Buytenhek <buytenh@xxxxxxxxxxx> Acked-by: Nicolas Pitre <nico@xxxxxxxxxxx> Signed-off-by: John W. Linville <linville@xxxxxxxxxxxxx> commit 4ff6432ea620ba467e50ec04b8271ea0eb94e62e Author: Lennert Buytenhek <buytenh@xxxxxxxxxxxxxx> Date: Mon Aug 3 21:58:39 2009 +0200 mwl8k: add various missing GET_HW_SPEC endian conversions Signed-off-by: Lennert Buytenhek <buytenh@xxxxxxxxxxx> Acked-by: Nicolas Pitre <nico@xxxxxxxxxxx> Signed-off-by: John W. Linville <linville@xxxxxxxxxxxxx> commit d25f9f1357139bbdc79bc960ea84909a7c22ec2b Author: Lennert Buytenhek <buytenh@xxxxxxxxxxxxxx> Date: Mon Aug 3 21:58:26 2009 +0200 mwl8k: fix NULL pointer dereference on receive out-of-memory When we go into out-of-memory and fail to allocate skbuffs to refill the receive ring with, rxq_process can end up running into a receive ring entry that is marked as host-owned but doesn't have an associated skbuff. If this happens, we must break out of the rx processing loop instead of trying to process the descriptor. Signed-off-by: Lennert Buytenhek <buytenh@xxxxxxxxxxx> Acked-by: Nicolas Pitre <nico@xxxxxxxxxxx> Signed-off-by: John W. Linville <linville@xxxxxxxxxxxxx> commit 7dd2459d8f7a967bcd1466591aec72bb3ddc07cc Author: Zhu Yi <yi.zhu@xxxxxxxxx> Date: Mon Jul 27 10:10:20 2009 +0800 ipw2x00: Write outside array bounds > channel_index loops up to IPW_SCAN_CHANNELS, but is used after being > incremented. This might be able to access 1 past the end of the array Reported-by: Roel Kluin <roel.kluin@xxxxxxxxx> Signed-off-by: John W. Linville <linville@xxxxxxxxxxxxx> commit bd3f02212d6a457267e0c9c02c426151c436d9d4 Author: Eric Dumazet <eric.dumazet@xxxxxxxxx> Date: Fri Aug 7 12:49:29 2009 +0200 ring-buffer: Fix memleak in ring_buffer_free() I noticed oprofile memleaked in linux-2.6 current tree, and tracked this ring-buffer leak. Signed-off-by: Eric Dumazet <eric.dumazet@xxxxxxxxx> LKML-Reference: <4A7C06B9.2090302@xxxxxxxxx> Cc: stable@xxxxxxxxxx Signed-off-by: Steven Rostedt <rostedt@xxxxxxxxxxx> commit afc5e65245255a268ab22a20477ed2c9f2cdfcd3 Author: Takashi Iwai <tiwai@xxxxxxx> Date: Fri Aug 7 16:33:53 2009 +0200 ASoC: Add missing DRV_NAME definitions for fsl/* drivers Module builds are broken due to missing DRV_NAME for efika-audio-fabric and pcm030-audio-fabric. Signed-off-by: Takashi Iwai <tiwai@xxxxxxx> commit 17332925d7b11bb6c2d0c49450ae58dd836005da Author: Dave Airlie <airlied@xxxxxxxx> Date: Fri Aug 7 11:03:26 2009 +1000 drm/radeon/kms: setup MC/VRAM the same way for suspend/resume we should align the GTT after VRAM no matter what, as we can come back from resume and put in a different place and bad things happen. Signed-off-by: Dave Airlie <airlied@xxxxxxxxxx> commit 0e692a94e378628b7d527260ad939894454bcca8 Author: Li Zefan <lizf@xxxxxxxxxxxxxx> Date: Fri Aug 7 15:10:54 2009 +0800 lockdep: Fix typos in documentation s/head/held Signed-off-by: Li Zefan <lizf@xxxxxxxxxxxxxx> Cc: Peter Zijlstra <peterz@xxxxxxxxxxxxx> LKML-Reference: <4A7BD37E.9060806@xxxxxxxxxxxxxx> Signed-off-by: Ingo Molnar <mingo@xxxxxxx> commit 9795447f71324d8f14c19ed68b43c883135c3f59 Author: Li Zefan <lizf@xxxxxxxxxxxxxx> Date: Fri Aug 7 16:37:10 2009 +0800 lockdep: Fix file mode of lock_stat /proc/lock_stat is writable. Signed-off-by: Li Zefan <lizf@xxxxxxxxxxxxxx> Cc: Peter Zijlstra <peterz@xxxxxxxxxxxxx> LKML-Reference: <4A7BE7B6.10904@xxxxxxxxxxxxxx> Signed-off-by: Ingo Molnar <mingo@xxxxxxx> commit 53cb780adbe69df90c8dc23e992ce40455e687c3 Author: Roel Kluin <roel.kluin@xxxxxxxxx> Date: Fri Aug 7 10:39:25 2009 +0200 [S390] KVM: Read buffer overflow Check whether index is within bounds before testing the element. Signed-off-by: Roel Kluin <roel.kluin@xxxxxxxxx> Signed-off-by: Martin Schwidefsky <schwidefsky@xxxxxxxxxx> commit 677c1dd706d9cc384730cbd52baf821923d8be9b Author: Hendrik Brueckner <brueckner@xxxxxxxxxxxxxxxxxx> Date: Fri Aug 7 10:39:24 2009 +0200 [S390] kernel: Storing machine flags early in lowcore Currently, the machine_flags are stored late in the startup initialization which results in failing machine type checks (e.g. for MACHINE_IS_VM). To allow these checks, store the machine flags in the lowcore when the machine type has been detected. Moving the machine_flags to the lowcore has been introduced with git commit 25097bf153391f7be4c591d47061b3dc4990dac2 Signed-off-by: Hendrik Brueckner <brueckner@xxxxxxxxxxxxxxxxxx> Signed-off-by: Martin Schwidefsky <schwidefsky@xxxxxxxxxx> commit 7dbdee2e9a2ac42ea5135801bcc9d1a8e3f672aa Author: Steven Rostedt <srostedt@xxxxxxxxxx> Date: Thu Aug 6 19:53:18 2009 -0400 tracing: Fix recordmcount.pl to handle sections with only weak functions Roland Dreier found that a section that contained only a weak function in one of the staging drivers and this caused recordmcount.pl to spit out a warning and fail. Although it is strange that a driver would have a weak function, and this function only be used in one place, it should not be something to make recordmcount.pl fail. This patch fixes the issue in a simple manner: if only weak functions exist in a section, then that section will not be recorded. Reported-by: Roland Dreier <rdreier@xxxxxxxxx> Signed-off-by: Steven Rostedt <rostedt@xxxxxxxxxxx> Signed-off-by: Ingo Molnar <mingo@xxxxxxx> commit 0d502d8267ebab9ae4b5b4c065d20196d6069f52 Merge: 09384dfc76e526c3993c09c42e016372dc9dd22c a9dfac3353b03432e3d46a0dde6795588c46256d Author: David S. Miller <davem@xxxxxxxxxxxxx> Date: Thu Aug 6 13:18:22 2009 -0700 Merge branch 'for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/lowpan/lowpan commit 09384dfc76e526c3993c09c42e016372dc9dd22c Author: Eric Dumazet <eric.dumazet@xxxxxxxxx> Date: Thu Aug 6 03:55:04 2009 +0000 irda: Fix irda_getname() leak irda_getname() can leak kernel memory to user. Signed-off-by: Eric Dumazet <eric.dumazet@xxxxxxxxx> Signed-off-by: David S. Miller <davem@xxxxxxxxxxxxx> commit 3d392475c873c10c10d6d96b94d092a34ebd4791 Author: Eric Dumazet <eric.dumazet@xxxxxxxxx> Date: Thu Aug 6 02:27:43 2009 +0000 appletalk: fix atalk_getname() leak atalk_getname() can leak 8 bytes of kernel memory to user Signed-off-by: Eric Dumazet <eric.dumazet@xxxxxxxxx> Signed-off-by: David S. Miller <davem@xxxxxxxxxxxxx> commit f6b97b29513950bfbf621a83d85b6f86b39ec8db Author: Eric Dumazet <eric.dumazet@xxxxxxxxx> Date: Thu Aug 6 03:31:07 2009 +0000 netrom: Fix nr_getname() leak nr_getname() can leak kernel memory to user. Signed-off-by: Eric Dumazet <eric.dumazet@xxxxxxxxx> Signed-off-by: David S. Miller <davem@xxxxxxxxxxxxx> commit 80922bbb12a105f858a8f0abb879cb4302d0ecaa Author: Eric Dumazet <eric.dumazet@xxxxxxxxx> Date: Thu Aug 6 03:48:36 2009 +0000 econet: Fix econet_getname() leak econet_getname() can leak kernel memory to user. Signed-off-by: Eric Dumazet <eric.dumazet@xxxxxxxxx> Signed-off-by: David S. Miller <davem@xxxxxxxxxxxxx> commit 17ac2e9c58b69a1e25460a568eae1b0dc0188c25 Author: Eric Dumazet <eric.dumazet@xxxxxxxxx> Date: Thu Aug 6 03:34:06 2009 +0000 rose: Fix rose_getname() leak rose_getname() can leak kernel memory to user. Signed-off-by: Eric Dumazet <eric.dumazet@xxxxxxxxx> Signed-off-by: David S. Miller <davem@xxxxxxxxxxxxx> commit 1054598cab8674438675085fae459e960eb10799 Author: Peter Zijlstra <peterz@xxxxxxxxxxxxx> Date: Thu Aug 6 18:06:26 2009 +0200 perf_counter: Fix double list iteration in per task precise stats Brice Goglin reported this crash with per task precise stats: > I finally managed to test the threaded perfcounter statistics (thanks a > lot for implementing it). I am running 2.6.31-rc5 (with the AMD > magny-cours patches but I don't think they matter here). I am trying to > measure local/remote memory accesses per thread during the well-known > stream benchmark. It's compiled with OpenMP using 16 threads on a > quad-socket quad-core barcelona machine. > > Command line is: > /mnt/scratch/bgoglin/cpunode/linux-2.6.31/tools/perf/perf record -f -s > -e r1000001e0 -e r1000002e0 -e r1000004e0 -e r1000008e0 ./stream > > It seems to work fine with a single -e <counter> on the command line > while it crashes when there are at least 2 of them. > It seems to work fine without -s as well. A silly copy-paste resulted in a messed up iteration which would cause the OOPS. Reported-by: Brice Goglin <Brice.Goglin@xxxxxxxx> Signed-off-by: Peter Zijlstra <a.p.zijlstra@xxxxxxxxx> Tested-by: Brice Goglin <Brice.Goglin@xxxxxxxx> LKML-Reference: <1249574786.32113.550.camel@twins> Signed-off-by: Ingo Molnar <mingo@xxxxxxx> commit 9424edc2da097c8589fcc24a72552d33e54be161 Author: Peter Zijlstra <a.p.zijlstra@xxxxxxxxx> Date: Wed Aug 5 14:05:16 2009 +0200 perf: Auto-detect libelf Adds autodetection for libelf as well, and simplifies the libbfd code. Furthermore, fail make with an error when libelf is not found and warn about the lack of libbfd. Also provide an option to build a 32bit version even though you might be running a 64bit kernel. Signed-off-by: Peter Zijlstra <a.p.zijlstra@xxxxxxxxx> Signed-off-by: Ingo Molnar <mingo@xxxxxxx> commit 4d1e00a8af426500edfb8643fa6c375b89f1f804 Author: Arnaldo Carvalho de Melo <acme@xxxxxxxxxx> Date: Wed Aug 5 19:02:49 2009 -0300 perf symbol: Fix symbol parsing in certain cases: use the build-id as a symlink In some cases distros have binaries and debuginfo in weird places: [root@doppio tuna]# ls -la /usr/lib64/{xulrunner-1.9.1/xulrunner-stub,firefox-3.5.2/firefox} -rwxr-xr-x 1 root root 90024 2009-08-03 19:45 /usr/lib64/firefox-3.5.2/firefox -rwxr-xr-x 1 root root 90024 2009-08-03 18:23 /usr/lib64/xulrunner-1.9.1/xulrunner-stub [root@doppio tuna]# sha1sum /usr/lib64/{xulrunner-1.9.1/xulrunner-stub,firefox-3.5.2/firefox} 19a858077d263d5de22c9c5da250d3e4396ae739 /usr/lib64/xulrunner-1.9.1/xulrunner-stub 19a858077d263d5de22c9c5da250d3e4396ae739 /usr/lib64/firefox-3.5.2/firefox [root@doppio tuna]# rpm -qf /usr/lib64/{xulrunner-1.9.1/xulrunner-stub,firefox-3.5.2/firefox} xulrunner-1.9.1.2-1.fc11.x86_64 firefox-3.5.2-2.fc11.x86_64 [root@doppio tuna]# ls -la /usr/lib/debug/{usr/lib64/xulrunner-1.9.1/xulrunner-stub,usr/lib64/firefox-3.5.2/firefox}.debug ls: cannot access /usr/lib/debug/usr/lib64/firefox-3.5.2/firefox.debug: No such file or directory -rwxr-xr-x 1 root root 403608 2009-08-03 18:22 /usr/lib/debug/usr/lib64/xulrunner-1.9.1/xulrunner-stub.debug Seemingly we don't have a .symtab when we actually can find it if we use the .note.gnu.build-id ELF section put in place by some distros. Use it and find the symbols we need. Signed-off-by: Arnaldo Carvalho de Melo <acme@xxxxxxxxxx> Acked-by: Peter Zijlstra <peterz@xxxxxxxxxxxxx> LKML-Reference: <new-submission> Signed-off-by: Ingo Molnar <mingo@xxxxxxx> commit 469535a598f28c13a2a42037e1b778f671af1d16 Author: Robert Richter <robert.richter@xxxxxxx> Date: Thu Jul 30 19:19:18 2009 +0200 ring-buffer: Fix advance of reader in rb_buffer_peek() When calling rb_buffer_peek() from ring_buffer_consume() and a padding event is returned, the function rb_advance_reader() is called twice. This may lead to missing samples or under high workloads to the warning below. This patch fixes this. If a padding event is returned by rb_buffer_peek() it will be consumed by the calling function now. Also, I simplified some code in ring_buffer_consume(). ------------[ cut here ]------------ WARNING: at /dev/shm/.source/linux/kernel/trace/ring_buffer.c:2289 rb_advance_reader+0x2e/0xc5() Hardware name: Anaheim Modules linked in: Pid: 29, comm: events/2 Tainted: G W 2.6.31-rc3-oprofile-x86_64-standard-00059-g5050dc2 #1 Call Trace: [<ffffffff8106776f>] ? rb_advance_reader+0x2e/0xc5 [<ffffffff81039ffe>] warn_slowpath_common+0x77/0x8f [<ffffffff8103a025>] warn_slowpath_null+0xf/0x11 [<ffffffff8106776f>] rb_advance_reader+0x2e/0xc5 [<ffffffff81068bda>] ring_buffer_consume+0xa0/0xd2 [<ffffffff81326933>] op_cpu_buffer_read_entry+0x21/0x9e [<ffffffff810be3af>] ? __find_get_block+0x4b/0x165 [<ffffffff8132749b>] sync_buffer+0xa5/0x401 [<ffffffff810be3af>] ? __find_get_block+0x4b/0x165 [<ffffffff81326c1b>] ? wq_sync_buffer+0x0/0x78 [<ffffffff81326c76>] wq_sync_buffer+0x5b/0x78 [<ffffffff8104aa30>] worker_thread+0x113/0x1ac [<ffffffff8104dd95>] ? autoremove_wake_function+0x0/0x38 [<ffffffff8104a91d>] ? worker_thread+0x0/0x1ac [<ffffffff8104dc9a>] kthread+0x88/0x92 [<ffffffff8100bdba>] child_rip+0xa/0x20 [<ffffffff8104dc12>] ? kthread+0x0/0x92 [<ffffffff8100bdb0>] ? child_rip+0x0/0x20 ---[ end trace f561c0a58fcc89bd ]--- Cc: Steven Rostedt <rostedt@xxxxxxxxxxx> Cc: <stable@xxxxxxxxxx> Signed-off-by: Robert Richter <robert.richter@xxxxxxx> Signed-off-by: Ingo Molnar <mingo@xxxxxxx> commit e0d82a0a4e9841b787e6431ccfbb515546c55dc2 Author: Benjamin Herrenschmidt <benh@xxxxxxxxxxxxxxxxxxx> Date: Thu Aug 6 21:16:44 2009 +1000 perf_counter/powerpc: Check oprofile_cpu_type for NULL before using it If the current CPU doesn't support performance counters, cur_cpu_spec->oprofile_cpu_type can be NULL. The current perf_counter modules don't test for that case and would thus crash at boot time. Bug reported by David Woodhouse. Reported-by: David Woodhouse <dwmw2@xxxxxxxxxxxxx> Signed-off-by: Benjamin Herrenschmidt <benh@xxxxxxxxxxxxxxxxxxx> Cc: Peter Zijlstra <a.p.zijlstra@xxxxxxxxx> Signed-off-by: Paul Mackerras <paulus@xxxxxxxxx> LKML-Reference: <19066.48028.446975.501454@xxxxxxxxxxxxxxxxxxxx> Signed-off-by: Ingo Molnar <mingo@xxxxxxx> commit c5b1525533c484238015c48c78f86d49a1bfb86b Author: Sheng Yang <sheng@xxxxxxxxxxxxxxx> Date: Thu Aug 6 13:31:56 2009 +0800 intel-iommu: Fix enabling snooping feature by mistake Two defects work together result in KVM device passthrough randomly can't work: 1. iommu_snooping is not initialized to zero when vm_iommu_init() called. So it is possible to get a random value. 2. One line added by commit 2c2e2c38("IOMMU Identity Mapping Support") change the code path, let it bypass domain_update_iommu_cap(), as well as missing the increment of domain iommu reference count. The latter is also likely to cause a leak of domains on repeated VMM assignment and deassignment. Signed-off-by: Sheng Yang <sheng@xxxxxxxxxxxxxxx> Signed-off-by: David Woodhouse <David.Woodhouse@xxxxxxxxx> commit 53a27b39ff4d2492f84b1fdc2f0047175f0b0b93 Author: Marcelo Tosatti <mtosatti@xxxxxxxxxx> Date: Wed Aug 5 15:43:58 2009 -0300 KVM: MMU: limit rmap chain length Otherwise the host can spend too long traversing an rmap chain, which happens under a spinlock. Cc: stable@xxxxxxxxxx Signed-off-by: Marcelo Tosatti <mtosatti@xxxxxxxxxx> Signed-off-by: Avi Kivity <avi@xxxxxxxxxx> commit a9dfac3353b03432e3d46a0dde6795588c46256d Author: Dmitry Eremin-Solenikov <dbaryshkov@xxxxxxxxx> Date: Mon Aug 3 17:53:00 2009 +0400 af_ieee802154: provide dummy get/setsockopt Provide dummt get/setsockopt implementations to stop these syscalls from oopsing on our sockets. Signed-off-by: Dmitry Eremin-Solenikov <dbaryshkov@xxxxxxxxx> commit 45a41d147a3a31bb218201b0dd70cfe4e9ed5105 Author: Dmitry Eremin-Solenikov <dbaryshkov@xxxxxxxxx> Date: Sun Aug 2 14:12:01 2009 +0400 af_ieee802154: fix ioctl processing fix two errors in ioctl processing: 1) if the ioctl isn't supported one should return -ENOIOCTLCMD 2) don't call ndo_do_ioctl if the device doesn't provide it Signed-off-by: Dmitry Eremin-Solenikov <dbaryshkov@xxxxxxxxx> commit d82f1c35348cebe2fb2d4a4d31ce0ab0769e3d93 Author: Eric Miao <eric.y.miao@xxxxxxxxx> Date: Wed Aug 5 01:24:41 2009 -0700 Input: matrix_keypad - make matrix keymap size dynamic Remove assumption on the shift and size of rows/columns form matrix_keypad driver. Signed-off-by: Eric Miao <eric.y.miao@xxxxxxxxx> Signed-off-by: Dmitry Torokhov <dtor@xxxxxxx> commit 194934785a846e0a7b1b674b7b475a9d0125d2f8 Author: TJ <linux@xxxxxxxxxxx> Date: Mon Aug 3 13:39:09 2009 -0700 Input: wistron_btns - support Prestigio Wifi RF kill button The Prestigio 157, an old no-name clone laptop uses input keys very similar to the Wistron 1557/MS2141 with the addition of BIOS-controlled wireless radio frequency kill switch. This patch adds support for the RF kill switch control and adds manual identification of the model. The Prestigio does not expose any recognisable identity via dmidecode and so requires manual selection at module init using force=1 keymap=prestigio Signed-off-by: TJ <ubuntu@xxxxxxxxxxx> Signed-off-by: Dmitry Torokhov <dtor@xxxxxxx> commit 985fe845aea9cd56fd351800302270444556e45a Author: Jerome Glisse <jglisse@xxxxxxxxxx> Date: Wed Jul 29 18:55:53 2009 +0200 drm/radeon/kms: Fix caching mode selection for GTT object GTT object can either be cached,uncached or wc just let core ttm pick the best mode according to how the bo driver and GTT memory type was initialized. Signed-off-by: Jerome Glisse <jglisse@xxxxxxxxxx> Signed-off-by: Dave Airlie <airlied@xxxxxxxxxx> commit af6af30c0fcd77e621638e53ef8b176bca8bd3b4 Author: Peter Zijlstra <peterz@xxxxxxxxxxxxx> Date: Wed Aug 5 20:41:04 2009 +0200 ftrace: Fix perf-tracepoint OOPS Not all tracepoints are created equal, in specific the ftrace tracepoints are created with TRACE_EVENT_FORMAT() which does not generate the needed bits to tie them into perf counters. For those events, don't create the 'id' file and fail ->profile_enable when their ID is specified through other means. Reported-by: Chris Mason <chris.mason@xxxxxxxxxx> Signed-off-by: Peter Zijlstra <a.p.zijlstra@xxxxxxxxx> Cc: Steven Rostedt <rostedt@xxxxxxxxxxx> LKML-Reference: <1249497664.5890.4.camel@laptop> [ v2: fix build error in the !CONFIG_EVENT_PROFILE case ] Signed-off-by: Ingo Molnar <mingo@xxxxxxx> commit 1bbf20835c4e088667a090ce6523a0f70b62dc76 Author: Darren Hart <dvhltc@xxxxxxxxxx> Date: Wed Aug 5 12:05:21 2009 -0700 rtmutex: Avoid deadlock in rt_mutex_start_proxy_lock() In the event of a lock steal or owner died, rt_mutex_start_proxy_lock() will give the rt_mutex to the waiting task, but it fails to release the wait_lock. This leads to subsequent deadlocks when other tasks try to acquire the rt_mutex. I also removed a few extra blank lines that really spaced this routine out. I must have been high on the \n when I wrote this originally... Signed-off-by: Darren Hart <dvhltc@xxxxxxxxxx> Cc: Peter Zijlstra <peterz@xxxxxxxxxxxxx> Cc: Steven Rostedt <rostedt@xxxxxxxxxxx> Cc: Dinakar Guniguntala <dino@xxxxxxxxxx> Cc: John Stultz <johnstul@xxxxxxxxxxxxxxxxxx> LKML-Reference: <4A79D7F1.4000405@xxxxxxxxxx> Signed-off-by: Ingo Molnar <mingo@xxxxxxx> commit b4adbb4ddf63091f48668e7ff1b9b0f6f84d4b40 Author: Pascal Terjan <pterjan@xxxxxxxxxxxx> Date: Wed Aug 5 04:11:39 2009 +0000 Add IDs for 3C905B-TX Fast Etherlink XL PCI We found this old card which was not supported, and physically looks similar to the other 3C905B we have (9055). After adding the IDs it seems to work fine (MII report, dhcp, scp, ...) Acked-by: Steffen Klassert <klassert@xxxxxxxxxxxxxxxxxxxxxxxxx> Signed-off-by: David S. Miller <davem@xxxxxxxxxxxxx> commit 3f6e968ef4e1d8d93d8a8505461b0e50a9e97ad8 Author: Steven Rostedt <rostedt@xxxxxxxxxxx> Date: Wed Aug 5 22:00:14 2009 -0400 tracing: do not use functions starting with .L in recordmcount.pl On Wed, 5 Aug 2009, Ingo Molnar wrote: > * Dave Airlie <airlied@xxxxxxxxx> wrote: > > > Hey, > > > > So I spent 3-4 hrs today (I'm stupid yes) tracking down a .o > > breakage by blaming rawhide gcc/binutils as I was using make > > V=1and seeing only the compiler chain running, > > Hm, is this that powerpc related build bug you just reported? Well we tracked it down and it is powerpc64 specific. Seems that in drivers/hwmon/lm93.c there's a function called: LM93_IN_FROM_REG() But PPC64 has function descriptors and the real function names (the ones you see in objdump) start with a '.'. Thus this in objdump you have: Disassembly of section .text: 0000000000000000 <.LM93_IN_FROM_REG>: 0: 7c 08 02 a6 mflr r0 4: fb 81 ff e0 std r28,-32(r1) The function name used is .LM93_IN_FROM_REG. But gcc considers symbols that start with ".L" as a special symbol that is used inside the assembly stage. The nm passed into recordmcount uses the --synthetic option which shows the ".L" symbols (my runs outside of the build did not include the --synthetic option, so my older patch worked). We see the function as a local. Now to capture all the locations that use "mcount" we need to have a reference to link into the object file a list of mcount callers. We need a reference that will not disappear. We try to use a global function and if that does not work, we use a local function as a reference. But to relink the section back into the object, we need to make it global. In this case, we run objcopy using --globalize-symbol and --localize-symbol to convert the symbol into a global symbol, link the mcount list, then convert it back to a local symbol. This works great except for this case. .L* symbols can not be converted into a global symbol, and the mcount section referencing it will remain unresolved. Reported-by: Dave Airlie <airlied@xxxxxxxxx> LKML-Reference: <alpine.DEB.2.00.0908052011590.5010@xxxxxxxxxxxxxxxxxxx> Signed-off-by: Steven Rostedt <rostedt@xxxxxxxxxxx> commit 464e85eb0e63096bd52e4c3e2a6fb8357fb95828 Author: Steven Rostedt <srostedt@xxxxxxxxxx> Date: Wed Aug 5 15:26:37 2009 -0400 ring-buffer: do not disable ring buffer on oops_in_progress The commit: commit e0fdace10e75dac67d906213b780ff1b1a4cc360 Author: David Miller <davem@xxxxxxxxxxxxx> Date: Fri Aug 1 01:11:22 2008 -0700 debug_locks: set oops_in_progress if we will log messages. Otherwise lock debugging messages on runqueue locks can deadlock the system due to the wakeups performed by printk(). Signed-off-by: David S. Miller <davem@xxxxxxxxxxxxx> Signed-off-by: Ingo Molnar <mingo@xxxxxxx> Will permanently set oops_in_progress on any lockdep failure. When this triggers it will cause any read from the ring buffer to permanently disable the ring buffer (not to mention no locking of printk). This patch removes the check. It keeps the print in NMI which makes sense. This is probably OK, since the ring buffer should not cause something to set oops_in_progress anyway. Signed-off-by: Steven Rostedt <rostedt@xxxxxxxxxxx> commit 0f2541d299d233eddddee4345795e0c46264fd56 Author: Steven Rostedt <srostedt@xxxxxxxxxx> Date: Wed Aug 5 12:02:48 2009 -0400 ring-buffer: fix check of try_to_discard result The function ring_buffer_discard_commit inversed the code path of the result of try_to_discard. It should skip incrementing the entry counter if try_to_discard succeeded. But instead, it increments the entry conder if it succeeded to discard, and does not increment it if it fails. The result of this bug is that filtering will make the stat counters incorrect. Signed-off-by: Steven Rostedt <rostedt@xxxxxxxxxxx> commit c0c60c4b9ab45bb02b20796401dd6a90770fd0ee Author: Hartley Sweeten <hartleys@xxxxxxxxxxxxxxxxxxx> Date: Tue Aug 4 23:38:06 2009 +0100 ARM: 5639/1: arm: clkdev.c should include <linux/clk.h> <linux/clk.h> should be included to get the base API prototypes. This fixes the following sparse warnings: arch/arm/common/clkdev.c:65:12: warning: symbol 'clk_get_sys' was not declared. Should it be static? arch/arm/common/clkdev.c:79:12: warning: symbol 'clk_get' was not declared. Should it be static? arch/arm/common/clkdev.c:87:6: warning: symbol 'clk_put' was not declared. Should it be static? Signed-off-by: H Hartley Sweeten <hsweeten@xxxxxxxxxxxxxxxxxxx> Signed-off-by: Russell King <rmk+kernel@xxxxxxxxxxxxxxxx> commit 65a5053b764a42d33b334ba55810bb5b56eb92df Author: Hartley Sweeten <hartleys@xxxxxxxxxxxxxxxxxxx> Date: Tue Aug 4 23:20:45 2009 +0100 ARM: 5638/1: arch/arm/kernel/signal.c: use correct address space for CRUNCH preserve_crunch_context() calls __copy_to_user() which expects the destination address to be in __user space. setup_sigframe() properly passes the destination address. restore_crunch_context() calls __copy_from_user() which expects the source address to be in __user space. restore_sigframe() properly passes the source address. This fixes {preserve/restore}_crunch_context() to accept the address as __user space and resolves the following sparse warnings: arch/arm/kernel/signal.c:146:31: warning: incorrect type in argument 1 (different address spaces) expected void [noderef] <asn:1>*to got struct crunch_sigframe *frame arch/arm/kernel/signal.c:156:38: warning: incorrect type in argument 2 (different address spaces) expected void const [noderef] <asn:1>*from got struct crunch_sigframe *frame arch/arm/kernel/signal.c:250:48: warning: incorrect type in argument 1 (different address spaces) expected struct crunch_sigframe *frame got struct crunch_sigframe [noderef] <asn:1>*<noident> arch/arm/kernel/signal.c:365:49: warning: incorrect type in argument 1 (different address spaces) expected struct crunch_sigframe *frame got struct crunch_sigframe [noderef] <asn:1>*<noident> Signed-off-by: H Hartley Sweeten <hsweeten@xxxxxxxxxxxxxxxxxxx> Signed-off-by: Russell King <rmk+kernel@xxxxxxxxxxxxxxxx> commit 0a51810aa058a0a4ac76dd6f87f4d10bee774e2e Author: Andrew Victor <linux@xxxxxxxxxxxx> Date: Tue Aug 4 19:55:56 2009 +0100 ARM: 5637/1: [KS8695] Don't reference CLOCK_TICK_RATE in drivers Stop referencing CLOCK_TICK_RATE in the KS8695 drivers, rather refer to a KS8695_CLOCK_RATE. Issue pointed out by Russell King on arm-linux-kernel mailing list. Signed-off-by: Andrew Victor <linux@xxxxxxxxxxxx> Signed-off-by: Russell King <rmk+kernel@xxxxxxxxxxxxxxxx> commit cf39c4c572dc54adbdf8933d1e6cd87ee94d8fc0 Author: Eric Dumazet <eric.dumazet@xxxxxxxxx> Date: Mon Jul 27 08:03:18 2009 -0700 phonet: phonet_device_get() fix net/phonet/pn_dev.c: In function `phonet_device_get': net/phonet/pn_dev.c:99: warning: 'dev' might be used uninitialized in this function Signed-off-by: Eric Dumazet <eric.dumazet@xxxxxxxxx> Acked-by: Rémi Denis-Courmont <remi.denis-courmont@xxxxxxxxx> Signed-off-by: David S. Miller <davem@xxxxxxxxxxxxx> commit 819e0064634f580ab618189e657ea58341d214b7 Author: Roel Kluin <roel.kluin@xxxxxxxxx> Date: Sun Jul 26 00:50:38 2009 +0200 drm/i915: Fix read outside array bounds in restoring the SWF10 range. dev_priv->saveSWF1 is a 16 element array, but this reads up to index 22, and restored values from the wrong registers. Signed-off-by: Roel Kluin <roel.kluin@xxxxxxxxx> Signed-off-by: Eric Anholt <eric@xxxxxxxxxx> commit 9c9fe1f841745184bbc5460c6f3909fded3b929b Author: Eric Anholt <eric@xxxxxxxxxx> Date: Mon Aug 3 16:09:16 2009 -0700 drm/i915: Use our own workqueue to avoid wedging the system along with the GPU. Signed-off-by: Eric Anholt <eric@xxxxxxxxxx> commit 476181cb05c6a3aea3ef42309388e255c934a06f Author: Wei Yongjun <yjwei@xxxxxxxxxxxxxx> Date: Tue Aug 4 21:44:39 2009 +0000 dccp: missing destroy of percpu counter variable while unload module percpu counter dccp_orphan_count is init in dccp_init() by percpu_counter_init() while dccp module is loaded, but the destroy of it is missing while dccp module is unloaded. We can get the kernel WARNING about this. Reproduct by the following commands: $ modprobe dccp $ rmmod dccp $ modprobe dccp WARNING: at lib/list_debug.c:26 __list_add+0x27/0x5c() Hardware name: VMware Virtual Platform list_add corruption. next->prev should be prev (c080c0c4), but was (null). (next =ca7188cc). Modules linked in: dccp(+) nfsd lockd nfs_acl auth_rpcgss exportfs sunrpc Pid: 1956, comm: modprobe Not tainted 2.6.31-rc5 #55 Call Trace: [<c042f8fa>] warn_slowpath_common+0x6a/0x81 [<c053a6cb>] ? __list_add+0x27/0x5c [<c042f94f>] warn_slowpath_fmt+0x29/0x2c [<c053a6cb>] __list_add+0x27/0x5c [<c053c9b3>] __percpu_counter_init+0x4d/0x5d [<ca9c90c7>] dccp_init+0x19/0x2ed [dccp] [<c0401141>] do_one_initcall+0x4f/0x111 [<ca9c90ae>] ? dccp_init+0x0/0x2ed [dccp] [<c06971b5>] ? notifier_call_chain+0x26/0x48 [<c0444943>] ? __blocking_notifier_call_chain+0x45/0x51 [<c04516f7>] sys_init_module+0xac/0x1bd [<c04028e4>] sysenter_do_call+0x12/0x22 Signed-off-by: Wei Yongjun <yjwei@xxxxxxxxxxxxxx> Acked-by: Eric Dumazet <eric.dumazet@xxxxxxxxx> Signed-off-by: David S. Miller <davem@xxxxxxxxxxxxx> commit f60f785679b507cbeeb03d2db080ab649ac86027 Author: Dhananjay Phadke <dhananjay@xxxxxxxxxx> Date: Tue Aug 4 10:39:03 2009 +0000 netxen: fix dma mask update calculation Fix dma mask calculation that caps at 63-bit addressing even when firmware advertises full 64-bit support. Signed-off-by: Dhananjay Phadke <dhananjay@xxxxxxxxxx> Signed-off-by: David S. Miller <davem@xxxxxxxxxxxxx> commit 6fd210a9cc398ecbff7bcdbe220651b73b654f56 Author: Kevin Hilman <khilman@xxxxxxxxxxxxxxxxxxx> Date: Mon Jul 20 09:09:23 2009 -0700 OMAP3: Overo: add missing pen-down GPIO definition Signed-off-by: Kevin Hilman <khilman@xxxxxxxxxxxxxxxxxxx> commit 55b6019ae29456e0f1e4087546bf4221c48622a0 Author: Kevin Hilman <khilman@xxxxxxxxxxxxxxxxxxx> Date: Thu Jun 4 15:57:10 2009 -0700 OMAP: GPIO: clear/restore level/edge detect settings on mask/unmask If IRQ triggering is enabled, it can trigger a pending interrupt even for masked interrupts. Any pending GPIO interrupts can prevent the powerdomain from hitting retention. Problem found, reported and additional review and testing by Chunquiu Wang. Tested-by: Chunquiu Wang <cqwang@xxxxxxxxxxxx> Signed-off-by: Kevin Hilman <khilman@xxxxxxxxxxxxxxxxxxx> commit 6c5f80393b107b0c9e2a54b03b65d1880e706655 Author: Jouni Hogander <jouni.hogander@xxxxxxxxx> Date: Wed Oct 29 12:06:04 2008 +0200 OMAP3: PM: Fix wrong sequence in suspend. Powerdomain previous state is checked after restoring new states in suspend. This patch fixes this problem. Signed-off-by: Jouni Hogander <jouni.hogander@xxxxxxxxx> Signed-off-by: Kevin Hilman <khilman@xxxxxxxxxxxxxxxxxxx> commit 60c45ae1107c4ec47d2c84e5984ea59d02b2863d Author: Eero Nurkkala <ext-eero.nurkkala@xxxxxxxxx> Date: Tue Jun 23 12:53:29 2009 +0300 OMAP: PM: CPUfreq: obey min/max settings of policy Use the min/max settings from CPUfreq policy rather than processor defined min/max settings. Without this patch, it's possible to scale frequency outside the current policy range. Signed-off-by: Eero Nurkkala <ext-eero.nurkkala@xxxxxxxxx> Signed-off-by: Kevin Hilman <khilman@xxxxxxxxxxxxxxxxxxx> commit bcf396c48012a5e4c7ab77be5c40df10d6bdb8ad Author: Kevin Hilman <khilman@xxxxxxxxxxxxxxxxxxx> Date: Tue Jun 30 21:02:45 2009 -0700 OMAP2/3/4: UART: allow in-order port traversal Use list_add_tail() when adding discovered UART ports. This is so traversal using list_for_each_entry() will traverse the list in the order they were found. Signed-off-by: Kevin Hilman <khilman@xxxxxxxxxxxxxxxxxxx> commit fd455ea899b5a14a8cdd276e15f3b47696526f92 Author: Kevin Hilman <khilman@xxxxxxxxxxxxxxxxxxx> Date: Mon Apr 27 12:27:36 2009 -0700 OMAP2/3/4: UART: Allow per-UART disabling wakeup for serial ports This patch causes the OMAP uarts to honor the sysfs power/wakeup file for IOPAD wakeups. Before the OMAP was always woken up from off mode on a rs232 signal change. This patch also creates a different platform device for each serial port so that the wakeup properties can be control per port. By default, IOPAD wakeups are enabled for each UART. To disable, # echo disabled > /sys/devices/platform/serial8250.0/power/wakeup Where serial8250.0 can be replaced by .1, or .2 to control the other ports. Original idea and original patch from Russ Dill <russ.dill@xxxxxxxxx> Cc: Russ Dill <russ.dill@xxxxxxxxx> Signed-off-by: Kevin Hilman <khilman@xxxxxxxxxxxxxxxxxxx> commit 2466211e5debd205fc550d871fe0ab9b9a6d02ed Author: Tero Kristo <tero.kristo@xxxxxxxxx> Date: Thu Mar 5 16:32:23 2009 +0200 OMAP3: Fixed crash bug with serial + suspend It was possible for an unhandled interrupt to occur if there was incoming serial traffic during wakeup from suspend. This was caused by the code in arch-arm/mach-omap2/serial.c keeping interrupt enabled all the time, but not acking its interrupts. Applies on top of PM branch. Use the PM begin/end hooks to ensure that the "serial idle" interrupts are disabled during the suspend path. Also, since begin/end hooks are now used, use the suspend_state that is passed in the begin hook instead of the enter hook as per the platform_suspend_ops docs. Signed-off-by: Tero Kristo <tero.kristo@xxxxxxxxx> Signed-off-by: Kevin Hilman <khilman@xxxxxxxxxxxxxxxxxxx> commit 4789998a30d845d94a7595076d1392ffd5a9d39e Author: Kevin Hilman <khilman@xxxxxxxxxxxxxxxxxxx> Date: Wed Jun 24 10:32:03 2009 -0700 OMAP4: UART: cleanup special case IRQ handling Streamline the OMAP4 special IRQ assignments by putting inside normal init loop instead of having a separate loop. Signed-off-by: Kevin Hilman <khilman@xxxxxxxxxxxxxxxxxxx> commit 10f90ed2d727c0f344d910c02c9726d0481d9b00 Author: Kevin Hilman <khilman@xxxxxxxxxxxxxxxxxxx> Date: Wed Jun 24 11:39:18 2009 -0700 OMAP3: PM: Do not build suspend code if SUSPEND is not enabled Signed-off-by: Jouni Hogander <jouni.hogander@xxxxxxxxx> Signed-off-by: Kevin Hilman <khilman@xxxxxxxxxxxxxxxxxxx> commit 040fed059c34da5115790609f1a038fc9aec88d1 Author: Kevin Hilman <khilman@xxxxxxxxxxxxxxxxxxx> Date: Tue May 5 16:34:25 2009 -0700 OMAP3: PM: prevent module wakeups from waking IVA2 By default, prevent functional wakeups from inside a module from waking up the IVA2. Let DSP Bridge code handle this when loaded. Signed-off-by: Kevin Hilman <khilman@xxxxxxxxxxxxxxxxxxx> commit 3a07ae30a0bfa93ff2b242acf670c6d8e2de35de Author: Kevin Hilman <khilman@xxxxxxxxxxxxxxxxxxx> Date: Mon Apr 27 16:14:54 2009 -0700 OMAP3: PM: Clear pending PRCM reset flags on init Any pending reset flags can prevent retention. Ensure they are all cleared during boot. Signed-off-by: Kevin Hilman <khilman@xxxxxxxxxxxxxxxxxxx> commit 3a6667acf916b3e32be4682196882fc2ed0ec23e Author: Kevin Hilman <khilman@xxxxxxxxxxxxxxxxxxx> Date: Mon Apr 27 07:50:23 2009 -0700 OMAP3: PM: Ensure PRCM interrupts are cleared at boot Any pending PRCM interrupts can prevent retention. Ensure they are cleared during boot. Signed-off-by: Kevin Hilman <khilman@xxxxxxxxxxxxxxxxxxx> commit 364dd47466ff7a7749bf037df4bf3b7aedbfe6f4 Author: Kevin Hilman <khilman@xxxxxxxxxxxxxxxxxxx> Date: Tue Jun 9 11:45:30 2009 -0700 OMAP3: PM: CM_REGADDR macros using wrong name Signed-off-by: Kevin Hilman <khilman@xxxxxxxxxxxxxxxxxxx> commit 7cc515f74d2871daff106a17714bfd16bcb045ca Author: Kevin Hilman <khilman@xxxxxxxxxxxxxxxxxxx> Date: Wed Jun 10 09:02:25 2009 -0700 OMAP2/3: PM: make PM __init calls static Signed-off-by: Kevin Hilman <khilman@xxxxxxxxxxxxxxxxxxx> commit 0bf52b981770cbf006323bab5177f2858a196766 Author: Ingo Molnar <mingo@xxxxxxx> Date: Tue Aug 4 21:16:58 2009 +0000 net: Fix spinlock use in alloc_netdev_mq() -tip testing found this lockdep warning: [ 2.272010] calling net_dev_init+0x0/0x164 @ 1 [ 2.276033] device class 'net': registering [ 2.280191] INFO: trying to register non-static key. [ 2.284005] the code is fine but needs lockdep annotation. [ 2.284005] turning off the locking correctness validator. [ 2.284005] Pid: 1, comm: swapper Not tainted 2.6.31-rc5-tip #1145 [ 2.284005] Call Trace: [ 2.284005] [<7958eb4e>] ? printk+0xf/0x11 [ 2.284005] [<7904f83c>] __lock_acquire+0x11b/0x622 [ 2.284005] [<7908c9b7>] ? alloc_debug_processing+0xf9/0x144 [ 2.284005] [<7904e2be>] ? mark_held_locks+0x3a/0x52 [ 2.284005] [<7908dbc4>] ? kmem_cache_alloc+0xa8/0x13f [ 2.284005] [<7904e475>] ? trace_hardirqs_on_caller+0xa2/0xc3 [ 2.284005] [<7904fdf6>] lock_acquire+0xb3/0xd0 [ 2.284005] [<79489678>] ? alloc_netdev_mq+0xf5/0x1ad [ 2.284005] [<79591514>] _spin_lock_bh+0x2d/0x5d [ 2.284005] [<79489678>] ? alloc_netdev_mq+0xf5/0x1ad [ 2.284005] [<79489678>] alloc_netdev_mq+0xf5/0x1ad [ 2.284005] [<793a38f2>] ? loopback_setup+0x0/0x74 [ 2.284005] [<798eecd0>] loopback_net_init+0x20/0x5d [ 2.284005] [<79483efb>] register_pernet_device+0x23/0x4b [ 2.284005] [<798f5c9f>] net_dev_init+0x115/0x164 [ 2.284005] [<7900104f>] do_one_initcall+0x4a/0x11a [ 2.284005] [<798f5b8a>] ? net_dev_init+0x0/0x164 [ 2.284005] [<79066f6d>] ? register_irq_proc+0x8c/0xa8 [ 2.284005] [<798cc29a>] do_basic_setup+0x42/0x52 [ 2.284005] [<798cc30a>] kernel_init+0x60/0xa1 [ 2.284005] [<798cc2aa>] ? kernel_init+0x0/0xa1 [ 2.284005] [<79003e03>] kernel_thread_helper+0x7/0x10 [ 2.284078] device: 'lo': device_add [ 2.288248] initcall net_dev_init+0x0/0x164 returned 0 after 11718 usecs [ 2.292010] calling neigh_init+0x0/0x66 @ 1 [ 2.296010] initcall neigh_init+0x0/0x66 returned 0 after 0 usecs it's using an zero-initialized spinlock. This is a side-effect of: dev_unicast_init(dev); in alloc_netdev_mq() making use of dev->addr_list_lock. The device has just been allocated freshly, it's not accessible anywhere yet so no locking is needed at all - in fact it's wrong to lock it here (the lock isnt initialized yet). This bug was introduced via: | commit a6ac65db2329e7685299666f5f7b6093c7b0f3a0 | Date: Thu Jul 30 01:06:12 2009 +0000 | | net: restore the original spinlock to protect unicast list Signed-off-by: Ingo Molnar <mingo@xxxxxxx> Acked-by: Jiri Pirko <jpirko@xxxxxxxxxx> Tested-by: Mark Brown <broonie@xxxxxxxxxxxxxxxxxxxxxxxxxxx> Signed-off-by: David S. Miller <davem@xxxxxxxxxxxxx> commit 386c0b702b1ea81c0f54f5c9832a3d4a52270f14 Author: Arnaldo Carvalho de Melo <acme@xxxxxxxxxx> Date: Wed Aug 5 10:04:53 2009 -0300 perf report: Add missing command line options to man page Signed-off-by: Arnaldo Carvalho de Melo <acme@xxxxxxxxxx> Cc: Peter Zijlstra <peterz@xxxxxxxxxxxxx> LKML-Reference: <20090805130453.GC10688@xxxxxxxxxxxxxxxxxx> Signed-off-by: Ingo Molnar <mingo@xxxxxxx> commit b37c45b8c27c049dc44673e40fd63820fd9a9d91 Author: Roger Quadros <ext-roger.quadros@xxxxxxxxx> Date: Wed Aug 5 16:53:24 2009 +0300 OMAP: GPIO: Fix incorrect gpio_get logic for output GPIOs gpio_get() should return DATAIN register value when the GPIO is configured as input whereas it should return DATAOUT register value when the GPIO is configured as output. Now /sys/kernel/debug/gpio shows proper values for output GPIOs Signed-off-by: Roger Quadros <ext-roger.quadros@xxxxxxxxx> Signed-off-by: Tony Lindgren <tony@xxxxxxxxxxx> commit 2cdbc46d7b2cb0acb68c3ecad93b000552121fa6 Author: Peter Zijlstra <a.p.zijlstra@xxxxxxxxx> Date: Wed Aug 5 14:05:16 2009 +0200 perf: Auto-detect libbfd Since the C++ demangling isn't needed for everybody and bfd/iberty aren't widely/easily available on all machines, make it optional. It also allows you to forcefully disable demangling by using NO_DEMANGLE=1 and otherwise tries to detect libbfd/libiberty combinations that result in a compiling demangler. Reported-by: Jens Axboe <jens.axboe@xxxxxxxxxx> Signed-off-by: Peter Zijlstra <a.p.zijlstra@xxxxxxxxx> Cc: Arnaldo Carvalho de Melo <acme@xxxxxxxxxx> Cc: Kyle McMartin <kyle@xxxxxxxxxxx> LKML-Reference: <20090801082048.GX12579@xxxxxxxxx> Signed-off-by: Ingo Molnar <mingo@xxxxxxx> commit e9cbde8c158629cc96a26b2323c4a243536c1951 Author: Avi Kivity <avi@xxxxxxxxxx> Date: Mon Jul 6 12:49:39 2009 +0300 KVM: ia64: fix build failures due to ia64/unsigned long mismatches Signed-off-by: Avi Kivity <avi@xxxxxxxxxx> commit c428dcc9b9f967945992a2f8529e8c50a31d7913 Author: Stephen Rothwell <sfr@xxxxxxxxxxxxxxxx> Date: Wed Jun 17 15:04:19 2009 +1000 KVM: Make KVM_HPAGES_PER_HPAGE unsigned long to avoid build error on powerpc Eliminates this compiler warning: arch/powerpc/kvm/../../../virt/kvm/kvm_main.c:1178: error: integer overflow in expression Signed-off-by: Stephen Rothwell <sfr@xxxxxxxxxxxxxxxx> Signed-off-by: Avi Kivity <avi@xxxxxxxxxx> commit 114cfab222233f50f46d7162cf7d99fdc6c271e5 Author: Pekka Enberg <penberg@xxxxxxxxxxxxxx> Date: Wed Aug 5 13:25:21 2009 +0300 perf report: Make --sort comm,dso,symbol the default If you're doing performance testing, you're interested in the symbols anyway so lets make "--sort comm,dso,symbol" the default sort option. Signed-off-by: Pekka Enberg <penberg@xxxxxxxxxxxxxx> Acked-by: Peter Zijlstra <peterz@xxxxxxxxxxxxx> Cc: acme@xxxxxxxxxx LKML-Reference: <1249467921-10450-1-git-send-email-penberg@xxxxxxxxxxxxxx> Signed-off-by: Ingo Molnar <mingo@xxxxxxx> commit 5116d8f6b977970ebefc1932c0f313163a6ec91f Author: Michael S. Tsirkin <mst@xxxxxxxxxx> Date: Sun Jul 26 17:10:01 2009 +0300 KVM: fix ack not being delivered when msi present kvm_notify_acked_irq does not check irq type, so that it sometimes interprets msi vector as irq. As a result, ack notifiers are not called, which typially hangs the guest. The fix is to track and check irq type. Signed-off-by: Michael S. Tsirkin <mst@xxxxxxxxxx> Signed-off-by: Avi Kivity <avi@xxxxxxxxxx> commit d3bc2f91b4761a8d9f96bea167fef2f8c00dea54 Author: Christian Borntraeger <borntraeger@xxxxxxxxxx> Date: Thu Jul 16 17:17:37 2009 +0200 KVM: s390: fix wait_queue handling There are two waitqueues in kvm for wait handling: vcpu->wq for virt/kvm/kvm_main.c and vpcu->arch.local_int.wq for the s390 specific wait code. the wait handling in kvm_s390_handle_wait was broken by using different wait_queues for add_wait queue and remove_wait_queue. There are two options to fix the problem: o move all the s390 specific code to vcpu->wq and remove vcpu->arch.local_int.wq o move all the s390 specific code to vcpu->arch.local_int.wq This patch chooses the 2nd variant for two reasons: o s390 does not use kvm_vcpu_block but implements its own enabled wait handling. Having a separate wait_queue make it clear, that our wait mechanism is different o the patch is much smaller Report-by: Julia Lawall <julia@xxxxxxx> Signed-off-by: Christian Borntraeger <borntraeger@xxxxxxxxxx> Signed-off-by: Marcelo Tosatti <mtosatti@xxxxxxxxxx> Signed-off-by: Avi Kivity <avi@xxxxxxxxxx> commit 263799a3616242201e20fd2025fe84047b1379b1 Author: Jan Kiszka <jan.kiszka@xxxxxxxxxxx> Date: Tue Jul 21 10:43:07 2009 +0200 KVM: VMX: Fix locking imbalance on emulation failure We have to disable preemption and IRQs on every exit from handle_invalid_guest_state, otherwise we generate at least a preempt_disable imbalance. Signed-off-by: Jan Kiszka <jan.kiszka@xxxxxxxxxxx> Signed-off-by: Marcelo Tosatti <mtosatti@xxxxxxxxxx> Signed-off-by: Avi Kivity <avi@xxxxxxxxxx> commit 34f0c1ad27a74bd5eb0f99ea43ab6a4658d6419d Author: Jan Kiszka <jan.kiszka@xxxxxx> Date: Wed Jul 22 23:53:26 2009 +0200 KVM: VMX: Fix locking order in handle_invalid_guest_state Release and re-acquire preemption and IRQ lock in the same order as vcpu_enter_guest does. Signed-off-by: Jan Kiszka <jan.kiszka@xxxxxxxxxxx> Signed-off-by: Marcelo Tosatti <mtosatti@xxxxxxxxxx> Signed-off-by: Avi Kivity <avi@xxxxxxxxxx> commit 025dbbf36a7680bffe54d9dcbf0a8bc01a7cbd10 Author: Marcelo Tosatti <mtosatti@xxxxxxxxxx> Date: Wed Jul 22 13:05:49 2009 -0300 KVM: MMU: handle n_free_mmu_pages > n_alloc_mmu_pages in kvm_mmu_change_mmu_pages kvm_mmu_change_mmu_pages mishandles the case where n_alloc_mmu_pages is smaller then n_free_mmu_pages, by not checking if the result of the subtraction is negative. Its a valid condition which can happen if a large number of pages has been recently freed. Signed-off-by: Marcelo Tosatti <mtosatti@xxxxxxxxxx> Signed-off-by: Avi Kivity <avi@xxxxxxxxxx> commit 4b656b1202498184a0ecef86b3b89ff613b9c6ab Author: Marcelo Tosatti <mtosatti@xxxxxxxxxx> Date: Tue Jul 21 12:47:45 2009 -0300 KVM: SVM: force new asid on vcpu migration If a migrated vcpu matches the asid_generation value of the target pcpu, there will be no TLB flush via TLB_CONTROL_FLUSH_ALL_ASID. The check for vcpu.cpu in pre_svm_run is meaningless since svm_vcpu_load already updated it on schedule in. Such vcpu will VMRUN with stale TLB entries. Based on original patch from Joerg Roedel (http://patchwork.kernel.org/patch/10021/) Signed-off-by: Marcelo Tosatti <mtosatti@xxxxxxxxxx> Acked-by: Joerg Roedel <joerg.roedel@xxxxxxx> Signed-off-by: Avi Kivity <avi@xxxxxxxxxx> commit d6289b9365c3f622a8cfe62c4fb054bb70b5061a Author: Marcelo Tosatti <mtosatti@xxxxxxxxxx> Date: Mon Jun 22 15:27:56 2009 -0300 KVM: x86: verify MTRR/PAT validity Do not allow invalid memory types in MTRR/PAT (generating a #GP otherwise). Signed-off-by: Marcelo Tosatti <mtosatti@xxxxxxxxxx> Signed-off-by: Avi Kivity <avi@xxxxxxxxxx> commit 0ff77873b1318fc2d77a85e70690d3cd6cafbd41 Author: Marcelo Tosatti <mtosatti@xxxxxxxxxx> Date: Thu Jul 2 20:02:15 2009 -0300 KVM: PIT: fix kpit_elapsed division by zero Fix division by zero triggered by latch count command on uninitialized counter. Cc: stable@xxxxxxxxxx Signed-off-by: Marcelo Tosatti <mtosatti@xxxxxxxxxx> Signed-off-by: Avi Kivity <avi@xxxxxxxxxx> commit e125e7b6944898831b56739a5448e705578bf7e2 Author: Jan Kiszka <jan.kiszka@xxxxxx> Date: Thu Jul 2 21:45:47 2009 +0200 KVM: Fix KVM_GET_MSR_INDEX_LIST So far, KVM copied the emulated_msrs (only MSR_IA32_MISC_ENABLE) to a wrong address in user space due to broken pointer arithmetic. This caused subtle corruption up there (missing MSR_IA32_MISC_ENABLE had probably no practical relevance). Moreover, the size check for the user-provided kvm_msr_list forgot about emulated MSRs. Cc: stable@xxxxxxxxxx Signed-off-by: Jan Kiszka <jan.kiszka@xxxxxxxxxxx> Signed-off-by: Avi Kivity <avi@xxxxxxxxxx> commit 7d5b005652bc5ae3e1e0efc53fd0e25a643ec506 Author: Alok Kataria <akataria@xxxxxxxxxx> Date: Tue Aug 4 15:34:22 2009 -0700 x86: Fix VMI && stack protector With CONFIG_STACK_PROTECTOR turned on, VMI doesn't boot with more than one processor. The problem is with the gs value not being initialized correctly when registering the secondary processor for VMI's case. The patch below initializes the gs value for the AP to __KERNEL_STACK_CANARY. Without this the secondary processor keeps on taking a GP on every gs access. Signed-off-by: Alok N Kataria <akataria@xxxxxxxxxx> Cc: <stable@xxxxxxxxxx> # for v2.6.30.x LKML-Reference: <1249425262.18955.40.camel@xxxxxxxxxxxxxxxxxxxx> Signed-off-by: Ingo Molnar <mingo@xxxxxxx> commit 33041ec049d39a6e0463c7edc7b6f631d24559e3 Author: Fenghua Yu <fenghua.yu@xxxxxxxxx> Date: Tue Aug 4 15:10:59 2009 -0700 intel-iommu: Mask physical address to correct page size in intel_map_single() The physical address passed to domain_pfn_mapping() should be rounded down to the start of the MM page, not the VT-d page. This issue causes kernel panic on PAGE_SIZE>VTD_PAGE_SIZE platforms e.g. ia64 platforms. Signed-off-by: Fenghua Yu <fenghua.yu@xxxxxxxxx> Signed-off-by: David Woodhouse <David.Woodhouse@xxxxxxxxx> commit f532959b77e5e567c84c914cb7c7b07d2582448b Author: Fenghua Yu <fenghua.yu@xxxxxxxxx> Date: Tue Aug 4 15:09:37 2009 -0700 intel-iommu: Correct sglist size calculation. In domain_sg_mapping(), use aligned_nrpages() instead of hand-coded rounding code for calculating the size of each sg elem. This means that on IA64 we correctly round up to the MM page size, not just to the VT-d page size. Also remove the incorrect mm_to_dma_pfn() when intel_map_sg() calls domain_sg_mapping() -- the 'size' variable is in VT-d pages already. Signed-off-by: Fenghua Yu <fenghua.yu@xxxxxxxxx> Signed-off-by: David Woodhouse <David.Woodhouse@xxxxxxxxx> commit 685aaca751271b2c5191901931a19ccaceeae1ce Author: Jory A. Pratt <geekypenguin@xxxxxxxxx> Date: Mon Aug 3 09:32:34 2009 -0700 Input: i8042 - add Asus G1S to noloop exception list The synaptic touchpad on the Asus G1S is not properly detected when rebooting machine or on cold boot from time to time. Adding the Asus G1S to the noloop exception table resolves the issue. # dmidecode 2.10 SMBIOS 2.4 present. Handle 0x0001, DMI type 1, 27 bytes System Information Manufacturer: ASUSTeK Computer Inc. Product Name: G1S Version: 1.0 Wake-up Type: Power Switch SKU Number: Family: Signed-off-by: Jory A. Pratt <geekypenguin@xxxxxxxxx> Signed-off-by: Dmitry Torokhov <dtor@xxxxxxx> commit 6502fbfaf81b09b3f474bb7b3796257e9450273e Author: Alex Deucher <alexdeucher@xxxxxxxxx> Date: Tue Aug 4 11:24:24 2009 -0400 drm/radeon: Add support for RS880 chips These are new AMD IGP chips Signed-off-by: Alex Deucher <alexdeucher@xxxxxxxxx> Signed-off-by: Dave Airlie <airlied@xxxxxxxxxx> commit 90bc1a658a53f8832ee799685703977a450e5af9 Merge: 6ce90c430baef6e411dcf32e872913888bb3ef54 54822de7793bf9aa56d79cc173281cdb23b37f9f Author: Linus Torvalds <torvalds@xxxxxxxxxxxxxxxxxxxx> Date: Tue Aug 4 15:49:11 2009 -0700 Merge branch 'upstream' of git://ftp.linux-mips.org/pub/scm/upstream-linus * 'upstream' of git://ftp.linux-mips.org/pub/scm/upstream-linus: (32 commits) MIPS: Wire up accept4 syscall. MIPS: VPE: Delete unused function get_tc_unused(). MIPS: VPE: Fix bogus indentation. MIPS: VPE: Make various functions static. MIPS: VPE: Free relocation chain on error. MIPS: VPE: Fix compiler warning. MIPS: Module: Make error messages unique. MIPS: Octeon: Run IPI code with interrupts disabled. MIPS: Jazz: Fix read buffer overflow MIPS: Use DIV_ROUND_CLOSEST MIPS: MTX-1: Request button GPIO before setting its direction MIPS: AR7: Override CFLAGS with -Werror MIPS: AR7: Remove unused tnetd7200_get_clock function MIPS: AR7: Use DMA_BIT_MASK(nn) instead of deprecated DMA_nnBIT_MASK MIPS: AR7: Fix build failures when CONFIG_SERIAL_8250 is not enabled MIPS: Fix read buffer overflow MIPS: AR7: Fix build warning on memory.c MIPS: Octeon PCIe: Make hardware and software bus numbers match. MIPS: RBTX4939: Fix IOC pin-enable register updating MIPS: Simplify and correct interrupt handling for MSP4200 ... commit 6ce90c430baef6e411dcf32e872913888bb3ef54 Merge: 9f3eea6a2fbf5a07625713dc35e5f8fb91adb12f 4b35d2ca2307d40ccb6b3b6f9cc25ac9178b2a6c Author: Linus Torvalds <torvalds@xxxxxxxxxxxxxxxxxxxx> Date: Tue Aug 4 15:39:55 2009 -0700 Merge branch 'fix/hda' of git://git.kernel.org/pub/scm/linux/kernel/git/tiwai/sound-2.6 * 'fix/hda' of git://git.kernel.org/pub/scm/linux/kernel/git/tiwai/sound-2.6: ALSA: hda - Read buffer overflow ALSA: hda: Correct EAPD for Dell Inspiron 1525 ALSA: hda: warn on spurious response ALSA: hda: remember last command for each codec ALSA: hda: read CORBWP inside reg_lock ALSA: hda: take reg_lock in azx_init_cmd_io/azx_free_cmd_io ALSA: hda: take cmd_mutex in probe_codec() ALSA: hda: track CIRB/CORB command/response states for each codec ALSA: hda - Fix quirk for Toshiba Satellite A135-S4527 commit 9f3eea6a2fbf5a07625713dc35e5f8fb91adb12f Merge: 2cf812d732442e86c1e2018e23ad82f9bc594a38 cbe9352fa08f90aa03b4dbf1bbabfc95d196e562 Author: Linus Torvalds <torvalds@xxxxxxxxxxxxxxxxxxxx> Date: Tue Aug 4 15:39:43 2009 -0700 Merge git://git.kernel.org/pub/scm/linux/kernel/git/gregkh/tty-2.6 * git://git.kernel.org/pub/scm/linux/kernel/git/gregkh/tty-2.6: tty-ldisc: be more careful in 'put_ldisc' locking tty-ldisc: turn ldisc user count into a proper refcount tty-ldisc: make refcount be atomic_t 'users' count commit 2cf812d732442e86c1e2018e23ad82f9bc594a38 Merge: ae83060026537885fd23737af161fee8afd04f4b 14d9fa352592582e457cf75022202766baac1348 Author: Linus Torvalds <torvalds@xxxxxxxxxxxxxxxxxxxx> Date: Tue Aug 4 15:39:16 2009 -0700 Merge branch 'for-linus' of git://git.kernel.dk/linux-2.6-block * 'for-linus' of git://git.kernel.dk/linux-2.6-block: Make SCSI SG v4 driver enabled by default and remove EXPERIMENTAL dependency, since udev depends on BSG block: Update topology documentation block: Stack optimal I/O size block: Add a wrapper for setting minimum request size without a queue block: Make blk_queue_stack_limits use the new stacking interface commit ae83060026537885fd23737af161fee8afd04f4b Merge: 2edb3898b82a20ec459a67fcf76ceddcbecfe395 357eb46d8f275b4e8484541234ea3ba06065e258 Author: Linus Torvalds <torvalds@xxxxxxxxxxxxxxxxxxxx> Date: Tue Aug 4 15:38:34 2009 -0700 Merge git://git.kernel.org/pub/scm/linux/kernel/git/davem/net-2.6 * git://git.kernel.org/pub/scm/linux/kernel/git/davem/net-2.6: (47 commits) ehea: Fix napi list corruption on ifconfig down igbvf: Allow VF driver to correctly recognize failure to set mac 3c59x: Fix build failure with gcc 3.2 sky2: Avoid transmits during sky2_down() iwlagn: do not send key clear commands when rfkill enabled libertas: Read buffer overflow drivers/net/wireless: introduce missing kfree drivers/net/wireless/iwlwifi: introduce missing kfree zd1211rw: fix unaligned access in zd_mac_rx cfg80211: fix regression on beacon world roaming feature cfg80211: add two missing NULL pointer checks ixgbe: Patch to modify 82598 PCIe completion timeout values bluetooth: rfcomm_init bug fix mlx4_en: Fix double pci unmapping. mISDN: Fix handling of receive buffer size in L1oIP pcnet32: VLB support fixes pcnet32: remove superfluous NULL pointer check in pcnet32_probe1() net: restore the original spinlock to protect unicast list netxen: fix coherent dma mask setting mISDN: Read buffer overflow ... commit 2edb3898b82a20ec459a67fcf76ceddcbecfe395 Merge: c71c090ff9c474d70af4796b5ea9f548a9d3b6b8 ffd4bc2a984fab40ed969163efdff321490e8032 Author: Linus Torvalds <torvalds@xxxxxxxxxxxxxxxxxxxx> Date: Tue Aug 4 15:38:10 2009 -0700 Merge git://git.kernel.org/pub/scm/linux/kernel/git/jejb/scsi-rc-fixes-2.6 * git://git.kernel.org/pub/scm/linux/kernel/git/jejb/scsi-rc-fixes-2.6: (23 commits) [SCSI] sd: Avoid sending extended inquiry to legacy devices [SCSI] libsas: fix wide port hotplug issues [SCSI] libfc: fix a circular locking warning during sending RRQ [SCSI] qla4xxx: Remove hiwat code so scsi eh does not get escalated when we can make progress [SCSI] qla4xxx: Fix srb lookup in qla4xxx_eh_device_reset [SCSI] qla4xxx: Fix Driver Fault Recovery Completion [SCSI] qla4xxx: add timeout handler [SCSI] qla4xxx: Correct Extended Sense Data Errors [SCSI] libiscsi: disable bh in and abort handler. [SCSI] zfcp: Fix tracing of request id for abort requests [SCSI] zfcp: Fix wka port processing [SCSI] zfcp: avoid double notify in lowmem scenario [SCSI] zfcp: Add port only once to FC transport class [SCSI] zfcp: Recover from stalled outbound queue [SCSI] zfcp: Fix erp escalation procedure [SCSI] zfcp: Fix logic for physical port close [SCSI] zfcp: Use -EIO for SBAL allocation failures [SCSI] zfcp: Use unchained mode for small ct and els requests [SCSI] zfcp: Use correct flags for zfcp_erp_notify [SCSI] zfcp: Return -ENOMEM for allocation failures in zfcp_fsf ... commit c71c090ff9c474d70af4796b5ea9f548a9d3b6b8 Merge: 78ec75cd1c81e01909005f392954c797f686d7bc c2718348b41a8e7646516d9af8bb0231c6a44374 Author: Linus Torvalds <torvalds@xxxxxxxxxxxxxxxxxxxx> Date: Tue Aug 4 15:35:47 2009 -0700 Merge branch 'for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/bp/bp * 'for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/bp/bp: amd64_edac: print debug statements only on error amd64_edac: fix ECC checking commit 78ec75cd1c81e01909005f392954c797f686d7bc Merge: 1ee5332cf67c2f5f468ad1a59033d57453bcad1a c96e7c7a3a79931446ecf9494a8415e4d164ebd8 Author: Linus Torvalds <torvalds@xxxxxxxxxxxxxxxxxxxx> Date: Tue Aug 4 15:34:30 2009 -0700 Merge branch 'drm-fixes' of git://git.kernel.org/pub/scm/linux/kernel/git/airlied/drm-2.6 * 'drm-fixes' of git://git.kernel.org/pub/scm/linux/kernel/git/airlied/drm-2.6: drm/ttm: Read buffer overflow drm/radeon: Read buffer overflow drm/ttm: Fix a sync object leak. drm/radeon/kms: fix memory leak in radeon_driver_load_kms drm/radeon/kms: fix nomodeset. drm/ttm: Fix a potential comparison of structs. drm/radeon/kms: fix rv515 VRAM initialisation. drm/radeon: add some new r7xx pci ids drm: Catch stop possible NULL pointer reference drm: Small logic fix in drm_mode_setcrtc commit 1ee5332cf67c2f5f468ad1a59033d57453bcad1a Merge: 07868201070d87484bd00610a4921e879be78746 cae5a39f34d52c46ca49edfc3f297656a0fd60b7 Author: Linus Torvalds <torvalds@xxxxxxxxxxxxxxxxxxxx> Date: Tue Aug 4 15:34:09 2009 -0700 Merge branch 'for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/deller/parisc-2.6 * 'for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/deller/parisc-2.6: parisc: hppb.c - fix printk format strings parisc: parisc-agp.c - use correct page_mask function parisc: sticore.c - check return values parisc: dino.c - check return value of pci_assign_resource() parisc: hp_sdc_mlc.c - check return value of down_trylock() parisc: includecheck fix for ccio-dma.c parisc: Set correct bit in protection flags parisc: isa-eeprom - Fix loff_t usage parisc: fixed faulty check in lba_pci parisc: Fix read buffer overflow in pdc_stable driver parisc: Fix GOT overflow during module load on 64bit kernel commit 07868201070d87484bd00610a4921e879be78746 Author: Jonathan Corbet <corbet@xxxxxxx> Date: Tue Aug 4 13:35:17 2009 -0600 flex_array: remove unneeded index calculation flex_array_get() calculates an index value, then drops it on the floor; simply remove it. Signed-off-by: Jonathan Corbet <corbet@xxxxxxx> Acked-by: Dave Hansen <dave@xxxxxxxxxxxxxxxxxx> Signed-off-by: Linus Torvalds <torvalds@xxxxxxxxxxxxxxxxxxxx> commit a40694a38a745af0dd7d8b796597ada1dd6caeb7 Merge: ea5634246beaedd91b93d7e7fce7d825232d1b78 f26542600e605482a1231c44ddb2966d69bd09b0 Author: Linus Torvalds <torvalds@xxxxxxxxxxxxxxxxxxxx> Date: Tue Aug 4 15:32:40 2009 -0700 Merge branch 'perfcounters-fixes-for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/tip/linux-2.6-tip * 'perfcounters-fixes-for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/tip/linux-2.6-tip: perf_counter: Set the CONFIG_PERF_COUNTERS default to y if CONFIG_PROFILING=y perf: Fix read buffer overflow perf top: Add mwait_idle_with_hints to skip_symbols[] perf tools: Fix faulty check perf report: Update for the new FORK/EXIT events perf_counter: Full task tracing perf_counter: Collapse inherit on read() tracing, perf_counter: Add help text to CONFIG_EVENT_PROFILE perf_counter tools: Fix link errors with older toolchains commit ea5634246beaedd91b93d7e7fce7d825232d1b78 Merge: 7193675dc8ffa0325d013602d2bbccc0954db502 07903af152b0597d94e9b0030746b63c4664e787 Author: Linus Torvalds <torvalds@xxxxxxxxxxxxxxxxxxxx> Date: Tue Aug 4 15:32:22 2009 -0700 Merge branch 'sched-fixes-for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/tip/linux-2.6-tip * 'sched-fixes-for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/tip/linux-2.6-tip: sched: Fix race in cpupri introduced by cpumask_var changes sched: Fix latencytop and sleep profiling vs group scheduling commit 7193675dc8ffa0325d013602d2bbccc0954db502 Merge: 9c66812b6bee225950431de51dfc9dc664905038 70d715fd0597f18528f389b5ac59102263067744 Author: Linus Torvalds <torvalds@xxxxxxxxxxxxxxxxxxxx> Date: Tue Aug 4 15:32:08 2009 -0700 Merge branch 'timers-fixes-for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/tip/linux-2.6-tip * 'timers-fixes-for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/tip/linux-2.6-tip: posix-timers: Fix oops in clock_nanosleep() with CLOCK_MONOTONIC_RAW commit 9c66812b6bee225950431de51dfc9dc664905038 Merge: b5a7c9a0b3c5de22e1762120063daae9f91d5197 e16852cfc5580b88cb327413ab8c89375f380592 Author: Linus Torvalds <torvalds@xxxxxxxxxxxxxxxxxxxx> Date: Tue Aug 4 15:31:51 2009 -0700 Merge branch 'tracing-fixes-for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/tip/linux-2.6-tip * 'tracing-fixes-for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/tip/linux-2.6-tip: tracing: Fix missing function_graph events when we splice_read from trace_pipe tracing: Fix invalid function_graph entry trace: stop tracer in oops_enter() ftrace: Only update $offset when we update $ref_func ftrace: Fix the conditional that updates $ref_func tracing: only truncate ftrace files when O_TRUNC is set tracing: show proper address for trace-printk format commit b5a7c9a0b3c5de22e1762120063daae9f91d5197 Merge: 067e18133f01ee0136bcec2633eb93f7320721a2 1cef8e41073efe47e809f49670eb461307e52ccc Author: Linus Torvalds <torvalds@xxxxxxxxxxxxxxxxxxxx> Date: Tue Aug 4 15:29:25 2009 -0700 Merge branch 'for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/sameo/mfd-2.6 * 'for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/sameo/mfd-2.6: mfd: twl4030 irq fixes commit 067e18133f01ee0136bcec2633eb93f7320721a2 Merge: 3f5760b90eb3bacfaa4d4c3e584152468ed327ca dc731fbbadf5d65c98fcd6c86472aa286c16458a Author: Linus Torvalds <torvalds@xxxxxxxxxxxxxxxxxxxx> Date: Tue Aug 4 15:28:59 2009 -0700 Merge branch 'x86-fixes-for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/tip/linux-2.6-tip * 'x86-fixes-for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/tip/linux-2.6-tip: x86: Work around compilation warning in arch/x86/kernel/apm_32.c x86, UV: Complete IRQ interrupt migration in arch_enable_uv_irq() x86, 32-bit: Fix double accounting in reserve_top_address() x86: Don't use current_cpu_data in x2apic phys_pkg_id x86, UV: Fix UV apic mode x86, UV: Fix macros for accessing large node numbers x86, UV: Delete mapping of MMR rangs mapped by BIOS x86, UV: Handle missing blade-local memory correctly x86: fix assembly constraints in native_save_fl() x86, msr: execute on the correct CPU subset x86: Fix assert syntax in vmlinux.lds.S x86: Make 64-bit efi_ioremap use ioremap on MMIO regions x86: Add quirk to make Apple MacBook5,2 use reboot=pci x86: Fix CPA memtype reserving in the set_pages_array*() cases x86, pat: Fix set_memory_wc related corruption x86: fix section mismatch for i386 init code commit 3f5760b90eb3bacfaa4d4c3e584152468ed327ca Merge: 624720e09c9b7913ef4bc6989878a6fcb7ecdff8 4bc5d34135039566b8d6efa2de7515b2be505da8 Author: Linus Torvalds <torvalds@xxxxxxxxxxxxxxxxxxxx> Date: Tue Aug 4 15:28:46 2009 -0700 Merge branch 'fixes' of git://git.kernel.org/pub/scm/linux/kernel/git/davej/cpufreq * 'fixes' of git://git.kernel.org/pub/scm/linux/kernel/git/davej/cpufreq: [CPUFREQ] Make cpufreq suspend code conditional on powerpc. [CPUFREQ] Fix a kobject reference bug related to managed CPUs [CPUFREQ] Do not set policy for offline cpus [CPUFREQ] Fix NULL pointer dereference regression in conservative governor commit 624720e09c9b7913ef4bc6989878a6fcb7ecdff8 Merge: 849c9caa60642095060e9c21f14687ae9149a6f3 01a261e09a21e0ba342d3907a79cf5c78ee3f37a Author: Linus Torvalds <torvalds@xxxxxxxxxxxxxxxxxxxx> Date: Tue Aug 4 15:28:23 2009 -0700 Merge branch 'for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/ryusuke/nilfs2 * 'for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/ryusuke/nilfs2: nilfs2: fix missing unlock in error path of nilfs_mdt_write_page nilfs2: fix oops due to inconsistent state in page with discrete b-tree nodes commit 849c9caa60642095060e9c21f14687ae9149a6f3 Merge: a33a052f19a21d727847391c8c1aff3fb221c472 d098564f3b2b5d555e51bca765a6a9e0dda8f2cd Author: Linus Torvalds <torvalds@xxxxxxxxxxxxxxxxxxxx> Date: Tue Aug 4 15:27:56 2009 -0700 Merge git://git.kernel.org/pub/scm/linux/kernel/git/sfrench/cifs-2.6 * git://git.kernel.org/pub/scm/linux/kernel/git/sfrench/cifs-2.6: [CIFS] Update readme to reflect forceuid mount parms cifs: Read buffer overflow cifs: show noforceuid/noforcegid mount options (try #2) cifs: reinstate original behavior when uid=/gid= options are specified [CIFS] Updates fs/cifs/CHANGES cifs: fix error handling in mount-time DFS referral chasing code commit cbe9352fa08f90aa03b4dbf1bbabfc95d196e562 Author: Linus Torvalds <torvalds@xxxxxxxxxxxxxxxxxxxx> Date: Mon Aug 3 14:54:56 2009 -0700 tty-ldisc: be more careful in 'put_ldisc' locking Use 'atomic_dec_and_lock()' to make sure that we always hold the tty_ldisc_lock when the ldisc count goes to zero. That way we can never race against 'tty_ldisc_try()' increasing the count again. Reported-by: OGAWA Hirofumi <hirofumi@xxxxxxxxxxxxxxxxxx> Signed-off-by: Linus Torvalds <torvalds@xxxxxxxxxxxxxxxxxxxx> Tested-by: Sergey Senozhatsky <sergey.senozhatsky@xxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxx> commit 65b770468e98941e45e19780dff9283e663e6b8b Author: Linus Torvalds <torvalds@xxxxxxxxxxxxxxxxxxxx> Date: Mon Aug 3 11:11:19 2009 -0700 tty-ldisc: turn ldisc user count into a proper refcount By using the user count for the actual lifetime rules, we can get rid of the silly "wait_for_idle" logic, because any busy ldisc will automatically stay around until the last user releases it. This avoids a host of odd issues, and simplifies the code. So now, when the last ldisc reference is dropped, we just release the ldisc operations struct reference, and free the ldisc. It looks obvious enough, and it does work for me, but the counting _could_ be off. It probably isn't (bad counting in the new version would generally imply that the old code did something really bad, like free an ldisc with a non-zero count), but it does need some testing, and preferably somebody looking at it. With this change, both 'tty_ldisc_put()' and 'tty_ldisc_deref()' are just aliases for the new ref-counting 'put_ldisc()'. Both of them decrement the ldisc user count and free it if it goes down to zero. They're identical functions, in other words. But the reason they still exist as sepate functions is that one of them was exported (tty_ldisc_deref) and had a stupid name (so I don't want to use it as the main name), and the other one was used in multiple places (and I didn't want to make the patch larger just to rename the users). In addition to the refcounting, I did do some minimal cleanup. For example, now "tty_ldisc_try()" actually returns the ldisc it got under the lock, rather than returning true/false and then the caller would look up the ldisc again (now without the protection of the lock). That said, there's tons of dubious use of 'tty->ldisc' without obviously proper locking or refcounting left. I expressly did _not_ want to try to fix it all, keeping the patch minimal. There may or may not be bugs in that kind of code, but they wouldn't be _new_ bugs. That said, even if the bugs aren't new, the timing and lifetime will change. For example, some silly code may depend on the 'tty->ldisc' pointer not changing because they hold a refcount on the 'ldisc'. And that's no longer true - if you hold a ref on the ldisc, the 'ldisc' itself is safe, but tty->ldisc may change. So the proper locking (remains) to hold tty->ldisc_mutex if you expect tty->ldisc to be stable. That's not really a _new_ rule, but it's an example of something that the old code might have unintentionally depended on and hidden bugs. Whatever. The patch _looks_ sensible to me. The only users of ldisc->users are: - get_ldisc() - atomically increment the count - put_ldisc() - atomically decrements the count and releases if zero - tty_ldisc_try_get() - creates the ldisc, and sets the count to 1. The ldisc should then either be released, or be attached to a tty. Signed-off-by: Linus Torvalds <torvalds@xxxxxxxxxxxxxxxxxxxx> Tested-by: OGAWA Hirofumi <hirofumi@xxxxxxxxxxxxxxxxxx> Tested-by: Sergey Senozhatsky <sergey.senozhatsky@xxxxxxx> Acked-by: Alan Cox <alan@xxxxxxxxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxx> commit 18eac1cc100fa2afd5f39085aae6b694e417734b Author: Linus Torvalds <torvalds@xxxxxxxxxxxxxxxxxxxx> Date: Mon Aug 3 10:58:29 2009 -0700 tty-ldisc: make refcount be atomic_t 'users' count This is pure preparation of changing the ldisc reference counting to be a true refcount that defines the lifetime of the ldisc. But this is a purely syntactic change for now to make the next steps easier. This patch should make no semantic changes at all. But I wanted to make the ldisc refcount be an atomic (I will be touching it without locks soon enough), and I wanted to rename it so that there isn't quite as much confusion between 'ldo->refcount' (ldisk operations refcount) and 'ld->refcount' (ldisc refcount itself) in the same file. So it's now an atomic 'ld->users' count. It still starts at zero, despite having a reference from 'tty->ldisc', but that will change once we turn it into a _real_ refcount. Signed-off-by: Linus Torvalds <torvalds@xxxxxxxxxxxxxxxxxxxx> Tested-by: OGAWA Hirofumi <hirofumi@xxxxxxxxxxxxxxxxxx> Tested-by: Sergey Senozhatsky <sergey.senozhatsky@xxxxxxx> Acked-by: Alan Cox <alan@xxxxxxxxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxx> commit 14d9fa352592582e457cf75022202766baac1348 Author: John Stoffel <john@xxxxxxxxxxx> Date: Tue Aug 4 22:10:17 2009 +0200 Make SCSI SG v4 driver enabled by default and remove EXPERIMENTAL dependency, since udev depends on BSG Make Block Layer SG support v4 the default, since recent udev versions depend on this to access serial numbers and other low level info properly. This should be backported to older kernels as well, since most distros have enabled this for a long time. Signed-off-by: John Stoffel <john@xxxxxxxxxxx> Cc: stable@xxxxxxxxxx Signed-off-by: Jens Axboe <jens.axboe@xxxxxxxxxx> commit 357eb46d8f275b4e8484541234ea3ba06065e258 Author: Hannes Hering <hering2@xxxxxxxxxx> Date: Tue Aug 4 11:48:39 2009 -0700 ehea: Fix napi list corruption on ifconfig down This patch fixes the napi list handling when an ehea interface is shut down to avoid corruption of the napi list. Signed-off-by: Hannes Hering <hering2@xxxxxxxxxx> Signed-off-by: David S. Miller <davem@xxxxxxxxxxxxx> commit e0cff5ed27acd355264b210d9622da801a431e19 Author: Alexander Duyck <alexander.h.duyck@xxxxxxxxx> Date: Tue Aug 4 11:46:41 2009 -0700 igbvf: Allow VF driver to correctly recognize failure to set mac The VF driver was not correctly recognizing that it did not correctly set it's mac address. As a result the VF driver was unable to receive network traffic until being unloaded and reloaded. The issue was root caused to the fact that the CTS bit was not taken into account when checking for the request being NAKed. Signed-off-by: Alexander Duyck <alexander.h.duyck@xxxxxxxxx> Signed-off-by: Jeff Kirsher <jeffrey.t.kirsher@xxxxxxxxx> Signed-off-by: David S. Miller <davem@xxxxxxxxxxxxx> commit 4bc5d34135039566b8d6efa2de7515b2be505da8 Author: Dave Jones <davej@xxxxxxxxxx> Date: Tue Aug 4 14:03:25 2009 -0400 [CPUFREQ] Make cpufreq suspend code conditional on powerpc. The suspend code runs with interrupts disabled, and the powerpc workaround we do in the cpufreq suspend hook calls the drivers ->get method. powernow-k8's ->get does an smp_call_function_single which needs interrupts enabled cpufreq's suspend/resume code was added in 42d4dc3f4e1e to work around a hardware problem on ppc powerbooks. If we make all this code conditional on powerpc, we avoid the issue above. Signed-off-by: Dave Jones <davej@xxxxxxxxxx> commit d5194decd0a6f792b2789eebd4ddf022a248f655 Author: Thomas Renninger <trenn@xxxxxxx> Date: Wed Jul 29 11:26:20 2009 +0200 [CPUFREQ] Fix a kobject reference bug related to managed CPUs The first offline/online cycle is successful, the second not. Doing: echo 0 >cpu1/online echo 1 >cpu1/online echo 0 >cpu1/online The last command will trigger: Jul 22 14:39:50 linux kernel: [ 593.210125] ------------[ cut here ]------------ Jul 22 14:39:50 linux kernel: [ 593.210139] WARNING: at lib/kref.c:43 kref_get+0x23/0x2b() Jul 22 14:39:50 linux kernel: [ 593.210144] Hardware name: To Be Filled By O.E.M. Jul 22 14:39:50 linux kernel: [ 593.210148] Modules linked in: powernow_k8 Jul 22 14:39:50 linux kernel: [ 593.210158] Pid: 378, comm: kondemand/2 Tainted: G W 2.6.31-rc2 #38 Jul 22 14:39:50 linux kernel: [ 593.210163] Call Trace: Jul 22 14:39:50 linux kernel: [ 593.210171] [<ffffffff812008e8>] ? kref_get+0x23/0x2b Jul 22 14:39:50 linux kernel: [ 593.210181] [<ffffffff81041926>] warn_slowpath_common+0x77/0xa4 Jul 22 14:39:50 linux kernel: [ 593.210190] [<ffffffff81041962>] warn_slowpath_null+0xf/0x11 Jul 22 14:39:50 linux kernel: [ 593.210198] [<ffffffff812008e8>] kref_get+0x23/0x2b Jul 22 14:39:50 linux kernel: [ 593.210206] [<ffffffff811ffa19>] kobject_get+0x1a/0x22 Jul 22 14:39:50 linux kernel: [ 593.210214] [<ffffffff813e815d>] cpufreq_cpu_get+0x8a/0xcb Jul 22 14:39:50 linux kernel: [ 593.210222] [<ffffffff813e87d1>] __cpufreq_driver_getavg+0x1d/0x67 Jul 22 14:39:50 linux kernel: [ 593.210231] [<ffffffff813ea18f>] do_dbs_timer+0x158/0x27f Jul 22 14:39:50 linux kernel: [ 593.210240] [<ffffffff810529ea>] worker_thread+0x200/0x313 ... The output continues on every do_dbs_timer ondemand freq checking poll. This regression was introduced by git commit: 3f4a782b5ce2698b1870b5a7b573cd721d4fce33 The policy is released when the cpufreq device is removed in: __cpufreq_remove_dev(): /* if this isn't the CPU which is the parent of the kobj, we * only need to unlink, put and exit */ Not creating the symlink is not sever at all. As long as: sysfs_remove_link(&sys_dev->kobj, "cpufreq"); handles it gracefully that the symlink did not exist. Possibly no error should be returned at all, because ondemand governor would still provide the same functionality. Userspace in userspace gov case might be confused if the link is missing. Resolves http://bugzilla.kernel.org/show_bug.cgi?id=13903 CC: Mathieu Desnoyers <mathieu.desnoyers@xxxxxxxxxx> CC: Venkatesh Pallipadi <venkatesh.pallipadi@xxxxxxxxx> Signed-off-by: Thomas Renninger <trenn@xxxxxxx> Signed-off-by: Dave Jones <davej@xxxxxxxxxx> commit 42c74b84c64633dd3badbfc2abd2ef1728b64b30 Author: Prarit Bhargava <prarit@xxxxxxxxxx> Date: Mon Aug 3 10:58:11 2009 -0400 [CPUFREQ] Do not set policy for offline cpus Suspend/Resume fails on multi socket, multi core systems because the cpufreq code erroneously sets the per_cpu policy_cpu value when a logical cpu is offline. This most notably results in missing sysfs files that are used to set the cpu frequencies of the various cpus. Signed-off-by: Prarit Bhargava <prarit@xxxxxxxxxx> Signed-off-by: Dave Jones <davej@xxxxxxxxxx> commit 26d204afa18f7df177f21bdb3759e0098ca8f7d5 Author: Pallipadi, Venkatesh <venkatesh.pallipadi@xxxxxxxxx> Date: Wed Jul 29 13:36:10 2009 -0700 [CPUFREQ] Fix NULL pointer dereference regression in conservative governor Commit ee88415caf736b89500f16e0a545614541a45005 introduced this regression when it removed enable bit in cpu_dbs_info_s. That added a possibility of dbs_cpufreq_notifier getting called for a CPU that is not yet managed by conservative governor. That will happen as the transition notifier is set as soon as one CPU switches to conservative governor and other CPUs can get a NULL pointer dereference without the enable bit check. Add the enable bit back again. Reported-by: Lermytte Christophe <Christophe.Lermytte@xxxxxxxxxxx> Signed-off-by: Venkatesh Pallipadi <venkatesh.pallipadi@xxxxxxxxx> Signed-off-by: Dave Jones <davej@xxxxxxxxxx> commit 1cef8e41073efe47e809f49670eb461307e52ccc Author: Russell King <rmk+kernel@xxxxxxxxxxxxxxxx> Date: Mon Jul 27 11:30:48 2009 +0530 mfd: twl4030 irq fixes The TWL4030 IRQ handler has a bug which leads to spinlock lock-up. It is calling the 'unmask' function in a process context. :The mask/unmask/ack functions are only designed to be called from the IRQ handler code, or the proper API interfaces found in linux/interrupt.h. Also there is no need to have IRQ chaining mechanism. The right way to handle this is to claim the parent interrupt as a standard interrupt and arrange for handle_twl4030_pih to take care of the rest of the devices. Mail thread on this issue can be found at: http://marc.info/?l=linux-arm-kernel&m=124629940123396&w=2 Signed-off-by: Russell King <rmk+kernel@xxxxxxxxxxxxxxxx> Tested-by: Santosh Shilimkar <santosh.shilimkar@xxxxxx> Acked-by: Tony Lindgren <tony@xxxxxxxxxxx> Signed-off-by: Samuel Ortiz <sameo@xxxxxxxxxxxxxxx> commit f26542600e605482a1231c44ddb2966d69bd09b0 Author: Ingo Molnar <mingo@xxxxxxx> Date: Mon Jun 29 10:40:20 2009 +0200 perf_counter: Set the CONFIG_PERF_COUNTERS default to y if CONFIG_PROFILING=y If user has already enabled profiling support in the kernel (for oprofile, old-style profiling of ftrace) then offer up perfcounters with a y default in interactive kconfig sessions. Still keep it off by default otherwise. Cc: Peter Zijlstra <peterz@xxxxxxxxxxxxx> Cc: Linus Torvalds <torvalds@xxxxxxxxxxxxxxxxxxxx> Signed-off-by: Ingo Molnar <mingo@xxxxxxx> commit dc731fbbadf5d65c98fcd6c86472aa286c16458a Author: Subrata Modak <subrata@xxxxxxxxxxxxxxxxxx> Date: Tue Jul 21 08:02:27 2009 +0530 x86: Work around compilation warning in arch/x86/kernel/apm_32.c The following fix was initially inspired by David Howells fix few days back: http://lkml.org/lkml/2009/7/9/109 However, Ingo disapproves such fixes as it's dangerous (it can hide future, relevant warnings) - in something as performance-uncritical. So, initialize 'err' to '0' to work around a GCC false positive warning: http://lkml.org/lkml/2009/7/18/89 Signed-off-by: Subrata Modak<subrata@xxxxxxxxxxxxxxxxxx> Cc: Sachin P Sant <sachinp@xxxxxxxxxxxxxxxxxx> Cc: David Howells <dhowells@xxxxxxxxxx> Cc: Balbir Singh <balbir@xxxxxxxxxxxxxxxxxx> Cc: Stephen Rothwell <sfr@xxxxxxxxxxxxxxxx> LKML-Reference: <20090721023226.31855.67236.sendpatchset@xxxxxxxxxxxxxxxxxxxxxxxxxx> Signed-off-by: Ingo Molnar <mingo@xxxxxxx> commit 2a5ef41661b56cf4eee042a6967c4e14b63e8eac Author: Jack Steiner <steiner@xxxxxxx> Date: Mon Jul 20 09:28:41 2009 -0500 x86, UV: Complete IRQ interrupt migration in arch_enable_uv_irq() In uv_setup_irq(), the call to create_irq() initially assigns IRQ vectors to cpu 0. The subsequent call to assign_irq_vector() in arch_enable_uv_irq() migrates the IRQ to another cpu and frees the cpu 0 vector - at least it will be freed as soon as the "IRQ move" completes. arch_enable_uv_irq() needs to send a cleanup IPI to complete the IRQ move. Otherwise, assignment of GRU interrupts on large systems (>200 cpus) will exhaust the cpu 0 interrupt vectors and initialization of the GRU driver will fail. Signed-off-by: Jack Steiner <steiner@xxxxxxx> LKML-Reference: <20090720142840.GA8885@xxxxxxx> Signed-off-by: Ingo Molnar <mingo@xxxxxxx> commit 6abf65510944d33b47575d151c6b318993c8d2b5 Author: Jan Beulich <JBeulich@xxxxxxxxxx> Date: Thu Jul 30 16:49:30 2009 +0100 x86, 32-bit: Fix double accounting in reserve_top_address() With VMALLOC_END included in the calculation of MAXMEM (as of 2.6.28) it is no longer correct to also bump __VMALLOC_RESERVE in reserve_top_address(). Doing so results in needlessly small lowmem. Signed-off-by: Jan Beulich <jbeulich@xxxxxxxxxx> LKML-Reference: <4A71DD2A020000780000D482@xxxxxxxxxxxxxxxxxx> Signed-off-by: Ingo Molnar <mingo@xxxxxxx> commit d8c7eb34c2db6268909ae8c3958be63bde254292 Author: Yinghai Lu <yinghai@xxxxxxxxxx> Date: Sat Jul 25 03:23:09 2009 -0700 x86: Don't use current_cpu_data in x2apic phys_pkg_id One system has socket 1 come up as BSP. kexeced kernel reports BSP as: [ 1.524550] Initializing cgroup subsys cpuacct [ 1.536064] initial_apicid:20 [ 1.537135] ht_mask_width:1 [ 1.538128] core_select_mask:f [ 1.539126] core_plus_mask_width:5 [ 1.558479] CPU: Physical Processor ID: 0 [ 1.559501] CPU: Processor Core ID: 0 [ 1.560539] CPU: L1 I cache: 32K, L1 D cache: 32K [ 1.579098] CPU: L2 cache: 256K [ 1.580085] CPU: L3 cache: 24576K [ 1.581108] CPU 0/0x20 -> Node 0 [ 1.596193] CPU 0 microcode level: 0xffff0008 It doesn't have correct physical processor id and will get an error: [ 38.840859] CPU0 attaching sched-domain: [ 38.848287] domain 0: span 0,8,72 level SIBLING [ 38.851151] groups: 0 8 72 [ 38.858137] domain 1: span 0,8-15,72-79 level MC [ 38.868944] groups: 0,8,72 9,73 10,74 11,75 12,76 13,77 14,78 15,79 [ 38.881383] ERROR: parent span is not a superset of domain->span [ 38.890724] domain 2: span 0-7,64-71 level CPU [ 38.899237] ERROR: domain->groups does not contain CPU0 [ 38.909229] groups: 8-15,72-79 [ 38.912547] ERROR: groups don't span domain->span [ 38.919665] domain 3: span 0-127 level NODE [ 38.930739] groups: 0-7,64-71 8-15,72-79 16-23,80-87 24-31,88-95 32-39,96-103 40-47,104-111 48-55,112-119 56-63,120-127 it turns out: we can not use current_cpu_data in phys_pgd_id for x2apic. identify_boot_cpu() is called by check_bugs() before smp_prepare_cpus() and till smp_prepare_cpus() current_cpu_data for bsp is assigned with boot_cpu_data. Just make phys_pkg_id for x2apic is aligned to xapic. Signed-off-by: Yinghai Lu <yinghai@xxxxxxxxxx> Acked-by: Suresh Siddha <suresh.b.siddha@xxxxxxxxx> Cc: Andrew Morton <akpm@xxxxxxxxxxxxxxxxxxxx> LKML-Reference: <4A6ADD0D.10002@xxxxxxxxxx> Signed-off-by: Ingo Molnar <mingo@xxxxxxx> commit c5997fa8d7aca3c9876a6ff71bacf27c41095ce9 Author: Jack Steiner <steiner@xxxxxxx> Date: Mon Jul 27 09:38:56 2009 -0500 x86, UV: Fix UV apic mode Change SGI UV default apicid mode to "physical". This is required to match settings in the UV hub chip. Signed-off-by: Jack Steiner <steiner@xxxxxxx> LKML-Reference: <20090727143856.GA8905@xxxxxxx> Signed-off-by: Ingo Molnar <mingo@xxxxxxx> commit 67e83f309ed0baaf01a2c956b5174905bcdc1242 Author: Jack Steiner <steiner@xxxxxxx> Date: Mon Jul 27 09:38:08 2009 -0500 x86, UV: Fix macros for accessing large node numbers The UV chipset automatically supplies the upper bits on nodes being referenced by MMR accesses. These bit can be deleted from the hub addressing macros. Signed-off-by: Jack Steiner <steiner@xxxxxxx> LKML-Reference: <20090727143808.GA8076@xxxxxxx> Signed-off-by: Ingo Molnar <mingo@xxxxxxx> commit cc5e4fa1bd4d2f56da07f9092281afdcd2374ab9 Author: Jack Steiner <steiner@xxxxxxx> Date: Mon Jul 27 09:36:56 2009 -0500 x86, UV: Delete mapping of MMR rangs mapped by BIOS The UV BIOS has added additional MMR ranges that are mapped via EFI virtual mode mappings. These ranges should be deleted from ranges mapped by uv_system_init(). Signed-off-by: Jack Steiner <steiner@xxxxxxx> Cc: linux-mm@xxxxxxxxx LKML-Reference: <20090727143656.GA7698@xxxxxxx> Signed-off-by: Ingo Molnar <mingo@xxxxxxx> commit 6c7184b77464261b7d55583a48accbd1350923a3 Author: Jack Steiner <steiner@xxxxxxx> Date: Mon Jul 27 09:35:07 2009 -0500 x86, UV: Handle missing blade-local memory correctly UV blades may not have any blade-local memory. Add a field (nid) to the UV blade structure to indicates whether the node has local memory. This is needed by the GRU driver (pushed separately). Signed-off-by: Jack Steiner <steiner@xxxxxxx> Cc: linux-mm@xxxxxxxxx LKML-Reference: <20090727143507.GA7006@xxxxxxx> Signed-off-by: Ingo Molnar <mingo@xxxxxxx> commit e16852cfc5580b88cb327413ab8c89375f380592 Merge: bdff78707f3ce47e891f3201c9666122a70556ce 74e7ff8c50b6b022e6ffaa736b16a4dc161d3eaf Author: Ingo Molnar <mingo@xxxxxxx> Date: Tue Aug 4 13:58:28 2009 +0200 Merge branch 'tracing/fixes' of git://git.kernel.org/pub/scm/linux/kernel/git/frederic/random-tracing into tracing/urgent commit 57ca7deb062abf56168d15f000c16e25f88a9cf3 Author: Anders Grafström <grfstrm@xxxxxxxxxxxxxxxxxxxxx> Date: Tue Aug 4 13:11:47 2009 +0200 jffs2: Fix return value from jffs2_do_readpage_nolock() This fixes "kernel BUG at fs/jffs2/file.c:251!". This pseudocode hopefully illustrates the scenario that triggers it: jffs2_write_begin { jffs2_do_readpage_nolock { jffs2_read_inode_range { jffs2_read_dnode { Data CRC 33c102e9 != calculated CRC 0ef77e7b for node at 005d42e4 return -EIO; } } ClearPageUptodate(pg); return 0; } } jffs2_write_end { BUG_ON(!PageUptodate(pg)); } Signed-off-by: Anders Grafström <grfstrm@xxxxxxxxxxxxxxxxxxxxx> Signed-off-by: David Woodhouse <David.Woodhouse@xxxxxxxxx> commit c2718348b41a8e7646516d9af8bb0231c6a44374 Author: Doug Thompson <dougthompson@xxxxxxxxxxxx> Date: Tue Aug 4 12:02:20 2009 +0200 amd64_edac: print debug statements only on error Add forgotten return calls for the successful cases. Signed-off-by: Doug Thompson <dougthompson@xxxxxxxxxxxx> Signed-off-by: Borislav Petkov <borislav.petkov@xxxxxxx> commit 7e030655dda5b5efc4305e2a8f46c4967d32eb3d Author: Roel Kluin <roel.kluin@xxxxxxxxx> Date: Sun Aug 2 13:43:11 2009 +0200 perf: Fix read buffer overflow Check whether index is within bounds before testing the element. Signed-off-by: Roel Kluin <roel.kluin@xxxxxxxxx> Cc: a.p.zijlstra@xxxxxxxxx Cc: Andrew Morton <akpm@xxxxxxxxxxxxxxxxxxxx> LKML-Reference: <4A757BCF.40101@xxxxxxxxx> Signed-off-by: Ingo Molnar <mingo@xxxxxxx> commit 70d715fd0597f18528f389b5ac59102263067744 Author: Hiroshi Shimamoto <h-shimamoto@xxxxxxxxxxxxx> Date: Mon Aug 3 11:48:19 2009 +0900 posix-timers: Fix oops in clock_nanosleep() with CLOCK_MONOTONIC_RAW Prevent calling do_nanosleep() with clockid CLOCK_MONOTONIC_RAW, it may cause oops, such as NULL pointer dereference. Signed-off-by: Hiroshi Shimamoto <h-shimamoto@xxxxxxxxxxxxx> Cc: Andrew Morton <akpm@xxxxxxxxxxxxxxxxxxxx> Cc: Thomas Gleixner <tglx@xxxxxxxxxxxxx> Cc: John Stultz <johnstul@xxxxxxxxxx> Cc: <stable@xxxxxxxxxx> LKML-Reference: <4A764FF3.50607@xxxxxxxxxxxxx> Signed-off-by: Ingo Molnar <mingo@xxxxxxx> commit 0cb13536c3382004bd9b833565e2af33f26ed1fb Author: Jean Delvare <khali@xxxxxxxxxxxx> Date: Mon Aug 3 21:10:01 2009 -0700 3c59x: Fix build failure with gcc 3.2 Fix the following build failure with gcc 3.2: CC [M] drivers/net/3c59x.o drivers/net/3c59x.c:2726:1: directives may not be used inside a macro argument drivers/net/3c59x.c:2725:59: unterminated argument list invoking macro "pr_err" drivers/net/3c59x.c: In function `dump_tx_ring': drivers/net/3c59x.c:2727: implicit declaration of function `pr_err' drivers/net/3c59x.c:2731: syntax error before ')' token Apparently gcc 3.2 doesn't like #if interleaved with a macro call. Signed-off-by: Jean Delvare <khali@xxxxxxxxxxxx> Signed-off-by: David S. Miller <davem@xxxxxxxxxxxxx> commit d098564f3b2b5d555e51bca765a6a9e0dda8f2cd Author: Steve French <sfrench@xxxxxxxxxx> Date: Tue Aug 4 03:53:28 2009 +0000 [CIFS] Update readme to reflect forceuid mount parms Signed-off-by: Steve French <sfrench@xxxxxxxxxx> commit c96e7c7a3a79931446ecf9494a8415e4d164ebd8 Author: Roel Kluin <roel.kluin@xxxxxxxxx> Date: Mon Aug 3 14:22:53 2009 +0200 drm/ttm: Read buffer overflow Check whether index is within bounds before grabbing the element. Signed-off-by: Roel Kluin <roel.kluin@xxxxxxxxx> Signed-off-by: Dave Airlie <airlied@xxxxxxxxxx> commit fa99239cb73dbf419bea9f334b85ba94ac88a532 Author: Roel Kluin <roel.kluin@xxxxxxxxx> Date: Mon Aug 3 14:20:32 2009 +0200 drm/radeon: Read buffer overflow Check whether index is within bounds before grabbing the element. Signed-off-by: Roel Kluin <roel.kluin@xxxxxxxxx> Signed-off-by: Dave Airlie <airlied@xxxxxxxxxx> commit fee280d3fd9bc5247bef9f4ab35a4693bfffdcfd Author: Thomas Hellstrom <thellstrom@xxxxxxxxxx> Date: Mon Aug 3 12:39:06 2009 +0200 drm/ttm: Fix a sync object leak. If there are multiple simultaneous waiters for the same buffer object, a temporary reference to its sync object may be leaked. Signed-off-by: Thomas Hellstrom <thellstrom@xxxxxxxxxx> Signed-off-by: Dave Airlie <airlied@xxxxxxxxxx> commit c9b7fb54f0a51e587fa09be3a85666b43d36a850 Author: Xiaotian Feng <dfeng@xxxxxxxxxx> Date: Wed Jul 29 21:28:24 2009 +0800 drm/radeon/kms: fix memory leak in radeon_driver_load_kms This patch fixes following kmemleak report: unreferenced object 0xffff88022cb53000 (size 4096): comm "work_for_cpu", pid 97, jiffies 4294672345 backtrace: [<ffffffff810eb222>] create_object+0x19f/0x2a0 [<ffffffff810eb422>] kmemleak_alloc+0x26/0x4c [<ffffffff810e363f>] __kmalloc+0x187/0x1b0 [<ffffffffa005f3db>] kzalloc.clone.0+0x13/0x15 [radeon] [<ffffffffa005f403>] radeon_driver_load_kms+0x26/0xe1 [radeon] [<ffffffffa0017432>] drm_get_dev+0x37f/0x480 [drm] [<ffffffffa007f424>] radeon_pci_probe+0x15/0x269 [radeon] [<ffffffff811f8779>] local_pci_probe+0x17/0x1b [<ffffffff8105ffbb>] do_work_for_cpu+0x18/0x2a [<ffffffff81063c38>] kthread+0x8a/0x92 [<ffffffff81012cba>] child_rip+0xa/0x20 [<ffffffffffffffff>] 0xffffffffffffffff Signed-off-by: Xiaotian Feng <dfeng@xxxxxxxxxx> Signed-off-by: Dave Airlie <airlied@xxxxxxxxxx> commit de05065ff5d6878523317ff4a0b48a1239f80f73 Author: Dave Airlie <airlied@xxxxxxxxxx> Date: Mon Aug 3 12:05:34 2009 +1000 drm/radeon/kms: fix nomodeset. The ordering was wrong to get the nomodeset parameter to work. Signed-off-by: Dave Airlie <airlied@xxxxxxxxxx> commit 6d0897ba58139523d37e97855ee0fe2d78629da6 Author: Thomas Hellstrom <thellstrom@xxxxxxxxxx> Date: Fri Jul 31 10:47:51 2009 +0200 drm/ttm: Fix a potential comparison of structs. On some architectures the comparison may cause a compilation failure. Original partial fix Signed-off-by: Thomas Hellstrom <thellstrom@xxxxxxxxxx> Signed-off-by: Pekka Paalanen <pq@xxxxxx> Signed-off-by: Dave Airlie <airlied@xxxxxxxxxx> commit 0924d942256ac470c5f7b4ebaf7fe0415fc6fa59 Author: Dave Airlie <airlied@xxxxxxxxxx> Date: Mon Aug 3 12:03:03 2009 +1000 drm/radeon/kms: fix rv515 VRAM initialisation. This got missed in the VRAM init re-workings. Signed-of-by: Dave Airlie <airlied@xxxxxxxxxx> commit 7320700df1864b601cef5adbddce8654a0e3f78b Author: Alex Deucher <alexdeucher@xxxxxxxxx> Date: Mon Aug 3 17:01:53 2009 -0400 drm/radeon: add some new r7xx pci ids Signed-off-by: Alex Deucher <alexdeucher@xxxxxxxxx> Signed-off-by: Dave Airlie <airlied@xxxxxxxxxx> commit 4cb72b1727140f131b2df5f37c2e54f5965f98c2 Author: Jakob Bornecrantz <jakob@xxxxxxxxxx> Date: Mon Aug 3 13:43:59 2009 +0100 drm: Catch stop possible NULL pointer reference This was caught by Weiss. Also added some comments to the fb_changed and mode_changed variables to explain what they do. Signed-off-by: Jakob Bornecrantz <jakob@xxxxxxxxxx> Tested-by: Thomas White <taw@xxxxxxxxxxxxx> Signed-off-by: Dave Airlie <airlied@xxxxxxxxxx> commit 7781de74568bddfefbd2d32a934a8c791a2420cd Author: Jakob Bornecrantz <jakob@xxxxxxxxxx> Date: Mon Aug 3 13:43:58 2009 +0100 drm: Small logic fix in drm_mode_setcrtc Match the logic to the comments in the debug message Signed-off-by: Jakob Bornecrantz <jakob@xxxxxxxxxx> Signed-off-by: Dave Airlie <airlied@xxxxxxxxxx> commit eca4c3d2dd66d0230140c9af05dee591df6f0e42 Merge: f6caa14aa0b126d4a2933907d1519611b2a8524a 99f1b01562b7dcae75b043114f76163fbf84fcab Author: David S. Miller <davem@xxxxxxxxxxxxx> Date: Mon Aug 3 19:05:50 2009 -0700 Merge branch 'master' of git://git.kernel.org/pub/scm/linux/kernel/git/linville/wireless-2.6 commit f6caa14aa0b126d4a2933907d1519611b2a8524a Author: Mike McCormack <mikem@xxxxxxxxxx> Date: Fri Jul 31 01:57:42 2009 +0000 sky2: Avoid transmits during sky2_down() This patch supersedes my previous patch "sky2: Avoid transmitting during sky2_restart". I have reworked the patch to avoid crashes during both sky2_restart() and sky2_set_ringparam(). Without this patch, the sky2 driver can be crashed by doing: # pktgen eth1 & (transmit many packets on eth1) # ethtool -G eth1 tx 510 I am aware you object to storing extra state, but I can't see a way around this. Without remembering that we're restarting, netif_wake_queue() is called in the ISR from sky2_tx_complete(), and netif_tx_lock() is used in sky2_tx_done(). If anybody can see a way around this, please let me know. Signed-off-by: Mike McCormack <mikem@xxxxxxxxxx> Signed-off-by: David S. Miller <davem@xxxxxxxxxxxxx> commit f1f029c7bfbf4ee1918b90a431ab823bed812504 Author: H. Peter Anvin <hpa@xxxxxxxxx> Date: Mon Aug 3 16:33:40 2009 -0700 x86: fix assembly constraints in native_save_fl() From Gabe Black in bugzilla 13888: native_save_fl is implemented as follows: 11static inline unsigned long native_save_fl(void) 12{ 13 unsigned long flags; 14 15 asm volatile("# __raw_save_flags\n\t" 16 "pushf ; pop %0" 17 : "=g" (flags) 18 : /* no input */ 19 : "memory"); 20 21 return flags; 22} If gcc chooses to put flags on the stack, for instance because this is inlined into a larger function with more register pressure, the offset of the flags variable from the stack pointer will change when the pushf is performed. gcc doesn't attempt to understand that fact, and address used for pop will still be the same. It will write to somewhere near flags on the stack but not actually into it and overwrite some other value. I saw this happen in the ide_device_add_all function when running in a simulator I work on. I'm assuming that some quirk of how the simulated hardware is set up caused the code path this is on to be executed when it normally wouldn't. A simple fix might be to change "=g" to "=r". Reported-by: Gabe Black <spamforgabe@xxxxxxxxx> Signed-off-by: H. Peter Anvin <hpa@xxxxxxxxx> Cc: Stable Team <stable@xxxxxxxxxx> commit bab9a3da93bfe09c609407dedae5708b07a7ac56 Author: Borislav Petkov <borislav.petkov@xxxxxxx> Date: Thu Jul 30 11:10:01 2009 +0200 x86, msr: execute on the correct CPU subset Make rdmsr_on_cpus/wrmsr_on_cpus execute on the current CPU only if it is in the supplied bitmask. Signed-off-by: Borislav Petkov <borislav.petkov@xxxxxxx> Signed-off-by: H. Peter Anvin <hpa@xxxxxxxxx> commit d2ba8b211bb8abc29aa627dbd4dce08cfbc8082b Author: H. Peter Anvin <hpa@xxxxxxxxx> Date: Mon Aug 3 14:44:54 2009 -0700 x86: Fix assert syntax in vmlinux.lds.S Older versions of binutils did not accept the naked "ASSERT" syntax; it is considered an expression whose value needs to be assigned to something. Reported-tested-and-fixed-by: Jean Delvare <khali@xxxxxxxxxxxx> Signed-off-by: H. Peter Anvin <hpa@xxxxxxxxx> commit 24e2fb615fd6b624c320cec9ea9d91a75dad902e Author: Roel Kluin <roel.kluin@xxxxxxxxx> Date: Sun Aug 2 13:00:18 2009 +0200 cifs: Read buffer overflow Check whether index is within bounds before testing the element. Acked-by: Jeff Layton <jlayton@xxxxxxxxxx> Signed-off-by: Roel Kluin <roel.kluin@xxxxxxxxx> Signed-off-by: Steve French <sfrench@xxxxxxxxxx> commit 4486d6ede16b362f89b29845af6fe1a26ae78a54 Author: Jeff Layton <jlayton@xxxxxxxxxx> Date: Mon Aug 3 12:45:10 2009 -0400 cifs: show noforceuid/noforcegid mount options (try #2) Since forceuid is the default, we now need to show when it's disabled. Signed-off-by: Jeff Layton <jlayton@xxxxxxxxxx> Signed-off-by: Steve French <sfrench@xxxxxxxxxx> commit 6a7bbd57ed50bb62c9a81ae5f2e202ca689e5964 Author: Paul Mackerras <paulus@xxxxxxxxx> Date: Mon Aug 3 22:38:10 2009 +1000 x86: Make 64-bit efi_ioremap use ioremap on MMIO regions Booting current 64-bit x86 kernels on the latest Apple MacBook (MacBook5,2) via EFI gives the following warning: [ 0.182209] ------------[ cut here ]------------ [ 0.182222] WARNING: at arch/x86/mm/pageattr.c:581 __cpa_process_fault+0x44/0xa0() [ 0.182227] Hardware name: MacBook5,2 [ 0.182231] CPA: called for zero pte. vaddr = ffff8800ffe00000 cpa->vaddr = ffff8800ffe00000 [ 0.182236] Modules linked in: [ 0.182242] Pid: 0, comm: swapper Not tainted 2.6.31-rc4 #6 [ 0.182246] Call Trace: [ 0.182254] [<ffffffff8102c754>] ? __cpa_process_fault+0x44/0xa0 [ 0.182261] [<ffffffff81048668>] warn_slowpath_common+0x78/0xd0 [ 0.182266] [<ffffffff81048744>] warn_slowpath_fmt+0x64/0x70 [ 0.182272] [<ffffffff8102c7ec>] ? update_page_count+0x3c/0x50 [ 0.182280] [<ffffffff818d25c5>] ? phys_pmd_init+0x140/0x22e [ 0.182286] [<ffffffff8102c754>] __cpa_process_fault+0x44/0xa0 [ 0.182292] [<ffffffff8102ce60>] __change_page_attr_set_clr+0x5f0/0xb40 [ 0.182301] [<ffffffff810d1035>] ? vm_unmap_aliases+0x175/0x190 [ 0.182307] [<ffffffff8102d4ae>] change_page_attr_set_clr+0xfe/0x3d0 [ 0.182314] [<ffffffff8102dcca>] _set_memory_uc+0x2a/0x30 [ 0.182319] [<ffffffff8102dd4b>] set_memory_uc+0x7b/0xb0 [ 0.182327] [<ffffffff818afe31>] efi_enter_virtual_mode+0x2ad/0x2c9 [ 0.182334] [<ffffffff818a1c66>] start_kernel+0x2db/0x3f4 [ 0.182340] [<ffffffff818a1289>] x86_64_start_reservations+0x99/0xb9 [ 0.182345] [<ffffffff818a1389>] x86_64_start_kernel+0xe0/0xf2 [ 0.182357] ---[ end trace 4eaa2a86a8e2da22 ]--- [ 0.182982] init_memory_mapping: 00000000ffffc000-0000000100000000 [ 0.182993] 00ffffc000 - 0100000000 page 4k This happens because the 64-bit version of efi_ioremap calls init_memory_mapping for all addresses, regardless of whether they are RAM or MMIO. The EFI tables on this machine ask for runtime access to some MMIO regions: [ 0.000000] EFI: mem195: type=11, attr=0x8000000000000000, range=[0x0000000093400000-0x0000000093401000) (0MB) [ 0.000000] EFI: mem196: type=11, attr=0x8000000000000000, range=[0x00000000ffc00000-0x00000000ffc40000) (0MB) [ 0.000000] EFI: mem197: type=11, attr=0x8000000000000000, range=[0x00000000ffc40000-0x00000000ffc80000) (0MB) [ 0.000000] EFI: mem198: type=11, attr=0x8000000000000000, range=[0x00000000ffc80000-0x00000000ffca4000) (0MB) [ 0.000000] EFI: mem199: type=11, attr=0x8000000000000000, range=[0x00000000ffca4000-0x00000000ffcb4000) (0MB) [ 0.000000] EFI: mem200: type=11, attr=0x8000000000000000, range=[0x00000000ffcb4000-0x00000000ffffc000) (3MB) [ 0.000000] EFI: mem201: type=11, attr=0x8000000000000000, range=[0x00000000ffffc000-0x0000000100000000) (0MB) This arranges to pass the EFI memory type through to efi_ioremap, and makes efi_ioremap use ioremap rather than init_memory_mapping if the type is EFI_MEMORY_MAPPED_IO. With this, the above warning goes away. Signed-off-by: Paul Mackerras <paulus@xxxxxxxxx> LKML-Reference: <19062.55858.533494.471153@xxxxxxxxxxxxxxxxxxxx> Cc: Huang Ying <ying.huang@xxxxxxxxx> Signed-off-by: H. Peter Anvin <hpa@xxxxxxxxx> commit 6c6c51e4cc11a5456fb1172008f7c69d955af9f6 Author: Paul Mackerras <paulus@xxxxxxxxx> Date: Mon Aug 3 22:47:32 2009 +1000 x86: Add quirk to make Apple MacBook5,2 use reboot=pci The latest Apple MacBook (MacBook5,2) doesn't reboot successfully under Linux; neither the EFI reboot method nor the default method using the keyboard controller works (the system just hangs and doesn't reset). However, the method using the "PCI reset register" at 0xcf9 does work. This adds a quirk to detect this machine via DMI and force the reboot_type to BOOT_CF9. With this it reboots successfully without requiring a command-line option. Note that the EFI code forces reboot_type to BOOT_EFI when the machine is booted via EFI, but this overrides that since the core_initcall runs after the EFI initialization code. Signed-off-by: Paul Mackerras <paulus@xxxxxxxxx> LKML-Reference: <19062.56420.501516.316181@xxxxxxxxxxxxxxxxxxxx> Signed-off-by: H. Peter Anvin <hpa@xxxxxxxxx> commit 99f1b01562b7dcae75b043114f76163fbf84fcab Author: Reinette Chatre <reinette.chatre@xxxxxxxxx> Date: Mon Aug 3 12:10:16 2009 -0700 iwlagn: do not send key clear commands when rfkill enabled Do all key clearing except sending sommands to device when rfkill enabled. When rfkill enabled the interface is brought down and will be brought back up correctly after rfkill is enabled again. Same change is not needed for iwl3945 as it ignores return code when sending key clearing command to device. This fixes http://bugzilla.kernel.org/show_bug.cgi?id=13742 Signed-off-by: Reinette Chatre <reinette.chatre@xxxxxxxxx> Tested-by: Frans Pop <elendil@xxxxxxxxx> Signed-off-by: John W. Linville <linville@xxxxxxxxxxxxx> commit b929c633b4067be18a335d278a66fd5deef3cabe Author: Roel Kluin <roel.kluin@xxxxxxxxx> Date: Sun Aug 2 09:44:12 2009 +0200 libertas: Read buffer overflow Check whether index is within bounds before testing the element. Signed-off-by: Roel Kluin <roel.kluin@xxxxxxxxx> Signed-off-by: John W. Linville <linville@xxxxxxxxxxxxx> commit 9f9857bb5e147b977b9878c46e3dd87c9e8caf50 Author: Julia Lawall <julia@xxxxxxx> Date: Sat Aug 1 10:55:53 2009 +0200 drivers/net/wireless: introduce missing kfree Error handling code following a kzalloc should free the allocated data. The semantic match that finds the problem is as follows: (http://www.emn.fr/x-info/coccinelle/) // <smpl> @r exists@ local idexpression x; statement S; expression E; identifier f,f1,l; position p1,p2; expression *ptr != NULL; @@ x@p1 = \(kmalloc\|kzalloc\|kcalloc\)(...); ... if (x == NULL) S <... when != x when != if (...) { <+...x...+> } ( x->f1 = E | (x->f1 == NULL || ...) | f(...,x->f1,...) ) ...> ( return \(0\|<+...x...+>\|ptr\); | return@p2 ...; ) @script:python@ p1 << r.p1; p2 << r.p2; @@ print "* file: %s kmalloc %s return %s" % (p1[0].file,p1[0].line,p2[0].line) // </smpl> Signed-off-by: Julia Lawall <julia@xxxxxxx> Signed-off-by: John W. Linville <linville@xxxxxxxxxxxxx> commit c37457e69ffd7d3c94cbfcc1c39be9a45dd7ad21 Author: Julia Lawall <julia@xxxxxxx> Date: Mon Aug 3 11:11:45 2009 +0200 drivers/net/wireless/iwlwifi: introduce missing kfree Move orthogonal error handling code up before a kzalloc, so that it doesn't have to free the allocated data. The semantic match that finds the problem is as follows: (http://www.emn.fr/x-info/coccinelle/) // <smpl> @r exists@ local idexpression x; statement S; expression E; identifier f,f1,l; position p1,p2; expression *ptr != NULL; @@ x@p1 = \(kmalloc\|kzalloc\|kcalloc\)(...); ... if (x == NULL) S <... when != x when != if (...) { <+...x...+> } ( x->f1 = E | (x->f1 == NULL || ...) | f(...,x->f1,...) ) ...> ( return \(0\|<+...x...+>\|ptr\); | return@p2 ...; ) @script:python@ p1 << r.p1; p2 << r.p2; @@ print "* file: %s kmalloc %s return %s" % (p1[0].file,p1[0].line,p2[0].line) // </smpl> Signed-off-by: Julia Lawall <julia@xxxxxxx> Acked-by: Zhu Yi <yi.zhu@xxxxxxxxx> Signed-off-by: John W. Linville <linville@xxxxxxxxxxxxx> commit dbc1eec485625228895ded6baf6bd01ce2475410 Author: Patrick Simmons <linuxrocks123@xxxxxxxxxxxx> Date: Sun Aug 2 02:46:28 2009 -0600 zd1211rw: fix unaligned access in zd_mac_rx Fix an unaligned memory access in the zd_mac_rx function of zd1211rw that causes problems on SPARC64. Signed-off-by: Patrick Simmons <linuxrocks123@xxxxxxxxxxxx> Signed-off-by: John W. Linville <linville@xxxxxxxxxxxxx> commit 371842448c05b42d11a4be1c8e4e81d62ecc7534 Author: Luis R. Rodriguez <lrodriguez@xxxxxxxxxxx> Date: Thu Jul 30 17:43:48 2009 -0700 cfg80211: fix regression on beacon world roaming feature A regression was added through patch a4ed90d6: "cfg80211: respect API on orig_flags on channel for beacon hint" We did indeed respect _orig flags but the intention was not clearly stated in the commit log. This patch fixes firmware issues picked up by iwlwifi when we lift passive scan of beaconing restrictions on channels its EEPROM has been configured to always enable. By doing so though we also disallowed beacon hints on devices registering their wiphy with custom world regulatory domains enabled, this happens to be currently ath5k, ath9k and ar9170. The passive scan and beacon restrictions on those devices would never be lifted even if we did find a beacon and the hardware did support such enhancements when world roaming. Since Johannes indicates iwlwifi firmware cannot be changed to allow beacon hinting we set up a flag now to specifically allow drivers to disable beacon hints for devices which cannot use them. We enable the flag on iwlwifi to disable beacon hints and by default enable it for all other drivers. It should be noted beacon hints lift passive scan flags and beacon restrictions when we receive a beacon from an AP on any 5 GHz non-DFS channels, and channels 12-14 on the 2.4 GHz band. We don't bother with channels 1-11 as those channels are allowed world wide. This should fix world roaming for ath5k, ath9k and ar9170, thereby improving scan time when we receive the first beacon from any AP, and also enabling beaconing operation (AP/IBSS/Mesh) on cards which would otherwise not be allowed to do so. Drivers not using custom regulatory stuff (wiphy_apply_custom_regulatory()) were not affected by this as the orig_flags for the channels would have been cleared upon wiphy registration. I tested this with a world roaming ath5k card. Cc: Jouni Malinen <jouni.malinen@xxxxxxxxxxx> Signed-off-by: Luis R. Rodriguez <lrodriguez@xxxxxxxxxxx> Reviewed-by: Johannes Berg <johannes@xxxxxxxxxxxxxxxx> Signed-off-by: John W. Linville <linville@xxxxxxxxxxxxx> commit cd3468bad96c00b5a512f551674f36776129520e Author: Johannes Berg <johannes@xxxxxxxxxxxxxxxx> Date: Wed Jul 29 22:07:44 2009 +0200 cfg80211: add two missing NULL pointer checks These pointers can be NULL, the is_mesh() case isn't ever hit in the current kernel, but cmp_ies() can be hit under certain conditions. Signed-off-by: Johannes Berg <johannes@xxxxxxxxxxxxxxxx> Cc: stable@xxxxxxxxxx [2.6.29, 2.6.30] Signed-off-by: John W. Linville <linville@xxxxxxxxxxxxx> commit 202ff1ec8e53d5dd36e1a5bd4b0a7ed7dbd45087 Author: Mallikarjuna R Chilakala <mallikarjuna.chilakala@xxxxxxxxx> Date: Mon Aug 3 07:20:38 2009 +0000 ixgbe: Patch to modify 82598 PCIe completion timeout values The default completion timeout values for 82598 should be in the range of 50us to 50ms, however the hardware default for these parts is 500us to 1ms which is less than the 10ms recommended by the pcie spec. To address this we need to increase the value to either 10ms to 250ms for capability version 1 configuration, or 16ms to 55ms for version 2. Signed-off-by: Mallikarjuna R Chilakala <mallikarjuna.chilakala@xxxxxxxxx> Signed-off-by: Jeff Kirsher <jeffrey.t.kirsher@xxxxxxxxx> Signed-off-by: David S. Miller <davem@xxxxxxxxxxxxx> commit af0d3b103bcfa877343ee338de12002cd50c9ee5 Author: Dave Young <hidave.darkstar@xxxxxxxxx> Date: Mon Aug 3 04:26:16 2009 +0000 bluetooth: rfcomm_init bug fix rfcomm tty may be used before rfcomm_tty_driver initilized, The problem is that now socket layer init before tty layer, if userspace program do socket callback right here then oops will happen. reporting in: http://marc.info/?l=linux-bluetooth&m=124404919324542&w=2 make 3 changes: 1. remove #ifdef in rfcomm/core.c, make it blank function when rfcomm tty not selected in rfcomm.h 2. tune the rfcomm_init error patch to ensure tty driver initilized before rfcomm socket usage. 3. remove __exit for rfcomm_cleanup_sockets because above change need call it in a __init function. Reported-by: Oliver Hartkopp <oliver@xxxxxxxxxxxx> Tested-by: Oliver Hartkopp <oliver@xxxxxxxxxxxx> Signed-off-by: Dave Young <hidave.darkstar@xxxxxxxxx> Signed-off-by: David S. Miller <davem@xxxxxxxxxxxxx> commit 8523acfe40efc1a8d3da8f473ca67cb195b06f0c Author: Thomas Hellstrom <thellstrom@xxxxxxxxxx> Date: Mon Aug 3 09:25:45 2009 +0200 x86: Fix CPA memtype reserving in the set_pages_array*() cases The code was incorrectly reserving memtypes using the page virtual address instead of the physical address. Furthermore, the code was not ignoring highmem pages as it ought to. ( upstream does not pass in highmem pages yet - but upcoming graphics code will do it and there's no reason to not handle this properly in the CPA APIs.) Fixes: http://bugzilla.kernel.org/show_bug.cgi?id=13884 Signed-off-by: Thomas Hellstrom <thellstrom@xxxxxxxxxx> Acked-by: Suresh Siddha <suresh.b.siddha@xxxxxxxxx> Cc: <stable@xxxxxxxxxx> Cc: dri-devel@xxxxxxxxxxxxxxxxxxxxx Cc: venkatesh.pallipadi@xxxxxxxxx LKML-Reference: <1249284345-7654-1-git-send-email-thellstrom@xxxxxxxxxx> Signed-off-by: Ingo Molnar <mingo@xxxxxxx> commit 38a6fe8c013e72c402b37a7ea400387120f460d8 Merge: 320145fac91955ee35a6af7e1c2b42388a17b3d8 909db80297ba65699a77d877f7bf618ba960f6fc Author: Russell King <rmk@xxxxxxxxxxxxxxxxxxxxxxx> Date: Mon Aug 3 17:58:02 2009 +0100 Merge branch 's3c-fixes-rc4-2' of git://aeryn.fluff.org.uk/bjdooks/linux commit 54822de7793bf9aa56d79cc173281cdb23b37f9f Author: Ralf Baechle <ralf@xxxxxxxxxxxxxx> Date: Mon Aug 3 17:27:19 2009 +0100 MIPS: Wire up accept4 syscall. Signed-off-by: Ralf Baechle <ralf@xxxxxxxxxxxxxx> commit ce21f4e86f89d352efecd044958db1917033b49b Author: Ralf Baechle <ralf@xxxxxxxxxxxxxx> Date: Mon Aug 3 12:57:52 2009 +0100 MIPS: VPE: Delete unused function get_tc_unused(). Signed-off-by: Ralf Baechle <ralf@xxxxxxxxxxxxxx> commit 349c4229ed305146a558008d393c622d715cd11d Author: Ralf Baechle <ralf@xxxxxxxxxxxxxx> Date: Mon Aug 3 12:56:39 2009 +0100 MIPS: VPE: Fix bogus indentation. Signed-off-by: Ralf Baechle <ralf@xxxxxxxxxxxxxx> commit f18b51cc1f97ca290256e8f94127f6856a42d605 Author: Ralf Baechle <ralf@xxxxxxxxxxxxxx> Date: Mon Aug 3 12:54:35 2009 +0100 MIPS: VPE: Make various functions static. None of these is used outside the VPE loader. Signed-off-by: Ralf Baechle <ralf@xxxxxxxxxxxxxx> commit 477c4b07406357ad93d0e32788dbf3ee814eadaa Author: Ralf Baechle <ralf@xxxxxxxxxxxxxx> Date: Mon Aug 3 12:26:40 2009 +0100 MIPS: VPE: Free relocation chain on error. This may happen if a bad sequence of relocations is being encountered. Signed-off-by: Ralf Baechle <ralf@xxxxxxxxxxxxxx> commit e2a9cf96a0af24f33206b4bb98cc3a12242260c1 Author: Raghu Gandham <raghu@xxxxxxxx> Date: Fri Jul 10 02:01:32 2009 -0700 MIPS: VPE: Fix compiler warning. Signed-off-by: Raghu Gandham <raghu@xxxxxxxx> Signed-off-by: Ralf Baechle <ralf@xxxxxxxxxxxxxx> commit 6f9fdeb6761a46ded6bf4b799993a3f235ab853d Author: Ralf Baechle <ralf@xxxxxxxxxxxxxx> Date: Mon Aug 3 10:50:19 2009 +0100 MIPS: Module: Make error messages unique. There were three different errors resulting in a "dangerous relocation" message. Add the relocation type to the messgages to make them more useful. Signed-off-by: Ralf Baechle <ralf@xxxxxxxxxxxxxx> commit 39b3d44624e9c54e7406274beaf569fe33af2b96 Author: David Daney <ddaney@xxxxxxxxxxxxxxxxxx> Date: Fri Jul 31 14:30:07 2009 -0700 MIPS: Octeon: Run IPI code with interrupts disabled. In mm/slab.c the function do_ccupdate_local requires that interrupts be disabled. If they are not, we panic with CONFIG_DEBUG_SLAB. So we disable interrupts while processing IPIs. Also these are not shared irqs, so get rid of the IRQF_SHARED flag. Signed-off-by: David Daney <ddaney@xxxxxxxxxxxxxxxxxx> Signed-off-by: Ralf Baechle <ralf@xxxxxxxxxxxxxx> commit 3d4656d68bad84604f5b01f93e066cd02f77154b Author: Roel Kluin <roel.kluin@xxxxxxxxx> Date: Fri Jul 31 14:52:51 2009 +0200 MIPS: Jazz: Fix read buffer overflow Check whether index is within bounds before testing the element. Signed-off-by: Roel Kluin <roel.kluin@xxxxxxxxx> Signed-off-by: Ralf Baechle <ralf@xxxxxxxxxxxxxx> commit 64f1815507f207ec54ee6b9ae69c48bd153e83b4 Author: Julia Lawall <julia@xxxxxxx> Date: Sun Aug 2 10:48:08 2009 +0200 MIPS: Use DIV_ROUND_CLOSEST The kernel.h macro DIV_ROUND_CLOSEST performs the computation (x + d/2)/d but is perhaps more readable. The semantic patch that makes this change is as follows: (http://www.emn.fr/x-info/coccinelle/) // <smpl> @haskernel@ @@ #include <linux/kernel.h> @depends on haskernel@ expression x,__divisor; @@ - (((x) + ((__divisor) / 2)) / (__divisor)) + DIV_ROUND_CLOSEST(x,__divisor) // </smpl> Signed-off-by: Julia Lawall <julia@xxxxxxx> Signed-off-by: Ralf Baechle <ralf@xxxxxxxxxxxxxx> commit a1b021d3992d9be03b0abec1a7ed78e713b94206 Author: Florian Fainelli <florian@xxxxxxxxxxx> Date: Sat Aug 1 23:51:20 2009 +0200 MIPS: MTX-1: Request button GPIO before setting its direction This patch fixes the following warning at boot time: WARNING: at drivers/gpio/gpiolib.c:83 0x8021d5e0() autorequest GPIO-207 Modules linked in: Call Trace:[<8011e0ec>] 0x8011e0ec [<80110a28>] 0x80110a28 [<80110a28>] 0x80110a28 [..snip..] The current code does not request the GPIO and attempts to set its direction, which is a violation of the GPIO API. This patch also unhardcode the GPIO we request and use the one we defined in the button driver. Signed-off-by: Florian Fainelli <florian@xxxxxxxxxxx> Signed-off-by: Ralf Baechle <ralf@xxxxxxxxxxxxxx> commit 619e22632ea3110323b1851a7fecb52bf8505fd2 Author: Florian Fainelli <florian@xxxxxxxxxxx> Date: Fri Jul 24 13:19:10 2009 +0200 MIPS: AR7: Override CFLAGS with -Werror Now that we have removed all warnings from the ar7 board code we can use -Werror like on other MIPS boards. Signed-off-by: Florian Fainelli <florian@xxxxxxxxxxx> Signed-off-by: Ralf Baechle <ralf@xxxxxxxxxxxxxx> commit e5b3837a52c7fe5c7086590bed902f0fac5f9ec0 Author: Florian Fainelli <florian@xxxxxxxxxxx> Date: Fri Jul 24 13:18:42 2009 +0200 MIPS: AR7: Remove unused tnetd7200_get_clock function Signed-off-by: Florian Fainelli <florian@xxxxxxxxxxx> Signed-off-by: Ralf Baechle <ralf@xxxxxxxxxxxxxx> commit 8e84c1480d2e7d98d487b567100717b9cc9dcfd7 Author: Florian Fainelli <florian@xxxxxxxxxxx> Date: Fri Jul 24 13:18:16 2009 +0200 MIPS: AR7: Use DMA_BIT_MASK(nn) instead of deprecated DMA_nnBIT_MASK Signed-off-by: Florian Fainelli <florian@xxxxxxxxxxx> Signed-off-by: Ralf Baechle <ralf@xxxxxxxxxxxxxx> commit 50ca961912be315035cb0f3508e35c974851da2a Author: Florian Fainelli <florian@xxxxxxxxxxx> Date: Fri Jul 24 13:24:15 2009 +0200 MIPS: AR7: Fix build failures when CONFIG_SERIAL_8250 is not enabled This patch fixes the following build failure when CONFIG_SERIAL_8250 is not enabled in the kernel configuration: arch/mips/ar7/built-in.o: In function 'ar7_register_devices': platform.c:(.init.text+0x61c): undefined reference to 'early_serial_setup' platform.c:(.init.text+0x61c): relocation truncated to fit: R_MIPS_26 against 'early_serial_setup' platform.c:(.init.text+0x68c): undefined reference to 'early_serial_setup' platform.c:(.init.text+0x68c): relocation truncated to fit: R_MIPS_26 against 'early_serial_setup' Signed-off-by: Florian Fainelli <florian@xxxxxxxxxxx> Signed-off-by: Ralf Baechle <ralf@xxxxxxxxxxxxxx> commit ea85a0e4cc870d2bb92e3b2007007901209bb7de Author: Roel Kluin <roel.kluin@xxxxxxxxx> Date: Wed Jul 29 22:02:53 2009 +0200 MIPS: Fix read buffer overflow Signed-off-by: Roel Kluin <roel.kluin@xxxxxxxxx> Signed-off-by: Ralf Baechle <ralf@xxxxxxxxxxxxxx> commit dd34b5a82feadfaee4f8dea83a694d9349f94a28 Author: Florian Fainelli <florian@xxxxxxxxxxx> Date: Tue Jul 21 12:38:10 2009 +0200 MIPS: AR7: Fix build warning on memory.c This patch fixes the following build warning: arch/mips/ar7/memory.c: In function 'memsize': arch/mips/ar7/memory.c:55: warning: passing argument 1 of 'writel' makes integer from pointer without a cast Signed-off-by: Florian Fainelli <florian@xxxxxxxxxxx> Signed-off-by: Ralf Baechle <ralf@xxxxxxxxxxxxxx> commit 838c05705ef8c110037a713526bb18762db0a241 Author: David Daney <ddaney@xxxxxxxxxxxxxxxxxx> Date: Tue Jul 14 18:16:50 2009 -0700 MIPS: Octeon PCIe: Make hardware and software bus numbers match. Some SiliconImage PCIe SATA controlers are not detected when the bus numbers differ. Signed-off-by: David Daney <ddaney@xxxxxxxxxxxxxxxxxx> Signed-off-by: Ralf Baechle <ralf@xxxxxxxxxxxxxx> commit 3e6e92183118d26d856e8efb549987164d1b49b4 Author: Atsushi Nemoto <anemo@xxxxxxxxxxxxx> Date: Wed Jul 15 22:03:56 2009 +0900 MIPS: RBTX4939: Fix IOC pin-enable register updating The rbtx4939_update_ioc_pen() expects txx9_ce_res[] already initialized. Call it after tx4939_setup(). Signed-off-by: Atsushi Nemoto <anemo@xxxxxxxxxxxxx> Signed-off-by: Ralf Baechle <ralf@xxxxxxxxxxxxxx> commit 0ca71737fee65521ede964afbd2d5484976ed0ed Author: Shane McDonald <mcdonald.shane@xxxxxxxxx> Date: Sun Jul 12 10:42:06 2009 -0600 MIPS: Simplify and correct interrupt handling for MSP4200 The current interrupt handling code for the MSP4200 always masks an interrupt before acknowledging it. This is not required, as that will be handled by the level interrupt handler. This change simplifies the MSP4200 code to remove the masking in the ack routine, and makes sure that the minimum required operation is performed for masking and acking, rather than always both masking and acking the interrupt. Signed-off-by: Shane McDonald <mcdonald.shane@xxxxxxxxx> Signed-off-by: Ralf Baechle <ralf@xxxxxxxxxxxxxx> commit 6577890fd68c2671850214663dd9ae97feacbc47 Author: Florian Fainelli <florian@xxxxxxxxxxx> Date: Mon Apr 27 16:47:23 2009 +0200 MIPS: MSPxxxx: define MIPS34K_MISSED_ITLB_WAR for other PMC-Sierra SoC Trying to build a PMC-Sierra MSP4200 VoIP gateway defconfig will not work since MIPS34K_MISSED_ITLB_WAR is not defined for all boards supported within pmc-serria/msp71xx. This patch defines MIPS34K_MISSED_ITLB_WAR to prevent such build failures: CHK include/linux/version.h CHK include/linux/utsrelease.h SYMLINK include/asm -> include/asm-mips CC arch/mips/kernel/asm-offsets.s In file included fromlinux-msp71xx/linux-2.6.29/arch/mips/include/asm/bitops.h:24, from include/linux/bitops.h:17, from include/linux/kernel.h:15, from include/linux/sched.h:52, from arch/mips/kernel/asm-offsets.c:13: linux-msp71xx/linux-2.6.29/arch/mips/include/asm/war.h:241:2: error: #error Check setting of MIPS34K_MISSED_ITLB_WAR for your platform This fixes a compile error when building for the MSP4200 boards. Identical patches to fix this were send by Florian Fainelli <florian@xxxxxxxxxxx> Shane McDonald <mcdonald.shane@xxxxxxxxx> Signed-off-by: Florian Fainelli <florian@xxxxxxxxxxx> Signed-off-by: Ralf Baechle <ralf@xxxxxxxxxxxxxx> commit 4824f20c8b3adcbc5067c1bdd88408ee68da6bb2 Author: Florian Fainelli <florian@xxxxxxxxxxx> Date: Mon Apr 27 16:59:48 2009 +0200 MIPS: MSP71xx: fix build failures on msp_irq_slp.c Trying to build MSP4200 VoIP defconfig also fails on msp_irq_slp.c with a non-existing reference to mask_slp_irq, which is in turn mask_msp_slp_irq. Passed that, we will also miss a comma when calling set_irq_chip_and_handler. This patch fixes both issues. Signed-off-by: Florian Fainelli <florian@xxxxxxxxxxx> Acked-by: Shane McDonald <mcdonald.shane@xxxxxxxxx> Signed-off-by: Ralf Baechle <ralf@xxxxxxxxxxxxxx> commit 0e66fff883ef1b6e4c5031e8add8827cd0e2a195 Author: Gabor Juhos <juhosg@xxxxxxxxxxx> Date: Mon Jul 13 11:14:24 2009 +0200 MIPS: Fix loading of modules with unresolved weak symbols Loading of modules with unresolved weak symbols fails on MIPS since '88173507e4fc1e7ecd111b0565e8cba0cb7dae6d'. Modules: handle symbols that have a zero value The module subsystem cannot handle symbols that are zero. If symbols are present that have a zero value then the module resolver prints out a message that these symbols are unresolved. We have to use IS_ERR_VALUE() to check that a symbol has been resolved or not. Signed-off-by: Gabor Juhos <juhosg@xxxxxxxxxxx> Signed-off-by: Ralf Baechle <ralf@xxxxxxxxxxxxxx> commit d8e5f9fe5dab0e07985f2456cb6cc57788f53131 Author: Kurt Martin <kurt@xxxxxxxx> Date: Wed Jul 8 19:22:35 2009 -0700 MIPS: SMTC: Move cross VPE writes to after a TC is assigned to VPE. Signed-off-by: Chris Dearman <chris@xxxxxxxx> Signed-off-by: Raghu Gandham <raghu@xxxxxxxx> Signed-off-by: Ralf Baechle <ralf@xxxxxxxxxxxxxx> commit 008ee96f1204225503934cb57ac38c49f519c7ab Author: Raghu Gandham <raghu@xxxxxxxx> Date: Wed Jul 8 17:00:44 2009 -0700 [PATCH] MIPS: SMTC: Fix compile error Commit fc03bc1715ca0ad4ccfe97aab16bcc9e7129c1a4 breaks when SMTC support is enabled on Malta. Signed-off-by: Raghu Gandham <raghu@xxxxxxxx> Signed-off-by: Ralf Baechle <ralf@xxxxxxxxxxxxxx> commit 484889fc85a223ef56edc31828b86751b2296b7c Author: David Daney <ddaney@xxxxxxxxxxxxxxxxxx> Date: Wed Jul 8 10:07:50 2009 -0700 MIPS: Avoid clobbering struct pt_regs in kthreads The resume() implementation octeon_switch.S examines the saved cp0_status register. We were clobbering the entire pt_regs structure in kernel threads leading to random crashes. When switching away from a kernel thread, the saved cp0_status is examined and if bit 30 is set it is cleared and the CP2 state saved into the pt_regs structure. Since the kernel thread stack overlaid the pt_regs structure this resulted in a corrupt stack. When the kthread with the corrupt stack was resumed, it could crash if it used any of the data in the stack that was clobbered. We fix it by moving the kernel thread stack down so it doesn't overlay pt_regs. Signed-off-by: David Daney <ddaney@xxxxxxxxxxxxxxxxxx> Signed-off-by: Ralf Baechle <ralf@xxxxxxxxxxxxxx> commit 1de010a2702eb21d90883b83bf8c737d5e69d234 Author: Huang Weiyi <weiyi.huang@xxxxxxxxx> Date: Thu Jul 9 06:14:37 2009 +0800 MIPS: AR7: Remove unused inclusions of <linux/version.h>. Signed-off-by: Huang Weiyi <weiyi.huang@xxxxxxxxx> Signed-off-by: Ralf Baechle <ralf@xxxxxxxxxxxxxx> commit 78fe01a5a80da4621321a1dc199c3a0875e2fbb0 Author: Yoichi Yuasa <yuasa@xxxxxxxxxxxxxx> Date: Wed Jul 8 15:08:19 2009 +0900 MIPS: MIPSsim: Fix unbalance brace in mipssim get_c0_compare_int() cc1: warnings being treated as errors arch/mips/mipssim/sim_time.c: In function 'get_c0_compare_int': arch/mips/mipssim/sim_time.c:103: warning: ISO C90 forbids mixed declarations and code arch/mips/mipssim/sim_time.c:116: error: expected declaration or statement at end of input make[1]: *** [arch/mips/mipssim/sim_time.o] Error 1 Signed-off-by: Yoichi Yuasa <yuasa@xxxxxxxxxxxxxx> Signed-off-by: Ralf Baechle <ralf@xxxxxxxxxxxxxx> commit 7d35cdc07dd26eb6667f66f8e2f43f833a926ecf Author: Alexander Clouter <alex@xxxxxxxxxxxxx> Date: Sun Jul 5 12:00:55 2009 +0100 MIPS: Fix compile for !CONFIG_SMP Commit fc03bc1715ca0ad4ccfe97aab16bcc9e7129c1a4 breaks compiling MIPS with SMP disabled. This patch fixes that. Signed-off-by: Alexander Clouter <alex@xxxxxxxxxxxxx> Signed-off-by: Ralf Baechle <ralf@xxxxxxxxxxxxxx> commit a887b4dada2f23b2ff2aa725e0509c92dc652597 Author: Akinobu Mita <akinobu.mita@xxxxxxxxx> Date: Sat Jul 4 01:33:09 2009 +0900 MIPS: Drop mmap_sem in pagefault oom path Fix the pagefault oom path which does not drop mm->mmap_sem. This was introduced by commit c7c1e3846bac1e4b8a8941f6a194812e28b0a519 Signed-off-by: Akinobu Mita <akinobu.mita@xxxxxxxxx> Signed-off-by: Ralf Baechle <ralf@xxxxxxxxxxxxxx> commit 49316cbf0a9875f102f98dc8b7c80cfa142e33cf Author: Ralf Baechle <ralf@xxxxxxxxxxxxxx> Date: Mon Jul 6 09:13:17 2009 +0100 MIPS: Eleminate filenames from comments They tend to get not updated when files are moved around or copied and lack any obvious use. While at it zap some only too obvious comments and as per Shinya's suggestion, add a copyright header to extable.c. Signed-off-by: Ralf Baechle <ralf@xxxxxxxxxxxxxx> Acked-by: Shinya Kuribayashi <shinya.kuribayashi@xxxxxxxxx> Acked-by: Thadeu Lima de Souza Cascardo <cascardo@xxxxxxxxxxxxxx> commit 1c1a90d866c5fb029099b9f0f40534e01b7c4d91 Author: Ralf Baechle <ralf@xxxxxxxxxxxxxx> Date: Sun Jul 5 19:23:30 2009 +0100 [PATCH] MIPS: Cavium: Move swapped comments to their rightful place. Signed-off-by: Ralf Baechle <ralf@xxxxxxxxxxxxxx> commit 126b67b8d26f6623d199aa59279f2e3243f2144c Author: Doug Thompson <dougthompson@xxxxxxxxxxxx> Date: Mon Aug 3 12:37:06 2009 +0200 amd64_edac: fix ECC checking On the good path of BIOS enabled ECC and no override, the value returned is 1 by omission and thus is deemed failing by the probe-function. Allow proper module initialization by clearing the retval explicitly. Signed-off-by: Doug Thompson <dougthompson@xxxxxxxxxxxx> Signed-off-by: Borislav Petkov <borislav.petkov@xxxxxxx> commit d676c11727815761e41a81b00c054b4bec452ae5 Author: Matthias Kaehlcke <matthias@xxxxxxxxxxxx> Date: Tue Jul 14 22:04:29 2009 +0200 mtd: mtdblock: introduce mtdblks_lock The mtdblks array and its content are prone to race conditions. Introduce the mutex mtdblks_lock in order to solve this. [Amended by Artem Bityutskiy] Signed-off-by: Matthias Kaehlcke <matthias@xxxxxxxxxxxx> Signed-off-by: Artem Bityutskiy <Artem.Bityutskiy@xxxxxxxxx> Signed-off-by: David Woodhouse <David.Woodhouse@xxxxxxxxx> commit 2bf961b7ccd69e108ac435c67e2b0522b403c578 Author: Subrata Modak <subrata@xxxxxxxxxxxxxxxxxx> Date: Wed Jul 1 19:22:47 2009 +0530 mtd: remove 'SBC8240 Wind River' Device Driver Code This driver is causing build errors and is no longer needed -- it is obsoleted by physmap_of. Signed-off-by: Subrata Modak <subrata@xxxxxxxxxxxxxxxxxx> Tested-on-PPC64-by: Subrata Modak <subrata@xxxxxxxxxxxxxxxxxx> Signed-off-by: Artem Bityutskiy <Artem.Bityutskiy@xxxxxxxxx> Signed-off-by: David Woodhouse <David.Woodhouse@xxxxxxxxx> commit 3cae1cc149c40c14424162496eb5a7c8db1cd4fb Author: Mika Korhonen <ext-mika.2.korhonen@xxxxxxxxx> Date: Thu Jun 25 15:32:19 2009 +0300 mtd: OneNAND: OMAP2/3: free GPMC CS on module removal GPMC CS was not freed in omap2_onenand_remove() preventing the module from reloading after removal. Signed-off-by: Mika Korhonen <ext-mika.2.korhonen@xxxxxxxxx> Signed-off-by: Artem Bityutskiy <Artem.Bityutskiy@xxxxxxxxx> Signed-off-by: David Woodhouse <David.Woodhouse@xxxxxxxxx> commit 00acf4a80779611a7ea77ff5b5ffab886ed5cc42 Author: Mika Korhonen <mika.j.korhonen@xxxxxxxxx> Date: Thu Jun 11 14:05:07 2009 +0300 mtd: OneNAND: fix incorrect bufferram offset Fixes the case where CONFIG_MTD_ONENAND_2X_PROGRAM is set and the real page size differs from mtd_info.writesize. Signed-off-by: Mika Korhonen <mika.j.korhonen@xxxxxxxxx> Acked-by: Kyungmin Park <kyungmin.park@xxxxxxxxxxx> Signed-off-by: Artem Bityutskiy <Artem.Bityutskiy@xxxxxxxxx> Signed-off-by: David Woodhouse <David.Woodhouse@xxxxxxxxx> commit 8022c13c27b822cf22f13df10b42aae89cd56bf0 Author: Artem Bityutskiy <Artem.Bityutskiy@xxxxxxxxx> Date: Fri Jul 10 17:02:17 2009 +0300 mtd: blkdevs: do not forget to get MTD devices Nowadays MTD devices have to be "get" before they can be used. This has to be done with 'get_mtd_device()'. The 'blktrans_open()' function did not do this and instead used 'try_module_get()'. Fix this. Since 'get_mtd_device()' already gets the module, extra 'try_module_get()' is not needed. This fixes oops when one tries to use mtdblock on top of gluebi. Reported-by: Holger Brunck <holger.brunck@xxxxxxxxxxx> Signed-off-by: Artem Bityutskiy <Artem.Bityutskiy@xxxxxxxxx> Signed-off-by: David Woodhouse <David.Woodhouse@xxxxxxxxx> commit 6afc4fdb3e94ba60cd566cb878b60c6c01979277 Author: Saeed Bishara <saeed@xxxxxxxxxxx> Date: Tue Jul 28 04:56:43 2009 -0700 mtd: fix the conversion from dev to mtd_info The patch fixes a bug when converting dev to mtd_info by using the drvdata of the dev, the previous code used container_of(dev, struct mtd_info, dev), but won't work for the mtdXro devices as they created without being contained inside mtd_info structure. Signed-off-by: Saeed Bishara <saeed@xxxxxxxxxxx> Signed-off-by: David Woodhouse <David.Woodhouse@xxxxxxxxx> commit 7699ad35ed06044c4fc1be162553880f98658616 Author: Nicolas Pitre <nico@xxxxxxx> Date: Mon Jun 15 01:10:18 2009 -0400 mtd: let include/linux/mtd/partitions.h stand on its own When declaring static MTD partitions in board specific code, only including <include/linux/mtd/partitions.h> should suffice without gcc nagging us with: In file included from arch/arm/mach-kirkwood/sheevaplug-setup.c:14: include/linux/mtd/partitions.h:50: warning: 'struct mtd_info' declared inside parameter list include/linux/mtd/partitions.h:50: warning: its scope is only this definition or declaration, which is probably not what you want include/linux/mtd/partitions.h:51: warning: 'struct mtd_info' declared inside parameter list include/linux/mtd/partitions.h:61: warning: 'struct mtd_info' declared inside parameter list include/linux/mtd/partitions.h:67: warning: 'struct mtd_info' declared inside parameter list Signed-off-by: Nicolas Pitre <nico@xxxxxxxxxxx> Signed-off-by: Artem Bityutskiy <Artem.Bityutskiy@xxxxxxxxx> Signed-off-by: David Woodhouse <David.Woodhouse@xxxxxxxxx> commit 4b35d2ca2307d40ccb6b3b6f9cc25ac9178b2a6c Author: Roel Kluin <roel.kluin@xxxxxxxxx> Date: Sun Aug 2 13:30:45 2009 +0200 ALSA: hda - Read buffer overflow Check whether index is within bounds before testing the element. Signed-off-by: Roel Kluin <roel.kluin@xxxxxxxxx> Signed-off-by: Takashi Iwai <tiwai@xxxxxxx> commit 84d3dc200fc8b878acf7c1840b238e6a0450e4d0 Author: Chengu Wang <wangchengu@xxxxxxxxx> Date: Thu Jul 30 19:43:55 2009 +0800 ALSA: hda: Correct EAPD for Dell Inspiron 1525 The commit 24918b61b55c21e09a3e07cd82e1b3a8154782dc statically changes the model from dell-bios to dell-3stack to solve the sound decreasing regression (http://lkml.org/lkml/2008/9/12/203), however it leads to another problem that the 2nd headphone jack doesn't work (https://bugtrack.alsa-project.org/alsa-bug/view.php?id=3987). So I think the commit 249**2dc is just a workaround. I would like to give a true solution here. The datasheet for STAC9228 says, GPIO2 is the same pin as VOL DOWN, and the EAPD pin is GPIO0. This is why the sound decreases if we set EAPD as GPIO2. This patch changes EAPD to GPIO0 to solve the problem. Signed-off-by: Chengu Wang <wangchengu@xxxxxxxxx> Signed-off-by: Takashi Iwai <tiwai@xxxxxxx> commit e310bb0646e57a4f9182865115c5780931456c65 Author: Wu Fengguang <fengguang.wu@xxxxxxxxx> Date: Sat Aug 1 19:18:45 2009 +0800 ALSA: hda: warn on spurious response To help disclose hardware bugs. Signed-off-by: Wu Fengguang <fengguang.wu@xxxxxxxxx> Signed-off-by: Takashi Iwai <tiwai@xxxxxxx> commit feb273404f15d86098cb0e81e46330d5c1e22b1b Author: Wu Fengguang <fengguang.wu@xxxxxxxxx> Date: Sat Aug 1 19:17:14 2009 +0800 ALSA: hda: remember last command for each codec Signed-off-by: Wu Fengguang <fengguang.wu@xxxxxxxxx> Signed-off-by: Takashi Iwai <tiwai@xxxxxxx> commit c32649feb4573b31f0a2bfdf35cbe1351256c764 Author: Wu Fengguang <fengguang.wu@xxxxxxxxx> Date: Sat Aug 1 18:48:12 2009 +0800 ALSA: hda: read CORBWP inside reg_lock This converts the last CORBWP access outside of reg_lock. Signed-off-by: Wu Fengguang <fengguang.wu@xxxxxxxxx> Signed-off-by: Takashi Iwai <tiwai@xxxxxxx> commit cdb1fbf23181c133fb24f12ad14ccea7dc399599 Author: Wu Fengguang <fengguang.wu@xxxxxxxxx> Date: Sat Aug 1 18:47:41 2009 +0800 ALSA: hda: take reg_lock in azx_init_cmd_io/azx_free_cmd_io Just for safety. azx_init_cmd_io() and azx_free_cmd_io() may be called when switching to single command mode. Signed-off-by: Wu Fengguang <fengguang.wu@xxxxxxxxx> Signed-off-by: Takashi Iwai <tiwai@xxxxxxx> commit a678cdee25a387c8fc3b2754974695412baf1d85 Author: Wu Fengguang <fengguang.wu@xxxxxxxxx> Date: Sat Aug 1 18:46:46 2009 +0800 ALSA: hda: take cmd_mutex in probe_codec() Now that each codec will have its own module, it is possible for the user to load one codec while another one is running. So cmd_mutex would be a safe addition to probe_codec(). Signed-off-by: Wu Fengguang <fengguang.wu@xxxxxxxxx> Signed-off-by: Takashi Iwai <tiwai@xxxxxxx> commit deadff1665491afce124a8ff83f00f784161f660 Author: Wu Fengguang <fengguang.wu@xxxxxxxxx> Date: Sat Aug 1 18:45:16 2009 +0800 ALSA: hda: track CIRB/CORB command/response states for each codec Recently we hit a bug in our dev board, whose HDMI codec#3 may emit redundant/spurious responses, which were then taken as responses to command for another onboard Realtek codec#2, and mess up both codecs. Extend the azx_rb.cmds and azx_rb.res to array and track each codec's commands/responses separately. This helps keep good codec safe from broken ones. Signed-off-by: Wu Fengguang <fengguang.wu@xxxxxxxxx> Signed-off-by: Takashi Iwai <tiwai@xxxxxxx> commit ce577e8cf5ddb4216553c9d563a9835d6de70ffa Author: Takashi Iwai <tiwai@xxxxxxx> Date: Mon Aug 3 08:23:52 2009 +0200 ALSA: hda - Fix quirk for Toshiba Satellite A135-S4527 Use model=lenovo instead of model=dallas for Toshiba Satellite A135-S4527 with ALC861-VD codec. Reference: Novell bnc#526325 https://bugzilla.novell.com/show_bug.cgi?id=526325 Signed-off-by: Takashi Iwai <tiwai@xxxxxxx> commit a33a052f19a21d727847391c8c1aff3fb221c472 Merge: 4905f92ed752d49ebe9cce4fe78a4bc39e710523 449aad3e25358812c43afc60918c5ad3819488e7 Author: Linus Torvalds <torvalds@xxxxxxxxxxxxxxxxxxxx> Date: Sun Aug 2 21:31:40 2009 -0700 Merge branch 'for-linus' of git://neil.brown.name/md * 'for-linus' of git://neil.brown.name/md: md: Use revalidate_disk to effect changes in size of device. md: allow raid5_quiesce to work properly when reshape is happening. md/raid5: set reshape_position correctly when reshape starts. md: Handle growth of v1.x metadata correctly. md: avoid array overflow with bad v1.x metadata md: when a level change reduces the number of devices, remove the excess. md: Push down data integrity code to personalities. md/raid6: release spare page at ->stop() commit eb4ad826419ab5b1260bc1625249114767d36bea Author: Yevgeny Petrilin <yevgenyp@xxxxxxxxxxxxxx> Date: Sun Aug 2 20:22:18 2009 -0700 mlx4_en: Fix double pci unmapping. In cases of fragmented skb, with the data pointers being wrapped around the TX buffer, the completion handling code would not forward the data pointer and the firs fragment was unmapped several times, while others were not unmapped at all. Signed-off-by: Yevgeny Petrilin <yevgenyp@xxxxxxxxxxxxxx> Signed-off-by: David S. Miller <davem@xxxxxxxxxxxxx> commit a923c28fc538a4161b15e9b5d7d48248d73d3e6f Author: David S. Miller <davem@xxxxxxxxxxxxx> Date: Sun Aug 2 19:17:15 2009 -0700 sparc: Use page_fault_out_of_memory() for VM_FAULT_OOM. As noted by Nick Piggin. Signed-off-by: David S. Miller <davem@xxxxxxxxxxxxx> commit 449aad3e25358812c43afc60918c5ad3819488e7 Author: NeilBrown <neilb@xxxxxxx> Date: Mon Aug 3 10:59:58 2009 +1000 md: Use revalidate_disk to effect changes in size of device. As revalidate_disk calls check_disk_size_change, it will cause any capacity change of a gendisk to be propagated to the blockdev inode. So use that instead of mucking about with locks and i_size_write. Also add a call to revalidate_disk in do_md_run and a few other places where the gendisk capacity is changed. Signed-off-by: NeilBrown <neilb@xxxxxxx> commit 64bd660b51b2da92e99a5e97349f6558349f11c5 Author: NeilBrown <neilb@xxxxxxx> Date: Mon Aug 3 10:59:58 2009 +1000 md: allow raid5_quiesce to work properly when reshape is happening. The ->quiesce method is not supposed to stop resync/recovery/reshape, just normal IO. But in raid5 we don't have a way to know which stripes are being used for normal IO and which for resync etc, so we need to wait for all stripes to be idle to be sure that all writes have completed. However reshape keeps at least some stripe busy for an extended period of time, so a call to raid5_quiesce can block for several seconds needlessly. So arrange for reshape etc to pause briefly while raid5_quiesce is trying to quiesce the array so that the active_stripes count can drop to zero. Signed-off-by: NeilBrown <neilb@xxxxxxx> commit e516402c0d4fc02be4af9fa8c18954d4f9deb44e Author: NeilBrown <neilb@xxxxxxx> Date: Mon Aug 3 10:59:57 2009 +1000 md/raid5: set reshape_position correctly when reshape starts. As the internal reshape_progress counter is the main driver for reshape, the fact that reshape_position sometimes starts with the wrong value has minimal effect. It is visible in sysfs and that is all. Signed-off-by: NeilBrown <neilb@xxxxxxx> commit 70471dafe3390243c598a3165dfb86b8b8b3f4fe Author: NeilBrown <neilb@xxxxxxx> Date: Mon Aug 3 10:59:57 2009 +1000 md: Handle growth of v1.x metadata correctly. The v1.x metadata does not have a fixed size and can grow when devices are added. If it grows enough to require an extra sector of storage, we need to update the 'sb_size' to match. Without this, md can write out an incomplete superblock with a bad checksum, which will be rejected when trying to re-assemble the array. Cc: stable@xxxxxxxxxx Signed-off-by: NeilBrown <neilb@xxxxxxx> commit 3673f305faf1bc66ead751344f8262ace851ff44 Author: NeilBrown <neilb@xxxxxxx> Date: Mon Aug 3 10:59:56 2009 +1000 md: avoid array overflow with bad v1.x metadata We trust the 'desc_nr' field in v1.x metadata enough to use it as an index in an array. This isn't really safe. So range-check the value first. Signed-off-by: NeilBrown <neilb@xxxxxxx> commit 3a981b03f38dc3b8a69b77cbc679e66c1318a44a Author: NeilBrown <neilb@xxxxxxx> Date: Mon Aug 3 10:59:55 2009 +1000 md: when a level change reduces the number of devices, remove the excess. When an array is changed from RAID6 to RAID5, fewer drives are needed. So any device that is made superfluous by the level conversion must be marked as not-active. For the RAID6->RAID5 conversion, this will be a drive which only has 'Q' blocks on it. Cc: stable@xxxxxxxxxx Signed-off-by: NeilBrown <neilb@xxxxxxx> commit ac5e7113e74872928844d00085bd47c988f12728 Author: Andre Noll <maan@xxxxxxxxxxxxxxx> Date: Mon Aug 3 10:59:47 2009 +1000 md: Push down data integrity code to personalities. This patch replaces md_integrity_check() by two new public functions: md_integrity_register() and md_integrity_add_rdev() which are both personality-independent. md_integrity_register() is called from the ->run and ->hot_remove methods of all personalities that support data integrity. The function iterates over the component devices of the array and determines if all active devices are integrity capable and if their profiles match. If this is the case, the common profile is registered for the mddev via blk_integrity_register(). The second new function, md_integrity_add_rdev() is called from the ->hot_add_disk methods, i.e. whenever a new device is being added to a raid array. If the new device does not support data integrity, or has a profile different from the one already registered, data integrity for the mddev is disabled. For raid0 and linear, only the call to md_integrity_register() from the ->run method is necessary. Signed-off-by: Andre Noll <maan@xxxxxxxxxxxxxxx> Signed-off-by: NeilBrown <neilb@xxxxxxx> commit 4905f92ed752d49ebe9cce4fe78a4bc39e710523 Merge: 0ce166b7b46122bf91a4766e20c85a6485448765 5973bee46fe66db94fab198979dec87f263fc2a8 Author: Linus Torvalds <torvalds@xxxxxxxxxxxxxxxxxxxx> Date: Sun Aug 2 14:15:46 2009 -0700 Merge git://git.kernel.org/pub/scm/linux/kernel/git/wim/linux-2.6-watchdog * git://git.kernel.org/pub/scm/linux/kernel/git/wim/linux-2.6-watchdog: [WATCHDOG] Fix COH 901 327 watchdog enablement commit 0ce166b7b46122bf91a4766e20c85a6485448765 Merge: 57d7f282271a83fe4ca4bd15eee79be577210210 3be4ee5199ba20475749d768bf29c8399c755a69 Author: Linus Torvalds <torvalds@xxxxxxxxxxxxxxxxxxxx> Date: Sun Aug 2 14:15:27 2009 -0700 Merge branch 'release' of git://git.kernel.org/pub/scm/linux/kernel/git/lenb/linux-acpi-2.6 * 'release' of git://git.kernel.org/pub/scm/linux/kernel/git/lenb/linux-acpi-2.6: eeepc-laptop: fix hot-unplug on resume ACPI: Ingore the memory block with zero block size in course of memory hotplug ACPI: Don't treat generic error as ACPI error code in acpi memory hotplug driver ACPI: bind workqueues to CPU 0 to avoid SMI corruption ACPI: root-only read protection on /sys/firmware/acpi/tables/* thinkpad-acpi: fix incorrect use of TPACPI_BRGHT_MODE_ECNVRAM thinkpad-acpi: restrict procfs count value to sane upper limit thinkpad-acpi: remove dock and bay subdrivers thinkpad-acpi: disable broken bay and dock subdrivers hp-wmi: check that an input device exists in resume handler Revert "ACPICA: Remove obsolete acpi_os_validate_address interface" commit 57d7f282271a83fe4ca4bd15eee79be577210210 Author: Greg Kroah-Hartman <gregkh@xxxxxxx> Date: Fri Jul 31 21:28:16 2009 -0700 TTY: Maintainer change Clearly, I am a glutton for punishment. I'll see if I can see Alan's changes through to the end, otherwise I'll be fending off a lot of bug reports for usb-serial devices. Cc: Alan Cox <alan@xxxxxxxxxxxxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxx> Signed-off-by: Linus Torvalds <torvalds@xxxxxxxxxxxxxxxxxxxx> commit 79896cf42f6a96d7e14f2dc3473443d68d74031d Author: Linus Torvalds <torvalds@xxxxxxxxxxxxxxxxxxxx> Date: Sun Aug 2 14:04:19 2009 -0700 Make pci_claim_resource() use request_resource() rather than insert_resource() This function has traditionally used "insert_resource()", because before commit cebd78a8c5 ("Fix pci_claim_resource") it used to just insert the resource into whatever root resource tree that was indicated by "pcibios_select_root()". So there Matthew fixed it to actually look up the proper parent resource, which means that now it's actively wrong to then traverse the resource tree any more: we already know exactly where the new resource should go. And when we then did commit a76117dfd6 ("x86: Use pci_claim_resource"), which changed the x86 PCI code from the open-coded pr = pci_find_parent_resource(dev, r); if (!pr || request_resource(pr, r) < 0) { to using if (pci_claim_resource(dev, idx) < 0) { that "insert_resource()" now suddenly became a problem, and causes a regression covered by http://bugzilla.kernel.org/show_bug.cgi?id=13891 which this fixes. Reported-and-tested-by: Rafael J. Wysocki <rjw@xxxxxxx> Cc: Matthew Wilcox <willy@xxxxxxxxxxxxxxx> Cc: Andrew Patterson <andrew.patterson@xxxxxx> Cc: Linux PCI <linux-pci@xxxxxxxxxxxxxxx> Signed-off-by: Linus Torvalds <torvalds@xxxxxxxxxxxxxxxxxxxx> commit b564afcfb82fe3e63a7ce05a944eb5e11244d7cb Author: Andreas Eversberg <andreas@xxxxxxxxxxxx> Date: Mon Jul 27 07:24:04 2009 +0000 mISDN: Fix handling of receive buffer size in L1oIP The size of receive buffer pointer was used to get size of receive buffer instead of recvbuf_size itself, so only 4/8 bytes could be transfered. This is a regression to 2.6.30 introduced by commit 8c90e11e3543d7de612194a042a148caeaab5f1d mISDN: Use kernel_{send,recv}msg instead of open coding Signed-off-by: Andreas Eversberg <andreas@xxxxxxxxxxxx> Signed-off-by: Karsten Keil <keil@xxxxxxxxxxxxx> Signed-off-by: David S. Miller <davem@xxxxxxxxxxxxx> commit 5973bee46fe66db94fab198979dec87f263fc2a8 Author: Linus Walleij <linus.walleij@xxxxxxxxxxxxxx> Date: Tue Jul 21 00:40:46 2009 +0200 [WATCHDOG] Fix COH 901 327 watchdog enablement Since the COH 901 327 found in U300 is clocked at 32 kHz we need to wait for the interrupt clearing flag to propagate through hardware in order not to accidentally fire off any interrupts when we enable them. Signed-off-by: Linus Walleij <linus.walleij@xxxxxxxxxxxxxx> Signed-off-by: Wim Van Sebroeck <wim@xxxxxxxxx> commit 63097b3ad85788a64c75091bff351ecc850761b2 Author: Don Fry <pcnet32@xxxxxxxxxxx> Date: Fri Jul 31 08:45:29 2009 +0000 pcnet32: VLB support fixes VLB support has been broken since at least 2004-2005 period as some changes introduced back then assumed that ->pci_dev is always valid, lets try to fix it: - remove duplicated SET_NETDEV_DEV() call - call SET_NETDEV_DEV() only for PCI devices - check for ->pci_dev validity in pcnet32_open() [ Alternatively we may consider removing VLB support but there would not be much gain in it since an extra driver code needed for VLB support is minimal and quite simple. ] This takes care of the following entry from Dan's list: drivers/net/pcnet32.c +1889 pcnet32_probe1(298) warning: variable derefenced before check 'pdev' Reported-by: Dan Carpenter <error27@xxxxxxxxx> Signed-off-by: Bartlomiej Zolnierkiewicz <bzolnier@xxxxxxxxx> Acked-by: Don Fry <pcnet32@xxxxxxxxxxx> Signed-off-by: David S. Miller <davem@xxxxxxxxxxxxx> commit df4e7f72f5156ef16a918da8a575ba90ec27ab77 Author: Don Fry <pcnet32@xxxxxxxxxxx> Date: Fri Jul 31 08:40:06 2009 +0000 pcnet32: remove superfluous NULL pointer check in pcnet32_probe1() Move the debug printk() into the proper place and remove superfluous NULL pointer check in pcnet32_probe1(). This takes care of the following entry from Dan's list: drivers/net/pcnet32.c +1889 pcnet32_probe1(298) warning: variable derefenced before check 'pdev' Reported-by: Dan Carpenter <error27@xxxxxxxxx> Signed-off-by: Bartlomiej Zolnierkiewicz <bzolnier@xxxxxxxxx> Acked-by: Don Fry <pcnet32@xxxxxxxxxxx> Signed-off-by: David S. Miller <davem@xxxxxxxxxxxxx> commit a6ac65db2329e7685299666f5f7b6093c7b0f3a0 Author: Jiri Pirko <jpirko@xxxxxxxxxx> Date: Thu Jul 30 01:06:12 2009 +0000 net: restore the original spinlock to protect unicast list There is a path when an assetion in dev_unicast_sync() appears. igmp6_group_added -> dev_mc_add -> __dev_set_rx_mode -> -> vlan_dev_set_rx_mode -> dev_unicast_sync Therefore we cannot protect this list with rtnl. This patch restores the original protecting this list with spinlock. Signed-off-by: Jiri Pirko <jpirko@xxxxxxxxxx> Tested-by: Meelis Roos <mroos@xxxxxxxx> Signed-off-by: David S. Miller <davem@xxxxxxxxxxxxx> commit 50c643e7652458e649955408685a16e88ea6dbae Author: Dhananjay Phadke <dhananjay@xxxxxxxxxx> Date: Sat Aug 1 21:36:16 2009 +0000 netxen: fix coherent dma mask setting Change default dma mask for NX3031 to 39 bit with ability to update it to 64-bit (if firmware indicates support). Old code was restricting it under 4GB (32-bit), sometimes causing failure to allocate descriptor rings on heavily populated system. NX2031 based NICs will still get 32-bit coherent mask. Signed-off-by: Dhananjay Phadke <dhananjay@xxxxxxxxxx> Signed-off-by: David S. Miller <davem@xxxxxxxxxxxxx> commit 9bfdac94c78faf68ce038d5c45a385927f2667ce Author: roel kluin <roel.kluin@xxxxxxxxx> Date: Fri Jul 31 03:43:59 2009 +0000 mISDN: Read buffer overflow Check whether index is within bounds before testing the element. Signed-off-by: Roel Kluin <roel.kluin@xxxxxxxxx> Acked-by: Karsten Keil <keil@xxxxxxxxxxxxx> Signed-off-by: David S. Miller <davem@xxxxxxxxxxxxx> commit 54706d99051582993037be5a076aa543fd7f1c38 Author: roel kluin <roel.kluin@xxxxxxxxx> Date: Sat Aug 1 20:20:13 2009 +0000 s6gmac: Read buffer overflow Check whether index is within bounds before testing the element. In the last iteration i is PHY_MAX_ADDR. the condition `!(p = pd->mii.bus->phy_map[PHY_MAX_ADDR])' is undefined and may evaluate to false, which leads to a dereference of this invalid phy_map in the phy_connect() below. Signed-off-by: Roel Kluin <roel.kluin@xxxxxxxxx> Signed-off-by: David S. Miller <davem@xxxxxxxxxxxxx> commit 1b994b5a1b3cb5395598a08ef3bb0ac118d75c1b Author: roel kluin <roel.kluin@xxxxxxxxx> Date: Sat Aug 1 20:26:52 2009 +0000 tulip: Read buffer overflow Check whether index is within bounds before testing the element. Signed-off-by: Roel Kluin <roel.kluin@xxxxxxxxx> Signed-off-by: David S. Miller <davem@xxxxxxxxxxxxx> commit 144586301f6af5ae5943a002f030d8c626fa4fdd Author: Eric Dumazet <eric.dumazet@xxxxxxxxx> Date: Tue Jul 28 02:36:15 2009 +0000 net: net_assign_generic() fix memcpy() should take into account size of pointers, not only number of pointers to copy. Signed-off-by: Eric Dumazet <eric.dumazet@xxxxxxxxx> Acked-by: Pavel Emelyanov <xemul@xxxxxxxxxx> Signed-off-by: David S. Miller <davem@xxxxxxxxxxxxx> commit 446e72f30eca76d6f9a1a54adf84d2c6ba2831f8 Author: Eric Dumazet <eric.dumazet@xxxxxxxxx> Date: Tue Jul 28 03:47:39 2009 +0000 pppol2tp: calls unregister_pernet_gen_device() at unload time Failure to call unregister_pernet_gen_device() can exhaust memory if module is loaded/unloaded many times. Signed-off-by: Eric Dumazet <eric.dumazet@xxxxxxxxx> Acked-by: Cyrill Gorcunov <gorcunov@xxxxxxxxxx> Signed-off-by: David S. Miller <davem@xxxxxxxxxxxxx> commit a53a8b56827cc429c6d9f861ad558beeb5f6103f Author: Ben McKeegan <ben@xxxxxxxxxxxxxxxx> Date: Tue Jul 28 07:43:57 2009 +0000 ppp: fix lost fragments in ppp_mp_explode() (resubmit) This patch fixes the corner cases where the sum of MTU of the free channels (adjusted for fragmentation overheads) is less than the MTU of PPP link. There are at least 3 situations where this case might arise: - some of the channels are busy - the multilink session is running in a degraded state (i.e. with less than its full complement of active channels) - by design, where multilink protocol is being used to artificially increase the effective link MTU of a single link. Without this patch, at most 1 fragment is ever sent per free channel for a given PPP frame and any remaining part of the PPP frame that does not fit into those fragments is silently discarded. This patch restores the original behaviour which was broken by commit 9c705260feea6ae329bc6b6d5f6d2ef0227eda0a 'ppp:ppp_mp_explode() redesign'. Once all 'free' channels have been given a fragment, an additional fragment is queued to each available channel in turn, as many times as necessary, until the entire PPP frame has been consumed. Signed-off-by: Ben McKeegan <ben@xxxxxxxxxxxxxxxx> Signed-off-by: David S. Miller <davem@xxxxxxxxxxxxx> commit 3be4ee5199ba20475749d768bf29c8399c755a69 Merge: 95452a6ce17244059e184fe5f722bff66a2b52bf d0006f3281c920fbfead0f5035c62ec8053f980a Author: Len Brown <len.brown@xxxxxxxxx> Date: Sun Aug 2 12:55:51 2009 -0400 Merge branch 'misc-2.6.31' into release commit 95452a6ce17244059e184fe5f722bff66a2b52bf Merge: a571a79a7e6b614f26d6bcc25b2ad48fd63fb829 7334546a52c6764df120459509b1f803a073eacc Author: Len Brown <len.brown@xxxxxxxxx> Date: Sun Aug 2 12:36:01 2009 -0400 Merge branch 'bugzilla-13825' into release commit 7334546a52c6764df120459509b1f803a073eacc Author: Alan Jenkins <alan-jenkins@xxxxxxxxxxxxxx> Date: Mon Jun 29 09:40:07 2009 +0100 eeepc-laptop: fix hot-unplug on resume OOPS on resume when the wireless adaptor is disabled during suspend was introduced by "eeepc-laptop: read rfkill soft-blocked state on resume". Unable to handle kernel NULL pointer dereference Process s2disk Tainted: G W IP: klist_put Call trace: ? klist_del ? device_del ? device_unregister ? pci_stop_dev ? pci_stop_bus ? pci_remove_device ? eeepc_rfkill_hotplug [eeepc_laptop] ? eeepc_hotk_resume [eeepc_laptop] ? acpi_device_resume ? device_resume ? hibernation_snapshot It appears the PCI device is removed twice. The eeepc_rfkill_hotplug() call from the resume handler is racing against the call from the ACPI notifier callback. The ACPI notification is triggered by the resume handler when it refreshes the value of CM_ASL_WLAN. The fix is to serialize hotplug calls using a workqueue. http://bugzilla.kernel.org/show_bug.cgi?id=13825 Signed-off-by: Alan Jenkins <alan-jenkins@xxxxxxxxxxxxxx> Acked-by: Corentin Chary <corentin.chary@xxxxxxxxx> Signed-off-by: Len Brown <len.brown@xxxxxxxxx> commit a571a79a7e6b614f26d6bcc25b2ad48fd63fb829 Merge: 6a61487791a8b8f85542c51132e8c7ed9bc7fd0b 5d2619fca753d270e63e76c9e18437b0d9bc8d75 Author: Len Brown <len.brown@xxxxxxxxx> Date: Sun Aug 2 12:27:26 2009 -0400 Merge branch 'memhotplug-crash' into release commit 5d2619fca753d270e63e76c9e18437b0d9bc8d75 Author: Zhao Yakui <yakui.zhao@xxxxxxxxx> Date: Tue Jul 7 10:56:11 2009 +0800 ACPI: Ingore the memory block with zero block size in course of memory hotplug If the memory block size is zero, ignore it and don't do the memory hotplug flowchart. Otherwise it will complain the following warning message: >System RAM resource 0 - ffffffffffffffff cannot be added Signed-off-by: Zhao Yakui <yakui.zhao@xxxxxxxxx> Signed-off-by: Len Brown <len.brown@xxxxxxxxx> commit aa7b2b2e973874df99a45b31adbed5978b46be1f Author: Zhao Yakui <yakui.zhao@xxxxxxxxx> Date: Fri Jul 3 10:49:03 2009 +0800 ACPI: Don't treat generic error as ACPI error code in acpi memory hotplug driver Don't treat the generic error as ACPI error code. Otherwise when the generic code is returned, it will complain the following warning messag: >ACPI Exception (acpi_memhotplug-0171): UNKNOWN_STATUS_CODE, Cannot get acpi bus device [20080609] >ACPI: Cannot find driver data > ACPI Error (utglobal-0127): Unknown exception code: 0xFFFFFFED [20080609] > Pid: 85, comm: kacpi_notify Not tainted 2.6.27.19-5-default #1 Call Trace: [<ffffffff8020da29>] show_trace_log_lvl+0x41/0x58 [<ffffffff8049a3da>] dump_stack+0x69/0x6f ..... At the same time when the generic error code is returned, the ACPI_EXCEPTION is replaced by the printk. Signed-off-by: Zhao Yakui <yakui.zhao@xxxxxxxxx> Signed-off-by: Len Brown <len.brown@xxxxxxxxx> commit 6a61487791a8b8f85542c51132e8c7ed9bc7fd0b Merge: f63440eff06265fc56e73044f8727b12641b33f1 74b5820808215f65b70b05a099d6d3c969b82689 Author: Len Brown <len.brown@xxxxxxxxx> Date: Sun Aug 2 12:10:02 2009 -0400 Merge branch 'bugzilla-13751' into release commit 74b5820808215f65b70b05a099d6d3c969b82689 Author: Bjorn Helgaas <bjorn.helgaas@xxxxxx> Date: Wed Jul 29 15:54:25 2009 -0600 ACPI: bind workqueues to CPU 0 to avoid SMI corruption On some machines, a software-initiated SMI causes corruption unless the SMI runs on CPU 0. An SMI can be initiated by any AML, but typically it's done in GPE-related methods that are run via workqueues, so we can avoid the known corruption cases by binding the workqueues to CPU 0. References: http://bugzilla.kernel.org/show_bug.cgi?id=13751 https://bugs.launchpad.net/bugs/157171 https://bugs.launchpad.net/bugs/157691 Signed-off-by: Bjorn Helgaas <bjorn.helgaas@xxxxxx> Signed-off-by: Len Brown <len.brown@xxxxxxxxx> commit f63440eff06265fc56e73044f8727b12641b33f1 Merge: 437f8c8ab99e7b6eed8e0d6d9cf46085c8de2e36 59fe4fe34d7afdf63208124f313be9056feaa2f4 Author: Len Brown <len.brown@xxxxxxxxx> Date: Sun Aug 2 11:34:24 2009 -0400 Merge branch 'thinkpad' into release commit 437f8c8ab99e7b6eed8e0d6d9cf46085c8de2e36 Merge: b8a848ed7ffda36ed069f63de085a9411d2aa39f daed953721850381673687c59f3a0df553eb6626 Author: Len Brown <len.brown@xxxxxxxxx> Date: Sun Aug 2 11:33:01 2009 -0400 Merge branch 'bugzilla-13865' into release commit b8a848ed7ffda36ed069f63de085a9411d2aa39f Merge: ed680c4ad478d0fee9740f7d029087f181346564 7cb7f45c7feef43c8f71f5cfedfc0b19be2142f7 Author: Len Brown <len.brown@xxxxxxxxx> Date: Sun Aug 2 11:31:32 2009 -0400 Merge branch 'bugzilla-13620-revert' into release commit d0006f3281c920fbfead0f5035c62ec8053f980a Author: Len Brown <len.brown@xxxxxxxxx> Date: Thu Jul 30 16:00:53 2009 -0400 ACPI: root-only read protection on /sys/firmware/acpi/tables/* they were world readable. Signed-off-by: Len Brown <len.brown@xxxxxxxxx> commit cae5a39f34d52c46ca49edfc3f297656a0fd60b7 Author: Helge Deller <deller@xxxxxx> Date: Sun Aug 2 15:42:39 2009 +0200 parisc: hppb.c - fix printk format strings Fix those warnings: drivers/parisc/hppb.c: In function 'hppb_probe': drivers/parisc/hppb.c:65: warning: format '%x' expects type 'unsigned int', but argument 2 has type 'resource_size_t' drivers/parisc/hppb.c:77: warning: format '%08x' expects type 'unsigned int', but argument 3 has type 'resource_size_t' drivers/parisc/hppb.c:77: warning: format '%08x' expects type 'unsigned int', but argument 4 has type 'resource_size_t' Signed-off-by: Helge Deller <deller@xxxxxx> commit c43962321e8af5309dd3ffcd78743c89581265e5 Author: Helge Deller <deller@xxxxxx> Date: Sun Aug 2 15:35:43 2009 +0200 parisc: parisc-agp.c - use correct page_mask function Fix those compiler warnings, which indeed point to a bug: drivers/char/agp/parisc-agp.c:228: warning: initialization from incompatible pointer type drivers/char/agp/parisc-agp.c:201: warning: 'parisc_agp_page_mask_memory' defined but not used Signed-off-by: Helge Deller <deller@xxxxxx> commit 1a1dba32412c15c51d5fc0b9efadd2ea310356d7 Author: Helge Deller <deller@xxxxxx> Date: Sun Aug 2 15:26:51 2009 +0200 parisc: sticore.c - check return values Signed-off-by: Helge Deller <deller@xxxxxx> commit 01a261e09a21e0ba342d3907a79cf5c78ee3f37a Author: Ryusuke Konishi <konishi.ryusuke@xxxxxxxxxxxxx> Date: Sun Aug 2 17:45:55 2009 +0900 nilfs2: fix missing unlock in error path of nilfs_mdt_write_page This adds a missing unlock of nilfs->ns_writer_mutex in nilfs_mdt_write_page() function. Signed-off-by: Ryusuke Konishi <konishi.ryusuke@xxxxxxxxxxxxx> commit 1e0deabd35f210f22c03cc734a0335c07ae71ff3 Author: Helge Deller <deller@xxxxxx> Date: Sun Aug 2 15:17:37 2009 +0200 parisc: dino.c - check return value of pci_assign_resource() Signed-off-by: Helge Deller <deller@xxxxxx> commit c6fe6b0783a8fd923d11dd0388cbd561ff15bdf1 Author: Helge Deller <deller@xxxxxx> Date: Sun Aug 2 15:13:29 2009 +0200 parisc: hp_sdc_mlc.c - check return value of down_trylock() Signed-off-by: Helge Deller <deller@xxxxxx> commit 07903af152b0597d94e9b0030746b63c4664e787 Author: Gregory Haskins <ghaskins@xxxxxxxxxx> Date: Thu Jul 30 10:57:28 2009 -0400 sched: Fix race in cpupri introduced by cpumask_var changes Background: Several race conditions in the scheduler have cropped up recently, which Steven and I have tracked down using ftrace. The most recent one turns out to be a race in how the scheduler determines a suitable migration target for RT tasks, introduced recently with commit: commit 68e74568fbe5854952355e942acca51f138096d9 Date: Tue Nov 25 02:35:13 2008 +1030 sched: convert struct cpupri_vec cpumask_var_t. The original design of cpupri allowed lockless readers to quickly determine a best-estimate target. Races between the pri_active bitmap and the vec->mask were handled in the original code because we would detect and return "0" when this occured. The design was predicated on the *effective* atomicity (*) of caching the result of cpus_and() between the cpus_allowed and the vec->mask. Commit 68e74568 changed the behavior such that vec->mask is accessed multiple times. This introduces a subtle race, the result of which means we can have a result that returns "1", but with an empty bitmap. *) yes, we know cpus_and() is not a locked operator across the entire composite array, but it is implicitly atomic on a per-word basis which is all the design required to work. Implementation: Rather than forgoing the lockless design, or reverting to a stack-based cpumask_t, we simply check for when the race has been encountered and continue processing in the event that the race is hit. This renders the removal race as if the priority bit had been atomically cleared as well, and allows the algorithm to execute correctly. Signed-off-by: Gregory Haskins <ghaskins@xxxxxxxxxx> CC: Rusty Russell <rusty@xxxxxxxxxxxxxxx> CC: Steven Rostedt <srostedt@xxxxxxxxxx> Signed-off-by: Peter Zijlstra <a.p.zijlstra@xxxxxxxxx> LKML-Reference: <20090730145728.25226.92769.stgit@xxxxxxxxxxxxxxx> Signed-off-by: Ingo Molnar <mingo@xxxxxxx> commit e414314cce7539788dd5d2c35decad11782dd858 Author: Peter Zijlstra <a.p.zijlstra@xxxxxxxxx> Date: Thu Jul 23 20:13:26 2009 +0200 sched: Fix latencytop and sleep profiling vs group scheduling The latencytop and sleep accounting code assumes that any scheduler entity represents a task, this is not so. Cc: Arjan van de Ven <arjan@xxxxxxxxxxxxxxx> Signed-off-by: Peter Zijlstra <a.p.zijlstra@xxxxxxxxx> Signed-off-by: Ingo Molnar <mingo@xxxxxxx> commit 59b9005692d4c8b5d73cfc41aa7229f47be163a9 Author: Arnaldo Carvalho de Melo <acme@xxxxxxxxxx> Date: Sun Jul 26 19:06:19 2009 -0300 perf top: Add mwait_idle_with_hints to skip_symbols[] We skip the display of idle routine related symbols because they are typically rather erratic and confusing: they depend on the IRQ rate or sometimes they dominate the profile if they are polling based. Add mwait_idle_with_hints too, this is one of the idle routines on x86. Signed-off-by: Arnaldo Carvalho de Melo <acme@xxxxxxxxxx> Signed-off-by: Ingo Molnar <mingo@xxxxxxx> commit 9b30a26bf3d2c56dcb1c3afaca28b73fcd6ed405 Author: Stoyan Gaydarov <sgayda2@xxxxxxxx> Date: Thu Jul 30 05:25:29 2009 -0500 perf tools: Fix faulty check This patch fixes a spelling error that has resulted from copy and pasting. The location of the error was found using a semantic patch but the semantic patch was not trying to find these errors. After looking things over it seemed logical that this change was needed. Please review it and then include the patch if it is in fact the correct change. Signed-off-by: Stoyan Gaydarov <sgayda2@xxxxxxxx> Signed-off-by: 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: <1248949529-20891-1-git-send-email-sgayda2@xxxxxxxx> Signed-off-by: Ingo Molnar <mingo@xxxxxxx> commit 27d028de64bd7e1f8e72bdeae6b0586939574fcb Author: Peter Zijlstra <a.p.zijlstra@xxxxxxxxx> Date: Thu Jul 23 16:52:41 2009 +0200 perf report: Update for the new FORK/EXIT events Since FORK is now also issued for threads, detect those by comparing the parent and child PID. Teach it about EXIT events and ignore them. Signed-off-by: Peter Zijlstra <a.p.zijlstra@xxxxxxxxx> Cc: Paul Mackerras <paulus@xxxxxxxxx> Signed-off-by: Ingo Molnar <mingo@xxxxxxx> commit 9f498cc5be7e013d8d6e4c616980ed0ffc8680d2 Author: Peter Zijlstra <a.p.zijlstra@xxxxxxxxx> Date: Thu Jul 23 14:46:33 2009 +0200 perf_counter: Full task tracing In order to be able to distinguish between no samples due to inactivity and no samples due to task ended, Arjan asked for PERF_EVENT_EXIT events. This is useful to the boot delay instrumentation (bootchart) app. This patch changes the PERF_EVENT_FORK to be emitted on every clone, and adds PERF_EVENT_EXIT to be emitted on task exit, after the task's counters have been closed. This task tracing is controlled through: attr.comm || attr.mmap and through the new attr.task field. Suggested-by: Arjan van de Ven <arjan@xxxxxxxxxxxxxxx> Cc: Paul Mackerras <paulus@xxxxxxxxx> Cc: Anton Blanchard <anton@xxxxxxxxx> Signed-off-by: Peter Zijlstra <a.p.zijlstra@xxxxxxxxx> [ cleaned up perf_counter.h a bit ] Signed-off-by: Ingo Molnar <mingo@xxxxxxx> commit e53c0994709166b111fbe9162d1a16ece7dfc45b Author: Peter Zijlstra <a.p.zijlstra@xxxxxxxxx> Date: Fri Jul 24 14:42:10 2009 +0200 perf_counter: Collapse inherit on read() Currently the counter value returned by read() is the value of the parent counter, to which child counters are only fed back on child exit. Thus read() can return rather erratic (and meaningless) numbers depending on the state of the child processes. Change this by always iterating the full child hierarchy on read() and sum all counters. Suggested-by: Corey Ashford <cjashfor@xxxxxxxxxxxxxxxxxx> Signed-off-by: Peter Zijlstra <a.p.zijlstra@xxxxxxxxx> LKML-Reference: <new-submission> Signed-off-by: Ingo Molnar <mingo@xxxxxxx> commit 470a1396c25c27b4aff08b14d5c9cd9b3da15e09 Author: Peter Zijlstra <a.p.zijlstra@xxxxxxxxx> Date: Wed Jul 29 10:50:09 2009 +0200 tracing, perf_counter: Add help text to CONFIG_EVENT_PROFILE Explain what tracepoint profiling sources are about. Signed-off-by: Peter Zijlstra <a.p.zijlstra@xxxxxxxxx> Acked-by: Jeff Garzik <jeff@xxxxxxxxxx> LKML-Reference: <1248856508.6987.3041.camel@twins> Signed-off-by: Ingo Molnar <mingo@xxxxxxx> commit b10ff54f9f58adfb708b53e6e56ed3d7804ade74 Author: Jaswinder Singh Rajput <jaswinder@xxxxxxxxxx> Date: Wed Jul 8 15:27:20 2009 +0000 parisc: includecheck fix for ccio-dma.c fix the following 'make includecheck' warning: drivers/parisc/ccio-dma.c: linux/proc_fs.h is included more than once. Signed-off-by: Jaswinder Singh Rajput <jaswinderrajput@xxxxxxxxx> Signed-off-by: Helge Deller <deller@xxxxxx> commit 2678251b207394aa8b9d92c653c05a8b3449f1f5 Author: John David Anglin <dave@xxxxxxxxxxxxxxxxxx> Date: Mon Jul 13 01:44:37 2009 +0000 parisc: Set correct bit in protection flags Signed-off-by: John David Anglin <dave@xxxxxxxxxxxxxxxxxx> Signed-off-by: Helge Deller <deller@xxxxxx> commit 6b4dbcd86a9d464057fcc7abe4d0574093071fcc Author: Michael Buesch <mb@xxxxxxxxx> Date: Mon Jul 20 22:58:44 2009 +0000 parisc: isa-eeprom - Fix loff_t usage loff_t is a signed type. If userspace passes a negative ppos, the "count" range check is weakened. "count"s bigger than HPEE_MAX_LENGTH will pass the check. Also, if ppos is negative, the readb(eisa_eeprom_addr + *ppos) will poke in random memory. Signed-off-by: Michael Buesch <mb@xxxxxxxxx> Cc: stable@xxxxxxxxxx Signed-off-by: Helge Deller <deller@xxxxxx> commit 450d6e306b4717bfae11218a02648509baf04ce1 Author: Stoyan Gaydarov <sgayda2@xxxxxxxx> Date: Thu Jul 30 10:25:19 2009 +0000 parisc: fixed faulty check in lba_pci This patche fixes a spelling error that has resulted from copy and pasting. The location of the error was found using a semantic patch but the semantic patch was not trying to find these errors. After looking things over it seemed logical that this change was needed. Signed-off-by: Stoyan Gaydarov <sgayda2@xxxxxxxx> Signed-off-by: Helge Deller <deller@xxxxxx> commit 447c233da4d109c6194fefd69e5185cbc93cc062 Author: Roel Kluin <roel.kluin@xxxxxxxxx> Date: Sun Aug 2 08:02:28 2009 +0000 parisc: Fix read buffer overflow in pdc_stable driver Check whether index is within bounds before testing the element. Signed-off-by: Roel Kluin <roel.kluin@xxxxxxxxx> Signed-off-by: Helge Deller <deller@xxxxxx> commit b4f2e2ad5348063ef94aa623f6f09b52ecaf0990 Author: John David Anglin <dave.anglin@xxxxxxxxxxxxxx> Date: Sun Aug 2 12:34:08 2009 +0200 parisc: Fix GOT overflow during module load on 64bit kernel Signed-off-by: John David Anglin <dave.anglin@xxxxxxxxxxxxxx> Signed-off-by: Helge Deller <deller@xxxxxx> commit 59fe4fe34d7afdf63208124f313be9056feaa2f4 Author: Henrique de Moraes Holschuh <hmh@xxxxxxxxxx> Date: Sat Aug 1 12:04:20 2009 -0300 thinkpad-acpi: fix incorrect use of TPACPI_BRGHT_MODE_ECNVRAM HBRV-based default selection of backlight control strategy didn't work well, at least the X41 defines it but doesn't use it and I don't think it will stop there. Switch to a white/blacklist. All models that have HBRV defined have been included in the list, and initially all ATI GPUs will get ECNVRAM, and the Intel GPUs will get UCMS_STEP. Symptoms of incorrect backlight mode selection are: 1. Non-working backlight control through sysfs; 2. Backlight gets reset to the lowest level at every shutdown, reboot and when thinkpad-acpi gets unloaded; This fixes a regression in 2.6.30, bugzilla #13826 Signed-off-by: Henrique de Moraes Holschuh <hmh@xxxxxxxxxx> Reported-by: Tobias Diedrich <ranma+kernel@xxxxxxxxxxxx> Cc: stable@xxxxxxxxxx Signed-off-by: Len Brown <len.brown@xxxxxxxxx> commit 5b05d4696d38c3172e79e855cc1e2ed044589508 Author: Michael Buesch <mb@xxxxxxxxx> Date: Sat Aug 1 12:04:19 2009 -0300 thinkpad-acpi: restrict procfs count value to sane upper limit Signed-off-by: Michael Buesch <mb@xxxxxxxxx> Acked-by: Henrique de Moraes Holschuh <hmh@xxxxxxxxxx> Signed-off-by: Len Brown <len.brown@xxxxxxxxx> commit 9b9d6b2434fe942895c341b9a982f158529788ec Author: Jeff Layton <jlayton@xxxxxxxxxx> Date: Fri Jul 31 06:56:09 2009 -0400 cifs: reinstate original behavior when uid=/gid= options are specified This patch fixes the regression reported here: http://bugzilla.kernel.org/show_bug.cgi?id=13861 commit 4ae1507f6d266d0cc3dd36e474d83aad70fec9e4 changed the default behavior when the uid= or gid= option was specified for a mount. The existing behavior was to always clobber the ownership information provided by the server when these options were specified. The above commit changed this behavior so that these options simply provided defaults when the server did not provide this information (unless "forceuid" or "forcegid" were specified) This patch reverts this change so that the default behavior is restored. It also adds "noforceuid" and "noforcegid" options to make it so that ownership information from the server is preserved, even when the mount has uid= or gid= options specified. It also adds a couple of printk notices that pop up when forceuid or forcegid options are specified without a uid= or gid= option. Reported-by: Tom Chiverton <bugzilla.kernel.org@xxxxxxxxxxxxxx> Reviewed-by: Shirish Pargaonkar <shirishp@xxxxxxxxxx> Signed-off-by: Jeff Layton <jlayton@xxxxxxxxxx> Signed-off-by: Steve French <sfrench@xxxxxxxxxx> commit 1f6fc2de9525e34ee93bd392fa046369a8cfbf1e Author: Henrique de Moraes Holschuh <hmh@xxxxxxxxxx> Date: Sat Aug 1 12:04:18 2009 -0300 thinkpad-acpi: remove dock and bay subdrivers The standard ACPI dock driver can handle the hotplug bays and docks of the ThinkPads just fine (including batteries) as of 2.6.27, and the code in thinkpad-acpi for the dock and bay subdrivers is currently broken anyway... Userspace needs some love to support the two-stage ejection nicely, but it is simple enough to do through udev rules (you don't even need HAL) so this wouldn't justify fixing the dock and bay subdrivers, either. That leaves warm-swap bays (_EJ3) support for thinkpad-acpi, as well as support for the weird dock of the model 570, but since such support has never left the "experimental" stage, it is also not a strong enough reason to find a way to fix this code. Users of ThinkPads with warm-swap bays are urged to request that _EJ3 support be added to the regular ACPI dock driver, if such feature is indeed useful for them. Signed-off-by: Henrique de Moraes Holschuh <hmh@xxxxxxxxxx> Signed-off-by: Len Brown <len.brown@xxxxxxxxx> commit 550e7fd8afb7664ae7cedb398c407694e2bf7d3c Author: Henrique de Moraes Holschuh <hmh@xxxxxxxxxx> Date: Sat Aug 1 12:04:17 2009 -0300 thinkpad-acpi: disable broken bay and dock subdrivers Currently, the ThinkPad-ACPI bay and dock drivers are completely broken, and cause a NULL pointer derreference in kernel mode (and, therefore, an OOPS) when they try to issue events (i.e. on dock, undock, bay ejection, etc). OTOH, the standard ACPI dock driver can handle the hotplug bays and docks of the ThinkPads just fine (including batteries) as of 2.6.27. In fact, it does a much better job of it than thinkpad-acpi ever did. It is just not worth the hassle to find a way to fix this crap without breaking the (deprecated) thinkpad-acpi dock/bay ABI. This is old, deprecated code that sees little testing or use. As a quick fix suitable for -stable backports, mark the thinkpad-acpi bay and dock subdrivers as BROKEN in Kconfig. The dead code will be removed by a later patch. This fixes bugzilla #13669, and should be applied to 2.6.27 and later. Signed-off-by: Henrique de Moraes Holschuh <hmh@xxxxxxxxxx> Reported-by: Joerg Platte <jplatte@xxxxxxxxx> Cc: stable@xxxxxxxxxx Signed-off-by: Len Brown <len.brown@xxxxxxxxx> commit 0dd8486b5cfe8048e0613334659d9252ecd1b08a Author: Linus Torvalds <torvalds@xxxxxxxxxxxxxxxxxxxx> Date: Sat Aug 1 11:18:56 2009 -0700 do_sigaltstack: small cleanups The previous commit ("do_sigaltstack: avoid copying 'stack_t' as a structure to user space") fixed a real bug. This one just cleans up the copy from user space to that gcc can generate better code for it (and so that it looks the same as the later copy back to user space). Signed-off-by: Linus Torvalds <torvalds@xxxxxxxxxxxxxxxxxxxx> commit 0083fc2c50e6c5127c2802ad323adf8143ab7856 Author: Linus Torvalds <torvalds@xxxxxxxxxxxxxxxxxxxx> Date: Sat Aug 1 10:34:56 2009 -0700 do_sigaltstack: avoid copying 'stack_t' as a structure to user space Ulrich Drepper correctly points out that there is generally padding in the structure on 64-bit hosts, and that copying the structure from kernel to user space can leak information from the kernel stack in those padding bytes. Avoid the whole issue by just copying the three members one by one instead, which also means that the function also can avoid the need for a stack frame. This also happens to match how we copy the new structure from user space, so it all even makes sense. [ The obvious solution of adding a memset() generates horrid code, gcc does really stupid things. ] Reported-by: Ulrich Drepper <drepper@xxxxxxxxxx> Signed-off-by: Linus Torvalds <torvalds@xxxxxxxxxxxxxxxxxxxx> commit a97778457f22181e8c38c4cd7d7e528378738a98 Author: Ryusuke Konishi <konishi.ryusuke@xxxxxxxxxxxxx> Date: Tue Jul 28 17:55:29 2009 +0900 nilfs2: fix oops due to inconsistent state in page with discrete b-tree nodes Andrea Gelmini gave me a report that a kernel oops hit on a nilfs filesystem with a 1KB block size when doing rsync. This turned out to be caused by an inconsistency of dirty state between a page and its buffers storing b-tree node blocks. If the page had multiple buffers split over multiple logs, and if the logs were written at a time, a dirty flag remained in the page even every dirty flag in the buffers was cleared. This will fix the failure by dropping the dirty flag properly for pages with the discrete multiple b-tree nodes. Reported-by: Andrea Gelmini <andrea.gelmini@xxxxxxxxx> Signed-off-by: Ryusuke Konishi <konishi.ryusuke@xxxxxxxxxxxxx> Tested-by: Andrea Gelmini <andrea.gelmini@xxxxxxxxx> Cc: stable@xxxxxxxxxx commit 2d1b6949d2c855f195de0f5146625015ecca3944 Author: Ingo Molnar <mingo@xxxxxxx> Date: Sat Aug 1 13:15:36 2009 +0200 perf_counter tools: Fix link errors with older toolchains On older distros (F8 for example) the perf build could fail with such missing symbols: LINK perf /usr/lib/gcc/x86_64-redhat-linux/4.3.2/../../../../lib64/libbfd.a(bfd.o): In function `bfd_demangle': (.text+0x2b3): undefined reference to `cplus_demangle' /usr/lib/gcc/x86_64-redhat-linux/4.3.2/../../../../lib64/libbfd.a(bfd.o): In function `bfd_demangle': Link in -liberty too. Cc: Peter Zijlstra <a.p.zijlstra@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 7e5f5fb09e6fc657f21816b5a18ba645a913368e Author: Martin K. Petersen <martin.petersen@xxxxxxxxxx> Date: Fri Jul 31 11:49:13 2009 -0400 block: Update topology documentation Update topology comments and sysfs documentation based upon discussions with Neil Brown. Signed-off-by: Martin K. Petersen <martin.petersen@xxxxxxxxxx> Signed-off-by: Jens Axboe <jens.axboe@xxxxxxxxxx> commit 70dd5bf3b99964d52862ad2810c24cc32a553535 Author: Martin K. Petersen <martin.petersen@xxxxxxxxxx> Date: Fri Jul 31 11:49:12 2009 -0400 block: Stack optimal I/O size When stacking block devices ensure that optimal I/O size is scaled accordingly. Signed-off-by: Martin K. Petersen <martin.petersen@xxxxxxxxxx> Reviewed-by: Mike Snitzer <snitzer@xxxxxxxxxx> Signed-off-by: Jens Axboe <jens.axboe@xxxxxxxxxx> commit 7c958e32649e0c35801762878fb0b6da8c55a515 Author: Martin K. Petersen <martin.petersen@xxxxxxxxxx> Date: Fri Jul 31 11:49:11 2009 -0400 block: Add a wrapper for setting minimum request size without a queue Introduce blk_limits_io_min() and make blk_queue_io_min() call it. Signed-off-by: Mike Snitzer <snitzer@xxxxxxxxxx> Signed-off-by: Martin K. Petersen <martin.petersen@xxxxxxxxxx> Signed-off-by: Jens Axboe <jens.axboe@xxxxxxxxxx> commit fef246672b009cf3f7a74e2fc9a76932ef2eeed2 Author: Martin K. Petersen <martin.petersen@xxxxxxxxxx> Date: Fri Jul 31 11:49:10 2009 -0400 block: Make blk_queue_stack_limits use the new stacking interface blk_queue_stack_limits() has been superceded by blk_stack_limits() and disk_stack_limits(). Wrap the function call for now, we'll deprecate it later. Signed-off-by: Martin K. Petersen <martin.petersen@xxxxxxxxxx> Signed-off-by: Jens Axboe <jens.axboe@xxxxxxxxxx> commit ed680c4ad478d0fee9740f7d029087f181346564 Author: Linus Torvalds <torvalds@xxxxxxxxxxxxxxxxxxxx> Date: Fri Jul 31 17:40:45 2009 -0700 Linux 2.6.31-rc5 commit ab57a40827d99e2d8e59066a56b93bf6c844c916 Author: Goldwyn Rodrigues <rgoldwyn@xxxxxxxxx> Date: Fri Jul 31 14:28:02 2009 -0500 ocfs2: Remove redundant BUG_ON in __dlm_queue_ast() We BUG_ON() the same thing twice. Signed-off-by: Goldwyn Rodrigues <rgoldwyn@xxxxxxx> Signed-off-by: Joel Becker <joel.becker@xxxxxxxxxx> commit f5266cbd2fca04dbd0387a67f550b6667ffa4ed2 Merge: a5bc92cdf2ab27a15732976004b3755c40740f57 c8a4051c3731b6db224482218cfd535ab9393ff8 Author: Linus Torvalds <torvalds@xxxxxxxxxxxxxxxxxxxx> Date: Fri Jul 31 12:17:37 2009 -0700 Merge branch 'for-linus' of git://oss.sgi.com/xfs/xfs * 'for-linus' of git://oss.sgi.com/xfs/xfs: xfs: bump up nr_to_write in xfs_vm_writepage xfs: reduce bmv_count in xfs_vn_fiemap commit a5bc92cdf2ab27a15732976004b3755c40740f57 Merge: 6eb80e00bff341dd09a7ec8b9dba6da8410448bf cbb4f2646d77b536ed2b1500ef6641083228ed8f Author: Linus Torvalds <torvalds@xxxxxxxxxxxxxxxxxxxx> Date: Fri Jul 31 12:10:26 2009 -0700 Merge branch 'for-linus' of git://git.kernel.dk/linux-2.6-block * 'for-linus' of git://git.kernel.dk/linux-2.6-block: io context: fix ref counting block: make the end_io functions be non-GPL exports block: fix improper kobject release in blk_integrity_unregister block: always assign default lock to queues mg_disk: Add missing ready status check on mg_write() mg_disk: fix issue with data integrity on error in mg_write() mg_disk: fix reading invalid status when use polling driver mg_disk: remove prohibited sleep operation commit 6eb80e00bff341dd09a7ec8b9dba6da8410448bf Merge: d27d4e2a660939f1bdf74f0e24c4c109f90cd98d c7121843685de2bf7f3afd3ae1d6a146010bf1fc Author: Linus Torvalds <torvalds@xxxxxxxxxxxxxxxxxxxx> Date: Fri Jul 31 12:09:57 2009 -0700 Merge branch 'timers-fixes-for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/tip/linux-2.6-tip * 'timers-fixes-for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/tip/linux-2.6-tip: clocksource: Save mult_orig in clocksource_disable() commit d27d4e2a660939f1bdf74f0e24c4c109f90cd98d Merge: dbe63a2cde07f4bccb2b2e4b35241491d8e096f6 3822a0e38c329a598cb6f5baa16be7504e0db8d9 Author: Linus Torvalds <torvalds@xxxxxxxxxxxxxxxxxxxx> Date: Fri Jul 31 12:09:22 2009 -0700 Merge branch 'for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/drzeus/mmc * 'for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/drzeus/mmc: mmc: orphan subsystem imxmmc: Remove unnecessary semicolons cb710: use SG_MITER_TO_SG/SG_MITER_FROM_SG sdhci: use SG_MITER_TO_SG/SG_MITER_FROM_SG lib/scatterlist: add a flags to signalize mapping direction commit dbe63a2cde07f4bccb2b2e4b35241491d8e096f6 Merge: b592972493c38665efd7d429a01b23fcb21e331a ec86fe5209ef991e93b5d391e74954ea9d827c50 Author: Linus Torvalds <torvalds@xxxxxxxxxxxxxxxxxxxx> Date: Fri Jul 31 12:09:02 2009 -0700 Merge branch 'for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/tiwai/sound-2.6 * 'for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/tiwai/sound-2.6: ALSA: sound/aoa: Add kmalloc NULL tests ALSA: hda - Increase PCM stream name buf in patch_realtek.c sound: mpu401.c: Buffer overflow sound: aedsp16: Buffer overflow ALSA: hda: fix out-of-bound hdmi_eld.sad[] write ALSA: hda - Add quirk for Dell Studio 1555 commit 013f1b12f4fc479f697acae2f31bad220162cd03 Author: Chris Mason <chris.mason@xxxxxxxxxx> Date: Fri Jul 31 14:57:55 2009 -0400 Btrfs: make sure the async caching thread advances the key The async caching thread can end up looping forever if a given search puts it at the last key in a leaf. It will end up calling btrfs_next_leaf and then checking if it needs to politely drop the read semaphore. Most of the time this looping isn't noticed because it is able to make progress the next time around. But, during log replay, we wait on the async caching thread to finish, and the async thread is waiting on the commit, and no progress is really made. The fix used here is to copy the key out of the next leaf, that way our search lands there properly. Signed-off-by: Chris Mason <chris.mason@xxxxxxxxxx> commit 6606bb97e146a387932efee263745b7240a11193 Author: Josef Bacik <josef@xxxxxxxxxx> Date: Fri Jul 31 11:03:58 2009 -0400 Btrfs: fix btrfs_remove_from_free_space corner case Yan Zheng hit a problem where we tried to remove some free space but failed because we couldn't find the free space entry. This is because the free space was held within a bitmap that had a starting offset well before the actual offset of the free space, and there were free space extents that were in the same range as that offset, so tree_search_offset returned with NULL because we couldn't find a free space extent that had that offset. This is fixed by making sure that if we fail to find the entry, we re-search again with bitmap_only set to 1 and do an offset_to_bitmap so we can get the appropriate bitmap. A similar problem happens in btrfs_alloc_from_bitmap for the clustering code, but that is not as bad since we will just go and redo our cluster allocation. Also this adds some debugging checks to make sure that the free space we are trying to remove from the bitmap is in fact there. This can probably go away after a while, but since this code is only used by the tree-logging stuff it would be nice to run with it for a while to make sure there are no problems. Signed-off-by: Josef Bacik <jbacik@xxxxxxxxxx> Signed-off-by: Chris Mason <chris.mason@xxxxxxxxxx> commit ff46a474ca2566d79e8d7454442b56d82bce37c1 Author: Guennadi Liakhovetski <g.liakhovetski@xxxxxx> Date: Fri Jul 31 15:42:09 2009 +0200 mx3: Fix double pin allocation in pcm037_eet.c SPI pins are now allocated in pcm037.c, remove them from EET. Signed-off-by: Guennadi Liakhovetski <g.liakhovetski@xxxxxx> Signed-off-by: Sascha Hauer <s.hauer@xxxxxxxxxxxxxx> commit c7121843685de2bf7f3afd3ae1d6a146010bf1fc Author: Magnus Damm <magnus.damm@xxxxxxxxx> Date: Tue Jul 28 14:09:55 2009 -0700 clocksource: Save mult_orig in clocksource_disable() To fix the common case where ->enable() does not set up mult, make sure mult_orig is saved in mult on disable. Also add comments to explain why we do this. Signed-off-by: Magnus Damm <damm@xxxxxxxxxx> Cc: johnstul@xxxxxxxxxx Cc: lethal@xxxxxxxxxxxx Cc: akpm@xxxxxxxxxxxxxxxxxxxx LKML-Reference: <20090618152432.10136.9932.sendpatchset@xxxxxxxxxxxxxxxxx> Signed-off-by: Thomas Gleixner <tglx@xxxxxxxxxxxxx> commit 3822a0e38c329a598cb6f5baa16be7504e0db8d9 Author: Pierre Ossman <pierre@xxxxxxxxx> Date: Fri Jul 31 12:27:28 2009 +0200 mmc: orphan subsystem I do not have the time to take care of this, so remove myself as maintainer. Signed-off-by: Pierre Ossman <pierre@xxxxxxxxx> commit a9239d750d9991f2feee78fc5669a4613abc1adb Author: Joe Perches <joe@xxxxxxxxxxx> Date: Sun Jun 28 09:26:31 2009 -0700 imxmmc: Remove unnecessary semicolons Signed-off-by: Joe Perches <joe@xxxxxxxxxxx> Acked-by: Pavel Pisa <pisa@xxxxxxxxxxxxxxxx> Signed-off-by: Pierre Ossman <pierre@xxxxxxxxx> commit 4b2a108cd0d34880fe9d932258ca5b2ccebcd05e Author: Sebastian Andrzej Siewior <sebastian@xxxxxxxxxxxxx> Date: Mon Jun 22 09:18:05 2009 +0200 cb710: use SG_MITER_TO_SG/SG_MITER_FROM_SG the code allready uses flush_kernel_dcache_page(). This patch updates the driver to the recent sg API changes which require that either SG_MITER_TO_SG or SG_MITER_FROM_SG is set. SG_MITER_TO_SG calls flush_kernel_dcache_page() in sg_mitter_stop() Signed-off-by: Sebastian Andrzej Siewior <sebastian@xxxxxxxxxxxxx> Acked-by: MichaÅ? MirosÅ?aw <mirq-linux@xxxxxxxxxxxx> Signed-off-by: Pierre Ossman <pierre@xxxxxxxxx> commit da60a91d012bcb10bc5bcd86d585c4281742832c Author: Sebastian Andrzej Siewior <sebastian@xxxxxxxxxxxxx> Date: Thu Jun 18 09:33:32 2009 +0200 sdhci: use SG_MITER_TO_SG/SG_MITER_FROM_SG so the page will be flushed on unmap on ARCH which need it. Signed-off-by: Sebastian Andrzej Siewior <sebastian@xxxxxxxxxxxxx> Signed-off-by: Pierre Ossman <pierre@xxxxxxxxx> commit 6de7e356faf54aa75de5b624bbce28a5b776dfa8 Author: Sebastian Andrzej Siewior <sebastian@xxxxxxxxxxxxx> Date: Thu Jun 18 10:19:12 2009 +0200 lib/scatterlist: add a flags to signalize mapping direction sg_miter_start() is currently unaware of the direction of the copy process (to or from the scatter list). It is important to know the direction because the page has to be flushed in case the data written is seen on a different mapping in user land on cache incoherent architectures. Signed-off-by: Sebastian Andrzej Siewior <sebastian@xxxxxxxxxxxxx> Acked-by: FUJITA Tomonori <fujita.tomonori@xxxxxxxxxxxxx> Acked-by: Tejun Heo <tj@xxxxxxxxxx> Signed-off-by: Pierre Ossman <pierre@xxxxxxxxx> commit ec86fe5209ef991e93b5d391e74954ea9d827c50 Merge: d62e345f142ba271d9dab2b2e6cb5070cae94754 a987004fbcf163b100d227284999602f83044d7e Author: Takashi Iwai <tiwai@xxxxxxx> Date: Fri Jul 31 10:17:45 2009 +0200 Merge branch 'fix/oss' into for-linus * fix/oss: sound: mpu401.c: Buffer overflow sound: aedsp16: Buffer overflow commit d62e345f142ba271d9dab2b2e6cb5070cae94754 Merge: 6280b61af50ef3086816a9e753af355690fa78db f065fabc864f4c98857bf67caa2365e9f8545751 Author: Takashi Iwai <tiwai@xxxxxxx> Date: Fri Jul 31 10:17:44 2009 +0200 Merge branch 'fix/misc' into for-linus * fix/misc: ALSA: sound/aoa: Add kmalloc NULL tests commit 6280b61af50ef3086816a9e753af355690fa78db Merge: 57e4a5c4f8cfb4b198830c5400f9fc9eb7b75091 aa563af763373a7e67a7b8fdb427d2a2fcbeab3b Author: Takashi Iwai <tiwai@xxxxxxx> Date: Fri Jul 31 10:17:42 2009 +0200 Merge branch 'fix/hda' into for-linus * fix/hda: ALSA: hda - Increase PCM stream name buf in patch_realtek.c ALSA: hda: fix out-of-bound hdmi_eld.sad[] write ALSA: hda - Add quirk for Dell Studio 1555 commit f065fabc864f4c98857bf67caa2365e9f8545751 Author: Julia Lawall <julia@xxxxxxx> Date: Fri Jul 31 08:32:03 2009 +0200 ALSA: sound/aoa: Add kmalloc NULL tests Check that the result of kzalloc is not NULL before a dereference. The semantic match that finds this problem is as follows: (http://www.emn.fr/x-info/coccinelle/) // <smpl> @@ expression *x; identifier f; constant char *C; @@ x = \(kmalloc\|kcalloc\|kzalloc\)(...); ... when != x == NULL when != x != NULL when != (x || ...) ( kfree(x) | f(...,C,...,x,...) | *f(...,x,...) | *x->f ) // </smpl> Signed-off-by: Julia Lawall <julia@xxxxxxx> Signed-off-by: Takashi Iwai <tiwai@xxxxxxx> commit aa563af763373a7e67a7b8fdb427d2a2fcbeab3b Author: Takashi Iwai <tiwai@xxxxxxx> Date: Fri Jul 31 10:05:11 2009 +0200 ALSA: hda - Increase PCM stream name buf in patch_realtek.c The name buf with size 16 is too short for some codec names, e.g. truncated like "ALC861-VD Analo". Now the size is doubled. Signed-off-by: Takashi Iwai <tiwai@xxxxxxx> commit cbb4f2646d77b536ed2b1500ef6641083228ed8f Author: Li Zefan <lizf@xxxxxxxxxxxxxx> Date: Fri Jul 31 08:55:48 2009 +0200 io context: fix ref counting Commit d9c7d394a8ebacb60097b192939ae9f15235225e ("block: prevent possible io_context->refcount overflow") mistakenly changed atomic_inc(&ioc->nr_tasks) to atomic_long_inc(&ioc->refcount). Signed-off-by: Li Zefan <lizf@xxxxxxxxxxxxxx> Acked-by: Nikanth Karthikesan <knikanth@xxxxxxx> Signed-off-by: Jens Axboe <jens.axboe@xxxxxxxxxx> commit c8a4051c3731b6db224482218cfd535ab9393ff8 Author: Eric Sandeen <sandeen@xxxxxxxxxxx> Date: Fri Jul 31 00:02:17 2009 -0500 xfs: bump up nr_to_write in xfs_vm_writepage VM calculation for nr_to_write seems off. Bump it way up, this gets simple streaming writes zippy again. To be reviewed again after Jens' writeback changes. Signed-off-by: Christoph Hellwig <hch@xxxxxxxxxxxxx> Signed-off-by: Eric Sandeen <sandeen@xxxxxxxxxxx> Cc: Chris Mason <chris.mason@xxxxxxxxxx> Reviewed-by: Felix Blyakher <felixb@xxxxxxx> Signed-off-by: Felix Blyakher <felixb@xxxxxxx> commit 97db39a1f6f69e906e98118392400de5217aa33a Author: Eric Sandeen <sandeen@xxxxxxxxxxx> Date: Sun Jul 26 21:52:01 2009 -0500 xfs: reduce bmv_count in xfs_vn_fiemap commit 6321e3ed2acf3ee9643cdd403e1c88605d7944ba caused the full bmv_count's worth of getbmapx structures to get allocated; telling it to do MAXEXTNUM was a bit insane, resulting in ENOMEM every time. Chop it down to something reasonable, the number of slots in the caller's input buffer. If this is too large the caller may get ENOMEM but the reason should not be a mystery, and they can try again with something smaller. We add 1 to the value because in the normal getbmap world, bmv_count includes the header and xfs_getbmap does: nex = bmv->bmv_count - 1; if (nex <= 0) return XFS_ERROR(EINVAL); Signed-off-by: Eric Sandeen <sandeen@xxxxxxxxxxx> Reviewed-by: Olaf Weber <olaf@xxxxxxx> Reviewed-by: Christoph Hellwig <hch@xxxxxx> Signed-off-by: Felix Blyakher <felixb@xxxxxxx> commit 95fc17aac45300f45968aacd97a536ddd8db8101 Author: Dan Williams <dan.j.williams@xxxxxxxxx> Date: Fri Jul 31 12:39:15 2009 +1000 md/raid6: release spare page at ->stop() Add missing call to safe_put_page from stop() by unifying open coded raid5_conf_t de-allocation under free_conf(). Cc: <stable@xxxxxxxxxx> Signed-off-by: Dan Williams <dan.j.williams@xxxxxxxxx> Signed-off-by: NeilBrown <neilb@xxxxxxx> commit 0a924578bc4a2823a95c151f56975c71f5c156bb Author: Peter P Waskiewicz Jr <peter.p.waskiewicz.jr@xxxxxxxxx> Date: Thu Jul 30 12:26:00 2009 +0000 ixgbe: Fix RSC completion delay causing Rx interrupts to stop When a user disables interrupt throttling with ethtool on 82599 devices, the interrupt timer may not be re-enabled if hardware RSC is running. The RSC completions in hardware don't complete before the next ITR event tries to fire, so the ITR timer never gets re-armed. This patch increases the amount of time between interrupts when throttling is disabled (rx-usecs = 0) when the hardware RSC deature is enabled. Signed-off-by: Peter P Waskiewicz Jr <peter.p.waskiewicz.jr@xxxxxxxxx> Signed-off-by: Jeff Kirsher <jeffrey.t.kirsher@xxxxxxxxx> Signed-off-by: David S. Miller <davem@xxxxxxxxxxxxx> commit 0c19d6af9253f19b41821c29b9c49c2214f19425 Author: Peter P Waskiewicz Jr <peter.p.waskiewicz.jr@xxxxxxxxx> Date: Thu Jul 30 12:25:28 2009 +0000 ixgbe: Fix usage of second flags bitmap when using LRO/RSC A second set of feature flag bits was added, and the hardware RSC engine flags were moved there. However, the code itself didn't make the move completely to use the new bitmap. Signed-off-by: Peter P Waskiewicz Jr <peter.p.waskiewicz.jr@xxxxxxxxx> Acked-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 8f9a71673d9f397a365f4d18c307e91141b8fe92 Author: Peter P Waskiewicz Jr <peter.p.waskiewicz.jr@xxxxxxxxx> Date: Thu Jul 30 12:25:09 2009 +0000 ixgbe: Fix netpoll to be properly multiqueue aware Our ndo_poll_controller callback is broken for anything but non-multiqueue setups. This fixes that issue. Signed-off-by: Peter P Waskiewicz Jr <peter.p.waskiewicz.jr@xxxxxxxxx> Signed-off-by: Jeff Kirsher <jeffrey.t.kirsher@xxxxxxxxx> Signed-off-by: David S. Miller <davem@xxxxxxxxxxxxx> commit bdc6340f4eb68295b1e7c0ade2356b56dca93d93 Author: Pallipadi, Venkatesh <venkatesh.pallipadi@xxxxxxxxx> Date: Thu Jul 30 14:43:19 2009 -0700 x86, pat: Fix set_memory_wc related corruption Changeset 3869c4aa18835c8c61b44bd0f3ace36e9d3b5bd0 that went in after 2.6.30-rc1 was a seemingly small change to _set_memory_wc() to make it complaint with SDM requirements. But, introduced a nasty bug, which can result in crash and/or strange corruptions when set_memory_wc is used. One such crash reported here http://lkml.org/lkml/2009/7/30/94 Actually, that changeset introduced two bugs. * change_page_attr_set() takes &addr as first argument and can the addr value might have changed on return, even for single page change_page_attr_set() call. That will make the second change_page_attr_set() in this routine operate on unrelated addr, that can eventually cause strange corruptions and bad page state crash. * The second change_page_attr_set() call, before setting _PAGE_CACHE_WC, should clear the earlier _PAGE_CACHE_UC_MINUS, as otherwise cache attribute will not be WC (will be UC instead). The patch below fixes both these problems. Sending a single patch to fix both the problems, as the change is to the same line of code. The change to have a addr_copy is not very clean. But, it is simpler than making more changes through various routines in pageattr.c. A huge thanks to Jerome for reporting this problem and providing a simple test case that helped us root cause the problem. Reported-by: Jerome Glisse <glisse@xxxxxxxxxxxxxxx> Signed-off-by: Venkatesh Pallipadi <venkatesh.pallipadi@xxxxxxxxx> Signed-off-by: Suresh Siddha <suresh.b.siddha@xxxxxxxxx> LKML-Reference: <20090730214319.GA1889@xxxxxxxxxxxxxxxxxxxxx> Acked-by: Dave Airlie <airlied@xxxxxxxxxx> Signed-off-by: H. Peter Anvin <hpa@xxxxxxxxx> commit b592972493c38665efd7d429a01b23fcb21e331a Merge: ec6a8679fa8ce977c8b7f86238455b494699de74 636eacee3b0c76915151db37203cc624becb6d7b Author: Linus Torvalds <torvalds@xxxxxxxxxxxxxxxxxxxx> Date: Thu Jul 30 16:46:58 2009 -0700 Merge branch 'tracing-fixes-for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/tip/linux-2.6-tip * 'tracing-fixes-for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/tip/linux-2.6-tip: tracing/stat: Fix seqfile memory leak function-graph: Fix seqfile memory leak trace_stack: Fix seqfile memory leak profile: Suppress warning about large allocations when profile=1 is specified commit ec6a8679fa8ce977c8b7f86238455b494699de74 Merge: db06816cb9ceb21a2bf24122407b7b4fe419c3fc f36f3042eae238bdaefe7c79310afe573bfc3622 Author: Linus Torvalds <torvalds@xxxxxxxxxxxxxxxxxxxx> Date: Thu Jul 30 16:46:48 2009 -0700 Merge git://git.kernel.org/pub/scm/linux/kernel/git/mason/btrfs-unstable * git://git.kernel.org/pub/scm/linux/kernel/git/mason/btrfs-unstable: Btrfs: be more polite in the async caching threads Btrfs: preserve commit_root for async caching commit db06816cb9ceb21a2bf24122407b7b4fe419c3fc Merge: 784b1d6b21cb25791b68276af27a7c2321d5a86f 808347f6a31792079e345ec865e9cfcb6e8ae6b2 Author: Linus Torvalds <torvalds@xxxxxxxxxxxxxxxxxxxx> Date: Thu Jul 30 16:46:31 2009 -0700 Merge branch 'next' of git://git.kernel.org/pub/scm/linux/kernel/git/djbw/async_tx * 'next' of git://git.kernel.org/pub/scm/linux/kernel/git/djbw/async_tx: dmaengine: at_hdmac: add DMA slave transfers dmaengine: at_hdmac: new driver for the Atmel AHB DMA Controller dmaengine: dmatest: correct thread_count while using multiple thread per channel dmaengine: dmatest: add a maximum number of test iterations drivers/dma: Remove unnecessary semicolons drivers/dma/fsldma.c: Remove unnecessary semicolons dmaengine: move HIGHMEM64G restriction to ASYNC_TX_DMA fsldma: do not clear bandwidth control bits on the 83xx controller fsldma: enable external start for the 83xx controller fsldma: use PCI Read Multiple command commit 784b1d6b21cb25791b68276af27a7c2321d5a86f Merge: 691c5f7374ee3d48fd2c838261820a06e4be9043 4bf17af0dbfe4cf20cb750e22e8e926273e7a7a4 Author: Linus Torvalds <torvalds@xxxxxxxxxxxxxxxxxxxx> Date: Thu Jul 30 16:46:17 2009 -0700 Merge branch 'for_linus' of git://git.kernel.org/pub/scm/linux/kernel/git/jack/linux-udf-2.6 * 'for_linus' of git://git.kernel.org/pub/scm/linux/kernel/git/jack/linux-udf-2.6: udf: Fix loading of VAT inode when drive wrongly reports number of recorded blocks commit 691c5f7374ee3d48fd2c838261820a06e4be9043 Merge: fbdbf8389976b9f40d36f21985be28a0f438f779 dee865656f2d8b866f8ac22c60d6363b914e9f12 Author: Linus Torvalds <torvalds@xxxxxxxxxxxxxxxxxxxx> Date: Thu Jul 30 16:46:06 2009 -0700 Merge branch 'for_linus' of git://git.kernel.org/pub/scm/linux/kernel/git/jack/linux-quota-2.6 * 'for_linus' of git://git.kernel.org/pub/scm/linux/kernel/git/jack/linux-quota-2.6: quota: Silence lockdep on quota_on commit fbdbf8389976b9f40d36f21985be28a0f438f779 Merge: 79af3133174da620171eea82bb505a5a5cb7c6f4 bfdb46ce8494eae30dbaae65c81e684e6db6228b Author: Linus Torvalds <torvalds@xxxxxxxxxxxxxxxxxxxx> Date: Thu Jul 30 16:45:53 2009 -0700 Merge git://git.infradead.org/users/cbou/battery-2.6.31 * git://git.infradead.org/users/cbou/battery-2.6.31: Add ds2782 battery gas gauge driver olpc_battery: Ensure that the TRICKLE bit is checked olpc_battery: Fix up eeprom read function commit 79af3133174da620171eea82bb505a5a5cb7c6f4 Merge: e1ca4aed112b270162302d389281b6cefac60a12 b94a170e96dc416828af9d350ae2e34b70ae7347 Author: Linus Torvalds <torvalds@xxxxxxxxxxxxxxxxxxxx> Date: Thu Jul 30 16:45:37 2009 -0700 Merge git://git.kernel.org/pub/scm/linux/kernel/git/steve/gfs2-2.6-fixes * git://git.kernel.org/pub/scm/linux/kernel/git/steve/gfs2-2.6-fixes: GFS2: remove dcache entries for remote deleted inodes GFS2: Fix incorrent statfs consistency check GFS2: Don't put unlikely reclaim candidates on the reclaim list. GFS2: Don't try and dealloc own inode GFS2: Fix panic in glock memory shrinker GFS2: keep statfs info in sync on grows GFS2: Shrink the shrinker commit e1ca4aed112b270162302d389281b6cefac60a12 Merge: 6ae7d6f0195a0ec7e5d07821e62c79898cd33fdc 34466c5be4dd1490acf98e6d2ff8f3728d8ca5c1 Author: Linus Torvalds <torvalds@xxxxxxxxxxxxxxxxxxxx> Date: Thu Jul 30 16:45:20 2009 -0700 Merge branch 'merge' of git://git.kernel.org/pub/scm/linux/kernel/git/benh/powerpc * 'merge' of git://git.kernel.org/pub/scm/linux/kernel/git/benh/powerpc: powerpc: Update defconfigs for embedded 6xx/7xxx, 8xx, 8{3,5,6}xxx powerpc/86xx: Update GE Fanuc sbc310 default configuration powerpc/86xx: Update defconfig for GE Fanuc's PPC9A cpm_uart: Don't use alloc_bootmem in cpm_uart_cpm2.c powerpc/83xx: Fix PCI IO base address on MPC837xE-RDB boards powerpc/85xx: Don't scan for TBI PHY addresses on MPC8569E-MDS boards powerpc/85xx: Fix ethernet link detection on MPC8569E-MDS boards powerpc/mm: Fix SMP issue with MMU context handling code commit 6ae7d6f0195a0ec7e5d07821e62c79898cd33fdc Merge: ec30c5f3a18722f8fcf8c83146a10b03ac4d9ff1 1842f23c05b6a866be831aa60bc8a8731c58ddd0 Author: Linus Torvalds <torvalds@xxxxxxxxxxxxxxxxxxxx> Date: Thu Jul 30 16:45:03 2009 -0700 Merge git://git.kernel.org/pub/scm/linux/kernel/git/rusty/linux-2.6-for-linus * git://git.kernel.org/pub/scm/linux/kernel/git/rusty/linux-2.6-for-linus: lguest and virtio: cleanup struct definitions to Linux style. lguest: update commentry lguest: fix comment style virtio: refactor find_vqs virtio: delete vq from list virtio: fix memory leak on device removal lguest: fix descriptor corruption in example launcher lguest: dereferencing freed mem in add_eventfd() commit ec30c5f3a18722f8fcf8c83146a10b03ac4d9ff1 Author: Masami Hiramatsu <mhiramat@xxxxxxxxxx> Date: Tue Jul 28 19:47:23 2009 -0400 kprobes: Use kernel_text_address() for checking probe address Use kernel_text_address() for checking probe address instead of __kernel_text_address(), because __kernel_text_address() returns true for init functions even after relaseing those functions. That will hit a BUG() in text_poke(). Signed-off-by: Masami Hiramatsu <mhiramat@xxxxxxxxxx> Cc: Ananth N Mavinakayanahalli <ananth@xxxxxxxxxx> Cc: Jim Keniston <jkenisto@xxxxxxxxxx> Signed-off-by: Linus Torvalds <torvalds@xxxxxxxxxxxxxxxxxxxx> commit 90a09c9cf78344d18e2438c3b87363b949629fa3 Author: Linus Torvalds <torvalds@xxxxxxxxxxxxxxxxxxxx> Date: Thu Jul 30 16:40:37 2009 -0700 Alan doesn't want to maintain tty code any more Not that anybody can blame him. It's a morass. But hey, it's way better than it _used_ to be, though, so thanks for all the fish. Signed-off-by: Linus Torvalds <torvalds@xxxxxxxxxxxxxxxxxxxx> commit 909db80297ba65699a77d877f7bf618ba960f6fc Author: Ramax Lo <ramaxlo@xxxxxxxxx> Date: Fri Jul 10 19:30:56 2009 +0800 ARM: S3C64XX: serial: Fix section mismatch warning Rename the structure to avoid the following warning: WARNING: vmlinux.o(.data+0x11ef4): Section mismatch in reference from the variable s3c6400_serial_drv to the function .devexit.text:s3c24xx_serial_remove() The variable s3c6400_serial_drv references the function __devexit s3c24xx_serial_remove() If the reference is valid then annotate the variable with __exit* (see linux/init.h) or name the variable: *driver, *_template, *_timer, *_sht, *_ops, *_probe, *_probe_one, *_console, Signed-off-by: Ramax Lo <ramaxlo@xxxxxxxxx> Signed-off-by: Ben Dooks <ben-linux@xxxxxxxxx> commit 8fe70a5f7167e02bbc18086970f0e92a5e55b80d Author: Ramax Lo <ramaxlo@xxxxxxxxx> Date: Thu Jul 9 16:28:33 2009 +0800 ARM: S3C24XX: serial: Fix section mismatch warnings During kernel build process, the following warning was found: WARNING: drivers/serial/built-in.o(.data+0x304): Section mismatch in reference from the variable s3c2440_serial_drv to the function .devexit.text:s3c24xx_serial_remove() The variable s3c2440_serial_drv references the function __devexit s3c24xx_serial_remove() If the reference is valid then annotate the variable with __exit* (see linux/init.h) or name the variable: *driver, *_template, *_timer, *_sht, *_ops, *_probe, *_probe_one, *_console, The same warning happened for s3c241x platform. We rename variables to avoid these warnings. These changes also apply to s3c2400 & s3c24a0 for consistency. Signed-off-by: Ramax Lo <ramaxlo@xxxxxxxxx> Signed-off-by: Ben Dooks <ben-linux@xxxxxxxxx> commit 165f5f64199f972a21f21effc125d89ed2488e58 Author: Peter Korsgaard <jacmet@xxxxxxxxxx> Date: Wed Jul 1 17:47:08 2009 +0200 ARM: S3C: PWM fix for low duty cycle The pwm hardware only checks the compare register after a decrement, so the pin never toggles if tcmp = tcnt. This happens when a very low duty cycle is requested. Fix it by always ensuring that tcmp < tcnt. Signed-off-by: Peter Korsgaard <jacmet@xxxxxxxxxx> Signed-off-by: Ben Dooks <ben-linux@xxxxxxxxx> commit accff95c2500c7bce671c1f722de6f8810fe550d Author: Jiajun Wu <b06378@xxxxxxxxxxxxx> Date: Thu Jul 30 14:20:42 2009 -0700 gianfar: fix coalescing setup in ethtool support Parameter order for using mk_ic_value(count, time) was reversed, the patch fixes this. Signed-off-by: Jiajun Wu <b06378@xxxxxxxxxxxxx> Signed-off-by: Li Yang <leoli@xxxxxxxxxxxxx> Signed-off-by: David S. Miller <davem@xxxxxxxxxxxxx> commit 72fc939789dbe7ca091b50b686d45ac0df15417a Author: Eric Dumazet <eric.dumazet@xxxxxxxxx> Date: Tue Jul 28 23:43:08 2009 +0000 pppoe: fix /proc/net/pppoe If a socket is hashed in last slot of pppoe hash table (PPPOE_HASH_SIZE-1) we report it many times (up to filling seq buffer) (Only the last socket of last slot) Signed-off-by: Eric Dumazet <eric.dumazet@xxxxxxxxx> Signed-off-by: David S. Miller <davem@xxxxxxxxxxxxx> commit daed953721850381673687c59f3a0df553eb6626 Author: Frans Pop <elendil@xxxxxxxxx> Date: Thu Jul 30 17:16:05 2009 -0400 hp-wmi: check that an input device exists in resume handler Some systems may not support input events, or registering the input handler may have failed. So check that an input device exists before trying to set the docking and tablet mode state during resume. Fixes: http://bugzilla.kernel.org/show_bug.cgi?id=13865 Reported-and-tested-by: Cédric Godin <cedric@xxxxxxxxxx> Signed-off-by: Frans Pop <elendil@xxxxxxxxx> Acked-by: Matthew Garrett <mjg59@xxxxxxxxxxxxx> Signed-off-by: Len Brown <len.brown@xxxxxxxxx> commit f0c5b35c6c93c89a9d8ccab19b0b4842f5dfddc5 Author: roel kluin <roel.kluin@xxxxxxxxx> Date: Wed Jul 29 03:18:56 2009 +0000 eexpress: Read buffer overflow start_code is 69 words, but the code always writes a multiple of 16 words, so the last 11 words written are outside the array. Signed-off-by: Roel Kluin <roel.kluin@xxxxxxxxx> Signed-off-by: David S. Miller <davem@xxxxxxxxxxxxx> commit a3e8ee682003685b8b9c98c89340a42e48c3e813 Author: roel kluin <roel.kluin@xxxxxxxxx> Date: Wed Jul 29 23:46:59 2009 +0000 ipv4: ARP neigh procfs buffer overflow If arp_format_neigh_entry() can be called with n->dev->addr_len == 0, then a write to hbuffer[-1] occurs. Signed-off-by: Roel Kluin <roel.kluin@xxxxxxxxx> Signed-off-by: David S. Miller <davem@xxxxxxxxxxxxx> commit 3d54015b750e5d5e950a1dcee2735387fd4b6e1a Author: roel kluin <roel.kluin@xxxxxxxxx> Date: Thu Jul 30 00:26:32 2009 +0000 3c515: Write outside array bounds if dev_alloc_skb() fails on the first iteration, a write to cp->rx_ring[-1] occurs. Signed-off-by: Roel Kluin <roel.kluin@xxxxxxxxx> Signed-off-by: David S. Miller <davem@xxxxxxxxxxxxx> commit 2a8aaacda5097fa92a39948da1b4c6614b6e150e Author: Tobias Klauser <tklauser@xxxxxxxxxx> Date: Thu Jul 30 13:10:50 2009 -0700 docbook: fix printk of ip address Use the %pI4 format string instead of %d.%d.%d.%d and NIPQUAD. Signed-off-by: Tobias Klauser <tklauser@xxxxxxxxxx> Signed-off-by: Randy Dunlap <randy.dunlap@xxxxxxxxxx> Signed-off-by: David S. Miller <davem@xxxxxxxxxxxxx> commit e9956fae7dbce6ac770e7a00436c496ddbbd3215 Author: Tao Ma <tao.ma@xxxxxxxxxx> Date: Thu Jul 30 16:07:10 2009 +0800 ocfs2/quota: Release lock for error in ocfs2_quota_write. ocfs2_quota_write needs to release the lock if it fails to read quota block. So use "goto out" instead of "return err". Signed-off-by: Tao Ma <tao.ma@xxxxxxxxxx> Acked-by: Jan Kara <jack@xxxxxxx> Signed-off-by: Joel Becker <joel.becker@xxxxxxxxxx> commit a541f8401d8e9113a89ee902cb8d8e412d6d3569 Author: Michael Chan <mchan@xxxxxxxxxxxx> Date: Wed Jul 29 08:49:52 2009 +0000 iscsi: Use GFP_ATOMIC in iscsi_offload_mesg(). Changing to GFP_ATOMIC because the only caller in cnic/bnx2i may be calling this function while holding spin_lock. This problem was discovered by Mike Christie. Signed-off-by: Michael Chan <mchan@xxxxxxxxxxxx> Acked-by: Mike Christie <michaelc@xxxxxxxxxxx> Signed-off-by: David S. Miller <davem@xxxxxxxxxxxxx> commit ca7daea612b480ecf0fc5bd1630b88447fe73fc5 Author: Julia Lawall <julia@xxxxxxx> Date: Thu Jul 30 04:38:19 2009 +0000 net/netlabel: Add kmalloc NULL tests The test on map4 should be a test on map6. The semantic match that finds this problem is as follows: (http://www.emn.fr/x-info/coccinelle/) // <smpl> @@ expression *x; identifier f; constant char *C; @@ x = \(kmalloc\|kcalloc\|kzalloc\)(...); ... when != x == NULL when != x != NULL when != (x || ...) ( kfree(x) | f(...,C,...,x,...) | *f(...,x,...) | *x->f ) // </smpl> Signed-off-by: Julia Lawall <julia@xxxxxxx> Acked-by: Paul Moore <paul.moore@xxxxxx> Signed-off-by: David S. Miller <davem@xxxxxxxxxxxxx> commit a1b97440eec0ea3e53183cde8fe82ff8c1ffb091 Merge: 27fed4175acf81ddd91d9a4ee2fd298981f60295 89c3a8aca28e6d57f2ae945d97858a372d624b81 Author: David S. Miller <davem@xxxxxxxxxxxxx> Date: Thu Jul 30 10:35:45 2009 -0700 Merge branch 'master' of git://git.kernel.org/pub/scm/linux/kernel/git/linville/wireless-2.6 commit 0c2e39525b3b53a97a0202c5f35058147e53977e Author: ling.ma@xxxxxxxxx <ling.ma@xxxxxxxxx> Date: Fri Jul 17 11:44:30 2009 +0800 drm/i915: Add support for dual-channel LVDS on 8xx. This corresponds to a fix to UMS back in 2007. Fixes fd.o bug #20115. Signed-off-by: Ma Ling <ling.ma@xxxxxxxxx> Signed-off-by: Eric Anholt <eric@xxxxxxxxxx> commit 2b8d33f714477d1719f96459370037993520de84 Author: ling.ma@xxxxxxxxx <ling.ma@xxxxxxxxx> Date: Wed Jul 29 11:31:18 2009 +0800 drm/i915: Return disconnected for SDVO DVI when there's no digital EDID. The patch fixed a bug on MP965-D. When VGA is connected to a DVI-I connector, it incorrectly shows sdvo dvi as connected. Signed-off-by: Ma Ling <ling.ma@xxxxxxxxx> [anholt: hand-resolved against previous commit and fixed up commit message] Signed-off-by: Eric Anholt <eric@xxxxxxxxxx> commit ffd4bc2a984fab40ed969163efdff321490e8032 Author: Martin K. Petersen <martin.petersen@xxxxxxxxxx> Date: Wed Jul 29 14:06:53 2009 -0400 [SCSI] sd: Avoid sending extended inquiry to legacy devices Some USB devices crash when we send them an inquiry with the EVPD bit set, regardless of page requested (i.e. including page 0). We only need the extended inquiry to gain access to VPD pages 0xB0 and 0xB1. These appeared in SBC2 and SBC3 respectively, so we can restrict sending the extended inquiry to devices reporting SPC3 or higher. This fixes bugzilla.kernel.org #13657. Signed-off-by: Martin K. Petersen <martin.petersen@xxxxxxxxxx> [jejb: added comment] Signed-off-by: James Bottomley <James.Bottomley@xxxxxxxxxxxxxxxxxxxxx> commit dee865656f2d8b866f8ac22c60d6363b914e9f12 Author: Jan Kara <jack@xxxxxxx> Date: Wed Jul 22 18:12:17 2009 +0200 quota: Silence lockdep on quota_on Commit d01730d74d2b0155da50d44555001706294014f7 didn't completely fix the problem since we still take dqio_mutex and i_mutex in the wrong order. Move taking of i_mutex further down (luckily it's needed only for updating inode flags) below where dqio_mutex is taken. Tested-by: Valdis Kletnieks <valdis.kletnieks@xxxxxx> Signed-off-by: Jan Kara <jack@xxxxxxx> commit 4bf17af0dbfe4cf20cb750e22e8e926273e7a7a4 Author: Jan Kara <jack@xxxxxxx> Date: Tue Jul 14 19:30:23 2009 +0200 udf: Fix loading of VAT inode when drive wrongly reports number of recorded blocks VAT inode is located in the last block recorded block of the medium. When the drive errorneously reports number of recorded blocks, we failed to load the VAT inode and thus mount the medium. This patch makes kernel try to read VAT inode from the last block of the device if it is different from the last recorded block. Signed-off-by: Jan Kara <jack@xxxxxxx> commit 19252de6818ced0def0551d64a0a2975f52a523d Author: Tom Peng <tom_peng@xxxxxxxxx> Date: Fri Jul 17 16:02:04 2009 +0800 [SCSI] libsas: fix wide port hotplug issues Hotplug of phys which form wide ports simply does not work at the moment. Fix this by adding checks at the hotplug points to see if the attached sas address of the phy already exists (in which case it's part of a wide port) and act accordingly. Signed-off-by: Tom Peng <tom_peng@xxxxxxxxx> Signed-off-by: Jack Wang <jack_wang@xxxxxxxxx> Signed-off-by: Lindar Liu <lindar_liu@xxxxxxxxx> Signed-off-by: Kevin Ao <aoqingyun@xxxxxxxxx> [jejb: tidied up coding, fixed an error case and made TRUE/FALSE lower case to fix a ppc64 compile error in linux-next] Signed-off-by: James Bottomley <James.Bottomley@xxxxxxxxxxxxxxxxxxxxx> commit f36f3042eae238bdaefe7c79310afe573bfc3622 Author: Chris Mason <chris.mason@xxxxxxxxxx> Date: Thu Jul 30 10:04:48 2009 -0400 Btrfs: be more polite in the async caching threads The semaphore used by the async caching threads can prevent a transaction commit, which can make the FS appear to stall. This releases the semaphore more often when a transaction commit is in progress. Signed-off-by: Chris Mason <chris.mason@xxxxxxxxxx> commit a0cc1ecc098e31d03b3265712a3e280a7fabf438 Author: Vasu Dev <vasu.dev@xxxxxxxxx> Date: Tue Jul 28 17:33:37 2009 -0700 [SCSI] libfc: fix a circular locking warning during sending RRQ Currently the fc_exch_rrq is called with fc_exch's ex_lock held. The fc_exch_rrq allocates new exch and that requires taking ex_lock again after EM lock. This locking order causes warning, see more details on this warning at :- http://www.open-fcoe.org/pipermail/devel/2009-July/003251.html This patch fixes this by dropping the ex_lock before calling fc_exch_rrq(). The fc_exch_rrq needs to grab ex_lock lock again to schedule RRQ retry and in the meanwhile fc_exch_reset could occur before ex_lock is grabbed inside fc_exch_rrq. So to handle this case, this patch adds additional check to detect fc_exch_reset after ex_lock acquired and in case the fc_exch_reset occurred then abandons the RRQ retry and releases the exch. Signed-off-by: Vasu Dev <vasu.dev@xxxxxxxxx> Signed-off-by: Robert Love <robert.w.love@xxxxxxxxx> Signed-off-by: James Bottomley <James.Bottomley@xxxxxxxxxxxxxxxxxxxxx> commit 16ed55f9de6743ceece9bf528362cadff10f1c5c Author: Karen Higgins <karen.higgins@xxxxxxxxxx> Date: Wed Jul 15 15:03:02 2009 -0500 [SCSI] qla4xxx: Remove hiwat code so scsi eh does not get escalated when we can make progress Removed unnecessary hiwat code to free up the number available IOCBs. Eliminates unnecessary eh_ escalations due to inability to obtain IOCB pkt for marker. v2. - Remove define not used anymore and fix req_q_coun accounting. Signed-off-by: Karen Higgins <karen.higgins@xxxxxxxxxx> [michaelc: ported patch from qlogic.com driver to upstream] Signed-off-by: Mike Christie <michaelc@xxxxxxxxxxx> Signed-off-by: James Bottomley <James.Bottomley@xxxxxxxxxxxxxxxxxxxxx> commit 612f73488785829d4f34aad00bfe30b904c94c9e Author: Karen Higgins <karen.higgins@xxxxxxxxxx> Date: Wed Jul 15 15:03:01 2009 -0500 [SCSI] qla4xxx: Fix srb lookup in qla4xxx_eh_device_reset eh_device_reset may be called from scsi error handler or sg_reset, etc. When called from sg_reset, there will not be an associated srb. The driver should lookup the corresponding device handle given information from the supplied cmd structure and should not assume that there exists an srb. Signed-off-by: Karen Higgins <karen.higgins@xxxxxxxxxx> Signed-off-by: Mike Christie <michaelc@xxxxxxxxxxx> Signed-off-by: James Bottomley <James.Bottomley@xxxxxxxxxxxxxxxxxxxxx> commit dca05c4c07c48da0509708d9e562578d269e90e5 Author: Karen Higgins <karen.higgins@xxxxxxxxxx> Date: Wed Jul 15 15:03:00 2009 -0500 [SCSI] qla4xxx: Fix Driver Fault Recovery Completion Fixed driver bug where adapter recovery did not complete if there were outstanding commands detected on that host adapter. Signed-off-by: Karen Higgins <karen.higgins@xxxxxxxxxx> Signed-off-by: Mike Christie <michaelc@xxxxxxxxxxx> Signed-off-by: James Bottomley <James.Bottomley@xxxxxxxxxxxxxxxxxxxxx> commit 5c656af7e4edfe44c85034d6fa7002909f9c3c59 Author: Mike Christie <michaelc@xxxxxxxxxxx> Date: Wed Jul 15 15:02:59 2009 -0500 [SCSI] qla4xxx: add timeout handler Recently dm-multipath began calling blk_abort_queue. This causes all the commands/request running on the path to have the timeout function called. If a path does go down, and the LLD returns DID_*, dm-multpiath will eventually get this error and begin to call the cmd timeout handler. qla4xxx currently does not set a timed out handler and so the default one could return BLK_EH_NOT_HANDLED and end up firing the scsi eh and stopping IO to all paths on the host when only one path is affected. For software and offload iscsi we have a timed out handler already. This patch adds a driver specific one to qla4xxx because there are some ddb->state and session->state and command completion races that are better handled in the LLD. This also handles the problem where if the session is down, we do not need the scsi eh to run until the transport code has tried to reconnect us. Signed-off-by: Mike Christie <michaelc@xxxxxxxxxxx> Signed-off-by: James Bottomley <James.Bottomley@xxxxxxxxxxxxxxxxxxxxx> commit 94bced3c1b371014cbd187f2df5539b13a0e3b90 Author: Karen Higgins <karen.higgins@xxxxxxxxxx> Date: Wed Jul 15 15:02:58 2009 -0500 [SCSI] qla4xxx: Correct Extended Sense Data Errors Fixed sense data errors occurring above the first 32 bytes, as required by some third party applications. Sense data in the first 32 bytes has always been correct. Patch updated to use srb data variables instead of scsi command scratchpad data area, as scratchpad area is already used. Also, corrected debug print alignment bug in dump_buffer routine. Changed KERN_DEBUG to KERN_INFO in printk statements in this routine. Changed version number to 5.01.00-k9 Signed-off-by: Karen Higgins <karen.higgins@xxxxxxxxxx> [michaelc: fixed checkpath.pl errors] Signed-off-by: Mike Christie <michaelc@xxxxxxxxxxx> Signed-off-by: James Bottomley <James.Bottomley@xxxxxxxxxxxxxxxxxxxxx> commit 6187c242089d334102be76427a5a020240e6c19a Author: Mike Christie <michaelc@xxxxxxxxxxx> Date: Wed Jul 15 15:02:57 2009 -0500 [SCSI] libiscsi: disable bh in and abort handler. The session lock can be held in the scsi eh thread or the completion paths run from the net softirq. This disables bhs in iscsi_eh_abort when taking the session lock. Signed-off-by: Mike Christie <michaelc@xxxxxxxxxxx> Signed-off-by: James Bottomley <James.Bottomley@xxxxxxxxxxxxxxxxxxxxx> commit a11a52be115889a5d1f738ed2e154807bceed4ee Author: Christof Schmitt <christof.schmitt@xxxxxxxxxx> Date: Mon Jul 13 15:06:14 2009 +0200 [SCSI] zfcp: Fix tracing of request id for abort requests The trace record for SCSI abort requests has a field for the request id of the request to be aborted. Put the real request id instead of zero. Reviewed-by: Swen Schillig <swen@xxxxxxxxxxxx> Signed-off-by: Christof Schmitt <christof.schmitt@xxxxxxxxxx> Signed-off-by: James Bottomley <James.Bottomley@xxxxxxxxxxxxxxxxxxxxx> commit 27f492ccec94b6acd8440c83bfe0515ce4db0af0 Author: Swen Schillig <swen@xxxxxxxxxxxx> Date: Mon Jul 13 15:06:13 2009 +0200 [SCSI] zfcp: Fix wka port processing Under certain conditions it is possible that a WKA port ist not opened within the expected timeframe of half a second. In this situation the WKA port remains in the state OPENING preventing any succeding request to open the port. This led to unrecoverable remote ports. Fixing this by always setting an appropriate WKA port status before leaving the function and removing the timeout value here since it's not needed here because the general timeout processing would deal with it if required. Signed-off-by: Swen Schillig <swen@xxxxxxxxxxxx> Signed-off-by: Christof Schmitt <christof.schmitt@xxxxxxxxxx> Signed-off-by: James Bottomley <James.Bottomley@xxxxxxxxxxxxxxxxxxxxx> commit 17a093ef018481ee1760da19568bad3c11da395d Author: Swen Schillig <swen@xxxxxxxxxxxx> Date: Mon Jul 13 15:06:12 2009 +0200 [SCSI] zfcp: avoid double notify in lowmem scenario In a LOWMEM condition an ERP notification would have been sent twice causing an unpredictable behaviour of the ERP. Signed-off-by: Swen Schillig <swen@xxxxxxxxxxxx> Signed-off-by: Christof Schmitt <christof.schmitt@xxxxxxxxxx> Signed-off-by: James Bottomley <James.Bottomley@xxxxxxxxxxxxxxxxxxxxx> commit 379d6bf6573ee6541a38bbe9140c1f0b94e3feae Author: Christof Schmitt <christof.schmitt@xxxxxxxxxx> Date: Mon Jul 13 15:06:11 2009 +0200 [SCSI] zfcp: Add port only once to FC transport class When calling fc_remote_port_add make sure to not call it again before fc_remote_port_delete has been called. In other words, ensure to create a new fc_rport, then delete it, then create a new one again. Reviewed-by: Swen Schillig <swen@xxxxxxxxxxxx> Signed-off-by: Christof Schmitt <christof.schmitt@xxxxxxxxxx> Signed-off-by: James Bottomley <James.Bottomley@xxxxxxxxxxxxxxxxxxxxx> commit cbf1ed0264da104573458aedc220ebfcd02567f6 Author: Christof Schmitt <christof.schmitt@xxxxxxxxxx> Date: Mon Jul 13 15:06:10 2009 +0200 [SCSI] zfcp: Recover from stalled outbound queue Depending on interruptions on some storage systems, the complete channel can stall which looks like an outbound queue stall to Linux. When trying to acquire a free SBAL for a non-SCSI command, zfcp waits for 5 seconds for a free slot to appear. This is the right place to detect a queue stall: If the wait times out, we assume a stalled queue and try to recover this. The overall strategy should be to trigger the erp from specific events, and not try an overall escalation from one failed port to a full-blown queue recovery. If we manage to send a command, the status codes for this command or a timeout will trigger the right follow-on actions. Reviewed-by: Swen Schillig <swen@xxxxxxxxxxxx> Signed-off-by: Christof Schmitt <christof.schmitt@xxxxxxxxxx> Signed-off-by: James Bottomley <James.Bottomley@xxxxxxxxxxxxxxxxxxxxx> commit 85600f7f8370fe5b4be0debd8b401de7986b52ae Author: Christof Schmitt <christof.schmitt@xxxxxxxxxx> Date: Mon Jul 13 15:06:09 2009 +0200 [SCSI] zfcp: Fix erp escalation procedure If an action fails, retry it until the erp count exceeds the threshold. If there is something fundamentally wrong, the FSF layer will trigger a more appropriate action depending on the FSF status codes. The followup for successful actions is a different followup than retrying failed actions, so split the code two functions to make this clear. Reviewed-by: Swen Schillig <swen@xxxxxxxxxxxx> Signed-off-by: Christof Schmitt <christof.schmitt@xxxxxxxxxx> Signed-off-by: James Bottomley <James.Bottomley@xxxxxxxxxxxxxxxxxxxxx> commit ddb3e0c111fed0a8bf74884dc918274acec2b618 Author: Christof Schmitt <christof.schmitt@xxxxxxxxxx> Date: Mon Jul 13 15:06:08 2009 +0200 [SCSI] zfcp: Fix logic for physical port close After closing the port, we want it to be "not open" to consider the action to be successful. Reviewed-by: Swen Schillig <swen@xxxxxxxxxxxx> Signed-off-by: Christof Schmitt <christof.schmitt@xxxxxxxxxx> Signed-off-by: James Bottomley <James.Bottomley@xxxxxxxxxxxxxxxxxxxxx> commit 9072df4dc6e8fd569d583815edb0198af4b688b8 Author: Christof Schmitt <christof.schmitt@xxxxxxxxxx> Date: Mon Jul 13 15:06:07 2009 +0200 [SCSI] zfcp: Use -EIO for SBAL allocation failures -ENOMEM is for memory allocation problems, -EIO for queue/SBAL allocation problems. Reviewed-by: Swen Schillig <swen@xxxxxxxxxxxx> Signed-off-by: Christof Schmitt <christof.schmitt@xxxxxxxxxx> Signed-off-by: James Bottomley <James.Bottomley@xxxxxxxxxxxxxxxxxxxxx> commit 426f6059b0eb66cec139f4b9066168ab72b85774 Author: Christof Schmitt <christof.schmitt@xxxxxxxxxx> Date: Mon Jul 13 15:06:06 2009 +0200 [SCSI] zfcp: Use unchained mode for small ct and els requests The ELS ADISC and the GID_PN requests sent from zfcp fit into unchained FSF requests. Change the FSF allocation logic to use unchained requests whenever possible where everything fits in one SBAL. This avoids acquiring more SBALs than necessary, especially during zfcp recovery when things might be stalled. Reviewed-by: Swen Schillig <swen@xxxxxxxxxxxx> Signed-off-by: Christof Schmitt <christof.schmitt@xxxxxxxxxx> Signed-off-by: James Bottomley <James.Bottomley@xxxxxxxxxxxxxxxxxxxxx> commit 688a1820bde27749f22b18b94ef1c9bc179b1b29 Author: Christof Schmitt <christof.schmitt@xxxxxxxxxx> Date: Mon Jul 13 15:06:05 2009 +0200 [SCSI] zfcp: Use correct flags for zfcp_erp_notify zfcp_erp_notify uses the ZFCP_ERP_STATUS_* flags, so it is ZFCP_STATUS_ERP_LOWMEM instead of ZFCP_ERP_NOMEM. Signalling ZFCP_ERP_FAILED is not necessary, the missing d_id will show that the nameserver did not return the d_id. Reviewed-by: Swen Schillig <swen@xxxxxxxxxxxx> Signed-off-by: Christof Schmitt <christof.schmitt@xxxxxxxxxx> Signed-off-by: James Bottomley <James.Bottomley@xxxxxxxxxxxxxxxxxxxxx> commit 1e9b16430ff4fd09408a74342d6b8338228e2f70 Author: Christof Schmitt <christof.schmitt@xxxxxxxxxx> Date: Mon Jul 13 15:06:04 2009 +0200 [SCSI] zfcp: Return -ENOMEM for allocation failures in zfcp_fsf When a fsf_req or a qtcb cannot be allocated return -ENOMEM instead of -EIO. Reviewed-by: Swen Schillig <swen@xxxxxxxxxxxx> Signed-off-by: Christof Schmitt <christof.schmitt@xxxxxxxxxx> Signed-off-by: James Bottomley <James.Bottomley@xxxxxxxxxxxxxxxxxxxxx> commit acf7b86150701de105aa8307b4b3f9dc533c45bb Author: Christof Schmitt <christof.schmitt@xxxxxxxxxx> Date: Mon Jul 13 15:06:03 2009 +0200 [SCSI] zfcp: Acquire qdio_stat_lock when reading the queue utilization req_q_util is not atomic, so the qdio_stat_lock must be held when reading this variable. Reviewed-by: Swen Schillig <swen@xxxxxxxxxxxx> Signed-off-by: Christof Schmitt <christof.schmitt@xxxxxxxxxx> Signed-off-by: James Bottomley <James.Bottomley@xxxxxxxxxxxxxxxxxxxxx> commit dfb3cf00e402686f671db697adbd8b9f4c219268 Author: Swen Schillig <swen@xxxxxxxxxxxx> Date: Mon Jul 13 15:06:02 2009 +0200 [SCSI] zfcp: Fix invalid command order We should not modify the port status after triggering an ERP action for the port. It is not guaranteed which status is finally active when the ERP action is performed. This can lead to situations which are unwanted and hard to debug in case of a failure. Signed-off-by: Swen Schillig <swen@xxxxxxxxxxxx> Signed-off-by: Christof Schmitt <christof.schmitt@xxxxxxxxxx> Signed-off-by: James Bottomley <James.Bottomley@xxxxxxxxxxxxxxxxxxxxx> commit 276e680d192a67d222fcea51af37b056feffb665 Author: Yan Zheng <zheng.yan@xxxxxxxxxx> Date: Thu Jul 30 09:40:40 2009 -0400 Btrfs: preserve commit_root for async caching The async block group caching code uses the commit_root pointer to get a stable version of the extent allocation tree for scanning. This copy of the tree root isn't going to change and it significantly reduces the complexity of the scanning code. During a commit, we have a loop where we update the extent allocation tree root. We need to loop because updating the root pointer in the tree of tree roots may allocate blocks which may change the extent allocation tree. Right now the commit_root pointer is changed inside this loop. It is more correct to change the commit_root pointer only after all the looping is done. Signed-off-by: Yan Zheng <zheng.yan@xxxxxxxxxx> Signed-off-by: Chris Mason <chris.mason@xxxxxxxxxx> commit b94a170e96dc416828af9d350ae2e34b70ae7347 Author: Benjamin Marzinski <bmarzins@xxxxxxxxxx> Date: Thu Jul 23 18:52:34 2009 -0500 GFS2: remove dcache entries for remote deleted inodes When a file is deleted from a gfs2 filesystem on one node, a dcache entry for it may still exist on other nodes in the cluster. If this happens, gfs2 will be unable to free this file on disk. Because of this, it's possible to have a gfs2 filesystem with no files on it and no free space. With this patch, when a node receives a callback notifying it that the file is being deleted on another node, it schedules a new workqueue thread to remove the file's dcache entry. Signed-off-by: Benjamin Marzinski <bmarzins@xxxxxxxxxx> Signed-off-by: Steven Whitehouse <swhiteho@xxxxxxxxxx> commit 6b94617024bd6810cde1d0d491202c30d5a38d91 Author: Benjamin Marzinski <bmarzins@xxxxxxxxxx> Date: Fri Jul 10 18:13:26 2009 -0500 GFS2: Fix incorrent statfs consistency check Since both linked and unlinked inodes are counted by rgd->rd_dinodes, It makes no sense to count them with the used data blocks (first check that I changed), it makes sense to count them with the linked inodes (second check), and it makes no sense to care if there are more unlinked inodes than linked ones. This fixes these errors. Signed-off-by: Benjamin Marzinski <bmarzins@xxxxxxxxxx> Signed-off-by: Steven Whitehouse <swhiteho@xxxxxxxxxx> commit 8ff22a6f9bdaac87c0eeb1d56c736181f11b4221 Author: Benjamin Marzinski <bmarzins@xxxxxxxxxx> Date: Fri Jul 10 18:04:24 2009 -0500 GFS2: Don't put unlikely reclaim candidates on the reclaim list. GFS2 was placing far too many glocks on the reclaim list that were not good candidates for freeing up from cache. These locks would sit there and repeatedly get scanned to see if they could be reclaimed, wasting a lot of time when there was memory pressure. This fix does more checks on the locks to see if they are actually likely to be removable from cache. Signed-off-by: Benjamin Marzinski <bmarzins@xxxxxxxxxx> Signed-off-by: Steven Whitehouse <swhiteho@xxxxxxxxxx> commit 1e19a19584b332eb92a573b66b7342fb97e67507 Author: Steven Whitehouse <swhiteho@xxxxxxxxxx> Date: Fri Jul 10 21:13:38 2009 +0100 GFS2: Don't try and dealloc own inode When searching for unlinked, but still allocated inodes during block allocation, avoid the block relating to the inode that is doing the allocation. This fixes a hang caused when an unlinked, but still open, inode tries to allocate some more blocks and lands up finding itself during the search for deallocatable inodes. Signed-off-by: Steven Whitehouse <swhiteho@xxxxxxxxxx> commit a51b56fff3f04fc5aa66b21a2a6d693ee9862d66 Author: Benjamin Marzinski <bmarzins@xxxxxxxxxx> Date: Tue Jun 30 13:51:11 2009 -0500 GFS2: Fix panic in glock memory shrinker It is possible for gfs2_shrink_glock_memory() to check a glock for demotion that's in the process of being freed by gfs2_glock_put(). In this case, gfs2_shrink_glock_memory() will acquire a new reference to this glock, and then try to free the glock itself when it drops the refernce. To solve this, gfs2_shrink_glock_memory() just needs to check if the glock is in the process of being freed, and if so skip it without ever unlocking the lru_lock. Signed-off-by: Benjamin Marzinski <bmarzins@xxxxxxxxxx> Acked-by: Bob Peterson <rpeterso@xxxxxxxxxx> Signed-off-by: Steven Whitehouse <swhiteho@xxxxxxxxxx> commit 1946f70ab5e4eb8b54a8eaaedba2293a3750ab7e Author: Benjamin Marzinski <bmarzins@xxxxxxxxxx> Date: Thu Jun 25 15:09:51 2009 -0500 GFS2: keep statfs info in sync on grows GFS2 wasn't syncing its statfs info on grows. This causes a problem when you grow the filesystem on multiple nodes. GFS2 would calculate the new space based on the resource groups (which are always current), and then assume that the filesystem had grown the from the existing statfs size. If you grew the filesystem on two different nodes in a short time, the second node wouldn't see the statfs size change from the first node, and would assume that it was grown by a larger amount than it was. When all these changes were synced out, the total fileystem size would be incorrect (the first grow would be counted twice). This patch syncs makes GFS2 read in the statfs changes from disk before a grow, and write them out after the grow, while the master statfs inode is locked. Signed-off-by: Benjamin Marzinski <bmarzins@xxxxxxxxxx> Signed-off-by: Steven Whitehouse <swhiteho@xxxxxxxxxx> commit 2163b1e616c41c286f5ab79912671cd4bf52057c Author: Steven Whitehouse <swhiteho@xxxxxxxxxx> Date: Thu Jun 25 16:30:26 2009 +0100 GFS2: Shrink the shrinker This patch removes some of the special cases that the shrinker was trying to deal with. As a result we leave fewer items on the list and none at all which cannot be demoted. This makes the list scanning more efficient and solves some issues seen with large numbers of inodes. Signed-off-by: Steven Whitehouse <swhiteho@xxxxxxxxxx> commit 320145fac91955ee35a6af7e1c2b42388a17b3d8 Author: Yegor Yefremov <yegorslists@xxxxxxxxxxxxxx> Date: Thu Jul 9 08:48:03 2009 +0100 ARM: 5597/1: [PCI] reset all internal hardware prior PCI initialization Make software reset to avoid freeze if PCI bus was messed up Signed-off-by: Yegor Yefremov <yegorslists@xxxxxxxxxxxxxx> Acked-by: Andrew Victor <linux@xxxxxxxxxxxx> Signed-off-by: Russell King <rmk+kernel@xxxxxxxxxxxxxxxx> commit 0a52ac8d181e938d640c2da70cad6d1301abe775 Merge: e81b795d44ba04beab7714de65ed2e377823bd37 9b71de49b030ad8fd4d13d38571b5c42dc9ed8dd Author: Russell King <rmk@xxxxxxxxxxxxxxxxxxxxxxx> Date: Thu Jul 30 10:47:55 2009 +0100 Merge branch 's3c-fixes-rc4' of git://aeryn.fluff.org.uk/bjdooks/linux commit e81b795d44ba04beab7714de65ed2e377823bd37 Merge: 5dbc80f69e131ecca42a5958b7785a57851c80d7 42469ff014812880d7324285d165841f4b1814e7 Author: Russell King <rmk@xxxxxxxxxxxxxxxxxxxxxxx> Date: Thu Jul 30 10:47:09 2009 +0100 Merge branch 'mxc-defconfig-updates' of git://git.pengutronix.de/git/imx/linux-2.6 commit 5dbc80f69e131ecca42a5958b7785a57851c80d7 Merge: 3ef7143d2287b21e09e00a25a8cb4fbdcf0c6c4c 1d3e216f1d303878d7204de94dee251bc2702175 Author: Russell King <rmk@xxxxxxxxxxxxxxxxxxxxxxx> Date: Thu Jul 30 10:46:12 2009 +0100 Merge branch 'fix' of git://git.kernel.org/pub/scm/linux/kernel/git/ycmiao/pxa-linux-2.6 commit 3ef7143d2287b21e09e00a25a8cb4fbdcf0c6c4c Author: Uwe Kleine-König <u.kleine-koenig@xxxxxxxxxxxxxx> Date: Wed Jul 29 19:31:30 2009 +0100 ARM: 5627/1: Fix restoring of lr at the end of mcount After ftrace_trace_function is called r1 is probably clobbered so don't try to use its value for restoring. This was introduced in v2.6.29~38^2~7 Signed-off-by: Uwe Kleine-König <u.kleine-koenig@xxxxxxxxxxxxxx> Signed-off-by: Russell King <rmk+kernel@xxxxxxxxxxxxxxxx> commit e624859e7eb6ae2930df3923af73406dc6ccdad8 Author: Linus Walleij <linus.walleij@xxxxxxxxxxxxxx> Date: Mon Jul 27 22:11:59 2009 +0100 ARM: 5624/1: Document cache aliasing region Augment the memory.txt file for ARM to list the cache aliasing region ffff4000-fffffff. Signed-off-by: Linus Walleij <linus.walleij@xxxxxxxxxxxxxx> Signed-off-by: Russell King <rmk+kernel@xxxxxxxxxxxxxxxx> commit 1842f23c05b6a866be831aa60bc8a8731c58ddd0 Author: Rusty Russell <rusty@xxxxxxxxxxxxxxx> Date: Thu Jul 30 16:03:46 2009 -0600 lguest and virtio: cleanup struct definitions to Linux style. I've been doing this for years, and akpm picked me up on it about 12 months ago. lguest partly serves as example code, so let's do it Right. Also, remove two unused fields in struct vblk_info in the example launcher. Signed-off-by: Rusty Russell <rusty@xxxxxxxxxxxxxxx> Cc: Ingo Molnar <mingo@xxxxxxxxxx> commit a91d74a3c4de8115295ee87350c13a329164aaaf Author: Rusty Russell <rusty@xxxxxxxxxxxxxxx> Date: Thu Jul 30 16:03:45 2009 -0600 lguest: update commentry Every so often, after code shuffles, I need to go through and unbitrot the Lguest Journey (see drivers/lguest/README). Since we now use RCU in a simple form in one place I took the opportunity to expand that explanation. Signed-off-by: Rusty Russell <rusty@xxxxxxxxxxxxxxx> Cc: Ingo Molnar <mingo@xxxxxxxxxx> Cc: Paul McKenney <paulmck@xxxxxxxxxxxxxxxxxx> commit 2e04ef76916d1e29a077ea9d0f2003c8fd86724d Author: Rusty Russell <rusty@xxxxxxxxxxxxxxx> Date: Thu Jul 30 16:03:45 2009 -0600 lguest: fix comment style I don't really notice it (except to begrudge the extra vertical space), but Ingo does. And he pointed out that one excuse of lguest is as a teaching tool, it should set a good example. Signed-off-by: Rusty Russell <rusty@xxxxxxxxxxxxxxx> Cc: Ingo Molnar <mingo@xxxxxxxxxx> commit e969fed542cae08cb11d666efac4f7c5d624d09f Author: Michael S. Tsirkin <mst@xxxxxxxxxx> Date: Sun Jul 26 15:48:08 2009 +0300 virtio: refactor find_vqs This refactors find_vqs, making it more readable and robust, and fixing two regressions from 2.6.30: - double free_irq causing BUG_ON on device removal - probe failure when vq can't be assigned to msi-x vector (reported on old host kernels) Tested-by: Amit Shah <amit.shah@xxxxxxxxxx> Signed-off-by: Michael S. Tsirkin <mst@xxxxxxxxxx> Signed-off-by: Rusty Russell <rusty@xxxxxxxxxxxxxxx> commit f6c82507030d61e15928d5cad946d3eac1c4a384 Author: Michael S. Tsirkin <mst@xxxxxxxxxx> Date: Sun Jul 26 15:48:01 2009 +0300 virtio: delete vq from list This makes delete vq the reverse of find vq. This is required to make it possible to retry find_vqs after a failure, otherwise the list gets corrupted. Signed-off-by: Michael S. Tsirkin <mst@xxxxxxxxxx> Signed-off-by: Rusty Russell <rusty@xxxxxxxxxxxxxxx> commit ff52c3fc7188855ede75d87b022271f0da309e5b Author: Michael S. Tsirkin <mst@xxxxxxxxxx> Date: Thu Jul 23 14:57:37 2009 +0300 virtio: fix memory leak on device removal Make vp_free_vectors do the reverse of vq_request_vectors. Signed-off-by: Michael S. Tsirkin <mst@xxxxxxxxxx> Signed-off-by: Rusty Russell <rusty@xxxxxxxxxxxxxxx> commit 8ef562d112c82ec539775698f8b63ac5ec1bd766 Author: Rusty Russell <rusty@xxxxxxxxxxxxxxx> Date: Thu Jul 30 16:03:43 2009 -0600 lguest: fix descriptor corruption in example launcher 1d589bb16b825b3a7b4edd34d997f1f1f953033d "Add serial number support for virtio_blk, V4a" extended 'struct virtio_blk_config' to 536 bytes. Lguest and S/390 both use an 8 bit value for the feature length, and this change broke them (if the code is naive). Signed-off-by: Rusty Russell <rusty@xxxxxxxxxxxxxxx> Cc: John Cooper <john.cooper@xxxxxxxxxx> Cc: Christian Borntraeger <borntraeger@xxxxxxxxxx> commit f294526279cda8934b0313ebd02184a16ba888c9 Author: Dan Carpenter <error27@xxxxxxxxx> Date: Sun Jul 19 14:46:09 2009 +0300 lguest: dereferencing freed mem in add_eventfd() "new" was freed and then dereferenced. Also the return value wasn't being used so I modified the caller as well. Compile tested only. Found by smatch (http://repo.or.cz/w/smatch.git). regards, dan carpenter Signed-off-by: Dan Carpenter <error27@xxxxxxxxx> Signed-off-by: Rusty Russell <rusty@xxxxxxxxxxxxxxx> commit 34466c5be4dd1490acf98e6d2ff8f3728d8ca5c1 Author: Kumar Gala <galak@xxxxxxxxxxxxxxxxxxx> Date: Wed Jul 29 23:34:01 2009 -0500 powerpc: Update defconfigs for embedded 6xx/7xxx, 8xx, 8{3,5,6}xxx Signed-off-by: Kumar Gala <galak@xxxxxxxxxxxxxxxxxxx> commit 083e268c8b78606658f2e4524168ff45825d879e Author: Martyn Welch <martyn.welch@xxxxxxxxxxx> Date: Thu Jul 2 15:18:44 2009 +0100 powerpc/86xx: Update GE Fanuc sbc310 default configuration General update of defconfig including the following notable changes: - Enable Highmem support. - Support for PCMCIA based daughter card. Signed-off-by: Martyn Welch <martyn.welch@xxxxxxxxxxx> Signed-off-by: Kumar Gala <galak@xxxxxxxxxxxxxxxxxxx> commit f27d4d47dcf8906c8a22908dc1d32ec641e9fbe0 Author: Martyn Welch <martyn.welch@xxxxxxxxxxx> Date: Thu Jul 2 15:18:35 2009 +0100 powerpc/86xx: Update defconfig for GE Fanuc's PPC9A General update of defconfig including the following notable changes: - Enable GPIO access via sysfs on GE Fanuc's PPC9A. - Enable Highmem support. - Support for PCMCIA based daughter card. Signed-off-by: Martyn Welch <martyn.welch@xxxxxxxxxxx> Signed-off-by: Kumar Gala <galak@xxxxxxxxxxxxxxxxxxx> commit 6e900de3fff01e84c96632409359a84825c54b28 Author: Mark Ware <mware@xxxxxxxxxxxxxxx> Date: Mon Jul 20 21:51:03 2009 +1000 cpm_uart: Don't use alloc_bootmem in cpm_uart_cpm2.c This is another alloc_bootmem() -> kzalloc() change, this time to fix the non-fatal badness caused when booting with a cpm2_uart console. Signed-off-by: Mark Ware <mware@xxxxxxxxxxxxxxx> Signed-off-by: Kumar Gala <galak@xxxxxxxxxxxxxxxxxxx> commit 1333c3d6d35bdb109ddbd4b7086cbf066a27b156 Author: Anton Vorontsov <avorontsov@xxxxxxxxxxxxx> Date: Tue Jul 21 01:36:43 2009 +0400 powerpc/83xx: Fix PCI IO base address on MPC837xE-RDB boards U-Boot maps PCI IO at 0xe0300000, while current dts files specify 0xe2000000. This leads to the following oops with CONFIG_8139TOO_PIO=y. 8139too Fast Ethernet driver 0.9.28 Machine check in kernel mode. Caused by (from SRR1=41000): Transfer error ack signal Oops: Machine check, sig: 7 [#1] MPC837x RDB [...] NIP [00000900] 0x900 LR [c0439df8] rtl8139_init_board+0x238/0x524 Call Trace: [cf831d90] [c0439dcc] rtl8139_init_board+0x20c/0x524 (unreliable) [cf831de0] [c043a15c] rtl8139_init_one+0x78/0x65c [cf831e40] [c0235250] pci_call_probe+0x20/0x30 [...] This patch fixes the issue by specifying the correct PCI IO base address. Signed-off-by: Anton Vorontsov <avorontsov@xxxxxxxxxxxxx> Signed-off-by: Kumar Gala <galak@xxxxxxxxxxxxxxxxxxx> commit 8a0b177f367a8fd03dc5ba1f5a4494d1424471aa Author: Anton Vorontsov <cbouatmailru@xxxxxxxxx> Date: Wed Jul 1 21:39:25 2009 +0400 powerpc/85xx: Don't scan for TBI PHY addresses on MPC8569E-MDS boards Sometimes (e.g. when there are no UEMs attached to a board) fsl_pq_mdio_find_free() fails to find a spare address for a TBI PHY, this is because get_phy_id() returns bogus 0x0000ffff values (0xffffffff is expected), and therefore mdio bus probing fails with the following message: fsl-pq_mdio: probe of e0082120.mdio failed with error -16 And obviously ethernet doesn't work after this. This patch solves the problem by adding tbi-phy node into mdio node, so that we won't scan for spare addresses, we'll just use a fixed one. Signed-off-by: Anton Vorontsov <avorontsov@xxxxxxxxxxxxx> Signed-off-by: Kumar Gala <galak@xxxxxxxxxxxxxxxxxxx> commit c4673f9a32d7b02bcd2057763d3d368efe5809c3 Author: Anton Vorontsov <avorontsov@xxxxxxxxxxxxx> Date: Wed Jun 24 20:30:28 2009 +0400 powerpc/85xx: Fix ethernet link detection on MPC8569E-MDS boards Linux isn't able to detect link changes on ethernet ports that were used by U-Boot. This is because U-Boot wrongly clears interrupt polarity bit (INTPOL, 0x400) in the extended status register (EXT_SR, 0x1b) of Marvell PHYs. There is no easy way for PHY drivers to know IRQ line polarity (we could extract it from the device tree and pass it to phydevs, but that'll be quite a lot of work), so for now just reset the PHYs to their default states. Signed-off-by: Anton Vorontsov <avorontsov@xxxxxxxxxxxxx> Signed-off-by: Kumar Gala <galak@xxxxxxxxxxxxxxxxxxx> commit 5156ddce6c0a152ee7ccab2c976c6a8abc8a49b5 Author: Kumar Gala <galak@xxxxxxxxxxxxxxxxxxx> Date: Wed Jul 29 23:04:25 2009 -0500 powerpc/mm: Fix SMP issue with MMU context handling code In switch_mmu_context() if we call steal_context_smp() to get a context to use we shouldn't fall through and than call steal_context_up(). Doing so can be problematic in that the 'mm' that steal_context_up() ends up using will not get marked dirty in the stale_map[] for other CPUs that might have used that mm. Thus we could end up with stale TLB entries in the other CPUs that can cause all kinda of havoc. Signed-off-by: Kumar Gala <galak@xxxxxxxxxxxxxxxxxxx> commit 658874f05d040ca96eb5ba9b1c30ce0ff287d762 Merge: 91a5698d1f253d30f53f0c58d2504eaec481b854 cd086d3aa6f7f7bf4d4e1f9fa09af0f0b6bb99ec Author: Linus Torvalds <torvalds@xxxxxxxxxxxxxxxxxxxx> Date: Wed Jul 29 19:39:22 2009 -0700 Merge branch 'i2c-fixes-rc4' of git://aeryn.fluff.org.uk/bjdooks/linux * 'i2c-fixes-rc4' of git://aeryn.fluff.org.uk/bjdooks/linux: i2c-omap: OMAP3430 Silicon Errata 1.153 i2c-omap: In case of a NACK|ARDY|AL return from the ISR i2c-omap: Bug in reading the RXSTAT/TXSTAT values from the I2C_BUFFSTAT register i2c-sh_mobile: change module_init() to subsys_initcall() i2c: strncpy does not null terminate string i2c-s3c2410: s3c24xx_i2c_init: don't clobber IICLC value commit 5bd9052d79daa4c8beb45436c408b6de672adb82 Author: Steve French <sfrench@xxxxxxxxxx> Date: Thu Jul 30 02:26:14 2009 +0000 [CIFS] Updates fs/cifs/CHANGES Signed-off-by: Steve French <sfrench@xxxxxxxxxx> commit 91a5698d1f253d30f53f0c58d2504eaec481b854 Merge: 084bad91afd0f40ff4db9ceb56e29234c314d8d1 dddac6a7b445de95515f64fdf82fe5dc36c02f26 Author: Linus Torvalds <torvalds@xxxxxxxxxxxxxxxxxxxx> Date: Wed Jul 29 19:15:18 2009 -0700 Merge branch 'pm-fixes' of git://git.kernel.org/pub/scm/linux/kernel/git/rafael/suspend-2.6 * 'pm-fixes' of git://git.kernel.org/pub/scm/linux/kernel/git/rafael/suspend-2.6: PM / Hibernate: Replace bdget call with simple atomic_inc of i_count PM / ACPI: HP G7000 Notebook needs a SCI_EN resume quirk commit 084bad91afd0f40ff4db9ceb56e29234c314d8d1 Author: Kristoffer Ericson <kristoffer.ericson@xxxxxxxxx> Date: Wed Jul 29 15:04:32 2009 -0700 MAINTAINERS: update HP Jornada 700-series and Epson s1d13xxxfb support Add the relevant git repositories and affected files to the maintainership of HP Jornada 700-series and Epson s1d13xxxfb support. Signed-off-by: Kristoffer Ericson <kristoffer.ericson@xxxxxxxxx> Signed-off-by: Andrew Morton <akpm@xxxxxxxxxxxxxxxxxxxx> Signed-off-by: Linus Torvalds <torvalds@xxxxxxxxxxxxxxxxxxxx> commit 2bed6eeb8cb0b5198d8f93e415ee595704bc3534 Author: Joe Perches <joe@xxxxxxxxxxx> Date: Wed Jul 29 15:04:32 2009 -0700 MAINTAINERS: finish off the email address coalescing Add some touchups to the sample record. Signed-off-by: Joe Perches <joe@xxxxxxxxxxx> Signed-off-by: Andrew Morton <akpm@xxxxxxxxxxxxxxxxxxxx> Signed-off-by: Linus Torvalds <torvalds@xxxxxxxxxxxxxxxxxxxx> commit 8b58be884a9fd650abb7f7adf3f885fb9cecd79d Author: Joe Perches <joe@xxxxxxxxxxx> Date: Wed Jul 29 15:04:30 2009 -0700 MAINTAINERS: coalesce name and email address lines Switch the MAINTAINERS email address format from P: Linus Torvalds M: torvalds@xxxxxxxxxxxxxxxxxxxx to M: Linus Torvalds <torvalds@xxxxxxxxxxxxxxxxxxxx> Mainly to ease the copy-n-pasting of maitnainer addresses into email clients. The script to perform this operation: #! /bin/sh # # Change MAINTAINERS from # P: name # M: address # to: # M: name <address> # # Integrate P: and M: lines # perl -i -e 'local $/; while(<>) { s@P: ([^\n]+)\nM: ([^\n]+)\n@M: \1 <\2>\n@g; print; }' MAINTAINERS # # Quote names with periods, commas and parentheses # sed -r -i -e "s/^M: (.+)([\.,'\(])(.*) </M: \"\1\2\3\" </g" MAINTAINERS Signed-off-by: Joe Perches <joe@xxxxxxxxxxx> Acked-by: Pavel Machek <pavel@xxxxxx> Acked-by: Randy Dunlap <randy.dunlap@xxxxxxxxxx> Signed-off-by: Andrew Morton <akpm@xxxxxxxxxxxxxxxxxxxx> Signed-off-by: Linus Torvalds <torvalds@xxxxxxxxxxxxxxxxxxxx> commit 3d202aeb7b7b33d5a5b2040ee5af5b309782941c Author: Joe Perches <joe@xxxxxxxxxxx> Date: Wed Jul 29 15:04:29 2009 -0700 get_maintainerpl-add-git-min-percent-option-fix Allow an option to control the minimum percentage of sign-offs required before being considered a maintainer. git-min-percent has a default value of 5 Signed-off-by: Joe Perches <joe@xxxxxxxxxxx> Signed-off-by: Andrew Morton <akpm@xxxxxxxxxxxxxxxxxxxx> Signed-off-by: Linus Torvalds <torvalds@xxxxxxxxxxxxxxxxxxxx> commit afa81ee13033de791c41c1d9333853504653939b Author: Joe Perches <joe@xxxxxxxxxxx> Date: Wed Jul 29 15:04:28 2009 -0700 get_maintainer.pl: Add git-min-percent option Allow an option to control the minimum percentage of sign-offs required before being considered a maintainer. git-min-percent has a default value of 5 Signed-off-by: Joe Perches <joe@xxxxxxxxxxx> Signed-off-by: Andrew Morton <akpm@xxxxxxxxxxxxxxxxxxxx> Signed-off-by: Linus Torvalds <torvalds@xxxxxxxxxxxxxxxxxxxx> commit 870020f93af2323a81f179091a0780dc1d5b916b Author: Joe Perches <joe@xxxxxxxxxxx> Date: Wed Jul 29 15:04:28 2009 -0700 scripts/get_maintainer.pl: Add -f directory use Don't require a specific file in a directory to be tested. Also Arnd Bergmann pointed out that the MAINTAINERS pattern requirement that directory patterns have a trailing slash was unnecessary and was likely to be error prone. Removed that requirement. Signed-off-by: Joe Perches <joe@xxxxxxxxxxx> Signed-off-by: Andrew Morton <akpm@xxxxxxxxxxxxxxxxxxxx> Signed-off-by: Linus Torvalds <torvalds@xxxxxxxxxxxxxxxxxxxx> commit 82c4dfc76200055bd2ae600a08404c10df5f4ff6 Author: Joe Perches <joe@xxxxxxxxxxx> Date: Wed Jul 29 15:04:27 2009 -0700 MAINTAINERS: Scott Murray is no longer with SomaNetworks Signed-off-by: Joe Perches <joe@xxxxxxxxxxx> Signed-off-by: Andrew Morton <akpm@xxxxxxxxxxxxxxxxxxxx> Signed-off-by: Linus Torvalds <torvalds@xxxxxxxxxxxxxxxxxxxx> commit 2bd1944899354b6f1328fe84886fa8f4d5918aef Author: Joe Perches <joe@xxxxxxxxxxx> Date: Wed Jul 29 15:04:27 2009 -0700 MAINTAINERS: QLOGIC QLA3XXX - Add Ron Mercer email address Signed-off-by: Joe Perches <joe@xxxxxxxxxxx> Signed-off-by: Andrew Morton <akpm@xxxxxxxxxxxxxxxxxxxx> Signed-off-by: Linus Torvalds <torvalds@xxxxxxxxxxxxxxxxxxxx> commit edf4b0a980bf481bbcef0977e2c7369f13f3428f Author: Joe Perches <joe@xxxxxxxxxxx> Date: Wed Jul 29 15:04:26 2009 -0700 MAINTAINERS: QLOGIC QLA2XXX - add Andrew Vasquez email address Signed-off-by: Joe Perches <joe@xxxxxxxxxxx> Signed-off-by: Andrew Morton <akpm@xxxxxxxxxxxxxxxxxxxx> Signed-off-by: Linus Torvalds <torvalds@xxxxxxxxxxxxxxxxxxxx> commit 9ae9a7f119a8def8e68d7f5ab0d96b3aba80accb Author: Joe Perches <joe@xxxxxxxxxxx> Date: Wed Jul 29 15:04:26 2009 -0700 MAINTAINERS: Remove CS461x sound card section Thomas Woller's email address bounces Nils Faerber isn't active Added Thomas Woller to CREDITS, Nils already has an entry Signed-off-by: Joe Perches <joe@xxxxxxxxxxx> Signed-off-by: Andrew Morton <akpm@xxxxxxxxxxxxxxxxxxxx> Signed-off-by: Linus Torvalds <torvalds@xxxxxxxxxxxxxxxxxxxx> commit 5bee73ff71e17f5a807376e29653998755211ceb Author: Joe Perches <joe@xxxxxxxxxxx> Date: Wed Jul 29 15:04:25 2009 -0700 MAINTAINERS: INPUT: Add Dmitry's name to his email address Signed-off-by: Joe Perches <joe@xxxxxxxxxxx> Signed-off-by: Andrew Morton <akpm@xxxxxxxxxxxxxxxxxxxx> Signed-off-by: Linus Torvalds <torvalds@xxxxxxxxxxxxxxxxxxxx> commit a72f8024f4c9b06ff35d0bf6df479ea7fae4e2f8 Author: Joe Perches <joe@xxxxxxxxxxx> Date: Wed Jul 29 15:04:25 2009 -0700 MAINTAINERS: USB Serial Digi Acceleport: use separate P: for Al Borchers Signed-off-by: Joe Perches <joe@xxxxxxxxxxx> Signed-off-by: Andrew Morton <akpm@xxxxxxxxxxxxxxxxxxxx> Signed-off-by: Linus Torvalds <torvalds@xxxxxxxxxxxxxxxxxxxx> commit cabaaf415cc9820cfbf2bc86308b94b78e31fe3e Author: Joe Perches <joe@xxxxxxxxxxx> Date: Wed Jul 29 15:04:24 2009 -0700 MAINTAINERS: Add PPS patterns Signed-off-by: Joe Perches <joe@xxxxxxxxxxx> Signed-off-by: Andrew Morton <akpm@xxxxxxxxxxxxxxxxxxxx> Signed-off-by: Linus Torvalds <torvalds@xxxxxxxxxxxxxxxxxxxx> commit 24725d1ecf26ba05d74c1cc3ae7467b61a900421 Author: Joe Perches <joe@xxxxxxxxxxx> Date: Wed Jul 29 15:04:24 2009 -0700 MAINTAINERS: Update KERNEL JANITORS Signed-off-by: Joe Perches <joe@xxxxxxxxxxx> Signed-off-by: Andrew Morton <akpm@xxxxxxxxxxxxxxxxxxxx> Signed-off-by: Linus Torvalds <torvalds@xxxxxxxxxxxxxxxxxxxx> commit eb51b0349df8efccc37fc06aa25aecbd4d39551b Author: Joe Perches <joe@xxxxxxxxxxx> Date: Wed Jul 29 15:04:23 2009 -0700 MAINTAINERS: Move ARPD to CREDITS Jonathan Layes is hard to find. Signed-off-by: Joe Perches <joe@xxxxxxxxxxx> Signed-off-by: Andrew Morton <akpm@xxxxxxxxxxxxxxxxxxxx> Signed-off-by: Linus Torvalds <torvalds@xxxxxxxxxxxxxxxxxxxx> commit 5daa2963f8bd51c161d5b244e439e0c9fdec358b Author: Joe Perches <joe@xxxxxxxxxxx> Date: Wed Jul 29 15:04:23 2009 -0700 MAINTAINERS: Remove L: linux-kernel@xxxxxxxxxxxxxxx from sections that should not have them. Signed-off-by: Joe Perches <joe@xxxxxxxxxxx> Signed-off-by: Andrew Morton <akpm@xxxxxxxxxxxxxxxxxxxx> Signed-off-by: Linus Torvalds <torvalds@xxxxxxxxxxxxxxxxxxxx> commit 4fc26e36acce714ca26b576e3e6862887fa130d3 Author: Joe Perches <joe@xxxxxxxxxxx> Date: Wed Jul 29 15:04:22 2009 -0700 MAINTAINERS: Use tabs in ACER ASPIRE ONE Signed-off-by: Joe Perches <joe@xxxxxxxxxxx> Signed-off-by: Andrew Morton <akpm@xxxxxxxxxxxxxxxxxxxx> Signed-off-by: Linus Torvalds <torvalds@xxxxxxxxxxxxxxxxxxxx> commit 4cbfbe256dc0b0491351bc5bea89f229cfae2284 Author: Joe Perches <joe@xxxxxxxxxxx> Date: Wed Jul 29 15:04:21 2009 -0700 MAINTAINERS: QLGE 10Gb ETHERNET - pair P:/M: entries properly Signed-off-by: Joe Perches <joe@xxxxxxxxxxx> Signed-off-by: Andrew Morton <akpm@xxxxxxxxxxxxxxxxxxxx> Signed-off-by: Linus Torvalds <torvalds@xxxxxxxxxxxxxxxxxxxx> commit 30e10993512c94daf0ab5cb4b512979aa1c85daf Author: Joe Perches <joe@xxxxxxxxxxx> Date: Wed Jul 29 15:04:21 2009 -0700 MAINTAINERS: Remove ivtv-user lists, add CX18 url Signed-off-by: Joe Perches <joe@xxxxxxxxxxx> Signed-off-by: Andrew Morton <akpm@xxxxxxxxxxxxxxxxxxxx> Signed-off-by: Linus Torvalds <torvalds@xxxxxxxxxxxxxxxxxxxx> commit 56d44f05177e69b757a01987827db8ef79fb759c Author: Joe Perches <joe@xxxxxxxxxxx> Date: Wed Jul 29 15:04:20 2009 -0700 MAINTAINERS: IA64 - pair P:/M: entries properly Signed-off-by: Joe Perches <joe@xxxxxxxxxxx> Signed-off-by: Andrew Morton <akpm@xxxxxxxxxxxxxxxxxxxx> Signed-off-by: Linus Torvalds <torvalds@xxxxxxxxxxxxxxxxxxxx> commit 812ed032cdc8138b7546eecc996879756b92d801 Author: Jiri Slaby <jirislaby@xxxxxxxxx> Date: Wed Jul 29 15:04:19 2009 -0700 uio: mark uio.h functions __KERNEL__ only To avoid userspace build failures such as: .../linux/uio.h:37: error: expected `=', `,', `;', `asm' or `__attribute__' before `iov_length' .../linux/uio.h:47: error: expected declaration specifiers or `...' before `size_t' move uio functions inside a __KERNEL__ block. Signed-off-by: Jiri Slaby <jirislaby@xxxxxxxxx> Acked-by: Sam Ravnborg <sam@xxxxxxxxxxxx> Cc: Alexander Viro <viro@xxxxxxxxxxxxxxxxxx> Cc: Christoph Hellwig <hch@xxxxxxxxxxxxx> Signed-off-by: Andrew Morton <akpm@xxxxxxxxxxxxxxxxxxxx> Signed-off-by: Linus Torvalds <torvalds@xxxxxxxxxxxxxxxxxxxx> commit 8da14b5fc32368f582df09fe9c0bec2507868583 Author: Albin Tonnerre <albin.tonnerre@xxxxxxxxx> Date: Wed Jul 29 15:04:18 2009 -0700 drivers/serial/atmel_serial.c: fix compile when CONFIG_SERIAL_ATMEL=Y and CONFIG_SERIAL_ATMEL_CONSOLE=N When SERIAL_ATMEL_CONSOLE is disabled, ATMEL_CONSOLE_DEVICE is set to NULL, and trying to access ATMEL_CONSOLE_DEVICE->flags in atmel_serial_probe makes the compile fail. This fixes the issue by only accessing it if CONFIG_SERIAL_ATMEL_CONSOLE is defined Signed-off-by: Albin Tonnerre <albin.tonnerre@xxxxxxxxxxxxxxxxxx> Signed-off-by: Haavard Skinnemoen <haavard.skinnemoen@xxxxxxxxx> Cc: Nicolas Ferre <nicolas.ferre@xxxxxxxxx> Signed-off-by: Andrew Morton <akpm@xxxxxxxxxxxxxxxxxxxx> Signed-off-by: Linus Torvalds <torvalds@xxxxxxxxxxxxxxxxxxxx> commit 534acc057b5a08ec33fa57cdd2f5a09ef124e7f2 Author: Dave Hansen <dave@xxxxxxxxxxxxxxxxxx> Date: Wed Jul 29 15:04:18 2009 -0700 lib: flexible array implementation Once a structure goes over PAGE_SIZE*2, we see occasional allocation failures. Some people have chosen to switch over to things like vmalloc() that will let them keep array-like access to such a large structures. But, vmalloc() has plenty of downsides. Here's an alternative. I think it's what Andrew was suggesting here: http://lkml.org/lkml/2009/7/2/518 I call it a flexible array. It does all of its work in PAGE_SIZE bits, so never does an order>0 allocation. The base level has PAGE_SIZE-2*sizeof(int) bytes of storage for pointers to the second level. So, with a 32-bit arch, you get about 4MB (4183112 bytes) of total storage when the objects pack nicely into a page. It is half that on 64-bit because the pointers are twice the size. There's a table detailing this in the code. There are kerneldocs for the functions, but here's an overview: flex_array_alloc() - dynamically allocate a base structure flex_array_free() - free the array and all of the second-level pages flex_array_free_parts() - free the second-level pages, but not the base (for static bases) flex_array_put() - copy into the array at the given index flex_array_get() - copy out of the array at the given index flex_array_prealloc() - preallocate the second-level pages between the given indexes to guarantee no allocs will occur at put() time. We could also potentially just pass the "element_size" into each of the API functions instead of storing it internally. That would get us one more base pointer on 32-bit. I've been testing this by running it in userspace. The header and patch that I've been using are here, as well as the little script I'm using to generate the size table which goes in the kerneldocs. http://sr71.net/~dave/linux/flexarray/ [akpm@xxxxxxxxxxxxxxxxxxxx: coding-style fixes] Signed-off-by: Dave Hansen <dave@xxxxxxxxxxxxxxxxxx> Reviewed-by: KAMEZAWA Hiroyuki <kamezawa.hiroyu@xxxxxxxxxxxxxx> Signed-off-by: Andrew Morton <akpm@xxxxxxxxxxxxxxxxxxxx> Signed-off-by: Linus Torvalds <torvalds@xxxxxxxxxxxxxxxxxxxx> commit a9e58f25734e153b8c6516d904e2398fb8b0b23d Author: Anton Vorontsov <avorontsov@xxxxxxxxxxxxx> Date: Wed Jul 29 15:04:16 2009 -0700 sdhci: get rid of "frequency too high" flood when using eSDHC Since commit 8dfd0374be84793360db7fff2e635d2cd3bbcb21 ("MMC core: limit minimum initialization frequency to 400kHz") MMC core checks for minimum frequency, and that causes following messages flood when using eSDHC controllers: ... mmc0: Minimum clock frequency too high for identification mode mmc0: Minimum clock frequency too high for identification mode ... The warnings are legitimate, since if we'd use 133 MHz clocks for standard SDHCI controllers, we'd not able to scale frequency down to 400 kHz. But eSDHC controllers have a non-standard SD clock management, so we can divide clock by 256 * 16, not just 256. This patch introduces get_min_clock() callback for sdhci core and implements it for sdhci-of driver, and thus fixes the issue. Signed-off-by: Anton Vorontsov <avorontsov@xxxxxxxxxxxxx> Cc: Matt Fleming <matt@xxxxxxxxxxxxxxxxx> Cc: Ian Molton <ian@xxxxxxxxxxxxxx> Cc: "Roberto A. Foglietta" <roberto.foglietta@xxxxxxxxx> Cc: Pierre Ossman <drzeus@xxxxxxxxx> Signed-off-by: Andrew Morton <akpm@xxxxxxxxxxxxxxxxxxxx> Signed-off-by: Linus Torvalds <torvalds@xxxxxxxxxxxxxxxxxxxx> commit cab8bd3410d448279e3bd0fbf96d31db0bf770fa Author: Hidetoshi Seto <seto.hidetoshi@xxxxxxxxxxxxxx> Date: Wed Jul 29 15:04:14 2009 -0700 sysrq, kdump: make sysrq-c consistent commit d6580a9f15238b87e618310c862231ae3f352d2d ("kexec: sysrq: simplify sysrq-c handler") changed the behavior of sysrq-c to unconditional dereference of NULL pointer. So in cases with CONFIG_KEXEC, where crash_kexec() was directly called from sysrq-c before, now it can be said that a step of "real oops" was inserted before starting kdump. However, in contrast to oops via SysRq-c from keyboard which results in panic due to in_interrupt(), oops via "echo c > /proc/sysrq-trigger" will not become panic unless panic_on_oops=1. It means that even if dump is properly configured to be taken on panic, the sysrq-c from proc interface might not start crashdump while the sysrq-c from keyboard can start crashdump. This confuses traditional users of kdump, i.e. people who expect sysrq-c to do common behavior in both of the keyboard and proc interface. This patch brings the keyboard and proc interface behavior of sysrq-c in line, by forcing panic_on_oops=1 before oops in sysrq-c handler. And some updates in documentation are included, to clarify that there is no longer dependency with CONFIG_KEXEC, and that now the system can just crash by sysrq-c if no dump mechanism is configured. Signed-off-by: Hidetoshi Seto <seto.hidetoshi@xxxxxxxxxxxxxx> Cc: Lai Jiangshan <laijs@xxxxxxxxxxxxxx> Cc: Ken'ichi Ohmichi <oomichi@xxxxxxxxxxxxxxxxx> Acked-by: Neil Horman <nhorman@xxxxxxxxxxxxx> Acked-by: Vivek Goyal <vgoyal@xxxxxxxxxx> Cc: Brayan Arraes <brayan@xxxxxxxxxxx> Cc: Eric W. Biederman <ebiederm@xxxxxxxxxxxx> Signed-off-by: Andrew Morton <akpm@xxxxxxxxxxxxxxxxxxxx> Signed-off-by: Linus Torvalds <torvalds@xxxxxxxxxxxxxxxxxxxx> commit f5a55efa140f5e9c9dd0f398fef54f20cdb74ec9 Author: Dave Jones <davej@xxxxxxxxxx> Date: Wed Jul 29 15:04:12 2009 -0700 pps.h needs <linux/types.h> Found with make headers_check /usr/include/linux/pps.h:52: found __[us]{8,16,32,64} type without #include <linux/types.h> Signed-off-by: Dave Jones <davej@xxxxxxxxxx> Cc: Rodolfo Giometti <giometti@xxxxxxxx> Signed-off-by: Andrew Morton <akpm@xxxxxxxxxxxxxxxxxxxx> Signed-off-by: Linus Torvalds <torvalds@xxxxxxxxxxxxxxxxxxxx> commit 5c8053652328693d10551131432ef3573e77ed2d Author: Catalin Marinas <catalin.marinas@xxxxxxx> Date: Wed Jul 29 15:04:11 2009 -0700 fs/ramfs/file-nommu.c needs include/linux/sched.h This file makes use of various macros defined in files like asm/current.h or asm-generic/resource.h. All these files can be included via sched.h. The building of the !MMU ARM kernel (with additional patches) fails without this change. Signed-off-by: Catalin Marinas <catalin.marinas@xxxxxxx> Acked-by: David Howells <dhowells@xxxxxxxxxx> Signed-off-by: Andrew Morton <akpm@xxxxxxxxxxxxxxxxxxxx> Signed-off-by: Linus Torvalds <torvalds@xxxxxxxxxxxxxxxxxxxx> commit 1c29b3ff4f2d847464f7be3a0e179c6dfc69bd02 Author: Mel Gorman <mel@xxxxxxxxx> Date: Wed Jul 29 15:04:10 2009 -0700 net-dccp: suppress warning about large allocations from DCCP The DCCP protocol tries to allocate some large hash tables during initialisation using the largest size possible. This can be larger than what the page allocator can provide so it prints a warning. However, the caller is able to handle the situation so this patch suppresses the warning. Signed-off-by: Mel Gorman <mel@xxxxxxxxx> Acked-by: Arnaldo Carvalho de Melo <acme@xxxxxxxxxx> Cc: "David S. Miller" <davem@xxxxxxxxxxxxx> Cc: "Rafael J. Wysocki" <rjw@xxxxxxx> Signed-off-by: Andrew Morton <akpm@xxxxxxxxxxxxxxxxxxxx> Signed-off-by: Linus Torvalds <torvalds@xxxxxxxxxxxxxxxxxxxx> commit b62f495dad04fa94b5083aec638ff3072bccaaca Author: Mel Gorman <mel@xxxxxxxxx> Date: Wed Jul 29 15:04:09 2009 -0700 profile: suppress warning about large allocations when profile=1 is specified When profile= is used, a large buffer is allocated early at boot. This can be larger than what the page allocator can provide so it prints a warning. However, the caller is able to handle the situation so this patch suppresses the warning. Signed-off-by: Mel Gorman <mel@xxxxxxxxx> Cc: "Rafael J. Wysocki" <rjw@xxxxxxx> Signed-off-by: Andrew Morton <akpm@xxxxxxxxxxxxxxxxxxxx> Signed-off-by: Linus Torvalds <torvalds@xxxxxxxxxxxxxxxxxxxx> commit 1fc28b70fe2dbf87e061b6ce5091a1f8e4e5d4e7 Author: Mel Gorman <mel@xxxxxxxxx> Date: Wed Jul 29 15:04:08 2009 -0700 page-allocator: allow too high-order warning messages to be suppressed with __GFP_NOWARN The page allocator warns once when an order >= MAX_ORDER is specified. This is to catch callers of the allocator that are always falling back to their worst-case when it was not expected. However, there are cases where the caller is behaving correctly but cannot suppress the warning. This patch allows the warning to be suppressed by the callers by specifying __GFP_NOWARN. Signed-off-by: Mel Gorman <mel@xxxxxxxxx> Acked-by: David Rientjes <rientjes@xxxxxxxxxx> Cc: Arnaldo Carvalho de Melo <acme@xxxxxxxxxx> Cc: "David S. Miller" <davem@xxxxxxxxxxxxx> Cc: "Rafael J. Wysocki" <rjw@xxxxxxx> Signed-off-by: Andrew Morton <akpm@xxxxxxxxxxxxxxxxxxxx> Signed-off-by: Linus Torvalds <torvalds@xxxxxxxxxxxxxxxxxxxx> commit 887032670d47366a8c8f25396ea7c14b7b2cc620 Author: KAMEZAWA Hiroyuki <kamezawa.hiroyu@xxxxxxxxxxxxxx> Date: Wed Jul 29 15:04:06 2009 -0700 cgroup avoid permanent sleep at rmdir After commit ec64f51545fffbc4cb968f0cea56341a4b07e85a ("cgroup: fix frequent -EBUSY at rmdir"), cgroup's rmdir (especially against memcg) doesn't return -EBUSY by temporary ref counts. That commit expects all refs after pre_destroy() is temporary but...it wasn't. Then, rmdir can wait permanently. This patch tries to fix that and change followings. - set CGRP_WAIT_ON_RMDIR flag before pre_destroy(). - clear CGRP_WAIT_ON_RMDIR flag when the subsys finds racy case. if there are sleeping ones, wakes them up. - rmdir() sleeps only when CGRP_WAIT_ON_RMDIR flag is set. Tested-by: Daisuke Nishimura <nishimura@xxxxxxxxxxxxxxxxx> Reported-by: Daisuke Nishimura <nishimura@xxxxxxxxxxxxxxxxx> Reviewed-by: Paul Menage <menage@xxxxxxxxxx> Acked-by: Balbir Sigh <balbir@xxxxxxxxxxxxxxxxxx> Signed-off-by: KAMEZAWA Hiroyuki <kamezawa.hiroyu@xxxxxxxxxxxxxx> Signed-off-by: Andrew Morton <akpm@xxxxxxxxxxxxxxxxxxxx> Signed-off-by: Linus Torvalds <torvalds@xxxxxxxxxxxxxxxxxxxx> commit f0d83679a8d471dc8b646919f70595d6fe8c9606 Author: Sebastian Heutling <heutling@xxxxxxxxxx> Date: Wed Jul 29 15:04:05 2009 -0700 eeprom/at25: bugfix "not ready" timeout after write Under certain circumstances msleep(1) within the loop, which waits for the EEPROM to be finished, might take longer than the timeout. On the next loop the status register might now return to be ready and therefore the loop finishes. The following check now tests if a timeout occurred and if so returns an error although the device reported it was ready. This fix replaces testing the occurrence of the timeout by testing the "not ready" bit in the status register. Signed-off-by: Sebastian Heutling <heutling@xxxxxxxxxx> Signed-off-by: David Brownell <dbrownell@xxxxxxxxxxxxxxxxxxxxx> Signed-off-by: Andrew Morton <akpm@xxxxxxxxxxxxxxxxxxxx> Signed-off-by: Linus Torvalds <torvalds@xxxxxxxxxxxxxxxxxxxx> commit 096b7fe012d66ed55e98bc8022405ede0cc80e96 Author: Li Zefan <lizf@xxxxxxxxxxxxxx> Date: Wed Jul 29 15:04:04 2009 -0700 cgroups: fix pid namespace bug The bug was introduced by commit cc31edceee04a7b87f2be48f9489ebb72d264844 ("cgroups: convert tasks file to use a seq_file with shared pid array"). We cache a pid array for all threads that are opening the same "tasks" file, but the pids in the array are always from the namespace of the last process that opened the file, so all other threads will read pids from that namespace instead of their own namespaces. To fix it, we maintain a list of pid arrays, which is keyed by pid_ns. The list will be of length 1 at most time. Reported-by: Paul Menage <menage@xxxxxxxxxx> Idea-by: Paul Menage <menage@xxxxxxxxxx> Signed-off-by: Li Zefan <lizf@xxxxxxxxxxxxxx> Reviewed-by: Serge Hallyn <serue@xxxxxxxxxx> Cc: Balbir Singh <balbir@xxxxxxxxxx> Signed-off-by: Andrew Morton <akpm@xxxxxxxxxxxxxxxxxxxx> Signed-off-by: Linus Torvalds <torvalds@xxxxxxxxxxxxxxxxxxxx> commit b317c833211b7fbf902163de766f09554090e0bf Author: Kristoffer Ericson <kristoffer.ericson@xxxxxxxxx> Date: Wed Jul 29 15:04:03 2009 -0700 drivers/video/backlight/jornada720_bl.c: fix build Signed-off-by: Kristoffer Ericson <kristoffer.ericson@xxxxxxxxx> Cc: Richard Purdie <rpurdie@xxxxxxxxx> Signed-off-by: Andrew Morton <akpm@xxxxxxxxxxxxxxxxxxxx> Signed-off-by: Linus Torvalds <torvalds@xxxxxxxxxxxxxxxxxxxx> commit 3fc7b4b220c7e830a5b3ce0ea5f85a635e0c50f0 Author: Roland Dreier <rdreier@xxxxxxxxx> Date: Wed Jul 29 15:04:02 2009 -0700 lib: export generic atomic64_t functions The generic atomic64_t implementation in lib/ did not export the functions it defined, which means that modules that use atomic64_t would not link on platforms (such as 32-bit powerpc). For example, trying to build a kernel with CONFIG_NET_RDS on such a platform would fail with: ERROR: "atomic64_read" [net/rds/rds.ko] undefined! ERROR: "atomic64_set" [net/rds/rds.ko] undefined! Fix this by exporting the atomic64_t functions to modules. (I export the entire API even if it's not all currently used by in-tree modules to avoid having to continue fixing this in dribs and drabs) Signed-off-by: Roland Dreier <rolandd@xxxxxxxxx> Acked-by: Paul Mackerras <paulus@xxxxxxxxx> Signed-off-by: Andrew Morton <akpm@xxxxxxxxxxxxxxxxxxxx> Signed-off-by: Linus Torvalds <torvalds@xxxxxxxxxxxxxxxxxxxx> commit e4c6f8bed01f9f9a5c607bd689bf67e7b8a36bd8 Author: Eric Sandeen <sandeen@xxxxxxxxxxx> Date: Wed Jul 29 15:02:16 2009 -0700 hugetlbfs: fix i_blocks accounting As reported in Red Hat bz #509671, i_blocks for files on hugetlbfs get accounting wrong when doing something like: $ > foo $ date > foo date: write error: Invalid argument $ /usr/bin/stat foo File: `foo' Size: 0 Blocks: 18446744073709547520 IO Block: 2097152 regular ... This is because hugetlb_unreserve_pages() is unconditionally removing blocks_per_huge_page(h) on each call rather than using the freed amount. If there were 0 blocks, it goes negative, resulting in the above. This is a regression from commit a5516438959d90b071ff0a484ce4f3f523dc3152 ("hugetlb: modular state for hugetlb page size") which did: - inode->i_blocks -= BLOCKS_PER_HUGEPAGE * freed; + inode->i_blocks -= blocks_per_huge_page(h); so just put back the freed multiplier, and it's all happy again. Signed-off-by: Eric Sandeen <sandeen@xxxxxxxxxx> Acked-by: Andi Kleen <andi@xxxxxxxxxxxxxx> Cc: William Lee Irwin III <wli@xxxxxxxxxxxxxx> Cc: <stable@xxxxxxxxxx> Signed-off-by: Andrew Morton <akpm@xxxxxxxxxxxxxxxxxxxx> Signed-off-by: Linus Torvalds <torvalds@xxxxxxxxxxxxxxxxxxxx> commit 659098141d02eb8e3545be8969d262e02d2f3f98 Author: Thadeu Lima de Souza Cascardo <cascardo@xxxxxxxxxxxxxx> Date: Wed Jul 29 15:02:13 2009 -0700 rtc: mark if rtc-cmos drivers were successfully registered rtc-cmos has two drivers, one PNP and one platform. When PNP has not succeeded probing, platform is registered. However, it tries to unregister both drivers unconditionally, instead of only unregistering those that were successfully registered. This causes runtime warnings to be emitted from the driver core code. Fix this with a boolean variable for each driver indicating whether registering was successful. Signed-off-by: Thadeu Lima de Souza Cascardo <cascardo@xxxxxxxxxxxxxx> Cc: David Brownell <david-b@xxxxxxxxxxx> Cc: Bjorn Helgaas <bjorn.helgaas@xxxxxx> Cc: Alessandro Zummo <alessandro.zummo@xxxxxxxxxxxx> Cc: Ingo Molnar <mingo@xxxxxxx> Cc: David Brownell <david-b@xxxxxxxxxxx> Cc: Kay Sievers <kay.sievers@xxxxxxxx> Cc: Greg KH <greg@xxxxxxxxx> Cc: Ozan Caglayan <ozan@xxxxxxxxxxxxx> Signed-off-by: Andrew Morton <akpm@xxxxxxxxxxxxxxxxxxxx> Signed-off-by: Linus Torvalds <torvalds@xxxxxxxxxxxxxxxxxxxx> commit 57c5c28dbc835c67a9c23912bab56b7f165e7715 Author: Eero Nurkkala <ext-eero.nurkkala@xxxxxxxxx> Date: Wed Jul 29 15:02:12 2009 -0700 spi: omap2_mcspi rxdma bugfix When data is read through DMA, the last element must be read separately through the RX register. It cannot be transferred by the DMA. For further details see e.g. OMAP35x TRM (table 19-16). Without the fix the driver causes extra clocks to be clocked to the bus after DMA RX operations. This can cause interesting behaviour with some devices. Signed-off-by: Juuso Oikarinen <juuso.oikarinen@xxxxxxxxx> Signed-off-by: Eero Nurkkala <ext-eero.nurkkala@xxxxxxxxx> [aaro.koskinen@xxxxxxxxx: Simplified the patch while keeping the idea.] Signed-off-by: Aaro Koskinen <aaro.koskinen@xxxxxxxxx> Signed-off-by: David Brownell <dbrownell@xxxxxxxxxxxxxxxxxxxxx> Signed-off-by: Andrew Morton <akpm@xxxxxxxxxxxxxxxxxxxx> Signed-off-by: Linus Torvalds <torvalds@xxxxxxxxxxxxxxxxxxxx> commit ddb22195cb3dc5175ba3aac5e957d0e34cd2ee73 Author: Jouni Hogander <jouni.hogander@xxxxxxxxx> Date: Wed Jul 29 15:02:11 2009 -0700 spi: omap2_mcspi supports wake events Currently mcspi wake-ups are not enabled. This might cause cases where OMAP is not waking up on mcspi events. Signed-off-by: Jouni Hogander <jouni.hogander@xxxxxxxxx> Signed-off-by: Tony Lindgren <tony@xxxxxxxxxxx> Signed-off-by: David Brownell <dbrownell@xxxxxxxxxxxxxxxxxxxxx> Signed-off-by: Andrew Morton <akpm@xxxxxxxxxxxxxxxxxxxx> Signed-off-by: Linus Torvalds <torvalds@xxxxxxxxxxxxxxxxxxxx> commit c42b110caeb128819104d057acdaa1ae564b7c8d Author: Pawel Osciak <p.osciak@xxxxxxxxxxx> Date: Wed Jul 29 15:02:10 2009 -0700 s3c-fb: fix off-by-one bug in loop indexes Fixed off-by-one bug in loop indexes - some elements beyond windows' array were accessed, which might result in memory access violations when removing/suspending the device. Signed-off-by: Pawel Osciak <p.osciak@xxxxxxxxxxx> Reviewed-by: Kyungmin Park <kyungmin.park@xxxxxxxxxxx> Signed-off-by: Marek Szyprowski <m.szyprowski@xxxxxxxxxxx> Cc: Krzysztof Helt <krzysztof.h1@xxxxxxxxx> Cc: Ben Dooks <ben-linux@xxxxxxxxx> Cc: Russell King <rmk@xxxxxxxxxxxxxxxx> Signed-off-by: Andrew Morton <akpm@xxxxxxxxxxxxxxxxxxxx> Signed-off-by: Linus Torvalds <torvalds@xxxxxxxxxxxxxxxxxxxx> commit 3d768213a6c34a27fac1804143da8cf18b8b175f Author: Lu Zhihe <tombowfly@xxxxxxxxx> Date: Wed Jul 29 15:02:09 2009 -0700 edac: x38 fix mchbar high register addr Intel X38 MCHBAR is a 64bits register, base from 0x48, so its higher base is 0x4C. Signed-off-by: Lu Zhihe <tombowfly@xxxxxxxxx> Signed-off-by: Doug Thompson <dougthompson@xxxxxxxxxxxx> Cc: <stable@xxxxxxxxxx> [2.6.30.x] Signed-off-by: Andrew Morton <akpm@xxxxxxxxxxxxxxxxxxxx> Signed-off-by: Linus Torvalds <torvalds@xxxxxxxxxxxxxxxxxxxx> commit 11c7da4b0ca76a57f51c996c883c480e203cf5a9 Author: Hidetoshi Seto <seto.hidetoshi@xxxxxxxxxxxxxx> Date: Wed Jul 29 15:02:08 2009 -0700 kexec: fix omitting offset in extended crashkernel syntax Setting "crashkernel=512M-2G:64M,2G-:128M" does not work but it turns to work if it has a trailing-whitespace, like "crashkernel=512M-2G:64M,2G-:128M ". It was because of a bug in the parser, running over the cmdline. This patch adds a check of the termination. Reported-by: Jin Dongming <jin.dongming@xxxxxxxxxxxxxxxxxx> Signed-off-by: Hidetoshi Seto <seto.hidetoshi@xxxxxxxxxxxxxx> Tested-by: Jin Dongming <jin.dongming@xxxxxxxxxxxxxxxxxx> Signed-off-by: Andrew Morton <akpm@xxxxxxxxxxxxxxxxxxxx> Signed-off-by: Linus Torvalds <torvalds@xxxxxxxxxxxxxxxxxxxx> commit 933b787b57ca8bdc0fc8fb2cbf67b5e6d21beb84 Author: Rik van Riel <riel@xxxxxxxxxx> Date: Wed Jul 29 15:02:07 2009 -0700 mm: copy over oom_adj value at fork time Fix a post-2.6.31 regression which was introduced by 2ff05b2b4eac2e63d345fc731ea151a060247f53 ("oom: move oom_adj value from task_struct to mm_struct"). After moving the oom_adj value from the task struct to the mm_struct, the oom_adj value was no longer properly inherited by child processes. Copying over the oom_adj value at fork time fixes that bug. [kosaki.motohiro@xxxxxxxxxxxxxx: test for current->mm before dereferencing it] Signed-off-by: Rik van Riel <riel@xxxxxxxxxx> Reported-by: Paul Menage <manage@xxxxxxxxxx> Cc: KOSAKI Motohiro <kosaki.motohiro@xxxxxxxxxxxxxx> Acked-by: David Rientjes <rientjes@xxxxxxxxxx> Signed-off-by: Andrew Morton <akpm@xxxxxxxxxxxxxxxxxxxx> Signed-off-by: Linus Torvalds <torvalds@xxxxxxxxxxxxxxxxxxxx> commit 6583bb64fc370842b32a87c67750c26f6d559af0 Author: David Rientjes <rientjes@xxxxxxxxxx> Date: Wed Jul 29 15:02:06 2009 -0700 mm: avoid endless looping for oom killed tasks If a task is oom killed and still cannot find memory when trying with no watermarks, it's better to fail the allocation attempt than to loop endlessly. Direct reclaim has already failed and the oom killer will be a no-op since current has yet to die, so there is no other alternative for allocations that are not __GFP_NOFAIL. Acked-by: Mel Gorman <mel@xxxxxxxxx> Signed-off-by: David Rientjes <rientjes@xxxxxxxxxx> Acked-by: Hugh Dickins <hugh.dickins@xxxxxxxxxxxxx> Signed-off-by: Andrew Morton <akpm@xxxxxxxxxxxxxxxxxxxx> Signed-off-by: Linus Torvalds <torvalds@xxxxxxxxxxxxxxxxxxxx> commit e084b2d95e48b31aa45f9c49ffc6cdae8bdb21d4 Author: Mel Gorman <mel@xxxxxxxxx> Date: Wed Jul 29 15:02:04 2009 -0700 page-allocator: preserve PFN ordering when __GFP_COLD is set Fix a post-2.6.24 performace regression caused by 3dfa5721f12c3d5a441448086bee156887daa961 ("page-allocator: preserve PFN ordering when __GFP_COLD is set"). Narayanan reports "The regression is around 15%. There is no disk controller as our setup is based on Samsung OneNAND used as a memory mapped device on a OMAP2430 based board." The page allocator tries to preserve contiguous PFN ordering when returning pages such that repeated callers to the allocator have a strong chance of getting physically contiguous pages, particularly when external fragmentation is low. However, of the bulk of the allocations have __GFP_COLD set as they are due to aio_read() for example, then the PFNs are in reverse PFN order. This can cause performance degration when used with IO controllers that could have merged the requests. This patch attempts to preserve the contiguous ordering of PFNs for users of __GFP_COLD. Signed-off-by: Mel Gorman <mel@xxxxxxxxx> Reported-by: Narayananu Gopalakrishnan <narayanan.g@xxxxxxxxxxx> Tested-by: Narayanan Gopalakrishnan <narayanan.g@xxxxxxxxxxx> Cc: KAMEZAWA Hiroyuki <kamezawa.hiroyu@xxxxxxxxxxxxxx> Cc: <stable@xxxxxxxxxx> Signed-off-by: Andrew Morton <akpm@xxxxxxxxxxxxxxxxxxxx> Signed-off-by: Linus Torvalds <torvalds@xxxxxxxxxxxxxxxxxxxx> commit 51fbb4bab6c8710eb897ab3fb06efbbc921f3a8d Author: Matthew Wilcox <matthew@xxxxxx> Date: Wed Jul 29 15:02:03 2009 -0700 markup_oops: fix it with 32-bit userspace on a 64-bit kernel A 32-bit perl can't handle 64-bit addresses without using the BigInt package. Signed-off-by: Matthew Wilcox <willy@xxxxxxxxxxxxxxx> Acked-by: Arjan van de Ven <arjan@xxxxxxxxxxxxxxx> Signed-off-by: Andrew Morton <akpm@xxxxxxxxxxxxxxxxxxxx> Signed-off-by: Linus Torvalds <torvalds@xxxxxxxxxxxxxxxxxxxx> commit cd086d3aa6f7f7bf4d4e1f9fa09af0f0b6bb99ec Author: Sonasath, Moiz <m-sonasath@xxxxxx> Date: Tue Jul 21 10:15:12 2009 -0500 i2c-omap: OMAP3430 Silicon Errata 1.153 When an XRDY/XDR is hit, wait for XUDF before writing data to DATA_REG. Otherwise some data bytes can be lost while transferring them from the memory to the I2C interface. Do a Busy-wait for XUDF, before writing data to DATA_REG. While waiting if there is NACK | AL, set the appropriate error flags, ack the pending interrupts and return from the ISR. Signed-off-by: Moiz Sonasath <m-sonasath@xxxxxx> Signed-off-by: Vikram pandita <vikram.pandita@xxxxxx> [ben-linux@xxxxxxxxx: fixed mail format and added i2c-omap to subject] Signed-off-by: Ben Dooks <ben-linux@xxxxxxxxx> commit 04c688dd7a65935568b44629bfaa122eddf76e94 Author: Sonasath, Moiz <m-sonasath@xxxxxx> Date: Tue Jul 21 10:14:40 2009 -0500 i2c-omap: In case of a NACK|ARDY|AL return from the ISR In case of a NACK or ARDY or AL interrupt, complete the request. There is no need to service the RRDY/RDR or XRDY/XDR interrupts. Refer TRM SWPU114: Figure 18-31.I2C Master Transmitter Mode, Interrupt Method, in F/S and HS Modes http://focus.ti.com/pdfs/wtbu/SWPU114T_PrelimFinalEPDF_06_25_2009.pdf Signed-off-by: Moiz Sonasath <m-sonasath@xxxxxx> Signed-off-by: Vikram pandita <vikram.pandita@xxxxxx> [ben-linux@xxxxxxxxx: fixed mail format and added i2c-omap to subject] Signed-off-by: Ben Dooks <ben-linux@xxxxxxxxx> commit bfb6b6588af5ff762222cee79152d2be738ccc06 Author: Sonasath, Moiz <m-sonasath@xxxxxx> Date: Tue Jul 21 10:14:06 2009 -0500 i2c-omap: Bug in reading the RXSTAT/TXSTAT values from the I2C_BUFFSTAT register Fix bug in reading the I2C_BUFFSTAT register for getting byte count on RX/TX interrupt. On Interrupt: I2C_STAT[RDR], read 'RXSTAT' from I2C_BUFFSTAT[8-13] On Interrupt: I2C_STAT[XDR] read 'TXSTAT' from I2C_BUFFSTAT[0-5] Signed-off-by: Jagadeesh Pakaravoor <j-pakaravoor@xxxxxx> Signed-off-by: Moiz Sonasath <m-sonasath@xxxxxx> Signed-off-by: Vikram pandita <vikram.pandita@xxxxxx> [ben-linux@xxxxxxxxx: fixed mail format and added i2c-omap to subject] Signed-off-by: Ben Dooks <ben-linux@xxxxxxxxx> commit ccb3bc16b4891a82649d4bccbeefe60b1d9a62e2 Author: Magnus Damm <damm@xxxxxxxxxx> Date: Wed Jul 22 23:58:39 2009 +0900 i2c-sh_mobile: change module_init() to subsys_initcall() Convert the i2c-sh_mobile i2c bus driver to use subsys_initcall() instead of module_init(). This change makes the driver register a bit earlier which together with earlier platform data moves the time for probe(). The earlier probe() makes it possible to use i2c_get_adapter() and i2c_transfer() from device_initcall(). The same strategy is used by other i2c bus drivers such as i2c-pxa.c and i2c-s3c2410.c. Signed-off-by: Magnus Damm <damm@xxxxxxxxxx> [ben-linux@xxxxxxxxx: minor subject updaye] Signed-off-by: Ben Dooks <ben-linux@xxxxxxxxx> commit 783fd6fa4c144e3f6913e6fed89de10a6dd715a5 Author: Roel Kluin <roel.kluin@xxxxxxxxx> Date: Fri Jul 17 15:24:00 2009 +0200 i2c: strncpy does not null terminate string strlcpy() will always null terminate the string. Signed-off-by: Roel Kluin <roel.kluin@xxxxxxxxx> Signed-off-by: Ben Dooks <ben-linux@xxxxxxxxx> commit 0e014e92ba93d905bcb39881dce2d38807b90c34 Author: Peter Korsgaard <jacmet@xxxxxxxxxx> Date: Fri Jul 17 22:33:37 2009 +0200 i2c-s3c2410: s3c24xx_i2c_init: don't clobber IICLC value s3c24xx_i2c_init() was overwriting the IICLC value set just above in s3c24xx_i2c_clockrate() with zero, effectively disabling the platform line control setting. Signed-off-by: Peter Korsgaard <jacmet@xxxxxxxxxx> Signed-off-by: Ben Dooks <ben-linux@xxxxxxxxx> commit 9b71de49b030ad8fd4d13d38571b5c42dc9ed8dd Author: Mark Brown <broonie@xxxxxxxxxxxxxxxxxxxxxxxxxxx> Date: Wed Jul 15 13:03:35 2009 +0100 S3C64XX: Fix ARMCLK configuration The value of armclk_mask needs to be inverted for use as a mask on the register value when updating ARM_RATIO. This is critical for cpufreq support, without it attempts to scale the frequency of the core trash pretty much the entire clock tree. Signed-off-by: Mark Brown <broonie@xxxxxxxxxxxxxxxxxxxxxxxxxxx> Signed-off-by: Ben Dooks <ben-linux@xxxxxxxxx> commit 1d91e1a296244690461a7c36d71710dfbabbc219 Author: Mark Brown <broonie@xxxxxxxxxxxxxxxxxxxxxxxxxxx> Date: Wed Jul 15 13:03:34 2009 +0100 S3C64XX: Fix get_rate() for ARMCLK If the requested clock is faster than the parent clock then the parent clock is the closest we can get to the request so we need to return that instead of the requested clock. Signed-off-by: Mark Brown <broonie@xxxxxxxxxxxxxxxxxxxxxxxxxxx> Signed-off-by: Ben Dooks <ben-linux@xxxxxxxxx> commit 0c997c0eaac8c68fa23719617484dae29bddaedd Author: Lars-Peter Clausen <lars@xxxxxxxxxx> Date: Wed Jul 22 00:33:06 2009 +0200 S3C24XX: GPIO: Fix pin range check in s3c_gpiolib_getchip In the s3c_gpiolib_getchip implementation for s3c24xx the check whether a pin is in the gpio banks range is reversed. Thus the function returns NULL for valid pins and the gpio chip if its not valid. As a result gpio states are not saved/restored properly during suspend/resume. Signed-off-by: Ben Dooks <ben-linux@xxxxxxxxx> commit fb7a46f3cc7d7dcf7c5edb3a38c84e3f730d7adb Author: ling.ma@xxxxxxxxx <ling.ma@xxxxxxxxx> Date: Thu Jul 23 17:11:34 2009 +0800 drm/i915: Choose real sdvo output according to result from detection Baed on Eric's idea in order to handle multiple sdvo encoders we implement another approach to dynamically chose real one encoder after detection, which is contrasted with patch - drm/i915:Construct all possible sdvo outputs for sdvo encoder. Signed-off-by: Ma Ling <ling.ma@xxxxxxxxx> Signed-off-by: Eric Anholt <eric@xxxxxxxxxx> commit bcae2ca81c4a085e3e0e8941b7c64f9aeb6fc05c Author: ling.ma@xxxxxxxxx <ling.ma@xxxxxxxxx> Date: Mon Jul 20 13:20:23 2009 +0800 drm/i915: Set preferred mode for integrated TV according to TV format In order to get best possible quality image we chose 640x480 for NTSC, PAL and 480p, 1280x720 for 720p, 1920x1080 for 1080i/p TV format respectively. Signed-off-by: Ma Ling <ling.ma@xxxxxxxxx> Signed-off-by: Eric Anholt <eric@xxxxxxxxxx> commit f360132626b11d0dc60814033873ca0e3111677c Author: Jesse Barnes <jbarnes@xxxxxxxxxxxxxxxx> Date: Wed Jul 22 12:54:59 2009 -0700 drm/i915: fix 845G FIFO size & burst length I had one report of flicker due to FIFO underruns on 845G. Scott was kind enough to test a few patches and report success with this one. Looks like 845G measures FIFO size slightly differently than other chips, and we were also clobbering the FIFO burst length. Fixing both of those issues gives him a healthy machine again. Note that we still only adjust plane A's watermark in the 830/845 case. If someone is willing to test we could support a bigger variety of dual-head 830/845 configurations with a bit more code. Fixes fdo bug #19304 (again). Reported-by: Scott Hansen <scottandchrystie@xxxxxxxxxxx> Tested-by: Scott Hansen <scottandchrystie@xxxxxxxxxxx> Signed-off-by: Jesse Barnes <jbarnes@xxxxxxxxxxxxxxxx> Signed-off-by: Eric Anholt <eric@xxxxxxxxxx> commit 67941da28d59cca6817d35823fcb1e3e4eed030e Author: Zhenyu Wang <zhenyuw@xxxxxxxxxxxxxxx> Date: Fri Jul 24 01:00:33 2009 +0800 drm/i915: fix VGA detect on IGDNG Check FORCE_DETECT bit to be clear for the finish of hotplug detect process. Also check possible mono monitor which should also be marked as connected. Signed-off-by: Zhenyu Wang <zhenyuw@xxxxxxxxxxxxxxx> Signed-off-by: Eric Anholt <eric@xxxxxxxxxx> commit 32f9d658aee5be09ebdd28fc730630e61d0b46db Author: Zhenyu Wang <zhenyuw@xxxxxxxxxxxxxxx> Date: Fri Jul 24 01:00:32 2009 +0800 drm/i915: Add eDP support on IGDNG mobile chip This adds embedded DisplayPort support on next mobile chip which aims to replace origin LVDS port. VBT's driver feature block has been used to determine the type of current internal panel for eDP or LVDS. Currently no panel fitting support for eDP and backlight control would be added in future. Signed-off-by: Zhenyu Wang <zhenyuw@xxxxxxxxxxxxxxx> Signed-off-by: Eric Anholt <eric@xxxxxxxxxx> commit 5eb08b69f510fadaba77eb9a1bda0f7299c4ebcc Author: Zhenyu Wang <zhenyuw@xxxxxxxxxxxxxxx> Date: Fri Jul 24 01:00:31 2009 +0800 drm/i915: enable DisplayPort support on IGDNG Signed-off-by: Zhenyu Wang <zhenyuw@xxxxxxxxxxxxxxx> Signed-off-by: Eric Anholt <eric@xxxxxxxxxx> commit eebc863e469cd91d96c4e3636450596ae29f0502 Author: Zhenyu Wang <zhenyuw@xxxxxxxxxxxxxxx> Date: Fri Jul 24 01:00:30 2009 +0800 drm/i915: Fix channel ending action for DP aux transaction We should use current channel 'status' bits to clear DP aux channel's done and error bits, instead of using the channel setting bits, that will set send/busy bit again to initiate new transaction. This also includes also some minor cleanup. Signed-off-by: Zhenyu Wang <zhenyuw@xxxxxxxxxxxxxxx> Signed-off-by: Eric Anholt <eric@xxxxxxxxxx> commit 249c0e64c24bf455a4e4815f72750f2b16cedd94 Author: Zhenyu Wang <zhenyuw@xxxxxxxxxxxxxxx> Date: Fri Jul 24 01:00:29 2009 +0800 drm/i915: fix issue in display pipe setup on IGDNG During pipe DPMS off, instead of busy waiting pipe off, insert delays during wait and don't loop after enough tries which matches spec requirement. Also try to match DPMS on path by disable FDI TX PLL in DPMS off. Disable PF by writing PF_WIN_SZ which really trigger the update. Signed-off-by: Zhenyu Wang <zhenyuw@xxxxxxxxxxxxxxx> Signed-off-by: Eric Anholt <eric@xxxxxxxxxx> commit 24f119c769bacac5729297b682fec7811a983cc6 Author: Zhenyu Wang <zhenyuw@xxxxxxxxxxxxxxx> Date: Fri Jul 24 01:00:28 2009 +0800 drm/i915: disable VGA plane reliably This does VGA disable like DDX driver. SR01 bit 5 should be set before VGA plane disable through control register, otherwise we might get random crash and lockups. Signed-off-by: Zhenyu Wang <zhenyuw@xxxxxxxxxxxxxxx> Signed-off-by: Eric Anholt <eric@xxxxxxxxxx> commit cdaa052b05e26d96a990af5d253fd2af5db2b1fc Author: Zhao Yakui <yakui.zhao@xxxxxxxxx> Date: Tue Jul 28 10:54:13 2009 +0800 drm/I915: Fix offset to DVO timings in LVDS data Now the DVO timing in LVDS data entry is obtained by using the following step: a. get the entry size for every LVDS panel data b. Get the LVDS fp entry for the preferred panel type c. get the DVO timing by using entry->dvo_timing In our driver the entry->dvo_timing is related with the size of lvds_fp_timing. For example: the size is 46. But it seems that the size of lvds_fp_timing varies on the differnt platform. In such case we will get the incorrect DVO timing entry because of the incorrect DVO offset in LVDS panel data entry. This also removes a hack on new IGDNG to get proper DVO timing. Calculate the DVO timing offset in LVDS data entry to get the DVO timing a. get the DVO timing offset in the LVDS fp data entry by using the pointer definition in LVDS data ptr b. get the LVDS data entry c. get the DVO timing by adding the DVO timing offset to data entry https://bugs.freedesktop.org/show_bug.cgi?id=22787 Signed-off-by: Zhao Yakui <yakui.zhao@xxxxxxxxx> Tested-by: Zhenyu Wang <zhenyuw@xxxxxxxxxxxxxxx> Acked-by: Jesse Barnes <jbarnes@xxxxxxxxxxxxxxxx> Signed-off-by: Eric Anholt <eric@xxxxxxxxxx> commit f5886c7f96f2542382d3a983c5f13e03d7fc5259 Author: Catalin Marinas <catalin.marinas@xxxxxxx> Date: Wed Jul 29 16:26:57 2009 +0100 kmemleak: Protect the seq start/next/stop sequence by rcu_read_lock() Objects passed to kmemleak_seq_next() have an incremented reference count (hence not freed) but they may point via object_list.next to other freed objects. To avoid this, the whole start/next/stop sequence must be protected by rcu_read_lock(). Signed-off-by: Catalin Marinas <catalin.marinas@xxxxxxx> Signed-off-by: Linus Torvalds <torvalds@xxxxxxxxxxxxxxxxxxxx> commit 84210aeb4a6a77de8a3067b121026bad630cd3da Merge: 7d4dd028b022ddf8631b4530ed8d7777526f545e ed8f0d9e708a1a7c9222e7d0a35d97521e904223 Author: Linus Torvalds <torvalds@xxxxxxxxxxxxxxxxxxxx> Date: Wed Jul 29 12:31:59 2009 -0700 Merge branch 'drm-radeon-kms' of git://git.kernel.org/pub/scm/linux/kernel/git/airlied/drm-2.6 * 'drm-radeon-kms' of git://git.kernel.org/pub/scm/linux/kernel/git/airlied/drm-2.6: (35 commits) drm/radeon: set fb aperture sizes for framebuffer handoff. drm/ttm: fix highuser vs dma32 confusion. drm/radeon: Fix size used for benchmarking BO copies. drm/radeon: Add radeon.test parameter for running BO GPU copy tests. drm/radeon/kms: allow interruptible waits for objects. drm/ttm: powerpc: Fix Highmem cache flushing. x86: Export kmap_atomic_prot() needed for TTM. drm/ttm: Fix ttm in-kernel copying of pages with non-standard caching attributes. drm/ttm: Fix an oops and sync object leak. drm/radeon/kms: vram sizing on certain r100 chips needs workaround. drm/radeon: Pay more attention to object placement requested by userspace. drm/radeon: Fall back to evicting BOs with memcpy if necessary. drm/radeon: Don't unreserve twice on failure to validate. drm/radeon/kms: fix bandwidth computation on avivo hardware drm/radeon/kms: add initial colortiling support. drm/radeon/kms: fix hotspot handling on pre-avivo chips drm/radeon/kms: enable frac fb divs on rs600/rs690/rs740 drm/radeon/kms: add PLL flag to prefer frequencies <= the target freq drm/radeon/kms: block RN50 from using 3D engine. drm/radeon/kms: fix VRAM sizing like DDX does it. ... commit 7d4dd028b022ddf8631b4530ed8d7777526f545e Merge: 2e13e5f03538cfded0c463fd60eddd0c8e2cd959 68dbcb726e372b3c8ef60b79b5aff4174dd2bdf0 Author: Linus Torvalds <torvalds@xxxxxxxxxxxxxxxxxxxx> Date: Wed Jul 29 12:30:54 2009 -0700 Merge branch 'zero-length' of git://git.kernel.org/pub/scm/linux/kernel/git/jgarzik/misc-2.6 * 'zero-length' of git://git.kernel.org/pub/scm/linux/kernel/git/jgarzik/misc-2.6: Remove zero-length file drivers/char/vr41xx_giu.c commit 2e13e5f03538cfded0c463fd60eddd0c8e2cd959 Merge: ccf5675a82a72bc1599b9b29cf33f7e391658485 5920dadfb4aec6c1372c5570e71bcd3b4837e63c Author: Linus Torvalds <torvalds@xxxxxxxxxxxxxxxxxxxx> Date: Wed Jul 29 12:29:39 2009 -0700 Merge branch 'upstream-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/jgarzik/libata-dev * 'upstream-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/jgarzik/libata-dev: libata: accept late unlocking of HPA libata: Updates and fixes for pata_at91 driver ata_piix: Add new short cable ID ata_piix: Add new laptop short cable IDs ahci: add device IDs for Ibex Peak ahci controllers libata: remove superfluous NULL pointer checks libata: add missing NULL pointer check to ata_eh_reset() pata_pcmcia: add CNF-CDROM-ID commit ccf5675a82a72bc1599b9b29cf33f7e391658485 Merge: b7ebbb77f183061eb34dd210372d016c04371c26 a39ea210ec8c8f6ed381f8dafbe755c57b8f30c3 Author: Linus Torvalds <torvalds@xxxxxxxxxxxxxxxxxxxx> Date: Wed Jul 29 12:29:08 2009 -0700 Merge git://git.kernel.org/pub/scm/linux/kernel/git/gregkh/driver-core-2.6 * git://git.kernel.org/pub/scm/linux/kernel/git/gregkh/driver-core-2.6: driver core: documentation: make it clear that sysfs is optional driver core: sysdev: do not send KOBJ_ADD uevent if kobject_init_and_add fails Dynamic debug: fix typo: -/-> driver core: firmware_class:fix memory leak of page pointers array sysfs: fix hardlink count on device_move commit b7ebbb77f183061eb34dd210372d016c04371c26 Merge: 7de8b9261d6abbb2bd71aab6a5ac0981696dcd2c fb29900217bd89370974870d47cab07bad3e5ac4 Author: Linus Torvalds <torvalds@xxxxxxxxxxxxxxxxxxxx> Date: Wed Jul 29 12:28:49 2009 -0700 Merge git://git.kernel.org/pub/scm/linux/kernel/git/gregkh/staging-2.6 * git://git.kernel.org/pub/scm/linux/kernel/git/gregkh/staging-2.6: staging: udlfb: Add vmalloc.h include staging: remove aten2011 driver Staging: android: lowmemorykiller.c: fix it for "oom: move oom_adj value from task_struct to mm_struct" Staging: serqt_usb2: fix memory leak in error case Staging: serqt_usb2: add missing calls to tty_kref_put() commit 7de8b9261d6abbb2bd71aab6a5ac0981696dcd2c Merge: e043e42bdb66885b3ac10d27a01ccb9972e2b0a3 c92bcfa7b4038d8ffe1f02e21269f18eb0b64144 Author: Linus Torvalds <torvalds@xxxxxxxxxxxxxxxxxxxx> Date: Wed Jul 29 12:28:23 2009 -0700 Merge git://git.kernel.org/pub/scm/linux/kernel/git/gregkh/usb-2.6 * git://git.kernel.org/pub/scm/linux/kernel/git/gregkh/usb-2.6: (34 commits) USB: xhci: Stall handling bug fixes. USB: xhci: Support for 64-byte contexts USB: xhci: Always align output device contexts to 64 bytes. USB: xhci: Scratchpad buffer allocation USB: Fix parsing of SuperSpeed Endpoint Companion descriptor. USB: xhci: Fail gracefully if there's no SS ep companion descriptor. USB: xhci: Handle babble errors on transfers. USB: xhci: Setup HW retries correctly. USB: xhci: Check if the host controller died in IRQ handler. USB: xhci: Don't oops if the host doesn't halt. USB: xhci: Make debugging more verbose. USB: xhci: Correct Event Handler Busy flag usage. USB: xhci: Handle short control packets correctly. USB: xhci: Represent 64-bit addresses with one u64. USB: xhci: Use GFP_ATOMIC while holding spinlocks. USB: xhci: Deal with stalled endpoints. USB: xhci: Set TD size in transfer TRB. USB: xhci: fix less- and greater than confusion USB: usbtest: no need for USB_DEVICEFS USB: musb: fix CONFIGDATA register read issue ... commit e043e42bdb66885b3ac10d27a01ccb9972e2b0a3 Author: OGAWA Hirofumi <hirofumi@xxxxxxxxxxxxxxxxxx> Date: Wed Jul 29 12:15:56 2009 -0700 pty: avoid forcing 'low_latency' tty flag We really don't want to mark the pty as a low-latency device, because as Alan points out, the ->write method can be called from an IRQ (ppp?), and that means we can't use ->low_latency=1 as we take mutexes in the low_latency case. So rather than using low_latency to force the written data to be pushed to the ldisc handling at 'write()' time, just make the reader side (or the poll function) do the flush when it checks whether there is data to be had. This also fixes the problem with lost data in an emacs compile buffer (bugzilla 13815), and we can thus revert the low_latency pty hack (commit 3a54297478e6578f96fd54bf4daa1751130aca86: "pty: quickfix for the pty ENXIO timing problems"). Signed-off-by: OGAWA Hirofumi <hirofumi@xxxxxxxxxxxxxxxxxx> Tested-by: Aneesh Kumar K.V <aneesh.kumar@xxxxxxxxxxxxxxxxxx> [ Modified to do the tty_flush_to_ldisc() inside input_available_p() so that it triggers for both read and poll() - Linus] Signed-off-by: Linus Torvalds <torvalds@xxxxxxxxxxxxxxxxxxxx> commit dddac6a7b445de95515f64fdf82fe5dc36c02f26 Author: Alan Jenkins <alan-jenkins@xxxxxxxxxxxxxx> Date: Wed Jul 29 21:07:55 2009 +0200 PM / Hibernate: Replace bdget call with simple atomic_inc of i_count Create bdgrab(). This function copies an existing reference to a block_device. It is safe to call from any context. Hibernation code wishes to copy a reference to the active swap device. Right now it calls bdget() under a spinlock, but this is wrong because bdget() can sleep. It doesn't need a full bdget() because we already hold a reference to active swap devices (and the spinlock protects against swapoff). Fixes http://bugzilla.kernel.org/show_bug.cgi?id=13827 Signed-off-by: Alan Jenkins <alan-jenkins@xxxxxxxxxxxxxx> Signed-off-by: Rafael J. Wysocki <rjw@xxxxxxx> commit ec79be26875f6c1468784876cb99192b7f41c7a5 Author: Bartlomiej Zolnierkiewicz <bzolnier@xxxxxxxxx> Date: Wed Jul 29 21:07:47 2009 +0200 PM / ACPI: HP G7000 Notebook needs a SCI_EN resume quirk This fixes regression (battery "vanishing" on resume) introduced by commit d0c71fe7ebc180f1b7bc7da1d39a07fc19eec768 ("ACPI Suspend: Enable ACPI during resume if SCI_EN is not set") and also the issue with the "screaming" IRQ 9. Fixes http://bugzilla.kernel.org/show_bug.cgi?id=13745 Reported-and-tested-by: Alan Jenkins <alan-jenkins@xxxxxxxxxxxxxx> Cc: stable@xxxxxxxxxx Signed-off-by: Bartlomiej Zolnierkiewicz <bzolnier@xxxxxxxxx> Acked-by: Len Brown <lenb@xxxxxxxxxx> Signed-off-by: Rafael J. Wysocki <rjw@xxxxxxx> commit 89c3a8aca28e6d57f2ae945d97858a372d624b81 Author: Johannes Berg <johannes@xxxxxxxxxxxxxxxx> Date: Tue Jul 28 18:10:17 2009 +0200 mac80211: fix suspend Jan reported that his b43-based laptop hangs during suspend. The problem turned out to be mac80211 asking the driver to stop the hardware before removing interfaces, and interface removal caused b43 to touch the hardware (while down, which causes the hang). This patch fixes mac80211 to do reorder these operations to have them in the correct order -- first remove interfaces and then stop the hardware. Some more code is necessary to be able to do so in a race-free manner, in particular it is necessary to not process frames received during quiescing. Fixes http://bugzilla.kernel.org/show_bug.cgi?id=13337. Reported-by: Jan Scholz <scholz@xxxxxxxxxxxxxxxxxxxxx> Signed-off-by: Johannes Berg <johannes@xxxxxxxxxxxxxxxx> Signed-off-by: John W. Linville <linville@xxxxxxxxxxxxx> commit 57921c312e8cef72ba35a4cfe870b376da0b1b87 Author: Roel Kluin <roel.kluin@xxxxxxxxx> Date: Tue Jul 28 12:05:00 2009 +0200 libertas: Read buffer overflow Several arrays were read before checking whether the index was within bounds. ARRAY_SIZE() should be used to determine the size of arrays. rates->rates has an arraysize of 1, so calling get_common_rates() with a rates_size of MAX_RATES (14) was causing reads out of bounds. tmp_size can increment at most to (ARRAY_SIZE(lbs_bg_rates) - 1) * (*rates_size - 1), so that should be the number of elements of tmp[]. A goto can be eliminated: ret was already set upon its declaration. Signed-off-by: Roel Kluin <roel.kluin@xxxxxxxxx> Signed-off-by: John W. Linville <linville@xxxxxxxxxxxxx> commit 430453fc2a5f3f2c1d98ebc3c3d4c54f3060e3c3 Author: Roel Kluin <roel.kluin@xxxxxxxxx> Date: Tue Jul 28 09:59:47 2009 +0200 libertas: Read outside array bounds reads bss->rates[j] before checking bounds of index, and should use ARRAY_SIZE to determine the size of the array. Signed-off-by: Roel Kluin <roel.kluin@xxxxxxxxx> Acked-by: Holger Schurig <hs4233@xxxxxxxxxxxxxxxxxxxx> Acked-by: Dan Williams <dcbw@xxxxxxxxxx> Signed-off-by: John W. Linville <linville@xxxxxxxxxxxxx> commit a987004fbcf163b100d227284999602f83044d7e Author: Roel Kluin <roel.kluin@xxxxxxxxx> Date: Wed Jul 29 12:12:09 2009 +0200 sound: mpu401.c: Buffer overflow mpu_synth_info[m].name is a char[30], and the minimum length of the data written by sprintf is 31 bytes including terminating null. Signed-off-by: Roel Kluin <roel.kluin@xxxxxxxxx> Signed-off-by: Takashi Iwai <tiwai@xxxxxxx> commit c45ec06c74512265969aef40b00f320c6afb7a90 Author: Roel Kluin <roel.kluin@xxxxxxxxx> Date: Wed Jul 29 11:46:59 2009 +0200 sound: aedsp16: Buffer overflow DSPVersion is declared as char[3], but the sprintf writes at least 4 bytes including terminating null. Signed-off-by: Roel Kluin <roel.kluin@xxxxxxxxx> Signed-off-by: Takashi Iwai <tiwai@xxxxxxx> commit 78735cffc2d9ab0dec32f1ba7cbc1d84b45bbf29 Author: Roel Kluin <roel.kluin@xxxxxxxxx> Date: Wed Jul 29 14:35:20 2009 +0200 ALSA: hda: fix out-of-bound hdmi_eld.sad[] write e->sad[] is declared with size ELD_MAX_SAD=16, but the guard allows range 0-31. Signed-off-by: Roel Kluin <roel.kluin@xxxxxxxxx> Signed-off-by: Wu Fengguang <fengguang.wu@xxxxxxxxx> Signed-off-by: Takashi Iwai <tiwai@xxxxxxx> commit ed8f0d9e708a1a7c9222e7d0a35d97521e904223 Author: Dave Airlie <airlied@xxxxxxxxxx> Date: Wed Jul 29 17:07:38 2009 +1000 drm/radeon: set fb aperture sizes for framebuffer handoff. This will allow efi/vesa to handoff to radeon. Signed-off-by: Dave Airlie <airlied@xxxxxxxxxx> commit b42db2b12df7b4f7b2ace581a7726cb5bcb2d658 Author: Dave Airlie <airlied@xxxxxxxxxx> Date: Wed Jul 29 16:56:52 2009 +1000 drm/ttm: fix highuser vs dma32 confusion. DMA32 and highmem are sort of exclusive. Noticed by AndrewR on #radeon. Signed-off-by: Dave Airlie <airlied@xxxxxxxxxx> commit ea3c13bd8c2ed1d3670bd72e60f562a427355fdf Author: Michel Dänzer <daenzer@xxxxxxxxxx> Date: Mon Jul 20 01:44:03 2009 +0200 drm/radeon: Fix size used for benchmarking BO copies. The incorrect size caused benchmark results to be inflated by a factor of 4. Signed-off-by: Michel Dänzer <daenzer@xxxxxxxxxx> Signed-off-by: Dave Airlie <airlied@xxxxxxxxxx> commit ecc0b32645bf19a3a240e72be3022ab3b46ad3d0 Author: Michel Dänzer <daenzer@xxxxxxxxxx> Date: Tue Jul 21 11:23:57 2009 +0200 drm/radeon: Add radeon.test parameter for running BO GPU copy tests. If enabled, during initialization BO GTT->VRAM and VRAM->GTT GPU copies are tested across the whole GTT aperture. This has helped uncover the benchmark copy size bug and verify the maximum aperture size supported by the AGP bridge in my PowerBook. Signed-off-by: Michel Dänzer <daenzer@xxxxxxxxxx> Signed-off-by: Dave Airlie <airlied@xxxxxxxxxx> commit 3b170c3b2e688665fbc2845ba5bb4304bf38a119 Author: Dave Airlie <airlied@xxxxxxxxxx> Date: Fri Jul 24 13:47:45 2009 +1000 drm/radeon/kms: allow interruptible waits for objects. Blocking here isn't something the X server mouse appreciates, avoid the block and let userspace retry the waits. libdrm_radeon userspace library is also expecting EBUSY not ERESTART Signed-off-by: Dave Airlie <airlied@xxxxxxxxxx> commit f121ecfebbea1452a17d57c656def7d1537440f7 Author: Thomas Hellstrom <thellstrom@xxxxxxxxxx> Date: Fri Jul 24 10:22:36 2009 +0200 drm/ttm: powerpc: Fix Highmem cache flushing. Temporarily maps highmem pages while flushing to get a valid virtual address to flush. Signed-off-by: Thomas Hellstrom <thellstrom@xxxxxxxxxx> Signed-off-by: Dave Airlie <airlied@xxxxxxxxxx> commit 73ba651fc246fcc3e446da4155e0425b4219d2c4 Author: Thomas Hellstrom <thellstrom@xxxxxxxxxx> Date: Fri Jul 24 09:57:33 2009 +0200 x86: Export kmap_atomic_prot() needed for TTM. This functionality is needed to kmap_atomic() highmem pages that may potentially have or are about to set up other mappings with non-standard caching attributes. Signed-off-by: Thomas Hellstrom <thellstrom@xxxxxxxxxx> Signed-off-by: Dave Airlie <airlied@xxxxxxxxxx> commit 542c6f6df51327dbb180cf4d9b34827e147efe17 Author: Thomas Hellstrom <thellstrom@xxxxxxxxxx> Date: Fri Jul 24 09:57:34 2009 +0200 drm/ttm: Fix ttm in-kernel copying of pages with non-standard caching attributes. For x86 this affected highmem pages only, since they were always kmapped cache-coherent, and this is fixed using kmap_atomic_prot(). For other architectures that may not modify the linear kernel map we resort to vmap() for now, since kmap_atomic_prot() generally uses the linear kernel map for lowmem pages. This of course comes with a performance impact and should be optimized when possible. Signed-off-by: Thomas Hellstrom <thellstrom@xxxxxxxxxx> Signed-off-by: Dave Airlie <airlied@xxxxxxxxxx> commit 4677f15c60421d48566c48c3149474e64977f071 Author: Thomas Hellstrom <thellstrom@xxxxxxxxxx> Date: Tue Jul 21 17:45:13 2009 +0200 drm/ttm: Fix an oops and sync object leak. The code was potentially dereferencig a NULL sync object pointer. At the same time a sync object reference was potentially leaked. Signed-off-by: Thomas Hellstrom <thellstrom@xxxxxxxxxx> Signed-off-by: Dave Airlie <airlied@xxxxxxxxxx> commit 7a50f01a4ab89d5c05eb2cf62e206ac0bfc61d2c Author: Dave Airlie <airlied@xxxxxxxxxx> Date: Tue Jul 21 20:39:30 2009 +1000 drm/radeon/kms: vram sizing on certain r100 chips needs workaround. If an rn50/r100/m6/m7 GPU has < 64MB RAM, i.e. 8/16/32, the aperture used to calculate the MC_FB_LOCATION needs to be worked out from the CONFIG_APER_SIZE register, and not the actual vram size. TTM VRAM size was also being initialised wrong, use actual vram size to initialise it. Signed-off-by: Dave Airlie <airlied@xxxxxxxxxx> commit 664f86590295217b2319edf88830e87b800f6c4a Author: Michel Dänzer <daenzer@xxxxxxxxxx> Date: Tue Jul 28 12:30:57 2009 +0200 drm/radeon: Pay more attention to object placement requested by userspace. Previously we were basically always setting the GTT and VRAM flags regardless of what userspace requested. Signed-off-by: Michel Dänzer <daenzer@xxxxxxxxxx> Signed-off-by: Dave Airlie <airlied@xxxxxxxxxx> commit 1ab2e1059916b917af19e4137a4222988bd7a169 Author: Michel Dänzer <daenzer@xxxxxxxxxx> Date: Tue Jul 28 12:30:56 2009 +0200 drm/radeon: Fall back to evicting BOs with memcpy if necessary. Otherwise if there's no GTT space we would fail the eviction, leading to cascaded failure. Signed-off-by: Michel Dänzer <daenzer@xxxxxxxxxx> Signed-off-by: Dave Airlie <airlied@xxxxxxxxxx> commit e46074effd5510e7a8fe34b93828d98a50835da2 Author: Michel Dänzer <daenzer@xxxxxxxxxx> Date: Tue Jul 28 12:30:55 2009 +0200 drm/radeon: Don't unreserve twice on failure to validate. This is done later in radeon_object_list_unvalidate(). Doing it twice triggers a BUG in TTM, rendering X on KMS unusable until reboot. Signed-off-by: Michel Dänzer <daenzer@xxxxxxxxxx> Signed-off-by: Dave Airlie <airlied@xxxxxxxxxx> commit c93bb85b5cba3e3a06f2cad8e9bc5c23d3d10aac Author: Jerome Glisse <jglisse@xxxxxxxxxx> Date: Mon Jul 13 21:04:08 2009 +0200 drm/radeon/kms: fix bandwidth computation on avivo hardware Fix bandwidth computation and crtc priority in memory controller so that crtc memory request are fullfill in time to avoid display artifact. Signed-off-by: Jerome Glisse <jglisse@xxxxxxxxxx> Signed-off-by: Dave Airlie <airlied@xxxxxxxxxx> commit e024e11070a0a0dc7163ce1ec2da354a638bdbed Author: Dave Airlie <airlied@xxxxxxxxxx> Date: Wed Jun 24 09:48:08 2009 +1000 drm/radeon/kms: add initial colortiling support. This adds new set/get tiling interfaces where the pitch and macro/micro tiling enables can be set. Along with a flag to decide if this object should have a surface when mapped. The only thing we need to allocate with a mapped surface should be the frontbuffer. Note rotate scanout shouldn't require one, and back/depth shouldn't either, though mesa needs some fixes. It fixes the TTM interfaces along Thomas's suggestions, and I've tested the surface stealing code with two X servers and not seen any lockdep issues. I've stopped tiling the fbcon frontbuffer, as I don't see there being any advantage other than testing, I've left the testing commands in there, just flip the fb_tiled to true in radeon_fb.c Open: Can we integrate endian swapping in with this? Future features: texture tiling - need to relocate texture registers TXOFFSET* with tiling info. This also merges Michel's cleanup surfaces regs at init time patch even though it makes sense on its own, this patch really relies on it. Some PowerMac firmwares set up a tiling surface at the beginning of VRAM which messes us up otherwise. that patch is: Signed-off-by: Michel Dänzer <daenzer@xxxxxxxxxx> Signed-off-by: Dave Airlie <airlied@xxxxxxxxxx> commit 68dbcb726e372b3c8ef60b79b5aff4174dd2bdf0 Author: Jeff Garzik <jeff@xxxxxxxxxx> Date: Tue Jul 28 22:36:59 2009 -0400 Remove zero-length file drivers/char/vr41xx_giu.c Signed-off-by: Jeff Garzik <jgarzik@xxxxxxxxxx> commit 5920dadfb4aec6c1372c5570e71bcd3b4837e63c Author: Tejun Heo <tj@xxxxxxxxxx> Date: Wed Jul 15 17:11:41 2009 +0900 libata: accept late unlocking of HPA On certain configurations, HPA isn't or can't be unlocked during probing but it somehow ends up unlocked afterwards. In the following thread, the problem can be reliably reproduced after resuming from STR. The BIOS turns on HPA during boot but forgets to do it during resume. http://thread.gmane.org/gmane.linux.kernel/858310 This patch updates libata revalidation such that it considers native n_sectors. If the device size has increased to match native n_sectors, it's assumed that HPA has been unlocked involuntarily and the device is recognized as the same one. This should be fairly safe while nicely working around the problem. Signed-off-by: Tejun Heo <tj@xxxxxxxxxx> Reported-by: Christof Warlich <christof@xxxxxxxxxxxx> Signed-off-by: Jeff Garzik <jgarzik@xxxxxxxxxx> commit 7d084d96fdf1d791cb171da57efc1ca89d68dd6c Author: Sergey Matyukevich <geomatsi@xxxxxxxxx> Date: Thu Jul 16 22:38:55 2009 +0400 libata: Updates and fixes for pata_at91 driver Please consider the following updates and fixes for pata_at91 driver. * Removed extra headers Here we need only static memory controller properties, which are contained in generic header at91sam9_smc.h. No need to include any specific headers for at91sam9260 SoC. * No harsh BUG_ON for get_clk in set_smc_timing function get_clk is now performed in driver probing function, probing fails if master clock is not available * Fixed uint/ulong mess in calc_mck_cycles function Signed-off-by: Sergey Matyukevich <geomatsi@xxxxxxxxx> Signed-off-by: Jeff Garzik <jgarzik@xxxxxxxxxx> commit 760cdb7760be928e85a021552253eb1b39acdf37 Author: Steve Conklin <sconklin@xxxxxxxxxxxxx> Date: Thu Jul 16 16:31:10 2009 -0500 ata_piix: Add new short cable ID OriginalAuthor: Tony Espy <espy@xxxxxxxxxxxxx> Signed-off-by: Steve Conklin <sconklin@xxxxxxxxxxxxx> Signed-off-by: Jeff Garzik <jgarzik@xxxxxxxxxx> commit 6034734d333c1bd01119a5b480b34a507a3adf56 Author: Steve Conklin <sconklin@xxxxxxxxxxxxx> Date: Thu Jul 16 16:27:56 2009 -0500 ata_piix: Add new laptop short cable IDs OriginalAuthor: Michael Frey <michael.frey@xxxxxxxxxxxxx> Signed-off-by: Steve Conklin <sconklin@xxxxxxxxxxxxx> Signed-off-by: Jeff Garzik <jgarzik@xxxxxxxxxx> commit c1f57d9b9846e7366c328f916d1a82d03ba4312c Author: David Milburn <dmilburn@xxxxxxxxxx> Date: Wed Jul 22 15:15:56 2009 -0500 ahci: add device IDs for Ibex Peak ahci controllers Add device IDS for Ibex Peak SATA AHCI Controllers Signed-off-by: Jaroslav Kysela <jkysela@xxxxxxxxxx> Signed-off-by: David Milburn <dmilburn@xxxxxxxxxx> Signed-off-by: Jeff Garzik <jgarzik@xxxxxxxxxx> commit c9abde12d6debe5b97f36fb43cf188c1b9cd477f Author: Bartlomiej Zolnierkiewicz <bzolnier@xxxxxxxxx> Date: Sun Jul 26 16:05:13 2009 +0200 libata: remove superfluous NULL pointer checks host->ports[] always contain pointers to valid port structures since a "dummy port" structure is used in case if there is no physical port. This patch takes care of two entries from Dan's list: drivers/ata/sata_sil.c +535 sil_interrupt(13) warning: variable derefenced before check 'ap' drivers/ata/sata_mv.c +2517 mv_unexpected_intr(6) warning: variable derefenced before check 'ap' and of another needless NULL pointer check in pata_octeon_cf.c. Reported-by: Dan Carpenter <error27@xxxxxxxxx> Cc: corbet@xxxxxxx Cc: eteo@xxxxxxxxxx Signed-off-by: Bartlomiej Zolnierkiewicz <bzolnier@xxxxxxxxx> Signed-off-by: Jeff Garzik <jgarzik@xxxxxxxxxx> commit 705d201414382b0966d7c903d738dfdb9380e4af Author: Bartlomiej Zolnierkiewicz <bzolnier@xxxxxxxxx> Date: Sun Jul 26 16:21:01 2009 +0200 libata: add missing NULL pointer check to ata_eh_reset() drivers/ata/libata-eh.c +2403 ata_eh_reset(80) warning: variable derefenced before check 'slave' Please note that this is _not_ a real bug at the moment since ata_eh_context structure is embedded into ata_list structure and the code alwas checks for 'slave' before accessing 'sehc'. Anyway lets add missing check and always have a valid 'sehc' pointer (which makes code easier to understand and prevents introducing some possible bugs in the future). Reported-by: Dan Carpenter <error27@xxxxxxxxx> Cc: corbet@xxxxxxx Cc: eteo@xxxxxxxxxx Signed-off-by: Bartlomiej Zolnierkiewicz <bzolnier@xxxxxxxxx> Signed-off-by: Jeff Garzik <jgarzik@xxxxxxxxxx> commit 044dcc824a167e3d39ba69a49e2b723dd10678f6 Author: Wolfram Sang <w.sang@xxxxxxxxxxxxxx> Date: Sun Jul 26 18:27:29 2009 +0200 pata_pcmcia: add CNF-CDROM-ID Fixes this report: http://article.gmane.org/gmane.linux.kernel.pcmcia.devel/2228/ Reported-by: John McGrath <john@xxxxxxxxxxxxxxxx> Signed-off-by: Wolfram Sang <w.sang@xxxxxxxxxxxxxx> Signed-off-by: Jeff Garzik <jgarzik@xxxxxxxxxx> commit 7d3e91b8a1f5179d56a7412d4b499f2d5fc6b25d Merge: ddb1d4ede9c8acd2e20ac99bf2b68146ae9f3553 8d282497cbf8124d6814d51a74fb13d69531c669 Author: Linus Torvalds <torvalds@xxxxxxxxxxxxxxxxxxxx> Date: Tue Jul 28 14:31:13 2009 -0700 Merge branch 'hwmon-for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/jdelvare/staging * 'hwmon-for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/jdelvare/staging: hwmon: (asus_atk0110) Fix upper limit readings hwmon: (smsc47m1) Differentiate between LPC47M233 and LPC47M292 commit c92bcfa7b4038d8ffe1f02e21269f18eb0b64144 Author: Sarah Sharp <sarah.a.sharp@xxxxxxxxxxxxxxx> Date: Mon Jul 27 12:05:21 2009 -0700 USB: xhci: Stall handling bug fixes. Correct the xHCI code to handle stalls on USB endpoints. We need to move the endpoint ring's dequeue pointer past the stalled transfer, or the HW will try to restart the transfer the next time the doorbell is rung. Don't attempt to clear a halt on an endpoint if we haven't seen a stalled transfer for it. The USB core will attempt to clear a halt on all endpoints when it selects a new configuration. Signed-off-by: Sarah Sharp <sarah.a.sharp@xxxxxxxxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxx> commit d115b04818e57bdbc7ccde4d0660b15e33013dc8 Author: John Youn <johnyoun@xxxxxxxxxxxx> Date: Mon Jul 27 12:05:15 2009 -0700 USB: xhci: Support for 64-byte contexts Adds support for controllers that use 64-byte contexts. The following context data structures are affected by this: Device, Input, Input Control, Endpoint, and Slot. To accommodate the use of either 32 or 64-byte contexts, a Device or Input context can only be accessed through functions which look-up and return pointers to their contained contexts. Signed-off-by: John Youn <johnyoun@xxxxxxxxxxxx> Acked-by: Sarah Sharp <sarah.a.sharp@xxxxxxxxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxx> commit 28c2d2efb48dec2f0b050affae6d5787d6449e47 Author: Sarah Sharp <sarah.a.sharp@xxxxxxxxxxxxxxx> Date: Mon Jul 27 12:05:08 2009 -0700 USB: xhci: Always align output device contexts to 64 bytes. Make sure the xHCI output device context is 64-byte aligned. Previous code was using the same structure for both the output device context and the input control context. Since the structure had 32 bytes of flags before the device context, the output device context wouldn't be 64-byte aligned. Define a new structure to use for the output device context and clean up the debugging for these two structures. The copy of the device context in the input control context does *not* need to be 64-byte aligned. Signed-off-by: Sarah Sharp <sarah.a.sharp@xxxxxxxxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxx> commit 254c80a3a0eb811489f7410c3291f01a60e8e42f Author: John Youn <johnyoun@xxxxxxxxxxxx> Date: Mon Jul 27 12:05:03 2009 -0700 USB: xhci: Scratchpad buffer allocation Allocates and initializes the scratchpad buffer array (XHCI 4.20). This is an array of 64-bit DMA addresses to scratch pages that the controller may use during operation. The number of pages is specified in the "Max Scratchpad Buffers" field of HCSPARAMS2. The DMA address of this array is written into slot 0 of the DCBAA. Signed-off-by: John Youn <johnyoun@xxxxxxxxxxxx> Acked-by: Sarah Sharp <sarah.a.sharp@xxxxxxxxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxx> commit 9f8e443816976edd68f415ea25c0223ea921e88c Author: Sarah Sharp <sarah.a.sharp@xxxxxxxxxxxxxxx> Date: Mon Jul 27 12:04:52 2009 -0700 USB: Fix parsing of SuperSpeed Endpoint Companion descriptor. usb_parse_ss_endpoint_companion() was supposed to allocate a structure to hold the SuperSpeed Endpoint Companion descriptor, and either copy the values the device returned, or fill in default values if the device descriptor did not include the companion descriptor. However, the previous code would miss the last endpoint in a configuration with no descriptors after it. Make usb_parse_endpoint() allocate the SS endpoint companion descriptor and fill it with default values, even if we've run out of buffer space in this configuration descriptor. Signed-off-by: Sarah Sharp <sarah.a.sharp@xxxxxxxxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxx> commit b7d6d99896a6cf38dc354d673afd3fbde10b86c2 Author: Sarah Sharp <sarah.a.sharp@xxxxxxxxxxxxxxx> Date: Mon Jul 27 12:04:38 2009 -0700 USB: xhci: Fail gracefully if there's no SS ep companion descriptor. This is a work around for a bug in the SuperSpeed Endpoint Companion Descriptor parsing code. It fails in some corner cases, which means ep->ss_ep_comp may be NULL. Signed-off-by: Sarah Sharp <sarah.a.sharp@xxxxxxxxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxx> commit 4a73143ced467868e92d7914d9f8bf797640927b Author: Sarah Sharp <sarah.a.sharp@xxxxxxxxxxxxxxx> Date: Mon Jul 27 12:04:32 2009 -0700 USB: xhci: Handle babble errors on transfers. Pass back a babble error when this error code is seen in the transfer event TRB. Signed-off-by: Sarah Sharp <sarah.a.sharp@xxxxxxxxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxx> commit 47692d179f7a88794bcd302e53ca7899d7592db9 Author: Sarah Sharp <sarah.a.sharp@xxxxxxxxxxxxxxx> Date: Mon Jul 27 12:04:27 2009 -0700 USB: xhci: Setup HW retries correctly. The xHCI host controller can be programmed to retry a transfer a certain number of times per endpoint before it passes back an error condition to the host controller driver. The xHC will return an error code when the error count transitions from 1 to 0. Programming an error count of 3 means the xHC tries the transfer 3 times, programming it with a 1 means it tries to transfer once, and programming it with 0 means the HW tries the transfer infinitely. We want isochronous transfers to only be tried once, so set the error count to one. Signed-off-by: Sarah Sharp <sarah.a.sharp@xxxxxxxxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxx> commit fcf8f576beafb8c5db8aee8a73eb73763fa7b0ad Author: Sarah Sharp <sarah.a.sharp@xxxxxxxxxxxxxxx> Date: Mon Jul 27 12:04:01 2009 -0700 USB: xhci: Check if the host controller died in IRQ handler. Signed-off-by: Sarah Sharp <sarah.a.sharp@xxxxxxxxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxx> commit d3512f63494678dc58e44a20c56278718fd58969 Author: Sarah Sharp <sarah.a.sharp@xxxxxxxxxxxxxxx> Date: Mon Jul 27 12:03:50 2009 -0700 USB: xhci: Don't oops if the host doesn't halt. Signed-off-by: Sarah Sharp <sarah.a.sharp@xxxxxxxxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxx> commit 66e49d8774fa03539713e8f91169c37c05df1e94 Author: Sarah Sharp <sarah.a.sharp@xxxxxxxxxxxxxxx> Date: Mon Jul 27 12:03:46 2009 -0700 USB: xhci: Make debugging more verbose. Add more debugging to the irq handler, slot context initialization, ring operations, URB cancellation, and MMIO writes. Signed-off-by: Sarah Sharp <sarah.a.sharp@xxxxxxxxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxx> commit 2d83109be62edd9647c45d7ed2b916b03974a7ec Author: Sarah Sharp <sarah.a.sharp@xxxxxxxxxxxxxxx> Date: Mon Jul 27 12:03:40 2009 -0700 USB: xhci: Correct Event Handler Busy flag usage. The Event Handler Busy bit in the event ring dequeue pointer is write 1 to clear. Fix the interrupt service routine to clear that bit after the event handler has run. xhci_set_hc_event_deq() is designed to update the event ring dequeue pointer without changing any of the four reserved bits in the lower nibble. The event handler busy (EHB) bit is write one to clear, so the new value must always contain a zero in that bit in order to preserve the EHB value. Signed-off-by: Sarah Sharp <sarah.a.sharp@xxxxxxxxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxx> commit 62889610f5591005bed9517360e17531684f72d0 Author: Sarah Sharp <sarah.a.sharp@xxxxxxxxxxxxxxx> Date: Mon Jul 27 12:03:36 2009 -0700 USB: xhci: Handle short control packets correctly. When there is a short packet on a control transfer, the xHCI host controller hardware will generate two events. The first event will be for the data stage TD with a completion code for a short packet. The second event will be for the status stage with a successful completion code. Before this patch, the xHCI driver would giveback the short control URB when it received the event for the data stage TD. Then it would become confused when it saw a status stage event for the endpoint for an URB it had already finished processing. Change the xHCI host controller driver to wait for the status stage event when it receives a short transfer completion code for a data stage TD. Signed-off-by: Sarah Sharp <sarah.a.sharp@xxxxxxxxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxx> commit 8e595a5d30a5ee4bb745d4da6439d73ed7d91054 Author: Sarah Sharp <sarah.a.sharp@xxxxxxxxxxxxxxx> Date: Mon Jul 27 12:03:31 2009 -0700 USB: xhci: Represent 64-bit addresses with one u64. There are several xHCI data structures that use two 32-bit fields to represent a 64-bit address. Since some architectures don't support 64-bit PCI writes, the fields need to be written in two 32-bit writes. The xHCI specification says that if a platform is incapable of generating 64-bit writes, software must write the low 32-bits first, then the high 32-bits. Hardware that supports 64-bit addressing will wait for the high 32-bit write before reading the revised value, and hardware that only supports 32-bit writes will ignore the high 32-bit write. Previous xHCI code represented 64-bit addresses with two u32 values. This lead to buggy code that would write the 32-bits in the wrong order, or forget to write the upper 32-bits. Change the two u32s to one u64 and create a function call to write all 64-bit addresses in the proper order. This new function could be modified in the future if all platforms support 64-bit writes. Signed-off-by: Sarah Sharp <sarah.a.sharp@xxxxxxxxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxx> commit b11069f5f6ce6e359f853e908b0917303fcdec8f Author: Sarah Sharp <sarah.a.sharp@xxxxxxxxxxxxxxx> Date: Mon Jul 27 12:03:23 2009 -0700 USB: xhci: Use GFP_ATOMIC while holding spinlocks. The xHCI functions to queue an URB onto the hardware rings must be called with the xhci spinlock held. Those functions will allocate memory, and take a gfp_t memory flags argument. We must pass them the GFP_ATOMIC flag, since we don't want the memory allocation to attempt to sleep while waiting for more memory to become available. Signed-off-by: Sarah Sharp <sarah.a.sharp@xxxxxxxxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxx> commit a1587d97ce3e53816c88b513a2038f6c5e5babd7 Author: Sarah Sharp <sarah.a.sharp@xxxxxxxxxxxxxxx> Date: Mon Jul 27 12:03:15 2009 -0700 USB: xhci: Deal with stalled endpoints. When an endpoint on a device under an xHCI host controller stalls, the host controller driver must let the hardware know that the USB core has successfully cleared the halt condition. The HCD submits a Reset Endpoint Command, which will clear the toggle bit for USB 2.0 devices, and set the sequence number to zero for USB 3.0 devices. The xHCI urb_enqueue will accept new URBs while the endpoint is halted, and will queue them to the hardware rings. However, the endpoint doorbell will not be rung until the Reset Endpoint Command completes. Don't queue a reset endpoint command for root hubs. khubd clears halt conditions on the roothub during the initialization process, but the roothub isn't a real device, so the xHCI host controller doesn't need to know about the cleared halt. Signed-off-by: Sarah Sharp <sarah.a.sharp@xxxxxxxxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxx> commit f9dc68fe7ad390428c6bc5d7ff582cdb5d92fcb8 Author: Sarah Sharp <sarah.a.sharp@xxxxxxxxxxxxxxx> Date: Mon Jul 27 12:03:07 2009 -0700 USB: xhci: Set TD size in transfer TRB. The 0.95 xHCI specification requires software to set the "TD size" field in each transaction request block (TRB). This field gives the host controller an indication of how much data is remaining in the TD (including the buffer in the current TRB). Set this field in bulk TRBs and data stage TRBs for control transfers. Signed-off-by: Sarah Sharp <sarah.a.sharp@xxxxxxxxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxx> commit d8f1a5ed52a81a953918d4aebe185ba008a7be34 Author: Roel Kluin <roel.kluin@xxxxxxxxx> Date: Mon Jul 13 00:23:47 2009 +0200 USB: xhci: fix less- and greater than confusion Without this change the loops won't start Signed-off-by: Roel Kluin <roel.kluin@xxxxxxxxx> Cc: Sarah Sharp <sarah.a.sharp@xxxxxxxxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxx> commit 0f157ef3a1284f41d9804ecb87fdcc8ea946b9fa Author: Alan Stern <stern@xxxxxxxxxxxxxxxxxxx> Date: Tue Jul 28 11:56:17 2009 -0400 USB: usbtest: no need for USB_DEVICEFS THis patch (as1270) allows the usbtest module to be built even when USB_DEVICEFS isn't configured. Tests can be performed without USB_DEVICEFS, using the /dev/bus/usb/*/* device files. Signed-off-by: Alan Stern <stern@xxxxxxxxxxxxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxx> commit 2bbff7b742d55b094ed1467702efe146cd60c64f Author: Ajay Kumar Gupta <ajay.gupta@xxxxxx> Date: Mon Jul 27 14:32:15 2009 -0700 USB: musb: fix CONFIGDATA register read issue INDEX register has to be set to '0' before reading CONFIGDATA register which is only present in TI musb platforms. Currently the default register access mode is set to FLAT_MODE thus INDEX register is not getting set properly with musb_ep_select() which is just a nop operation in FLAT_MODE.This invalid register read is causing module reinset failure. Fixing the issue by moving INDEX register write part to musb_read_configdata() function itself. Signed-off-by: Vikram Pandita <vikram.pandita@xxxxxx> Signed-off-by: Anand Gadiyar <gadiyar@xxxxxx> Signed-off-by: Ajay Kumar Gupta <ajay.gupta@xxxxxx> Acked-by: David Brownell <dbrownell@xxxxxxxxxxxxxxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxx> commit 3a9f5bd82dc986d496d8484ff54b107b4515f43f Author: Amit Kucheria <amit.kucheria@xxxxxxxxxxxxx> Date: Mon Jul 27 12:03:19 2009 +0300 USB: musb: Refer to musb_otg_timer_func under correct #ifdef musb_otg_timer_func() is defined under #ifdef CONFIG_USB_MUSB_OTG. Make sure any reference to it is also under the same #ifdef. Without this fix, the driver failes to compile when USB_OTG is defined but USB_MUSB_OTG isn't. Signed-off-by: Amit Kucheria <amit.kucheria@xxxxxxxxxxxxx> Cc: Felipe Balbi <felipe.balbi@xxxxxxxxx> Cc: David Brownell <dbrownell@xxxxxxxxxxxxxxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxx> commit f01b017d198486ee3553bee6841f788263cf2c23 Author: Sergei Shtylyov <sshtylyov@xxxxxxxxxxxxx> Date: Fri Jul 17 17:30:03 2009 +0300 USB: musb_gadget_ep0: fix typo in service_zero_data_request() This function uses wrong bit mask to prevent clearing RXCSR status bits when halting an endpoint -- which results in clearing SentStall and RxPktRdy bits (that the code actually tries to avoid); must be a result of cut-and-paste... Signed-off-by: Sergei Shtylyov <sshtylyov@xxxxxxxxxxxxx> Acked-by: David Brownell <dbrownell@xxxxxxxxxxxxxxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxx> commit 48c348cc939aaa3a07d4938669f2f315152e895e Author: Javier Martin <jmartinj@xxxxxxxxx> Date: Thu Jul 23 04:03:43 2009 +0200 USB: option.c to support Alcatel X060S/X200 broadband modems Added support for the Alcatel X060S/X200 broadband modems to the option driver. The device starts in cd-rom emulation mode (1bbb:f000) and requires the use of the usb_modeswitch tool to switch it to modem mode (1bbb:0000). Signed-off-by: Javier Martin <jmartinj@xxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxx> commit 183791588efd416fc35a71819683b32dee92615b Author: Peng Huang <shawn.p.huang@xxxxxxxxx> Date: Wed Jul 22 11:54:48 2009 +0200 USB: serial: option: Add ZTE AC8710 usb modem device. Signed-off-by: Peng Huang <shawn.p.huang@xxxxxxxxx> Cc: Jiri Kosina <jkosina@xxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxx> commit 9d498beafc0a66ce333f0d9067af0aa5dedd4c8e Author: Russell Lang <gsview@xxxxxxxxxxxxxxx> Date: Fri Jul 17 19:29:20 2009 +1000 USB: aten uc2324 is really a moschip 7840 I've opened up the case, and the chips in the ATEN UC2324 are: Moschip MCS7840CV-AA 69507-6B1 0650 (USB to 4-port serial) (logo with AF kerned together) 0748 24BC02 SINGLP (unknown 8-pin chip) (logo looks like 3 or Z in circle) ZT3243LEEA 0752 B7A16420.T (4 chips, so this will be RS232 line driver) (Probably equivalent of Sipex SP3243) So the ATEN 2324 (aten2011.c driver), is definitely the Moschip 7840, and should use the mos7840.c driver. I expect you will remove the aten2011.c driver from the staging area. From the aten2011.c source code, the device ID for the UC2322 (2 port serial) is 0x7820, just like the Moschip evaluation board. This value should be added to the device id table of mos7840.c. Here's a patch that adds these devices to the driver. From: Russell Lang <gsview@xxxxxxxxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxx> commit f1469fc3ef1d5a8a67146c1c72021f012a59dea6 Author: Tim Gardner <tim.gardner@xxxxxxxxxxxxx> Date: Fri Jul 17 07:55:36 2009 -0600 USB: option: Add USB ID for Novatel MC727/U727/USB727 refresh BugLink: https://bugs.launchpad.net/bugs/365291 Signed-off-by: Tim Gardner <tim.gardner@xxxxxxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxx> commit c420befde6b2747ebc2b8f015687a5dbd6e167ca Author: Herton Ronaldo Krzesinski <herton@xxxxxxxxxxxxxxx> Date: Wed Jul 15 17:10:26 2009 -0300 USB: option: add ZTE device ids and remove ONDA ids Current listed Onda ids are ZTE devices. Replace them with ZTE id define and add more ZTE device ids. Also remove 19d2:2000, this is the id when device is first plugged in and is a CD-only device, before the switch using eject. These changes are based on a previous patch by Ming Zhao <zhao.ming9@xxxxxxxxxx> Signed-off-by: Herton Ronaldo Krzesinski <herton@xxxxxxxxxxxxxxx> Cc: Ming Zhao <zhao.ming9@xxxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxx> commit bcfa4e68d8d0ea617bde4203b2b3848f5a49a423 Author: Simon Kagstrom <simon.kagstrom@xxxxxxxxxxxxxx> Date: Mon Jul 13 08:25:09 2009 +0200 USB: ehci-orion: Call ehci_reset before ehci_halt I noticed that USB initialization didn't setup correctly on my kirkwood based board (OpenRD base) if I hadn't initialized USB in U-boot first. The error message looks like this: ehci_hcd: USB 2.0 'Enhanced' Host Controller (EHCI) Driver orion-ehci orion-ehci.0: Marvell Orion EHCI orion-ehci orion-ehci.0: new USB bus registered, assigned bus number 1 orion-ehci orion-ehci.0: can't setup orion-ehci orion-ehci.0: USB bus 1 deregistered orion-ehci orion-ehci.0: init orion-ehci.0 fail, -110 orion-ehci: probe of orion-ehci.0 failed with error -110 which is caused by ehci_halt() timing out in the handshake() call. I noticed that U-boot does a reset before calling handshake(), so this patch does the same thing for Linux. USB now works for me. Signed-off-by: Simon Kagstrom <simon.kagstrom@xxxxxxxxxxxxxx> Acked-by: Nicolas Pitre <nico@xxxxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxx> commit 8bf16ba7c8ea9d067914e270764c14020a26232f Author: Craig Shelley <craig@xxxxxxxxxxxxxxxx> Date: Sun Jul 12 21:52:33 2009 +0100 USB: CP210x Add new device IDs Signed-off-by: Craig Shelley <craig@xxxxxxxxxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxx> commit fca4404c55ab44c7413769f1d9c66451103711a5 Author: Ville Sundberg <vsundber@xxxxxxxxx> Date: Wed Jul 15 00:27:28 2009 +0300 USB: ftdi_sio: Add support for GN Otometrics Aurical USB Audiometer The patch adds support for the GN Otometrics Aurical USB Audiometer (FT232BM-based). A new VID and a new PID is added. Signed-off-by: Ville Sundberg <vsundber@xxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxx> commit 715bfc22ce952a14fac0b9200fd70d81c1951091 Author: Anand Gadiyar <gadiyar@xxxxxx> Date: Tue Jul 14 16:41:00 2009 +0530 USB: OMAP: OHCI: hc_driver's stop method should call ohci_stop OMAP: OHCI: hc_driver's stop method should call ohci_stop Without this, the ohci-omap driver will not cleanup the debugfs nodes when the driver is unloaded. So the next insmod will fail, if CONFIG_DEBUG_FS and CONFIG_USB_DEBUG are both selected. Reported-by: vikram pandita <vikram.pandita@xxxxxx> Cc: David Brownell <dbrownell@xxxxxxxxxxxxxxxxxxxxx> Signed-off-by: Anand Gadiyar <gadiyar@xxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxx> commit 7a777919bbeec3eac1d7904a728a60e9c2bb9c67 Author: Giacomo Lozito <james@xxxxxxxxxxx> Date: Mon Jul 13 23:23:33 2009 +0200 USB: storage: raise timeout in usb_stor_Bulk_max_lun Requests to get max LUN, for certain USB storage devices, require a longer timeout before a correct reply is returned. This happens for a Realtek USB Card Reader (0bda:0152), which has a max LUN of 3 but is set to 0, thus losing functionality, because of the timeout occurring too quickly. Raising the timeout value fixes the issue and might help other devices to return a correct max LUN value as well. Signed-off-by: Giacomo Lozito <james@xxxxxxxxxxx> Acked-by: Alan Stern <stern@xxxxxxxxxxxxxxxxxxx> Cc: stable <stable@xxxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxx> commit 5f4fab91f2b12c12f0506b4da49ed199db8c64ed Author: Oliver Neukum <oliver@xxxxxxxxxx> Date: Mon Jul 13 23:24:10 2009 +0200 USB: let the option driver compile without CONFIG_PM This is needed for compilation without CONFIG_PM. Signed-off-by: Oliver Neukum <oliver@xxxxxxxxxx> Acked-by: Randy Dunlap <randy.dunlap@xxxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxx> commit f99aa3f9b67ca8c29dc29ef3fc453f0343206c46 Author: Carlos R. Mafra <crmafra@xxxxxxxxxx> Date: Mon Jul 13 21:45:03 2009 +0200 USB: option: Remove unused variable After commit f092c240494f2d807401d93f95f683909b90af96 ("USB: option: remove unnecessary and erroneous code") the variable 'serial' becomes unused, as gcc-4.3.2 points out: drivers/usb/serial/option.c: In function 'option_instat_callback': drivers/usb/serial/option.c:834: warning: unused variable 'serial' drivers/usb/serial/option.c: In function 'option_open': drivers/usb/serial/option.c:930: warning: unused variable 'serial' So I removed it. Signed-off-by: Carlos R. Mafra <crmafra@xxxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxx> commit ddb1d4ede9c8acd2e20ac99bf2b68146ae9f3553 Merge: 655c5d8fc110a9d4f90cc831bd009936f3e8df28 96f699ad09c8b3c55cd229506a9add0047838e3e Author: Linus Torvalds <torvalds@xxxxxxxxxxxxxxxxxxxx> Date: Tue Jul 28 14:31:02 2009 -0700 Merge branch 'i2c-for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/jdelvare/staging * 'i2c-for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/jdelvare/staging: i2c/tsl2550: Fix lux value in dark environment commit 655c5d8fc110a9d4f90cc831bd009936f3e8df28 Merge: ce4adcc6e5320062e0d993eb75152d165aaabbe6 f25784b35f590c81d5fb8245a8cd45e1afb6f1b2 Author: Linus Torvalds <torvalds@xxxxxxxxxxxxxxxxxxxx> Date: Tue Jul 28 14:27:06 2009 -0700 Merge git://git.kernel.org/pub/scm/linux/kernel/git/mason/btrfs-unstable * git://git.kernel.org/pub/scm/linux/kernel/git/mason/btrfs-unstable: (22 commits) Btrfs: Fix async caching interaction with unmount Btrfs: change how we unpin extents Btrfs: Correct redundant test in add_inode_ref Btrfs: find smallest available device extent during chunk allocation Btrfs: clear all space_info->full after removing a block group Btrfs: make flushoncommit mount option correctly wait on ordered_extents Btrfs: Avoid delayed reference update looping Btrfs: Fix ordering of key field checks in btrfs_previous_item Btrfs: find_free_dev_extent doesn't handle holes at the start of the device Btrfs: Remove code duplication in comp_keys Btrfs: async block group caching Btrfs: use hybrid extents+bitmap rb tree for free space Btrfs: Fix crash on read failures at mount Btrfs: remove of redundant btrfs_header_level Btrfs: adjust NULL test Btrfs: Remove broken sanity check from btrfs_rmap_block() Btrfs: convert nested spin_lock_irqsave to spin_lock Btrfs: make sure all dirty blocks are written at commit time Btrfs: fix locking issue in btrfs_find_next_key Btrfs: fix double increment of path->slots[0] in btrfs_next_leaf ... commit ce4adcc6e5320062e0d993eb75152d165aaabbe6 Author: Andreas Eversberg <andreas@xxxxxxxxxxxx> Date: Mon Jul 27 19:24:04 2009 +0200 mISDN: Fix handling of receive buffer size in L1oIP The size of receive buffer pointer was used to get size of receive buffer instead of recvbuf_size itself, so only 4/8 bytes could be transfered. This is a regression to 2.6.30 introduced by commit 8c90e11e3543d7de612194a042a148caeaab5f1d ("mISDN: Use kernel_{send,recv}msg instead of open coding") Signed-off-by: Andreas Eversberg <andreas@xxxxxxxxxxxx> Signed-off-by: Karsten Keil <keil@xxxxxxxxxxxxx> Signed-off-by: Linus Torvalds <torvalds@xxxxxxxxxxxxxxxxxxxx> commit f151cd2c54ddc7714e2f740681350476cda03a28 Author: Ramon de Carvalho Valle <ramon@xxxxxxxxxxxxxxxx> Date: Tue Jul 28 13:58:22 2009 -0500 eCryptfs: parse_tag_3_packet check tag 3 packet encrypted key size The parse_tag_3_packet function does not check if the tag 3 packet contains a encrypted key size larger than ECRYPTFS_MAX_ENCRYPTED_KEY_BYTES. Signed-off-by: Ramon de Carvalho Valle <ramon@xxxxxxxxxxxxxxxx> [tyhicks@xxxxxxxxxxxxxxxxxx: Added printk newline and changed goto to out_free] Signed-off-by: Tyler Hicks <tyhicks@xxxxxxxxxxxxxxxxxx> Cc: stable@xxxxxxxxxx (2.6.27 and 30) Signed-off-by: Linus Torvalds <torvalds@xxxxxxxxxxxxxxxxxxxx> commit 6352a29305373ae6196491e6d4669f301e26492e Author: Tyler Hicks <tyhicks@xxxxxxxxxxxxxxxxxx> Date: Tue Jul 28 13:57:01 2009 -0500 eCryptfs: Check Tag 11 literal data buffer size Tag 11 packets are stored in the metadata section of an eCryptfs file to store the key signature(s) used to encrypt the file encryption key. After extracting the packet length field to determine the key signature length, a check is not performed to see if the length would exceed the key signature buffer size that was passed into parse_tag_11_packet(). Thanks to Ramon de Carvalho Valle for finding this bug using fsfuzzer. Signed-off-by: Tyler Hicks <tyhicks@xxxxxxxxxxxxxxxxxx> Cc: stable@xxxxxxxxxx (2.6.27 and 30) Signed-off-by: Linus Torvalds <torvalds@xxxxxxxxxxxxxxxxxxxx> commit 74e7ff8c50b6b022e6ffaa736b16a4dc161d3eaf Author: Lai Jiangshan <laijs@xxxxxxxxxxxxxx> Date: Tue Jul 28 20:17:22 2009 +0800 tracing: Fix missing function_graph events when we splice_read from trace_pipe About a half events are missing when we splice_read from trace_pipe. They are unexpectedly consumed because we ignore the TRACE_TYPE_NO_CONSUME return value used by the function graph tracer when it needs to consume the events by itself to walk on the ring buffer. The same problem appears with ftrace_dump() Example of an output before this patch: 1) | ktime_get_real() { 1) 2.846 us | read_hpet(); 1) 4.558 us | } 1) 6.195 us | } After this patch: 0) | ktime_get_real() { 0) | getnstimeofday() { 0) 1.960 us | read_hpet(); 0) 3.597 us | } 0) 5.196 us | } The fix also applies on 2.6.30 Signed-off-by: Lai Jiangshan <laijs@xxxxxxxxxxxxxx> Cc: Steven Rostedt <rostedt@xxxxxxxxxxx> Cc: stable@xxxxxxxxxx LKML-Reference: <4A6EEC52.90704@xxxxxxxxxxxxxx> Signed-off-by: Frederic Weisbecker <fweisbec@xxxxxxxxx> commit 38ceb592fcac9110c6b3c87ea0a27bff68c43486 Author: Lai Jiangshan <laijs@xxxxxxxxxxxxxx> Date: Tue Jul 28 20:11:24 2009 +0800 tracing: Fix invalid function_graph entry When print_graph_entry() computes a function call entry event, it needs to also check the next entry to guess if it matches the return event of the current function entry. In order to look at this next event, it needs to consume the current entry before going ahead in the ring buffer. However, if the current event that gets consumed is the last one in the ring buffer head page, the ring_buffer may reuse the page for writers. The consumed entry will then become invalid because of possible racy overwriting. Me must then handle this entry by making a copy of it. The fix also applies on 2.6.30 Signed-off-by: Lai Jiangshan <laijs@xxxxxxxxxxxxxx> Cc: Steven Rostedt <rostedt@xxxxxxxxxxx> Cc: stable@xxxxxxxxxx LKML-Reference: <4A6EEAEC.3050508@xxxxxxxxxxxxxx> Signed-off-by: Frederic Weisbecker <fweisbec@xxxxxxxxx> commit fb29900217bd89370974870d47cab07bad3e5ac4 Author: Amit Kucheria <amit.kucheria@xxxxxxxxxxxxx> Date: Mon Jul 27 12:01:03 2009 +0300 staging: udlfb: Add vmalloc.h include Required for vmalloc_32 and vfree declarations on non-x86 platforms. Signed-off-by: Amit Kucheria <amit.kucheria@xxxxxxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxx> commit 0bfc240575acb8769d0be78facedabd8e3d2c33a Author: Greg Kroah-Hartman <gregkh@xxxxxxx> Date: Sun Jul 19 23:37:32 2009 -0700 staging: remove aten2011 driver This driver is not needed, as the existing mos7840 driver works properly for this device. Thanks to Russell Lang for doing the work to figure this out. Cc: Russell Lang <gsview@xxxxxxxxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxx> commit a6a9f81ccc9f5c86ccc22bbed1960a57d0316e8b Author: David Rientjes <rientjes@xxxxxxxxxx> Date: Tue Jun 16 16:42:53 2009 -0700 Staging: android: lowmemorykiller.c: fix it for "oom: move oom_adj value from task_struct to mm_struct" I'm about to merge "oom: move oom_adj value from task_struct to mm_struct", and this fixup is needed to repair linux-next's drivers/staging/android/lowmemorykiller.c. Signed-off-by: Andrew Morton <akpm@xxxxxxxxxxxxxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxx> commit de8f8bd63334fe2014be7d9ab3a81ce9b96e5d19 Author: Oliver Neukum <oliver@xxxxxxxxxx> Date: Mon Jul 13 10:46:57 2009 +0200 Staging: serqt_usb2: fix memory leak in error case a standard memory leak, as later allocations may fail even if prior allocations did not. Then the prior allocations must be undone. Signed-off-by: Oliver Neukum <oliver@xxxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxx> commit f3a756883ac028c536479e2eb283477fec80c828 Author: Bill Pemberton <wfp5p@xxxxxxxxxxxx> Date: Tue Jul 14 15:33:52 2009 -0400 Staging: serqt_usb2: add missing calls to tty_kref_put() tty_port_tty_get() was called without a corresponding tty_kref_put() in qt_read_bulk_callback() and qt_close(). Signed-off-by: Bill Pemberton <wfp5p@xxxxxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxx> commit a39ea210ec8c8f6ed381f8dafbe755c57b8f30c3 Author: Lucian Adrian Grijincu <lgrijincu@xxxxxxxxxxx> Date: Mon Jul 27 09:06:42 2009 -0700 driver core: documentation: make it clear that sysfs is optional The original text suggested that sysfs is mandatory and always compiled in the kernel. Signed-off-by: Lucian Adrian Grijincu <lgrijincu@xxxxxxxxxxx> Signed-off-by: Randy Dunlap <randy.dunlap@xxxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxx> commit 79f0313bfc67aa13abb931e8c12a1411f0161a68 Author: Xiaotian Feng <dfeng@xxxxxxxxxx> Date: Fri Jul 24 17:31:41 2009 +0800 driver core: sysdev: do not send KOBJ_ADD uevent if kobject_init_and_add fails If kobject_init_and_add fails, sysdev_register should not send KOBJ_ADD uevent to userspace. Signed-off-by: Xiaotian Feng <dfeng@xxxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxx> commit 4df7b3e0370ab6161ea2f258f51dd7c43bef2bda Author: Roel Kluin <roel.kluin@xxxxxxxxx> Date: Wed Jul 15 20:29:07 2009 +0200 Dynamic debug: fix typo: -/-> The member was intended, not the local variable. Signed-off-by: Roel Kluin <roel.kluin@xxxxxxxxx> Cc: Jason Baron <jbaron@xxxxxxxxxx> Cc: Greg Banks <gnb@xxxxxxx> Signed-off-by: Andrew Morton <akpm@xxxxxxxxxxxxxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxx> commit 3b4418c67a70278964b063b5e1f56dcb3d0a41f3 Author: Ming Lei <tom.leiming@xxxxxxxxx> Date: Sat Jul 11 11:11:10 2009 +0800 driver core: firmware_class:fix memory leak of page pointers array The page pointers array is allocated in fw_realloc_buffer() called by firmware_data_write(), and should be freed in release function of firmware device. Signed-off-by: Ming Lei <tom.leiming@xxxxxxxxx> Reported-by: Catalin Marinas <catalin.marinas@xxxxxxx> Acked-by: David Woodhouse <David.Woodhouse@xxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxx> commit 0f58b44582001c8bcdb75f36cf85ebbe5170e959 Author: Peter Oberparleiter <oberpar@xxxxxxxxxxxxxxxxxx> Date: Tue Jul 14 17:56:15 2009 +0200 sysfs: fix hardlink count on device_move Update directory hardlink count when moving kobjects to a new parent. Fixes the following problem which occurs when several devices are moved to the same parent and then unregistered: > ls -laF /sys/devices/css0/defunct/ > total 0 > drwxr-xr-x 4294967295 root root 0 2009-07-14 17:02 ./ > drwxr-xr-x 114 root root 0 2009-07-14 17:02 ../ > drwxr-xr-x 2 root root 0 2009-07-14 17:01 power/ > -rw-r--r-- 1 root root 4096 2009-07-14 17:01 uevent Signed-off-by: Peter Oberparleiter <oberpar@xxxxxxxxxxxxxxxxxx> Cc: stable <stable@xxxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxx> commit 56ad1740d9a8dc271e71fee234be662638c64458 Author: Jens Axboe <jens.axboe@xxxxxxxxxx> Date: Tue Jul 28 22:11:24 2009 +0200 block: make the end_io functions be non-GPL exports Prior to the change for more sane end_io functions, we exported the helpers with the normal EXPORT_SYMBOL(). That got changed to _GPL() for the new interface. Revert that particular change, on the basis that this is basic functionality and doesn't dip into internal structures. If these exports can't be non-GPL, then we may as well make EXPORT_SYMBOL() imply GPL for everything. Signed-off-by: Jens Axboe <jens.axboe@xxxxxxxxxx> commit 96f699ad09c8b3c55cd229506a9add0047838e3e Author: Michele Jr De Candia <michele.decandia@xxxxxxxxxxxxx> Date: Tue Jul 28 16:33:03 2009 +0200 i2c/tsl2550: Fix lux value in dark environment I've tested TSL2550 driver and I've found a bug: when light is off, returned value from tsl2550_calculate_lux function is -1 when it should be 0 (sensor correctly read that light was off). I think the bug is that a zero c0 value (approximated value of ch0) is misinterpreted as an error. Signed-off-by: Michele Jr De Candia <michele.decandia@xxxxxxxxxxxxx> Acked-by: Rodolfo Giometti <giometti@xxxxxxxx> Signed-off-by: Jean Delvare <khali@xxxxxxxxxxxx> commit 8d282497cbf8124d6814d51a74fb13d69531c669 Author: Luca Tettamanti <kronos.it@xxxxxxxxx> Date: Tue Jul 28 16:31:39 2009 +0200 hwmon: (asus_atk0110) Fix upper limit readings On newer Asus boards the "upper" limit of a sensor is encoded as delta from the "lower" limit. Fix the driver to correctly handle this case. Signed-off-by: Luca Tettamanti <kronos.it@xxxxxxxxx> Tested-by: Alex Macfarlane Smith <nospam@xxxxxxxxxxxxxxxxx> Signed-off-by: Jean Delvare <khali@xxxxxxxxxxxx> commit 1b54ab450b180eaeeb0eee6f0f64349246a22c14 Author: Jean Delvare <khali@xxxxxxxxxxxx> Date: Tue Jul 28 16:31:39 2009 +0200 hwmon: (smsc47m1) Differentiate between LPC47M233 and LPC47M292 The SMSC LPC47M233 and LPC47M292 chips have the same device ID but are not compatible. Signed-off-by: Jean Delvare <khali@xxxxxxxxxxxx> Cc: Juerg Haefliger <juergh@xxxxxxxxx> Acked-by: Hans de Goede <hdegoede@xxxxxxxxxx> commit f25784b35f590c81d5fb8245a8cd45e1afb6f1b2 Author: Yan Zheng <zheng.yan@xxxxxxxxxx> Date: Tue Jul 28 08:41:57 2009 -0400 Btrfs: Fix async caching interaction with unmount - don't stop the caching thread until btrfs_commit_super return. - if caching is interrupted by umount, set last to (u64)-1. otherwise the un-scanned range of block group will be considered as free extent. Signed-off-by: Chris Mason <chris.mason@xxxxxxxxxx> commit 42469ff014812880d7324285d165841f4b1814e7 Author: Sascha Hauer <s.hauer@xxxxxxxxxxxxxx> Date: Fri Jul 24 17:31:03 2009 +0200 mx3 defconfig update - enable PCM043, MX31LILLY, ARMADILLO5X0 and MX35_3DS boards - enable MXC nand driver - enable UBI support - disable cs89x0 support which broke all boards which do not have this chip Signed-off-by: Sascha Hauer <s.hauer@xxxxxxxxxxxxxx> commit 8666f8deec75a8dce15edd35ec33d29ef79cdb08 Author: Sascha Hauer <s.hauer@xxxxxxxxxxxxxx> Date: Fri Jul 24 17:30:50 2009 +0200 mx27 defconfig update - enable MX27_3DS and MX27LITE Board - enable MXC nand driver - enable UBI support Signed-off-by: Sascha Hauer <s.hauer@xxxxxxxxxxxxxx> commit 3839e4b29b4385e4b31075e7805683e2aa2a8103 Author: Xiaotian Feng <dfeng@xxxxxxxxxx> Date: Tue Jul 28 09:11:14 2009 +0200 block: fix improper kobject release in blk_integrity_unregister blk_integrity_unregister should use kobject_put to release the kobject, otherwise after bi is freed, memory of bi->kobj->name is leaked. Signed-off-by: Xiaotian Feng <dfeng@xxxxxxxxxx> Signed-off-by: Jens Axboe <jens.axboe@xxxxxxxxxx> commit a4e7d46407d73f35d217013b363b79a8f8eafcaa Author: Jens Axboe <jens.axboe@xxxxxxxxxx> Date: Tue Jul 28 09:07:29 2009 +0200 block: always assign default lock to queues Move the assignment of a default lock below blk_init_queue() to blk_queue_make_request(), so we also get to set the default lock for ->make_request_fn() based drivers. This is important since the queue flag locking requires a lock to be in place. Signed-off-by: Jens Axboe <jens.axboe@xxxxxxxxxx> commit a85a00a699740f6f9863f88aef22060fe1534681 Author: unsik Kim <donari75@xxxxxxxxx> Date: Tue Jul 28 08:57:33 2009 +0200 mg_disk: Add missing ready status check on mg_write() When last sector is written, ready bit of status register should be checked. Signed-off-by: unsik Kim <donari75@xxxxxxxxx> Acked-by: Bartlomiej Zolnierkiewicz <bzolnier@xxxxxxxxx> Signed-off-by: Jens Axboe <jens.axboe@xxxxxxxxxx> commit 394c6cc63c1d6900ad7498a3221a1d48fc00c4fa Author: Bartlomiej Zolnierkiewicz <bzolnier@xxxxxxxxx> Date: Tue Jul 28 08:56:34 2009 +0200 mg_disk: fix issue with data integrity on error in mg_write() We cannot acknowledge the sector write before checking its status (which is done on the next loop iteration) and we also need to do the final status register check after writing the last sector. Fix mg_write() to match mg_write_intr() in this regard. While at it: - add mg_read_one() and mg_write_one() helpers - always use MG_SECTOR_SIZE and remove MG_STORAGE_BUFFER_SIZE [bart: thanks to Tejun for porting the patch over recent block changes] Cc: unsik Kim <donari75@xxxxxxxxx> Cc: Tejun Heo <tj@xxxxxxxxxx> Signed-off-by: Bartlomiej Zolnierkiewicz <bzolnier@xxxxxxxxx> =================================================================== Signed-off-by: Jens Axboe <jens.axboe@xxxxxxxxxx> commit eb32baec15c38ae6f06cb898a9f791578c5f8c79 Author: unsik Kim <donari75@xxxxxxxxx> Date: Tue Jul 28 08:52:07 2009 +0200 mg_disk: fix reading invalid status when use polling driver When using polling driver, little delay is required to access status register. Without this, host might read invalid status. Signed-off-by: unsik Kim <donari75@xxxxxxxxx> Signed-off-by: Jens Axboe <jens.axboe@xxxxxxxxxx> commit 48f5690d45b79ffeedc5ab24243b576056f1d2ff Author: unsik Kim <donari75@xxxxxxxxx> Date: Tue Jul 28 08:52:06 2009 +0200 mg_disk: remove prohibited sleep operation mflash's polling driver operate in standard request_fn_proc's context, sleep in this isn't permitted. Signed-off-by: unsik Kim <donari75@xxxxxxxxx> Signed-off-by: Jens Axboe <jens.axboe@xxxxxxxxxx> commit 27fed4175acf81ddd91d9a4ee2fd298981f60295 Author: Stephen Hemminger <shemminger@xxxxxxxxxx> Date: Mon Jul 27 18:39:45 2009 -0700 ip: fix logic of reverse path filter sysctl Even though reverse path filter was changed from simple boolean to trinary control, the loose mode only works if both all and device are configured because of this logic error. Signed-off-by: Stephen Hemminger <shemminger@xxxxxxxxxx> Signed-off-by: David S. Miller <davem@xxxxxxxxxxxxx> commit 9a926d86b29a25456f1dd8c9df938e151b1c3978 Author: David S. Miller <davem@xxxxxxxxxxxxx> Date: Mon Jul 27 18:10:28 2009 -0700 sparc64: Sign extend length arg to truncate syscalls when compat. The first thing sys_truncate() and sys_ftruncate() do is sign extend the unsigned length arg to a signed type. Thanks to Benjamin Herrenschmidt for the tip. Signed-off-by: David S. Miller <davem@xxxxxxxxxxxxx> commit 7b91e2661addd8e2419cb45f6a322aa5dab9bcee Author: Jeff Layton <jlayton@xxxxxxxxxx> Date: Thu Jul 23 15:22:30 2009 -0400 cifs: fix error handling in mount-time DFS referral chasing code If the referral is malformed or the hostname can't be resolved, then the current code generates an oops. Fix it to handle these errors gracefully. Reported-by: Sandro Mathys <sm@xxxxxxxxxxxxxxxx> Acked-by: Igor Mammedov <niallain@xxxxxxxxx> CC: Stable <stable@xxxxxxxxxx> Signed-off-by: Jeff Layton <jlayton@xxxxxxxxxx> Signed-off-by: Steve French <sfrench@xxxxxxxxxx> commit 4733fd328f14280900435d9dbae1487d110a4d56 Author: Benjamin Herrenschmidt <benh@xxxxxxxxxxxxxxxxxxx> Date: Tue Jul 28 10:16:48 2009 +1000 mm: Remove duplicate definitions in MIPS and SH Those definitions are already provided by asm-generic Signed-off-by: Benjamin Herrenschmidt <benh@xxxxxxxxxxxxxxxxxxx> Acked-by: Paul Mundt <lethal@xxxxxxxxxxxx> Signed-off-by: Linus Torvalds <torvalds@xxxxxxxxxxxxxxxxxxxx> commit c56d300086140c93dc3390e5300fd17df802ec0e Author: Alan Cox <alan@xxxxxxxxxxxxxxxxxxx> Date: Tue Jul 28 00:34:58 2009 +0100 usb_serial: Fix remaining ref count/lock bugs This fixes - locking bug that was hidden by ecc2e05e739c30870c8e4f252b63a0c4041f2724 - Regression #13821 - Spurious warning when closing and blocking for data write out With these changes my PL2303 always ends up as ttyUSB0 when it should and the module refcounts stay correct. I'll do a more wholesale split & tidy of _open in the next release or two as we get a standard tty_port_open and port->ops->init port->ops->shutdown call backs. Copy sent to Alan Stern and Carlos Mafra just to confirm it fixes all the reports but it passes local testing with the same hardware as Alan Stern. Signed-off-by: Alan Cox <alan@xxxxxxxxxxxxxxx> Signed-off-by: Linus Torvalds <torvalds@xxxxxxxxxxxxxxxxxxxx> commit 626f5cefc60b281a00db1402b82deff82080c70a Author: Takashi Iwai <tiwai@xxxxxxx> Date: Tue Jul 28 00:54:39 2009 +0200 ALSA: hda - Add quirk for Dell Studio 1555 Added a quirk entry for Dell Studio 1555. Reference: Novell bnc#525244 https://bugzilla.novell.com/show_bug.cgi?id=525244 Signed-off-by: Takashi Iwai <tiwai@xxxxxxx> commit fc013a58859b7cf85e53a05804a74952fe0a4117 Merge: 3a54297478e6578f96fd54bf4daa1751130aca86 f44aebcc566d1d6275f7191867b9633dc11de2ee Author: Linus Torvalds <torvalds@xxxxxxxxxxxxxxxxxxxx> Date: Mon Jul 27 15:54:10 2009 -0700 Merge branch 'for-linus' of git://git.infradead.org/users/eparis/notify * 'for-linus' of git://git.infradead.org/users/eparis/notify: inotify: use GFP_NOFS under potential memory pressure fsnotify: fix inotify tail drop check with path entries inotify: check filename before dropping repeat events fsnotify: use def_bool in kconfig instead of letting the user choose inotify: fix error paths in inotify_update_watch inotify: do not leak inode marks in inotify_add_watch inotify: drop user watch count when a watch is removed commit 3a54297478e6578f96fd54bf4daa1751130aca86 Author: Alan Cox <alan@xxxxxxxxxxxxxxx> Date: Mon Jul 27 22:17:51 2009 +0100 pty: quickfix for the pty ENXIO timing problems This also makes close stall in the normal case which is apparently needed to fix emacs Signed-off-by: Alan Cox <alan@xxxxxxxxxxxxxxx> Signed-off-by: Linus Torvalds <torvalds@xxxxxxxxxxxxxxxxxxxx> commit 7cb7f45c7feef43c8f71f5cfedfc0b19be2142f7 Author: Len Brown <len.brown@xxxxxxxxx> Date: Mon Jul 27 18:42:38 2009 -0400 Revert "ACPICA: Remove obsolete acpi_os_validate_address interface" This reverts commit f9ca058430333c9a24c5ca926aa445125f88df18. which caused a regression: http://bugzilla.kernel.org/show_bug.cgi?id=13620 Signed-off-by: Lin Ming <ming.m.lin@xxxxxxxxx> Signed-off-by: Len Brown <len.brown@xxxxxxxxx> commit 0e83815be719d3391bf5ea24b7fe696c07dbd417 Author: Robert Richter <robert.richter@xxxxxxx> Date: Mon Jul 27 19:43:52 2009 +0200 x86: fix section mismatch for i386 init code Startup code for i386 in arch/x86/kernel/head_32.S is using the reference variable initial_code that is located in the .cpuinit.data section. If CONFIG_HOTPLUG_CPU is enabled, startup code is not in an init section and can be called later too. In this case the reference initial_code must be kept too. This patch fixes this. See below for the section mismatch warning. WARNING: vmlinux.o(.cpuinit.data+0x0): Section mismatch in reference from the variable initial_code to the function .init.text:i386_start_kernel() The variable __cpuinitdata initial_code references a function __init i386_start_kernel(). If i386_start_kernel is only used by initial_code then annotate i386_start_kernel with a matching annotation. Signed-off-by: Robert Richter <robert.richter@xxxxxxx> LKML-Reference: <1248716632-26844-1-git-send-email-robert.richter@xxxxxxx> Signed-off-by: H. Peter Anvin <hpa@xxxxxxxxx> commit f1462147f15a954a1a0553390846c6fa3ca742b1 Merge: e00b95debb9a0f023b61abcd4b1e74f687276b47 6d7760a88c25057c2c2243e5dfe2d731064bd31d Author: Linus Torvalds <torvalds@xxxxxxxxxxxxxxxxxxxx> Date: Mon Jul 27 13:42:47 2009 -0700 Merge git://git.kernel.org/pub/scm/linux/kernel/git/davem/net-2.6 * git://git.kernel.org/pub/scm/linux/kernel/git/davem/net-2.6: (45 commits) cnic: Fix ISCSI_KEVENT_IF_DOWN message handling. net: irda: init spinlock after memcpy ixgbe: fix for 82599 errata marking UDP checksum errors r8169: WakeOnLan fix for the 8168 netxen: reset ring consumer during cleanup net/bridge: use kobject_put to release kobject in br_add_if error path smc91x.h: add config for Nomadik evaluation kit NET: ROSE: Don't use static buffer. eepro: Read buffer overflow tokenring: Read buffer overflow at1700: Read buffer overflow fealnx: Write outside array bounds ixgbe: remove unnecessary call to device_init_wakeup ixgbe: Don't priority tag control frames in DCB mode ixgbe: Enable FCoE offload when DCB is enabled for 82599 net: Rework mdio-ofgpio driver to use of_mdio infrastructure register at91_ether using platform_driver_probe skge: Enable WoL by default if supported net: KS8851 needs to depend on MII be2net: Bug fix in the non-lro path. Size of received packet was not updated in statistics properly. ... commit e00b95debb9a0f023b61abcd4b1e74f687276b47 Merge: b68f2fb9e73f46037fbeca5fbd4ae8a7ddd8ef6b 4afcd2dcc6d89da696fc9d469a909adafa9d3636 Author: Linus Torvalds <torvalds@xxxxxxxxxxxxxxxxxxxx> Date: Mon Jul 27 12:23:47 2009 -0700 Merge branch 'for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/bp/bp * 'for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/bp/bp: amd64_edac: read the right F2 maskoffset reg commit b68f2fb9e73f46037fbeca5fbd4ae8a7ddd8ef6b Author: Alan Cox <alan@xxxxxxxxxxxxxxx> Date: Mon Jul 27 10:58:08 2009 +0100 tty: Fix a USB serial crash/scribble The port lock is used to protect the port state. However the port structure is freed on a hangup, then the lock taken on a close. The right fix is to drop the port on tty->shutdown() but we can't yet do that due to sleep v non-sleeping rules. Instead do the next best thing and fix it up when we are not in -rc season. Reported-by: Daniel Mack <daniel@xxxxxxxx> Signed-off-by: Alan Cox <alan@xxxxxxxxxxxxxxx> Tested-by: Daniel Mack <daniel@xxxxxxxx> Signed-off-by: Linus Torvalds <torvalds@xxxxxxxxxxxxxxxxxxxx> commit 78f1a8b758d57c2d2c9f3db7199cd30803854c82 Author: Luis R. Rodriguez <lrodriguez@xxxxxxxxxxx> Date: Mon Jul 27 08:38:25 2009 -0700 mac80211: do not queue work after suspend in the dynamic ps timer Signed-off-by: Luis R. Rodriguez <lrodriguez@xxxxxxxxxxx> Signed-off-by: John W. Linville <linville@xxxxxxxxxxxxx> commit 082e708acc50a5b625b9bde0bb1af90dfdbd1942 Author: Roel Kluin <roel.kluin@xxxxxxxxx> Date: Sat Jul 25 23:34:31 2009 +0200 iwlwifi: Read outside array bounds tid is bounded (above) by the size of default_tid_to_tx_fifo (17 elements), but the size of priv->stations[].tid[] is MAX_TID_COUNT (9) elements. Signed-off-by: Roel Kluin <roel.kluin@xxxxxxxxx> Signed-off-by: John W. Linville <linville@xxxxxxxxxxxxx> commit 008749fc9917b799c469478141ddd1a4c81d06ca Author: Roel Kluin <roel.kluin@xxxxxxxxx> Date: Sat Jul 25 23:21:22 2009 +0200 ath9k: Read outside array bounds Incorrect limits leads to reads outside array bounds. Signed-off-by: Roel Kluin <roel.kluin@xxxxxxxxx> Acked-by: Luis R. Rodriguez <lrodriguez@xxxxxxxxxxx> Signed-off-by: John W. Linville <linville@xxxxxxxxxxxxx> commit 3d0ccd021b23c18ea2d399fe4a43c955485c765c Author: Roel Kluin <roel.kluin@xxxxxxxxx> Date: Sat Jul 25 23:02:32 2009 +0200 airo: Buffer overflow SSID_rid has space for only 3 ssids. txPowerLevels[i] is read before the bounds check for i Signed-off-by: Roel Kluin <roel.kluin@xxxxxxxxx> Acked-by: Dan Williams <dcbw@xxxxxxxxxx> Signed-off-by: John W. Linville <linville@xxxxxxxxxxxxx> commit 2a21f86917f7a9fe13b180e895a816871a234dee Author: Dan Carpenter <error27@xxxxxxxxx> Date: Sat Jul 25 15:22:59 2009 +0300 wireless: ERR_PTR vs null iwm_wdev_alloc() returns an ERR_PTR on failure and not null. It also prints its own dev_err() message so I removed that as well. Compile tested only. Sorry. Found by smatch (http://repo.or.cz/w/smatch.git). Signed-off-by: Dan Carpenter <error27@xxxxxxxxx> Acked-by: Zhu Yi <yi.zhu@xxxxxxxxx> Signed-off-by: John W. Linville <linville@xxxxxxxxxxxxx> commit 45f5fa32b130b2a59f9b726be45ce7fa73fb834c Author: reinette chatre <reinette.chatre@xxxxxxxxx> Date: Tue Jul 21 09:29:07 2009 -0700 iwlagn: fix minimum number of queues setting We need to provide a reasonable minimum that will result in a working setup if used. Set minimum to be 10 to provide for 4 standard TX queues + 1 command queue + 2 (unused) HCCA queues + 4 HT queues (one per AC). We allow the user to change the number of queues used via a module parameter and use this minimum value to check if it is valid. Without this patch a user can select a value for the number of queues that will result in a failing setup. Signed-off-by: Reinette Chatre <reinette.chatre@xxxxxxxxx> Reviewed-by: Tomas Winkler <tomas.winkler@xxxxxxxxx> Acked-by: Tomas Winkler <tomas.winkler@xxxxxxxxx> Signed-off-by: John W. Linville <linville@xxxxxxxxxxxxx> commit 3995bd9332a51b626237d6671cfeb7235e6c1305 Author: Johannes Berg <johannes@xxxxxxxxxxxxxxxx> Date: Fri Jul 24 11:13:14 2009 -0700 iwlwifi: fix TX queue race I had a problem on 4965 hardware (well, probably other hardware too, but others don't survive my stress testing right now, unfortunately) where the driver was sending invalid commands to the device, but no such thing could be seen from the driver's point of view. I could reproduce this fairly easily by sending multiple TCP streams with iperf on different TIDs, though sometimes a single iperf stream was sufficient. It even happened with a single core, but I have forced preemption turned on. The culprit was a queue overrun, where we advanced the queue's write pointer over the read pointer. After careful analysis I've come to the conclusion that the cause is a race condition between iwlwifi and mac80211. mac80211, of course, checks whether the queue is stopped, before transmitting a frame. This effectively looks like this: lock(queues) if (stopped(queue)) { unlock(queues) return busy; } unlock(queues) ... <-- this place will be important there is some more code here drv_tx(frame) The driver, on the other hand, can stop and start queues, which does lock(queues) mark_running/stopped(queue) unlock(queues) [if marked running: wake up tasklet to send pending frames] Now, however, once the driver starts the queue, mac80211 can see that and end up at the marked place above, at which point for some reason the driver seems to stop the queue again (I don't understand that) and then we end up transmitting while the queue is actually full. Now, this shouldn't actually matter much, but for some reason I've seen it happen multiple times in a row and the queue actually overflows, at which point the queue bites itself in the tail and things go completely wrong. This patch fixes this by just dropping the packet should this have happened, and making the lock in iwlwifi cover everything so iwlwifi can't race against itself (dropping the lock there might make it more likely, but it did seem to happen without that too). Since we can't hold the lock across drv_tx() above, I see no way to fix this in mac80211, but I also don't understand why I haven't seen this before -- maybe I just never stress tested it this badly. With this patch, the device has survived many minutes of simultanously sending two iperf streams on different TIDs with combined throughput of about 60 Mbps. Signed-off-by: Johannes Berg <johannes@xxxxxxxxxxxxxxxx> Signed-off-by: Reinette Chatre <reinette.chatre@xxxxxxxxx> Signed-off-by: John W. Linville <linville@xxxxxxxxxxxxx> commit 6a31d4aeab85a02f9a57ca37b935054393daa794 Merge: ca597a02cd9902338aad91b0ce792fd9ffcaaa04 950b260ed21fdb6fa5f18485dabb0b03488431fa Author: Linus Torvalds <torvalds@xxxxxxxxxxxxxxxxxxxx> Date: Mon Jul 27 12:18:27 2009 -0700 Merge branch 'fixes-for-linus' of git://git.monstr.eu/linux-2.6-microblaze * 'fixes-for-linus' of git://git.monstr.eu/linux-2.6-microblaze: microblaze: Makefile cleanup microblaze: Typo fix for cpu param inconsistency microblaze: Add support for R_MICROBLAZE_64_NONE microblaze: Get module loading working microblaze: remove sys_ipc microblaze: Support unaligned address for put/get_user macros microblaze: Detect new Microblaze 7.20 versions microblaze: Fix do_page_fault for no context microblaze: Add _PAGE_FILE macros to pgtable.h microblaze: Fix put_user macro for 64bits arguments microblaze: Clear print messages for DTB passing via r7 microblaze: Not to clear r7 after copying DTB to kernel microblaze: Add messages about FDT blob microblaze: Final support for statically linked DTB microblaze: remove duplicated #include microblaze: Define tlb_flush macro commit ca597a02cd9902338aad91b0ce792fd9ffcaaa04 Merge: b54c3835469c9548d470e7788cb22a2fd7e21133 d6c585a4342a2ff627a29f9aea77c5ed4cd76023 Author: Linus Torvalds <torvalds@xxxxxxxxxxxxxxxxxxxx> Date: Mon Jul 27 12:18:09 2009 -0700 Merge branch 'x86-fixes-for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/tip/linux-2.6-tip * 'x86-fixes-for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/tip/linux-2.6-tip: x86: geode: Mark mfgpt irq IRQF_TIMER to prevent resume failure x86, amd: Don't probe for extended APIC ID if APICs are disabled x86, mce: Rename incorrect macro name "CONFIG_X86_THRESHOLD" x86-64: Fix bad_srat() to clear all state x86, mce: Fix set_trigger() accessor x86: Fix movq immediate operand constraints in uaccess.h x86: Fix movq immediate operand constraints in uaccess_64.h x86: Add reboot fixup for SBC-fitPC2 x86: Include all of .data.* sections in _edata on 64-bit x86: Add quirk for Intel DG45ID board to avoid low memory corruption commit b54c3835469c9548d470e7788cb22a2fd7e21133 Merge: 04fc0a4097014db7c22da33a56494e3e8a1895d5 57e4a5c4f8cfb4b198830c5400f9fc9eb7b75091 Author: Linus Torvalds <torvalds@xxxxxxxxxxxxxxxxxxxx> Date: Mon Jul 27 12:17:29 2009 -0700 Merge branch 'for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/tiwai/sound-2.6 * 'for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/tiwai/sound-2.6: ALSA: hda - Fix mute control with some ALC262 models ALSA: snd_usb_caiaq: add support for Audio2DJ ALSA: pcm - Fix hwptr buffer-size overlap bug ALSA: pcm - Fix warnings in debug loggings ALSA: pcm - Add logging of hwptr updates and interrupt updates ASoC: tlv320aic3x: Enable PLL when not bypassed ALSA: hda - Restore GPIO1 properly at resume with AD1984A ALSA: ctxfi - Fix uninitialized error checks ALSA: hda - Use snprintf() to be safer ALSA: usb-audio - Volume control quirk for QuickCam E 3500 ALSA: pcm - Fix regressions with VMware commit 04fc0a4097014db7c22da33a56494e3e8a1895d5 Merge: 760dcc6e1839e7ca82507698fb077d5d78b24964 ca4e771f7b878b7bab02dedb539f7742f9b4f50e Author: Linus Torvalds <torvalds@xxxxxxxxxxxxxxxxxxxx> Date: Mon Jul 27 12:16:57 2009 -0700 Merge branch 'for_linus' of git://git.kernel.org/pub/scm/linux/kernel/git/mchehab/linux-2.6 * 'for_linus' of git://git.kernel.org/pub/scm/linux/kernel/git/mchehab/linux-2.6: (34 commits) V4L/DVB (12303): cx23885: check pointers before dereferencing in dprintk macro V4L/DVB (12302): cx23885-417: fix broken IOCTL handling V4L/DVB (12300): bttv: fix regression: tvaudio must be loaded before tuner V4L/DVB (12291): b2c2: fix frontends compiled into kernel V4L/DVB (12286): sn9c20x: reorder includes to be like other drivers V4L/DVB (12284): gspca - jpeg subdrivers: Check the result of kmalloc(jpeg header). V4L/DVB (12283): gspca - sn9c20x: New subdriver for sn9c201 and sn9c202 bridges. V4L/DVB (12282): gspca - main: Support for vidioc_g_chip_ident and vidioc_g/s_register. V4L/DVB (12269): af9013: auto-detect parameters in case of garbage given by app V4L/DVB (12267): gspca - sonixj: Bad sensor init of non ov76xx sensors. V4L/DVB (12265): em28xx: fix tuning problem in HVR-900 (R1) V4L/DVB (12263): em28xx: set demod profile for Pinnacle Hybrid Pro 320e V4L/DVB (12262): em28xx: Make sure the tuner is initialized if generic empia USB id was used V4L/DVB (12261): em28xx: set GPIO properly for Pinnacle Hybrid Pro analog support V4L/DVB (12260): em28xx: make support work for the Pinnacle Hybrid Pro (eb1a:2881) V4L/DVB (12258): em28xx: fix typo in mt352 init sequence for Terratec Cinergy T XS USB V4L/DVB (12257): em28xx: make tuning work for Terratec Cinergy T XS USB (mt352 variant) V4L/DVB (12245): em28xx: add support for mt9m001 webcams V4L/DVB (12244): em28xx: adjust vinmode/vinctl based on the stream input format V4L/DVB (12243): em28xx: allow specifying sensor xtal frequency ... commit 760dcc6e1839e7ca82507698fb077d5d78b24964 Merge: 4897f1011aff7534b8e319404f7cd4028de7a453 8d406c6de2e67b5bae3c43b62b492c4ff63afb92 Author: Linus Torvalds <torvalds@xxxxxxxxxxxxxxxxxxxx> Date: Mon Jul 27 12:16:38 2009 -0700 Merge branch 'for-linus' of git://git390.marist.edu/pub/scm/linux-2.6 * 'for-linus' of git://git390.marist.edu/pub/scm/linux-2.6: [S390] zcrypt: fix scheduling of hrtimer ap_poll_timer [S390] vdso: clock_gettime of CLOCK_THREAD_CPUTIME_ID with noexec=on [S390] vdso: fix per cpu area allocation [S390] hibernation: fix register corruption on machine checks [S390] hibernation: fix lowcore handling commit 4897f1011aff7534b8e319404f7cd4028de7a453 Merge: a9355cf8e68baac964f815079b820d2680756300 5dea271b6d87bd1d79a59c1d5baac2596a841c37 Author: Linus Torvalds <torvalds@xxxxxxxxxxxxxxxxxxxx> Date: Mon Jul 27 12:16:21 2009 -0700 Merge git://git.kernel.org/pub/scm/linux/kernel/git/agk/linux-2.6-dm * git://git.kernel.org/pub/scm/linux/kernel/git/agk/linux-2.6-dm: dm table: pass correct dev area size to device_area_is_valid dm: remove queue next_ordered workaround for barriers dm raid1: wake kmirrord when requeueing delayed bios after remote recovery commit a9355cf8e68baac964f815079b820d2680756300 Merge: 9ae260270c90643156cda73427aa1f04c923e627 4a19fb11a90fdbbcb3bc02effa036230d035ca28 Author: Linus Torvalds <torvalds@xxxxxxxxxxxxxxxxxxxx> Date: Mon Jul 27 12:15:56 2009 -0700 Merge branch 'for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/shaggy/jfs-2.6 * 'for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/shaggy/jfs-2.6: jfs: Fix early release of acl in jfs_get_acl commit 9ae260270c90643156cda73427aa1f04c923e627 Author: Oleg Nesterov <oleg@xxxxxxxxxx> Date: Fri Jun 19 02:51:13 2009 +0200 update the comment in kthread_stop() Commit 63706172f332fd3f6e7458ebfb35fa6de9c21dc5 ("kthreads: rework kthread_stop()") removed the limitation that the thread function mysr not call do_exit() itself, but forgot to update the comment. Since that commit it is OK to use kthread_stop() even if kthread can exit itself. Signed-off-by: Oleg Nesterov <oleg@xxxxxxxxxx> Signed-off-by: Rusty Russell <rusty@xxxxxxxxxxxxxxx> Signed-off-by: Linus Torvalds <torvalds@xxxxxxxxxxxxxxxxxxxx> commit 6560dc160f3a96b8f1f43e2c6b51aa6eb9898b90 Author: Mike Frysinger <vapier@xxxxxxxxxx> Date: Thu Jul 23 23:42:08 2009 +0930 module: use MODULE_SYMBOL_PREFIX with module_layout The check_modstruct_version() needs to look up the symbol "module_layout" in the kernel, but it does so literally and not by a C identifier. The trouble is that it does not include a symbol prefix for those ports that need it (like the Blackfin and H8300 port). So make sure we tack on the MODULE_SYMBOL_PREFIX define to the front of it. Signed-off-by: Mike Frysinger <vapier@xxxxxxxxxx> Signed-off-by: Rusty Russell <rusty@xxxxxxxxxxxxxxx> Signed-off-by: Linus Torvalds <torvalds@xxxxxxxxxxxxxxxxxxxx> commit 2bc20d09b03bca6e068e07440812d75b70b1c0b2 Merge: c7425eb4814bce40f3d117ff7a7870cc12e350e3 f1015c447781729060c415f5133164c638561f25 Author: Linus Torvalds <torvalds@xxxxxxxxxxxxxxxxxxxx> Date: Mon Jul 27 12:12:10 2009 -0700 Merge branch 'for_linus' of git://git.kernel.org/pub/scm/linux/kernel/git/jack/linux-fs-2.6 * 'for_linus' of git://git.kernel.org/pub/scm/linux/kernel/git/jack/linux-fs-2.6: jbd: fix race between write_metadata_buffer and get_write_access ext3: Get rid of extenddisksize parameter of ext3_get_blocks_handle() jbd: Fix a race between checkpointing code and journal_get_write_access() ext3: Fix truncation of symlinks after failed write jbd: Fail to load a journal if it is too short commit c7425eb4814bce40f3d117ff7a7870cc12e350e3 Merge: 9e1b32caa525cb236e80e9c671e179bcecccc657 f1230c97978f52268d8c66e6f88e54c3d2092a75 Author: Linus Torvalds <torvalds@xxxxxxxxxxxxxxxxxxxx> Date: Mon Jul 27 12:11:43 2009 -0700 Merge git://git.kernel.org/pub/scm/linux/kernel/git/sfrench/cifs-2.6 * git://git.kernel.org/pub/scm/linux/kernel/git/sfrench/cifs-2.6: [CIFS] fix sparse warning cifs: fix sb->s_maxbytes so that it casts properly to a signed value cifs: disable serverino if server doesn't support it commit 9e1b32caa525cb236e80e9c671e179bcecccc657 Author: Benjamin Herrenschmidt <benh@xxxxxxxxxxxxxxxxxxx> Date: Wed Jul 22 15:44:28 2009 +1000 mm: Pass virtual address to [__]p{te,ud,md}_free_tlb() mm: Pass virtual address to [__]p{te,ud,md}_free_tlb() Upcoming paches to support the new 64-bit "BookE" powerpc architecture will need to have the virtual address corresponding to PTE page when freeing it, due to the way the HW table walker works. Basically, the TLB can be loaded with "large" pages that cover the whole virtual space (well, sort-of, half of it actually) represented by a PTE page, and which contain an "indirect" bit indicating that this TLB entry RPN points to an array of PTEs from which the TLB can then create direct entries. Thus, in order to invalidate those when PTE pages are deleted, we need the virtual address to pass to tlbilx or tlbivax instructions. The old trick of sticking it somewhere in the PTE page struct page sucks too much, the address is almost readily available in all call sites and almost everybody implemets these as macros, so we may as well add the argument everywhere. I added it to the pmd and pud variants for consistency. Signed-off-by: Benjamin Herrenschmidt <benh@xxxxxxxxxxxxxxxxxxx> Acked-by: David Howells <dhowells@xxxxxxxxxx> [MN10300 & FRV] Acked-by: Nick Piggin <npiggin@xxxxxxx> Acked-by: Martin Schwidefsky <schwidefsky@xxxxxxxxxx> [s390] Signed-off-by: Linus Torvalds <torvalds@xxxxxxxxxxxxxxxxxxxx> commit 6d7760a88c25057c2c2243e5dfe2d731064bd31d Author: Michael Chan <mchan@xxxxxxxxxxxx> Date: Mon Jul 27 11:25:58 2009 -0700 cnic: Fix ISCSI_KEVENT_IF_DOWN message handling. When a net device goes down or when the bnx2i driver is unloaded, the code was not generating the ISCSI_KEVENT_IF_DOWN message properly and this could cause the userspace driver to crash. This is fixed by sending the message properly in the shutdown path. cnic_uio_stop() is also added to send the message when bnx2i is unregistering. Signed-off-by: Michael Chan <mchan@xxxxxxxxxxxx> Signed-off-by: David S. Miller <davem@xxxxxxxxxxxxx> commit 68b38550ddbea13d296184bf69edff387618b1d3 Author: Josef Bacik <josef@xxxxxxxxxx> Date: Mon Jul 27 13:57:01 2009 -0400 Btrfs: change how we unpin extents We are racy with async block caching and unpinning extents. This patch makes things much less complicated by only unpinning the extent if the block group is cached. We check the block_group->cached var under the block_group->lock spin lock. If it is set to BTRFS_CACHE_FINISHED then we update the pinned counters, and unpin the extent and add the free space back. If it is not set to this, we start the caching of the block group so the next time we unpin extents we can unpin the extent. This keeps us from racing with the async caching threads, lets us kill the fs wide async thread counter, and keeps us from having to set DELALLOC bits for every extent we hit if there are caching kthreads going. One thing that needed to be changed was btrfs_free_super_mirror_extents. Now instead of just looking for LOCKED extents, we also look for DIRTY extents, since we could have left some extents pinned in the previous transaction that will never get freed now that we are unmounting, which would cause us to leak memory. So btrfs_free_super_mirror_extents has been changed to btrfs_free_pinned_extents, and it will clear the extents locked for the super mirror, and any remaining pinned extents that may be present. Thank you, Signed-off-by: Josef Bacik <jbacik@xxxxxxxxxx> Signed-off-by: Chris Mason <chris.mason@xxxxxxxxxx> commit 631c07c8d12bcc6ce4a0fbfbd64ea843d78e2b10 Author: Julia Lawall <julia@xxxxxxx> Date: Mon Jul 27 13:57:00 2009 -0400 Btrfs: Correct redundant test in add_inode_ref dir has already been tested. It seems that this test should be on the recently returned value inode. A simplified version of the semantic match that finds this problem is as follows: (http://www.emn.fr/x-info/coccinelle/) Signed-off-by: Julia Lawall <julia@xxxxxxx> Signed-off-by: Chris Mason <chris.mason@xxxxxxxxxx> commit 0cbb0a781a42f131e9c6836554f402cb85f8f38b Author: Deepak Saxena <dsaxena@xxxxxxxxxx> Date: Mon Jul 27 10:49:44 2009 -0700 net: irda: init spinlock after memcpy irttp_dup() copies a tsap_cb struct, but does not initialize the spinlock in the new structure, which confuses lockdep. Signed-off-by: Deepak Saxena <dsaxena@xxxxxxxxxx> Signed-off-by: Ingo Molnar <mingo@xxxxxxx> Signed-off-by: Thomas Gleixner <tglx@xxxxxxxxxxxxx> Signed-off-by: David S. Miller <davem@xxxxxxxxxxxxx> commit c640e1cb45cb9ff6b02f5f130a4f2a58ab9ebe55 Author: Tomas Cech <sleep_walker@xxxxxxx> Date: Mon Jul 27 14:16:31 2009 +0100 ARM: 5623/1: Treo680: ir shutdown typo fix correct GPIO freed in treo680_irda_shutdown() Signed-off-by: Tomáš ?ech <sleep_walker@xxxxxxx> Signed-off-by: Russell King <rmk+kernel@xxxxxxxxxxxxxxxx> commit 4afcd2dcc6d89da696fc9d469a909adafa9d3636 Author: Wan Wei <onewayforever@xxxxxxxxx> Date: Mon Jul 27 14:34:15 2009 +0200 amd64_edac: read the right F2 maskoffset reg Signed-off-by: Wan Wei <onewayforever@xxxxxxxxx> Signed-off-by: Borislav Petkov <borislav.petkov@xxxxxxx> commit 92c548cd35d50df398f442b07021150094578460 Author: Ben Nizette <ben@xxxxxxxxxxxxxxx> Date: Mon Apr 20 12:36:53 2009 +1000 favr32: improve touchscreen response The ezLCD+101 board (to which an favr-32 is fitted) has a long, unshielded, nasty lead between the touch panel and the ads7843 touch controller. In order to get satisfactory response then, we need to employ every noise-reduction trick in the driver's arsenal. After extensive fiddling I've found some good settings: 1) We keep vref on all the time to dramatically reduce settling times (at the cost of a tiny increase in power consumption). 2) Despite 1 the settling time is still non-zero. 500uS is plenty of time for the signals to settle 3) Despite 1 and 2 there's still a little bit of noise around. By setting a pen recheck delay we make the panel feel less touchy and twitchy. Someone with more time and patience myself might be able to tune this numbers further but these settings are now perfectly acceptable for normal use. Tested on ezLCD+101 though should only improve response on other ezLCD+/ favr-32 boards too. Signed-off-by: Ben Nizette <bn@xxxxxxxxxxxxxxx> Signed-off-by: Haavard Skinnemoen <haavard.skinnemoen@xxxxxxxxx> commit 251ab1a37d9ba810593d5fbf2482bc4ba773fab2 Author: Sebastian Andrzej Siewior <bigeasy@xxxxxxxxxxxxx> Date: Sun Jul 26 14:58:34 2009 +0200 avr32/lib: fix unaligned memcpy where len < 4 in case of memcpy(p, unaligned, 1..3) we get 1..3 as the return value instead of p Signed-off-by: Sebastian Andrzej Siewior <sebastian@xxxxxxxxxxxxx> Signed-off-by: Haavard Skinnemoen <haavard.skinnemoen@xxxxxxxxx> commit 505d62d073b528859b43bfb463a6ceaf3581469e Author: Sebastian Andrzej Siewior <bigeasy@xxxxxxxxxxxxx> Date: Sun Jul 26 14:57:54 2009 +0200 avr32/lib: fix unaligned memcpy() memcpy(p, unaligned, 4..) returns (p + num_of_unaligned_by_copied) instead of p because p is not preserved in the unaligned case. Noticed by Herbert Xu's superior parameter recycling coding technique which let the md4 self-test fail on avr32. Signed-off-by: Sebastian Andrzej Siewior <sebastian@xxxxxxxxxxxxx> Signed-off-by: Haavard Skinnemoen <haavard.skinnemoen@xxxxxxxxx> commit 950b260ed21fdb6fa5f18485dabb0b03488431fa Author: Sam Ravnborg <sam@xxxxxxxxxxxx> Date: Fri Jul 24 09:04:49 2009 +0200 microblaze: Makefile cleanup Reviewed the Makefile on request by Michal and this is the resulting changes. o Use ':=' for assignmnet so we do not re-evaluate for each use o Use $(shell echo xxx) to remove "" o Replaced CFLAGS_KERNEL with KBUILD_CFLAGS The settings are equally relevant for modules and the linked kernel o Dropped LDFLAGS_BLOB - it is no longer used o Refactored assignmnets to libs-y and core-y o Use MMU for the MMU specific extension. "MMUEXT" was hurting my eyes and I did not wanted it spread to m68k Signed-off-by: Sam Ravnborg <sam@xxxxxxxxxxxx> Signed-off-by: Michal Simek <monstr@xxxxxxxxx> commit 65d3db0601509946fe0c9d2c7b12a5a62ca42e5e Author: Michal Simek <monstr@xxxxxxxxx> Date: Fri Jul 24 08:11:23 2009 +0200 microblaze: Typo fix for cpu param inconsistency Signed-off-by: Michal Simek <monstr@xxxxxxxxx> commit 679711b82f010b854c5d4d88472c7a20fdc2b5fe Author: Michal Simek <monstr@xxxxxxxxx> Date: Thu Jul 23 08:24:47 2009 +0200 microblaze: Add support for R_MICROBLAZE_64_NONE For example reiserfs use this relocation type. Signed-off-by: Michal Simek <monstr@xxxxxxxxx> commit fadf2e60a6dc7267658fa0c9e3bef13c699c7e1f Author: John Williams <john.williams@xxxxxxxxxxxxx> Date: Thu Jul 23 14:56:49 2009 +1000 microblaze: Get module loading working New reloc type R_MICROBLAZE_32_PCREL_LO requires a null handler (no work to do). Remove legacy hack for broken linker pre gcc-4.1.1, that required us to extract an offset from the code, add it to the addend, then rewrite the instruction. Fixup the invalid reloc type error output. Boot tested with the xilinx_emaclite ethernet driver. Signed-off-by: John Williams <john.williams@xxxxxxxxxxxxx> Signed-off-by: Michal Simek <monstr@xxxxxxxxx> commit bfc0ca0d33e24fca5b89acb378a8a9712ffe22b6 Author: Arnd Bergmann <arnd@xxxxxxxx> Date: Thu Jun 18 19:55:35 2009 +0200 microblaze: remove sys_ipc The ipc system call is now unused in microblaze, as the system call table points directly to the indidual system calls for IPC. Signed-off-by: Arnd Bergmann <arnd@xxxxxxxx> Signed-off-by: Michal Simek <monstr@xxxxxxxxx> commit 3863dbceac7e69642b95f43de1c12c6236fdbe5b Author: Michal Simek <monstr@xxxxxxxxx> Date: Tue Jul 21 12:48:01 2009 +0200 microblaze: Support unaligned address for put/get_user macros This patch add support for cases where load/store instruction in put/get_user macro gets unaligned pointer to data and this address is not valid. I prevent all cases which can failed. I had to disable first stage of unaligned handler which is used only for noMMU kernel and the whole work is done when interrupt is enabled. You have enable HW support for detect unaligned access in Microblaze. This patch fixed three LTP tests: getpeername01, getsockname01, socketpair01 Signed-off-by: Michal Simek <monstr@xxxxxxxxx> commit 94ad8eb854cbc1cf875a318f9b97314ddc6b1560 Author: Michal Simek <monstr@xxxxxxxxx> Date: Tue Jul 21 12:47:04 2009 +0200 microblaze: Detect new Microblaze 7.20 versions Signed-off-by: Michal Simek <monstr@xxxxxxxxx> commit f10eca6e107fd223c24393c09c40b916d2b3c427 Author: Michal Simek <monstr@xxxxxxxxx> Date: Thu Jul 16 16:00:49 2009 +0200 microblaze: Fix do_page_fault for no context Calling fixup when we are in kernel mode. This prevent fault for copy_to/from_user. This fault was find thanks to writev01/03/04 LTP tests. Signed-off-by: Michal Simek <monstr@xxxxxxxxx> commit f14d6f7c31c73a902a6b567dc719128e74603902 Author: Michal Simek <monstr@xxxxxxxxx> Date: Wed Jul 15 13:39:35 2009 +0200 microblaze: Add _PAGE_FILE macros to pgtable.h We need to define _PAGE_FILE macro and change pte functions. Microblaze use the same MMU as PowerPC that's why we define _PAGE_FILE in the same style. This change fixed remap_file_pages01 LTP test. Signed-off-by: Michal Simek <monstr@xxxxxxxxx> commit 7bcb63b21327427b130edeb6e6ad44ee260b3043 Author: Michal Simek <monstr@xxxxxxxxx> Date: Mon Jul 13 16:46:54 2009 +0200 microblaze: Fix put_user macro for 64bits arguments For 64bits arguments gcc caused that put_user macro works with wrong value because of optimalization. Adding volatile caused that gcc not optimized it. It is possible to use (as Blackfin do) two put_user macros with 32bits arguments but there is one more instruction which is due to duplication zero return value which is called put_user_asm macro. Signed-off-by: Michal Simek <monstr@xxxxxxxxx> commit ea3fd1466f81a851452bf7f34ccb9b5058e4793c Author: Michal Simek <monstr@xxxxxxxxx> Date: Mon Jun 22 12:31:55 2009 +0200 microblaze: Clear print messages for DTB passing via r7 It is necessary to zeroed r7 when r7 points to bad dtb - this caused that we have correct messages about compiled-in dtb or passing via r7 Signed-off-by: Michal Simek <monstr@xxxxxxxxx> commit a69cb8c4662dd0a7b01b32a9165b1a1697068f19 Author: Michal Simek <monstr@xxxxxxxxx> Date: Mon Jun 22 10:55:40 2009 +0200 microblaze: Not to clear r7 after copying DTB to kernel I can't clear r7 because if I do it I lose information where DTB come from. Signed-off-by: Michal Simek <monstr@xxxxxxxxx> commit 74510f2a2751ed56b5ab099b2e3b7697b91aa77e Author: Michal Simek <monstr@xxxxxxxxx> Date: Mon Jun 22 10:28:40 2009 +0200 microblaze: Add messages about FDT blob Print accurate message about place where FDT blob is. Signed-off-by: Michal Simek <monstr@xxxxxxxxx> commit 909964ec89ba466d75d53250d5738d1891cc1a3d Author: John Williams <john.williams@xxxxxxxxxxxxx> Date: Mon Jun 22 14:02:09 2009 +1000 microblaze: Final support for statically linked DTB If r7 is zero at kernel boot, or does not point to a valid DTB, then we fall back to a DTB (assumed to be) linked statically in the kernel, instead of blindly copying bogus cruft into the kernel DTB memory region Signed-off-by: John Williams <john.williams@xxxxxxxxxxxxx> Signed-off-by: Michal Simek <monstr@xxxxxxxxx> commit 1170902b343053f50d4caf8ec2aa745fd0ce5c84 Author: Huang Weiyi <weiyi.huang@xxxxxxxxx> Date: Sat Jul 11 09:32:08 2009 +0800 microblaze: remove duplicated #include Remove duplicated #include('s) in arch/microblaze/include/asm/io.h Signed-off-by: Huang Weiyi <weiyi.huang@xxxxxxxxx> Signed-off-by: Michal Simek <monstr@xxxxxxxxx> commit efffde36d20613d91a5ea9529b03f477077f41ea Author: Michal Simek <monstr@xxxxxxxxx> Date: Thu Jul 9 11:33:39 2009 +0200 microblaze: Define tlb_flush macro This fix remove bug which we had till now in all Microblaze MMU code. Primary tested on mmap01 LTP test. We forget to flush invalid tlb which were changed - we used them and there were wrong old data which wasn't correct. Signed-off-by: Michal Simek <monstr@xxxxxxxxx> commit 8bae1b2b13beb4cf4c0f119f97640503c2b74b0f Author: Don Skidmore <donald.c.skidmore@xxxxxxxxx> Date: Thu Jul 23 18:00:39 2009 +0000 ixgbe: fix for 82599 errata marking UDP checksum errors There is an 82599 errata that UDP frames with a zero checksum are incorrectly marked as checksum invalid by the hardware. This was leading to misleading hw_csum_rx_error counts. This patch adds a test around this counter increase for this condition. Signed-off-by: Don Skidmore <donald.c.skidmore@xxxxxxxxx> Signed-off-by: Jeff Kirsher <jeffrey.t.kirsher@xxxxxxxxx> Signed-off-by: David S. Miller <davem@xxxxxxxxxxxxx> commit ca52efd5490f97f396d3c5863ba714624f272033 Author: françois romieu <romieu@xxxxxxxxxxxxx> Date: Fri Jul 24 12:34:19 2009 +0000 r8169: WakeOnLan fix for the 8168 More stuff for http://bugzilla.kernel.org/show_bug.cgi?id=9512 Some 8168 are unable to WoL when receiving is not enabled (plain old 8169 do not seem to care). It is not exactly pretty to leave the receiver enabled but we should now enable DMA late enough for it to be safe. Some late stage boot failure due to pxe and friends may benefit from the delayed enabling of bus-mastering as well. Signed-off-by: Francois Romieu <romieu@xxxxxxxxxxxxx> Tested-by: JaromÃr CápÃk <tavvva@xxxxxxxx> Cc: Edward Hsu <edward_hsu@xxxxxxxxxxxxxx> commit c8a5a658b826508c7c61b57e9a590f7b8760fb51 Author: Dhananjay Phadke <dhananjay@xxxxxxxxxx> Date: Sun Jul 26 20:17:21 2009 -0700 netxen: reset ring consumer during cleanup Reset consumer of status rings to 0 when cleaning up sw resources. Status rings are not deleted during suspend since they have napi objects. This ensures correct rx processing across suspen-resume. Signed-off-by: Dhananjay Phadke <dhananjay@xxxxxxxxxx> Signed-off-by: David S. Miller <davem@xxxxxxxxxxxxx> commit c587aea951a56d29741a3cef4ea3e142c93b3207 Author: Xiaotian Feng <dfeng@xxxxxxxxxx> Date: Thu Jul 23 23:06:32 2009 +0000 net/bridge: use kobject_put to release kobject in br_add_if error path kobject_init_and_add will alloc memory for kobj->name, so in br_add_if error path, simply use kobject_del will not free memory for kobj->name. Fix by using kobject_put instead, kobject_put will internally calls kobject_del and frees memory for kobj->name. Signed-off-by: Xiaotian Feng <dfeng@xxxxxxxxxx> Acked-by: Stephen Hemminger <shemminger@xxxxxxxxxx> Signed-off-by: David S. Miller <davem@xxxxxxxxxxxxx> commit 4a29f396429132dc59f1856ea6cfc860a1955fa1 Author: Alessandro Rubini <rubini-list@xxxxxxxxx> Date: Wed Jul 22 12:49:08 2009 +0000 smc91x.h: add config for Nomadik evaluation kit Signed-off-by: Alessandro Rubini <rubini@xxxxxxxx> Acked-by: Andrea Gallo <andrea.gallo@xxxxxxxxxxxxxx> Signed-off-by: David S. Miller <davem@xxxxxxxxxxxxx> commit dcf777f6ed9799c5ac90ac17a5c369e6b73ca92e Author: Ralf Baechle <ralf@xxxxxxxxxxxxxx> Date: Sun Jul 26 19:11:14 2009 -0700 NET: ROSE: Don't use static buffer. The use of a static buffer in rose2asc() to return its result is not threadproof and can result in corruption if multiple threads are trying to use one of the procfs files based on rose2asc(). Signed-off-by: Ralf Baechle <ralf@xxxxxxxxxxxxxx> Signed-off-by: David S. Miller <davem@xxxxxxxxxxxxx> commit d513d018e2236930b6163241bbdce64d2c0de49e Author: Roel Kluin <roel.kluin@xxxxxxxxx> Date: Sun Jul 26 18:53:17 2009 -0700 eepro: Read buffer overflow io[i] is read before the bounds check on i, order should be reversed Signed-off-by: Roel Kluin <roel.kluin@xxxxxxxxx> Signed-off-by: David S. Miller <davem@xxxxxxxxxxxxx> commit c65d3198addb1a2862d4b88bc2a74ac9cbed66f9 Author: roel kluin <roel.kluin@xxxxxxxxx> Date: Sat Jul 25 12:38:33 2009 +0000 tokenring: Read buffer overflow io[i] is read before the bounds check on i, order should be reversed Signed-off-by: Roel Kluin <roel.kluin@xxxxxxxxx> Signed-off-by: David S. Miller <davem@xxxxxxxxxxxxx> commit 3b73e79b0dcc86f8bec68a34b7fb812eec953f34 Author: roel kluin <roel.kluin@xxxxxxxxx> Date: Sat Jul 25 12:01:50 2009 +0000 at1700: Read buffer overflow loop bound looks to be wrong, for an array of length 8 Signed-off-by: Roel Kluin <roel.kluin@xxxxxxxxx> Signed-off-by: David S. Miller <davem@xxxxxxxxxxxxx> commit f83284fe209b1d143244bf462abf1b414eb7b62a Author: roel kluin <roel.kluin@xxxxxxxxx> Date: Sat Jul 25 07:41:12 2009 +0000 fealnx: Write outside array bounds phy_idx is checked to be < 4, but np->phys[] is 2 elements long Signed-off-by: Roel Kluin <roel.kluin@xxxxxxxxx> Signed-off-by: David S. Miller <davem@xxxxxxxxxxxxx> commit 57e4a5c4f8cfb4b198830c5400f9fc9eb7b75091 Merge: b88158846f36374553a5915b7cb5a86540cf9762 2cf313ee75ddf6220b5d623b749b1bb79458307f Author: Takashi Iwai <tiwai@xxxxxxx> Date: Sun Jul 26 11:07:08 2009 +0200 Merge branch 'fix/usb-audio' into for-linus * fix/usb-audio: ALSA: usb-audio - Volume control quirk for QuickCam E 3500 commit b88158846f36374553a5915b7cb5a86540cf9762 Merge: de5d674c0220e3adc84fb05d0e8e2793ffc094d8 947ca210f1df7656e19890832cb71fc3bdd88707 Author: Takashi Iwai <tiwai@xxxxxxx> Date: Sun Jul 26 11:07:07 2009 +0200 Merge branch 'fix/pcm-hwptr' into for-linus * fix/pcm-hwptr: ALSA: pcm - Fix hwptr buffer-size overlap bug ALSA: pcm - Fix warnings in debug loggings ALSA: pcm - Add logging of hwptr updates and interrupt updates ALSA: pcm - Fix regressions with VMware commit de5d674c0220e3adc84fb05d0e8e2793ffc094d8 Merge: f35e2965b238bbfd6d3be8969361b5769ed247ed 8de56b7deb2534a586839eda52843c1dae680dc5 Author: Takashi Iwai <tiwai@xxxxxxx> Date: Sun Jul 26 11:07:06 2009 +0200 Merge branch 'fix/hda' into for-linus * fix/hda: ALSA: hda - Fix mute control with some ALC262 models ALSA: hda - Restore GPIO1 properly at resume with AD1984A ALSA: hda - Use snprintf() to be safer commit f35e2965b238bbfd6d3be8969361b5769ed247ed Merge: 29769d533bc7c1429601272b6dd88d4212125e8e 68110661e86868cd107955ec7c077e1f34519f78 Author: Takashi Iwai <tiwai@xxxxxxx> Date: Sun Jul 26 11:07:05 2009 +0200 Merge branch 'fix/ctxfi' into for-linus * fix/ctxfi: ALSA: ctxfi - Fix uninitialized error checks commit 29769d533bc7c1429601272b6dd88d4212125e8e Merge: 7679d5c65ba8e4d27daa9181c2f4c7e618058f29 b30c4947735f9d76da3d194923efd38ed18ad651 Author: Takashi Iwai <tiwai@xxxxxxx> Date: Sun Jul 26 11:07:04 2009 +0200 Merge branch 'fix/caiaq' into for-linus * fix/caiaq: ALSA: snd_usb_caiaq: add support for Audio2DJ commit 7679d5c65ba8e4d27daa9181c2f4c7e618058f29 Merge: 4be3bd7849165e7efa6b0b35a23d6a3598d97465 06c71282a90470184a78f7f0ab0f7ce0fc1f69c8 Author: Takashi Iwai <tiwai@xxxxxxx> Date: Sun Jul 26 11:07:03 2009 +0200 Merge branch 'fix/asoc' into for-linus * fix/asoc: ASoC: tlv320aic3x: Enable PLL when not bypassed commit 40e03b581a8a0b638bc1e9b957ae0536a4a00ad3 Author: Jaswinder Singh Rajput <jaswinder@xxxxxxxxxx> Date: Wed Jul 8 20:13:24 2009 +0530 ARM: includecheck fix: plat-stmp3xxx/pinmux.c fix the following 'make includecheck' warning: arch/arm/plat-stmp3xxx/pinmux.c: linux/sysdev.h is included more than once. Signed-off-by: Jaswinder Singh Rajput <jaswinderrajput@xxxxxxxxx> Acked-by: dmitry pervushin <dpervushin@xxxxxxxxxxxxxxxxx> Signed-off-by: Russell King <rmk+kernel@xxxxxxxxxxxxxxxx> commit 2e6e2c143cdefc2624722659766d1f3c098d79e1 Author: Jaswinder Singh Rajput <jaswinder@xxxxxxxxxx> Date: Wed Jul 8 20:12:07 2009 +0530 ARM: includecheck fix: plat-s3c64xx/pm.c fix the following 'make includecheck' warning: arch/arm/plat-s3c64xx/pm.c: plat/regs-gpio.h is included more than once. Signed-off-by: Jaswinder Singh Rajput <jaswinderrajput@xxxxxxxxx> Acked-by: Ben Dooks <ben-linux@xxxxxxxxx> Signed-off-by: Russell King <rmk+kernel@xxxxxxxxxxxxxxxx> commit efda2b4c8a643290867d9f5816e36f71a5acee7d Author: Jaswinder Singh Rajput <jaswinder@xxxxxxxxxx> Date: Wed Jul 8 20:11:05 2009 +0530 ARM: includecheck fix: mach-omap2/mcbsp.c fix the following 'make includecheck' warning: arch/arm/mach-omap2/mcbsp.c: mach/irqs.h is included more than once. Signed-off-by: Jaswinder Singh Rajput <jaswinderrajput@xxxxxxxxx> Acked-by: Eduardo Valentin <eduardo.valentin@xxxxxxxxx> Acked-by: Kevin Hilman <khilman@xxxxxxxxxxxxxxxxxxx> Signed-off-by: Russell King <rmk+kernel@xxxxxxxxxxxxxxxx> commit 52cbbd41f7afeceba4be2e4062138781aacd440c Author: Jaswinder Singh Rajput <jaswinder@xxxxxxxxxx> Date: Wed Jul 8 20:10:02 2009 +0530 ARM: includecheck fix: mach-omap1/mcbsp.c fix the following 'make includecheck' warning: arch/arm/mach-omap1/mcbsp.c: mach/irqs.h is included more than once. Signed-off-by: Jaswinder Singh Rajput <jaswinderrajput@xxxxxxxxx> Acked-by: Eduardo Valentin <eduardo.valentin@xxxxxxxxx> Acked-by: Kevin Hilman <khilman@xxxxxxxxxxxxxxxxxxx> Signed-off-by: Russell King <rmk+kernel@xxxxxxxxxxxxxxxx> commit 7a33aed825c4d2bafea748384e3331661fc3a180 Author: Jaswinder Singh Rajput <jaswinder@xxxxxxxxxx> Date: Wed Jul 8 20:07:26 2009 +0530 ARM: includecheck fix: board-sffsdr.c fix the following 'make includecheck' warning: arch/arm/mach-davinci/board-sffsdr.c: mach/common.h is included more than once. Signed-off-by: Jaswinder Singh Rajput <jaswinderrajput@xxxxxxxxx> Acked-by: Kevin Hilman <khilman@xxxxxxxxxxxxxxxxxxx> Acked-by: Philip Balister <philip@xxxxxxxxxxx> Signed-off-by: Russell King <rmk+kernel@xxxxxxxxxxxxxxxx> commit 78eacf0b0373f524509da261b771f8baa28806b5 Author: Jaswinder Singh Rajput <jaswinder@xxxxxxxxxx> Date: Wed Jul 8 20:06:42 2009 +0530 ARM: includecheck fix: board-dm646x-evm.c fix the following 'make includecheck' warning: arch/arm/mach-davinci/board-dm646x-evm.c: mach/common.h is included more than once. Signed-off-by: Jaswinder Singh Rajput <jaswinderrajput@xxxxxxxxx> Acked-by: Kevin Hilman <khilman@xxxxxxxxxxxxxxxxxxx> Signed-off-by: Russell King <rmk+kernel@xxxxxxxxxxxxxxxx> commit 6608168486973a33d24d27b25fc94d4743c1a1e5 Author: Jaswinder Singh Rajput <jaswinder@xxxxxxxxxx> Date: Wed Jul 8 20:05:34 2009 +0530 ARM: includecheck fix: board-dm644x-evm.c fix the following 'make includecheck' warning: arch/arm/mach-davinci/board-dm644x-evm.c: mach/common.h is included more than once. Signed-off-by: Jaswinder Singh Rajput <jaswinderrajput@xxxxxxxxx> Acked-by: Kevin Hilman <khilman@xxxxxxxxxxxxxxxxxxx> Signed-off-by: Russell King <rmk+kernel@xxxxxxxxxxxxxxxx> commit 7f25b0ac2dde2de399d6cfe42d9ec7066e665f2f Author: Jaswinder Singh Rajput <jaswinder@xxxxxxxxxx> Date: Wed Jul 8 20:04:33 2009 +0530 ARM: includecheck fix: board-dm355-leopard.c fix the following 'make includecheck' warning: arch/arm/mach-davinci/board-dm355-leopard.c: mach/common.h is included more than once. Signed-off-by: Jaswinder Singh Rajput <jaswinderrajput@xxxxxxxxx> Acked-by: Kevin Hilman <khilman@xxxxxxxxxxxxxxxxxxx> Signed-off-by: Russell King <rmk+kernel@xxxxxxxxxxxxxxxx> commit 44e96d452173ed22a7ba2291c7d566bf4b406f62 Author: Jaswinder Singh Rajput <jaswinder@xxxxxxxxxx> Date: Wed Jul 8 20:03:08 2009 +0530 ARM: includecheck fix: board-dm355-evm.c fix the following 'make includecheck' warning: arch/arm/mach-davinci/board-dm355-evm.c: mach/common.h is included more than once. Signed-off-by: Jaswinder Singh Rajput <jaswinderrajput@xxxxxxxxx> Acked-by: Kevin Hilman <khilman@xxxxxxxxxxxxxxxxxxx> Signed-off-by: Russell King <rmk+kernel@xxxxxxxxxxxxxxxx> commit feecaf73bb437cf72a44bd71598c6532d357f78e Author: Jaswinder Singh Rajput <jaswinder@xxxxxxxxxx> Date: Wed Jul 8 20:01:39 2009 +0530 ARM: includecheck fix: atomic.h fix the following 'make includecheck' warning: arch/arm/include/asm/atomic.h: asm/system.h is included more than once. Signed-off-by: Jaswinder Singh Rajput <jaswinderrajput@xxxxxxxxx> Signed-off-by: Russell King <rmk+kernel@xxxxxxxxxxxxxxxx> commit 81566a060bb8f989cc369ea28837b05bd4adcedb Author: Jaswinder Singh Rajput <jaswinder@xxxxxxxxxx> Date: Wed Jul 8 20:00:15 2009 +0530 ARM: includecheck fix: misc.c fix the following 'make includecheck' warning: arch/arm/boot/compressed/misc.c: linux/compiler.h is included more than once. Signed-off-by: Jaswinder Singh Rajput <jaswinderrajput@xxxxxxxxx> Signed-off-by: Russell King <rmk+kernel@xxxxxxxxxxxxxxxx> commit 3c82e229f09a6acc8d24dc27c5e0e60b1d7161c2 Author: Paul Walmsley <paul@xxxxxxxxx> Date: Fri Jul 24 19:44:06 2009 -0600 OMAP3 clock: correct module IDLEST bits: SSI; DSS; USBHOST; HSOTGUSB Fix two bugs in the OMAP3 clock tree pertaining to the SSI, DSS, USBHOST, and HSOTGUSB devices. These devices are both interconnect initiators and targets. Without this patch, clk_enable()s on clocks for these modules can be very high latency (potentially up to ~200 milliseconds) and message such as the following are generated: Clock usbhost_48m_fck didn't enable in 100000 tries Two bugs are fixed by this patch. First, OMAP hardware only supports target CM_IDLEST register bits on ES2+ chips and beyond. ES1 chips should not wait for these clocks to enable. So, split the appropriate clocks into ES1 and ES2+ variants, so that kernels running on ES1 devices won't try to wait. Second, the current heuristic in omap2_clk_dflt_find_idlest() will fail for these clocks. It assumes that the CM_IDLEST bit to wait upon is the same as the CM_*CLKEN bit, which is false[1]. Fix by implementing custom clkops .find_idlest function pointers for the appropriate clocks that return the correct slave IDLEST bit shift. This was originally fixed in the linux-omap kernel during 2.6.29 in a slightly different manner[2][3]. In the medium-term future, all of the module IDLEST code will eventually be moved to the omap_hwmod code. Problem reported by Jarkko Nikula <jhnikula@xxxxxxxxx>: http://marc.info/?l=linux-omap&m=124306184903679&w=2 ... 1. See for example 34xx TRM Revision P Table 4-213 and 4-217 (for the DSS case). 2. http://www.spinics.net/lists/linux-omap/msg05512.html et seq. 3. http://lkml.indiana.edu/hypermail/linux/kernel/0901.3/01498.html Signed-off-by: Paul Walmsley <paul@xxxxxxxxx> Cc: Jarkko Nikula <jhnikula@xxxxxxxxx> commit 3dc2197579089c5b74c7fba666c8ccf1a449afb4 Author: Paul Walmsley <paul@xxxxxxxxx> Date: Fri Jul 24 19:44:04 2009 -0600 OMAP2 clock: 2430 I2CHS uses non-standard CM_IDLEST register OMAP2430 I2CHS CM_IDLEST bits are in CM_IDLEST1_CORE, but the CM_*CLKEN bits are in CM_{I,F}CLKEN2_CORE [1]. Fix by implementing a custom clkops .find_idlest function to return the correct slave IDLEST register. ... 1. OMAP2430 Multimedia Device Package-on-Package (POP) Silicon Revision 2.1 (Rev. V) Technical Reference Manual, tables 4-99 and 4-105. Signed-off-by: Paul Walmsley <paul@xxxxxxxxx> commit 72350b29a4c0debfc27c2edbeed9b4ff3f935dd4 Author: Paul Walmsley <paul@xxxxxxxxx> Date: Fri Jul 24 19:44:03 2009 -0600 OMAP2/3 clock: split, rename omap2_wait_clock_ready() Some OMAP2/3 hardware modules have CM_IDLEST attributes that are not handled by the current omap2_wait_clock_ready() code. In preparation for patches that fix the unusual devices, rename the function omap2_wait_clock_ready() to omap2_wait_module_ready() and split it into three parts: 1. A clkops-specific companion clock return function (by default, omap2_clk_dflt_find_companion()) 2. A clkops-specific CM_IDLEST register address and bit shift return function (by default, omap2_clk_dflt_find_idlest()) 3. Code to wait for the CM to indicate that the module is ready (omap2_cm_wait_idlest()) Clocks can now specify their own custom find_companion() and find_idlest() functions; used in subsequent patches. Signed-off-by: Paul Walmsley <paul@xxxxxxxxx> commit df56556e571234cf26072cd58c01ac3520986b44 Author: Rajendra Nayak <rnayak@xxxxxx> Date: Fri Jul 24 19:44:02 2009 -0600 OMAP3 SDRC: Move the clk stabilization delay to the right place The clock stabilization delay post a M2 divider change is needed even before a SDRC interface clock re-enable and not only before jumping back to SDRAM. Signed-off-by: Rajendra Nayak <rnayak@xxxxxx> Signed-off-by: Paul Walmsley <paul@xxxxxxxxx> commit 8ff120e5303e27e03aba7b774e86fd43eaf90376 Author: Rajendra Nayak <rnayak@xxxxxx> Date: Fri Jul 24 19:44:01 2009 -0600 OMAP3 SDRC: Fix freeze when scaling CORE dpll to < 83Mhz This patch fixes a bug in the CORE dpll scaling sequence which was errouneously clearing some bits in the SDRC DLLA CTRL register and hence causing a freeze. The issue was observed only on platforms which scale CORE dpll to < 83Mhz and hence program the DLL in fixed delay mode. Issue reported by Limei Wang <E12499@xxxxxxxxxxxx>, with debugging assistance from Richard Woodruff <r-woodruff2@xxxxxx> and Girish Ghongdemath <girishsg@xxxxxx>. Signed-off-by: Rajendra Nayak <rnayak@xxxxxx> Cc: Limei Wang <E12499@xxxxxxxxxxxx> Cc: Richard Woodruff <r-woodruff2@xxxxxx> Cc: Girish Ghongdemath <girishsg@xxxxxx> Signed-off-by: Paul Walmsley <paul@xxxxxxxxx> [paul@xxxxxxxxx: updated patch description to include collaboration credits] commit 75f251e3d0803b028f3474fdc75be0994c377ab5 Author: Paul Walmsley <paul@xxxxxxxxx> Date: Fri Jul 24 19:44:01 2009 -0600 OMAP2/3 SDRC: don't set SDRC_POWER.PWDENA on boot Stop setting SDRC_POWER.PWDENA on boot. There is a nasty erratum (34xx erratum 1.150) that can cause memory corruption if PWDENA is enabled. Based originally on a patch from Samu P. Onkalo <samu.p.onkalo@xxxxxxxxx>. Tested on BeagleBoard rev C2. Signed-off-by: Paul Walmsley <paul@xxxxxxxxx> Cc: Samu P. Onkalo <samu.p.onkalo@xxxxxxxxx> commit 9fb97412c3be5d0d1dd0e9d7c5268469e4c942aa Author: Jean Pihet <jpihet@xxxxxxxxxx> Date: Fri Jul 24 19:43:25 2009 -0600 OMAP3: Setup MUX settings for SDRC CKE signals This patches ensures the MUX settings are correct for the SDRC CKE signals to SDRAM. This allows the self-refresh to work when 2 chip-selects are in use. A warning is thrown away in case the initial muxing is incorrect, in order to track faulty or old-dated bootloaders. Note: The CONFIG_OMAP_MUX and CONFIG_OMAP_MUX_WARNINGS options must be enabled for the mux code to have effect. Signed-off-by: Jean Pihet <jpihet@xxxxxxxxxx> Signed-off-by: Paul Walmsley <paul@xxxxxxxxx> commit 58cda884ecc87dcce18d463b0c8bd928dae63ad8 Author: Jean Pihet <jpihet@xxxxxxxxxx> Date: Fri Jul 24 19:43:25 2009 -0600 OMAP3 SDRC: add support for 2 SDRAM chip selects Some OMAP3 boards (Beagle Cx, Overo, RX51, Pandora) have 2 SDRAM parts connected to the SDRC. This patch adds the following: - add a new argument of type omap_sdrc_params struct* to omap2_init_common_hw and omap2_sdrc_init for the 2nd CS params - adapted the OMAP boards files to the new prototype of omap2_init_common_hw - add the SDRC 2nd CS registers offsets defines - adapt the sram sleep code to configure the SDRC for the 2nd CS Note: If the 2nd param to omap2_init_common_hw is NULL, then the parameters are not programmed into the SDRC CS1 registers Tested on 3430 SDP and Beagleboard rev C2 and B5, with suspend/resume and frequency changes (cpufreq). Signed-off-by: Jean Pihet <jpihet@xxxxxxxxxx> Signed-off-by: Paul Walmsley <paul@xxxxxxxxx> commit 9779b72f0584fd53e0de53f62f205bf0dc0db553 Author: Chris Mason <chris.mason@xxxxxxxxxx> Date: Fri Jul 24 16:41:41 2009 -0400 Btrfs: find smallest available device extent during chunk allocation Allocating new block group is easy when the disk has plenty of space. But things get difficult as the disk fills up, especially if the FS has been run through btrfs-vol -b. The balance operation is likely to make the total bytes available on the device greater than the largest extent we'll actually be able to allocate. But the device extent allocation code incorrectly assumes that a device with 5G free will be able to allocate a 5G extent. It isn't normally a problem because device extents don't get freed unless btrfs-vol -b is run. This fixes the device extent allocator to remember the largest free extent it can find, and then uses that value as a fallback. Signed-off-by: Chris Mason <chris.mason@xxxxxxxxxx> commit 283bb1979fa8580c4037d8df251449368c292a3b Author: Chris Mason <chris.mason@xxxxxxxxxx> Date: Fri Jul 24 16:30:55 2009 -0400 Btrfs: clear all space_info->full after removing a block group Btrfs allocates individual extents from block groups, and each block group has a specific type. It may hold metadata, data mirrored or striped etc. When we balance space (btrfs-vol -b) or remove a drive (btrfs-vol -r) we free block groups. Once a block group is freed, the space it was using on the device may be available for use by new block groups. btrfs_remove_block_group was clearing the flag that said 'our devices are full, don't even try to allocate new block groups', but it was only clearing that flag for a specific type of block group. This commit clears the full flag for all of the types of block groups, making it much more likely that we'll be able to balance space when the drive is close to full. Signed-off-by: Chris Mason <chris.mason@xxxxxxxxxx> commit bdff78707f3ce47e891f3201c9666122a70556ce Author: Thomas Gleixner <tglx@xxxxxxxxxxxxx> Date: Fri Jul 24 15:30:45 2009 -0400 trace: stop tracer in oops_enter() If trace_printk_on_oops is set we lose interesting trace information when the tracer is enabled across oops handling and printing. We want the trace which might give us information _WHY_ we oopsed. Signed-off-by: Thomas Gleixner <tglx@xxxxxxxxxxxxx> Signed-off-by: Steven Rostedt <rostedt@xxxxxxxxxxx> commit ebecd3d9d2adba144c15f1d35c78e0c26ead1bfd Author: Sage Weil <sage@xxxxxxxxxxxx> Date: Fri Jul 24 13:17:44 2009 -0400 Btrfs: make flushoncommit mount option correctly wait on ordered_extents The commit_transaction call to wait_ordered_extents when snap_pending passes nocow_only=1 to process only NOCOW or PREALLOC extents. This isn't correct for the 'flushoncommit' mode, as it skips extents we just started IO on in start_delalloc_inodes. So, in the flushoncommit case, wait on all ordered extents. Otherwise, only pass the nocow_only flag to wait_ordered_extents if snap_pending. Signed-off-by: Sage Weil <sage@xxxxxxxxxxxx> Signed-off-by: Chris Mason <chris.mason@xxxxxxxxxx> commit 32bc4820287a1a03982979515949e8ea56eac641 Author: Adrian Hunter <Adrian.Hunter@xxxxxxxxx> Date: Fri Jul 24 19:16:04 2009 +0300 UBI: compatible fallback in absense of sequence numbers Fall back onto thinking everything's OK if either of the sequence numbers we are asked to compare is zero, which is what was used before sequence numbers were introduced. [ Artem: modified the patch to be applicable to upstream UBI, added big comment ] Signed-off-by: Adrian Hunter <ext-adrian.hunter@xxxxxxxxx> Signed-off-by: Phil Carmody <ext-phil.2.carmody@xxxxxxxxx> Signed-off-by: Artem Bityutskiy <Artem.Bityutskiy@xxxxxxxxx> commit 7194e6f9c083e87171ddfc8b746f05e007f58132 Author: Adrian Hunter <Adrian.Hunter@xxxxxxxxx> Date: Fri Jul 24 17:05:00 2009 +0300 UBI: fix double free on error path If we fail in 'ubi_eba_init_scan()', we free 'ubi->volumes[i]->eba_tbl' in there, but also later free it in 'free_internal_volumes()'. Fix this by assigning NULL to 'ubi->volumes[i]->eba_tbl' after it is freed. Signed-off-by: Adrian Hunter <adrian.hunter@xxxxxxxxx> Signed-off-by: Artem Bityutskiy <Artem.Bityutskiy@xxxxxxxxx> commit ca4e771f7b878b7bab02dedb539f7742f9b4f50e Author: Michael Krufky <mkrufky@xxxxxxxxxxxxxx> Date: Sun Jul 19 17:55:35 2009 -0300 V4L/DVB (12303): cx23885: check pointers before dereferencing in dprintk macro When enabling debug with v4l_debug set to 2 or greater, the driver OOPS's on startup. Checks dev pointer before dereferencing, in order to prevent this OOPS. Signed-off-by: Michael Krufky <mkrufky@xxxxxxxxxxxxxx> Signed-off-by: Mauro Carvalho Chehab <mchehab@xxxxxxxxxx> commit 12a34cc8a9a49219ab643c8ec329078eec272b47 Author: Michael Krufky <mkrufky@xxxxxxxxxxxxxx> Date: Sun Jul 19 18:19:18 2009 -0300 V4L/DVB (12302): cx23885-417: fix broken IOCTL handling IOCTLS will never get handled if we dont connect video_ioctl2 to mpeg_fops.ioctl Signed-off-by: Michael Krufky <mkrufky@xxxxxxxxxxxxxx> Signed-off-by: Mauro Carvalho Chehab <mchehab@xxxxxxxxxx> commit 2c90577841a76f1935ff3437ffb552b41f5c28fa Author: Hans Verkuil <hverkuil@xxxxxxxxx> Date: Mon Jul 20 08:14:17 2009 -0300 V4L/DVB (12300): bttv: fix regression: tvaudio must be loaded before tuner Both tvaudio and the tuner share i2c address 0x42. The tvaudio module can check whether it really is a tda9840, but the tuner can't. So the tvaudio module must be loaded before the tuner module. This was also the case for 2.6.29, but the order was swapped in 2.6.30. Thanks to Krzysztof Grygiencz for reporting and testing this. Signed-off-by: Hans Verkuil <hverkuil@xxxxxxxxx> Signed-off-by: Mauro Carvalho Chehab <mchehab@xxxxxxxxxx> commit 68b7f7616add4b1de0fe75015ba3884d2d9ff796 Author: Trent Piepho <xyzzy@xxxxxxxxxxxxx> Date: Thu Jun 11 19:31:22 2009 -0300 V4L/DVB (12291): b2c2: fix frontends compiled into kernel A recent patch didn't take into account that frontends can be compiled into the kernel. Or that frontends compiled as modules can't be used by the b2c2 driver if it is not a module itself. Some frontends require multiple drivers, e.g. a demod driver and a tuner driver. The code for the frontend support was getting added if the demod driver was available. Change this to also require any needed tuner or SEC drivers as well. Signed-off-by: Trent Piepho <xyzzy@xxxxxxxxxxxxx> Signed-off-by: Mauro Carvalho Chehab <mchehab@xxxxxxxxxx> commit c15b95edb98f184e73f756511a60a7994cd9d840 Author: Mauro Carvalho Chehab <mchehab@xxxxxxxxxx> Date: Sun Jul 19 18:03:23 2009 -0300 V4L/DVB (12286): sn9c20x: reorder includes to be like other drivers This is not just pure cosmetic, since the order affects the out-of-tree module build at the -hg development tree. Signed-off-by: Mauro Carvalho Chehab <mchehab@xxxxxxxxxx> commit 3eb0237d445c23e9f46b11a07bce986eca450640 Author: Julia Lawall <julia@xxxxxxx> Date: Sun Jul 19 07:09:32 2009 -0300 V4L/DVB (12284): gspca - jpeg subdrivers: Check the result of kmalloc(jpeg header). Signed-off-by: Julia Lawall <julia@xxxxxxx> Signed-off-by: Jean-Francois Moine <moinejf@xxxxxxx> Signed-off-by: Mauro Carvalho Chehab <mchehab@xxxxxxxxxx> commit 26e744b6b61066203fd57de0d3962353621e06f8 Author: Brian Johnson <brijohn@xxxxxxxxx> Date: Sun Jul 19 05:52:58 2009 -0300 V4L/DVB (12283): gspca - sn9c20x: New subdriver for sn9c201 and sn9c202 bridges. Signed-off-by: Brian Johnson <brijohn@xxxxxxxxx> Signed-off-by: Jean-Francois Moine <moinejf@xxxxxxx> Signed-off-by: Mauro Carvalho Chehab <mchehab@xxxxxxxxxx> commit af1d9afa75082663ea9e2b67b9381d1af403f52b Author: Brian Johnson <brijohn@xxxxxxxxx> Date: Sun Jul 19 05:29:20 2009 -0300 V4L/DVB (12282): gspca - main: Support for vidioc_g_chip_ident and vidioc_g/s_register. Signed-off-by: Brian Johnson <brijohn@xxxxxxxxx> Signed-off-by: Jean-Francois Moine <moinejf@xxxxxxx> Signed-off-by: Mauro Carvalho Chehab <mchehab@xxxxxxxxxx> commit a2f5a8117cb185fc347f35e369a6320e6aa9d82d Author: Antti Palosaari <crope@xxxxxx> Date: Fri Jul 10 20:03:43 2009 -0300 V4L/DVB (12269): af9013: auto-detect parameters in case of garbage given by app Request demodulator auto-detect transmission parameters in case of garbage parameters provided by application for compatibility. That's needed at least for MPlayer compatibility currently. Thanks to Jelle de Jong for reporting issue and providing SSH access to Devin for debugging. Thanks to Devin Heitmueller for hard debug work he did to find that bug. Cc: Devin Heitmueller <dheitmueller@xxxxxxxxxxxxxx> Cc: Jelle de Jong <jelledejong@xxxxxxxxxxxxx> Signed-off-by: Antti Palosaari <crope@xxxxxx> Signed-off-by: Mauro Carvalho Chehab <mchehab@xxxxxxxxxx> commit 27954930f047df73a16253db2750345034e56c40 Author: Jean-Francois Moine <moinejf@xxxxxxx> Date: Wed Jul 8 05:21:50 2009 -0300 V4L/DVB (12267): gspca - sonixj: Bad sensor init of non ov76xx sensors. The bug was introduced when adding the light frequency control Signed-off-by: Jean-Francois Moine <moinejf@xxxxxxx> Signed-off-by: Mauro Carvalho Chehab <mchehab@xxxxxxxxxx> commit a84f79aed688a94197387830df3a2f2068f49dc0 Author: Devin Heitmueller <dheitmueller@xxxxxxxxxxxxxx> Date: Sun Jul 12 17:05:02 2009 -0300 V4L/DVB (12265): em28xx: fix tuning problem in HVR-900 (R1) When the change was introduced in the zl10353 for the i2c gate behavior, this broke the HVR-900 which was not behind a gate. Use a version of the zl10353 config profile that indicates the tuner is not behind such a gate. Without this patch the first tune succeeds, but subsequent tuning attempts will fail. The change also renames the terratec zl10353 profile I wrote to be more generic, since it is shared by the non-terratec device. Thanks to Michael Krufky for providing a HVR-900 and DVB-T environment to test with. Cc: Michael Krufky <mkrufky@xxxxxxxxxxxxxx> Signed-off-by: Devin Heitmueller <dheitmueller@xxxxxxxxxxxxxx> Signed-off-by: Mauro Carvalho Chehab <mchehab@xxxxxxxxxx> commit e16e5a3739cfd208de00d49def10fcfa6ceff46f Author: Devin Heitmueller <dheitmueller@xxxxxxxxxxxxxx> Date: Wed Jul 15 00:37:22 2009 -0300 V4L/DVB (12263): em28xx: set demod profile for Pinnacle Hybrid Pro 320e The Pinnacle Hybrid Pro 320e was missing a demod config for the xc3028, which is required for digital tuning to work properly. Add the missing profile. Thanks to Andreas Lunderhage for testing patches and providing a remote debug environment. Cc: Andreas Lunderhage <lunderhage@xxxxxxx> Signed-off-by: Devin Heitmueller <dheitmueller@xxxxxxxxxxxxxx> Signed-off-by: Mauro Carvalho Chehab <mchehab@xxxxxxxxxx> commit 5343e446014b93f740d5502f9f3bfa3f66dcbc7c Author: Devin Heitmueller <dheitmueller@xxxxxxxxxxxxxx> Date: Wed Jul 15 00:35:47 2009 -0300 V4L/DVB (12262): em28xx: Make sure the tuner is initialized if generic empia USB id was used In cases where the device has a generic Empia USB ID, the call in the precard setup phase did not set the tuner GPIO. As a result, the tuner may not be taken out of reset before attempting initialization in the analog driver. This problem was not seen before with the EVGA inDtube, since that particular board has the analog GPIO setup to include taking the tuner out of reset. Thanks to Andreas Lunderhage for testing patches and providing a remote debug environment for the Pinnacle 320e. Cc: Andreas Lunderhage <lunderhage@xxxxxxx> Signed-off-by: Devin Heitmueller <dheitmueller@xxxxxxxxxxxxxx> Signed-off-by: Mauro Carvalho Chehab <mchehab@xxxxxxxxxx> commit 44010440ca2693a07b1252ee836a23804412575e Author: Devin Heitmueller <dheitmueller@xxxxxxxxxxxxxx> Date: Wed Jul 8 22:18:15 2009 -0300 V4L/DVB (12261): em28xx: set GPIO properly for Pinnacle Hybrid Pro analog support Set the GPIO properly for the analog side of the Pinnacle Hybrid Pro, or else the emp202 doesn't get detected properly. Signed-off-by: Devin Heitmueller <dheitmueller@xxxxxxxxxxxxxx> Signed-off-by: Mauro Carvalho Chehab <mchehab@xxxxxxxxxx> commit d5b3ba9cb375620a109d79f2e3a7bc21e9b75d8f Author: Devin Heitmueller <dheitmueller@xxxxxxxxxxxxxx> Date: Wed Jul 8 21:51:35 2009 -0300 V4L/DVB (12260): em28xx: make support work for the Pinnacle Hybrid Pro (eb1a:2881) Setup the GPIOs properly and enable support for the DVB side of the Pinnacle Hybrid Pro USB stick. Thanks to Andreas Lunderhage for testing patches and providing a remote debug environment. Cc: Andreas Lunderhage <lunderhage@xxxxxxx> Signed-off-by: Devin Heitmueller <dheitmueller@xxxxxxxxxxxxxx> Signed-off-by: Mauro Carvalho Chehab <mchehab@xxxxxxxxxx> commit ff69786b4ccd0d5b99a60ba0be98237f9b7d8f52 Author: Devin Heitmueller <dheitmueller@xxxxxxxxxxxxxx> Date: Sun Jul 12 18:44:19 2009 -0300 V4L/DVB (12258): em28xx: fix typo in mt352 init sequence for Terratec Cinergy T XS USB Andy walls pointed out that we were passing 0x5d to the TUNER_GO register, instead of 0x01. Set the register properly (note the code did still work with the incorrect value, so this does not address a regression). Thanks to Andy Walls for noticing the issue. Cc: Andy Walls <awalls@xxxxxxxxx> Signed-off-by: Devin Heitmueller <dheitmueller@xxxxxxxxxxxxxx> Signed-off-by: Mauro Carvalho Chehab <mchehab@xxxxxxxxxx> commit 4fb202a8d9d936f7080ab631140b447a0625e36c Author: Devin Heitmueller <dheitmueller@xxxxxxxxxxxxxx> Date: Sun Jul 12 17:51:12 2009 -0300 V4L/DVB (12257): em28xx: make tuning work for Terratec Cinergy T XS USB (mt352 variant) The Terratec Cinergy T XS USB can have either a zl10353 or an mt352. Add support for the MT352 variant. Thanks to Jelle de Jong for providing a unit to test/debug with. Cc: Jelle de Jong <jelledejong@xxxxxxxxxxxxx> Signed-off-by: Devin Heitmueller <dheitmueller@xxxxxxxxxxxxxx> Signed-off-by: Mauro Carvalho Chehab <mchehab@xxxxxxxxxx> commit b80fd2d811b48a92051f86d257b00f373e69a6d7 Author: Mauro Carvalho Chehab <mchehab@xxxxxxxxxx> Date: Tue Jul 14 21:08:22 2009 -0300 V4L/DVB (12245): em28xx: add support for mt9m001 webcams Thanks to Wally <wally@xxxxxxxxx> for bringing the issue and helping with the tests. Signed-off-by: Mauro Carvalho Chehab <mchehab@xxxxxxxxxx> commit 579d315218e8a3f696e375c5f6917da6488bec8a Author: Mauro Carvalho Chehab <mchehab@xxxxxxxxxx> Date: Tue Jul 14 12:33:25 2009 -0300 V4L/DVB (12244): em28xx: adjust vinmode/vinctl based on the stream input format Depending on the video input format, vinmode/vinctl needs adjustments. For TV, this is not relevant, since the supported decoders output data at the same format. However, webcam sensors may have different formats, so, this needs to be adjusted based on the device. Signed-off-by: Mauro Carvalho Chehab <mchehab@xxxxxxxxxx> commit d36bb4e77257ed0df86deca3f69794f037f68c7d Author: Mauro Carvalho Chehab <mchehab@xxxxxxxxxx> Date: Tue Jul 14 03:18:39 2009 -0300 V4L/DVB (12243): em28xx: allow specifying sensor xtal frequency In order to properly estimate fps, mt9v011 sensor driver needs to know what is the used frequency on the sensor cristal. Adds the proper fields and initialization code for specifying the cristal frequency. Also, based on experimentation, it was noticed that the Silvercrest is outputing data at 7 fps. This means that it should be using a 6.3 MHz cristal. This information needs to be double checked later, by opening the device. Anyway, by using this value for xtal, at least now we have the correct fps report. Signed-off-by: Mauro Carvalho Chehab <mchehab@xxxxxxxxxx> commit 2ea472ff704a8a94b3b9abec438db23e512be337 Author: Mauro Carvalho Chehab <mchehab@xxxxxxxxxx> Date: Tue Jul 14 03:14:21 2009 -0300 V4L/DVB (12242): mt9v011: implement core->s_config to allow adjusting xtal frequency Since frames per second is a function of cristal frequency, and this is device-specific, add a function that allows adjusting it, via subdev->core->s_config callback. Signed-off-by: Mauro Carvalho Chehab <mchehab@xxxxxxxxxx> commit c180604a87c5abb0a117998009d01a4499d58653 Author: Mauro Carvalho Chehab <mchehab@xxxxxxxxxx> Date: Tue Jul 14 02:39:19 2009 -0300 V4L/DVB (12241): mt9v011: Fix vstart vstart calculus were wrong. Fix it. Signed-off-by: Mauro Carvalho Chehab <mchehab@xxxxxxxxxx> commit e11206e67f738b04d0c508795adc9bff504bc875 Author: Mauro Carvalho Chehab <mchehab@xxxxxxxxxx> Date: Tue Jul 14 02:38:18 2009 -0300 V4L/DVB (12240): mt9v011: add a function to calculate frames per second rate It is possible to adjust the fps rate by changing some register values. This is function of the connected Xtal at the camera sensor, being a 27 MHz cristal needed, in order to support 640x480 at 30 fps. For now, it will only calculate the values for fps. Later patches may introduce V4L2 ioctls, to allow frequency rate adjustments. Signed-off-by: Mauro Carvalho Chehab <mchehab@xxxxxxxxxx> commit 5569996421fa1cfc1fc0d9e683ac1def46ea985d Author: Mauro Carvalho Chehab <mchehab@xxxxxxxxxx> Date: Mon Jul 13 20:15:02 2009 -0300 V4L/DVB (12239): em28xx: fix webcam scaling While trying to fix an mt9v001 webcam, I noticed that HSCALE/VSCALE do work with em28xx + webcam. The issue is that the scaling setup depends on the number of visible rows/cols of the input image. With mt9v011 (Silvercrest), the resolution is 640x480. So, the scaling is different from a normal TV image (720x480 on NTSC). This were causing a wrong scaling and a previous patch disabled scaling. As each sensor have their different resolution setting, the xres/yres should be adjusted accordingly with the input sensor. Signed-off-by: Mauro Carvalho Chehab <mchehab@xxxxxxxxxx> commit b04fb6615285d18df34ffd6cdd51db7a8a78dda0 Author: Mauro Carvalho Chehab <mchehab@xxxxxxxxxx> Date: Mon Jul 13 01:28:21 2009 -0300 V4L/DVB (12238): em28xx: call sensor detection code for all webcam entries With the previous approach, autodetection were working only for the two generic entries (em275x and em2820 unknown ones). So, if someone would try to force probing an specific device, the code would not properly run the autodetection code. With the new approach, the sensor autodetection will be run not only for the two generic entries, but also do webcam specific ones. Signed-off-by: Mauro Carvalho Chehab <mchehab@xxxxxxxxxx> commit 9873740b2f41b37ec074afd4b8910b87dbebc0db Author: Mauro Carvalho Chehab <mchehab@xxxxxxxxxx> Date: Mon Jul 13 01:03:37 2009 -0300 V4L/DVB (12237): mt9v011: implement VIDIOC_QUERYCTRL Signed-off-by: Mauro Carvalho Chehab <mchehab@xxxxxxxxxx> commit 527f09a981e398331c2f8d8f7af83cd46e6a06cc Author: Mauro Carvalho Chehab <mchehab@xxxxxxxxxx> Date: Sun Jul 12 11:04:15 2009 -0300 V4L/DVB (12236): em28xx: stop abusing of board->decoder for sensor information Instead of using em28xx board decoder field for storing sensor information, let's use instead a separate field for it. Also, as sensors are currently autodetected, there's no need of having it at the boards description. So, move it to the main em28xx struct. Signed-off-by: Mauro Carvalho Chehab <mchehab@xxxxxxxxxx> commit 8b220793d6fd309176438721088515be893630cd Author: Mauro Carvalho Chehab <mchehab@xxxxxxxxxx> Date: Sun Jul 12 10:56:21 2009 -0300 V4L/DVB (12235): em28xx: detects sensors also with the generic em2750/2750 entry Webcams in general don't have eeprom. So, the sensor hint code should be called to properly detect what sensor is inside. Signed-off-by: Mauro Carvalho Chehab <mchehab@xxxxxxxxxx> commit 8a2e6990f44d4cebaafcc0af1a786912ae733bb2 Author: Mauro Carvalho Chehab <mchehab@xxxxxxxxxx> Date: Sun Jul 12 10:26:36 2009 -0300 V4L/DVB (12234): em28xx-cards: use is_webcam flag for devices that are known to be webcams By having the webcam devices marked as such, it will help the em28xx driver to do the right thing on those devices. Signed-off-by: Mauro Carvalho Chehab <mchehab@xxxxxxxxxx> commit c43221df762c33e832e8855cae77989b6bf69fa6 Author: Mauro Carvalho Chehab <mchehab@xxxxxxxxxx> Date: Sun Jul 12 10:23:23 2009 -0300 V4L/DVB (12233): em28xx: rename is_27xx to is_webcam Just renames the flag, to use a clearer name. Later patches will use this flag to properly set some drivers behaviors for webcams. Signed-off-by: Mauro Carvalho Chehab <mchehab@xxxxxxxxxx> commit 641f75caa874fffd679b64f850adee37103b0c0f Author: Erik Andrén <erik.andren@xxxxxxxxx> Date: Wed Jul 8 14:47:16 2009 -0300 V4L/DVB (12224): gspca - m5602-s5k4aa: Remove erroneous register writes A couple of erroneous register writes snuck in that made the image go haywire. Remove these. Many thanks to Grégory Lardière for finding this out Signed-off-by: Erik Andrén <erik.andren@xxxxxxxxx> Signed-off-by: Mauro Carvalho Chehab <mchehab@xxxxxxxxxx> commit c0ea8f5b7264c813ee885f02b663ee3106f98afe Author: Erik Andrén <erik.andren@xxxxxxxxx> Date: Wed Jul 1 02:56:44 2009 -0300 V4L/DVB (12223): gspca - stv06xx-hdcs: Correct the pixelformat Signed-off-by: Erik Andrén <erik.andren@xxxxxxxxx> Signed-off-by: Mauro Carvalho Chehab <mchehab@xxxxxxxxxx> commit ac51295ccc0ff922fea62cfc6f72cddf9c6c7306 Author: Erik Andrén <erik.andren@xxxxxxxxx> Date: Wed Jun 24 04:30:56 2009 -0300 V4L/DVB (12222): gspca - stv06xx-hdcs: Fix sensor sequence bug All hdcs registers use bit 0 as a read/write flag and needs to be shifted one bit to the left. This wasn't accounted for when doing a sequence of writes. Signed-off-by: Erik Andrén <erik.andren@xxxxxxxxx> Signed-off-by: Mauro Carvalho Chehab <mchehab@xxxxxxxxxx> commit 36a516d953e02523e78ce27fbff91a968a9e5751 Author: Erik Andrén <erik.andren@xxxxxxxxx> Date: Tue Jun 23 12:22:48 2009 -0300 V4L/DVB (12221): gspca - stv06xx-hdcs: Actually update the sensor state Signed-off-by: Erik Andrén <erik.andren@xxxxxxxxx> Signed-off-by: Mauro Carvalho Chehab <mchehab@xxxxxxxxxx> commit d717aa1d31c36cb56059e97966cb76f0be021969 Author: Yan Zheng <zheng.yan@xxxxxxxxxx> Date: Fri Jul 24 12:42:46 2009 -0400 Btrfs: Avoid delayed reference update looping btrfs_split_leaf and btrfs_del_items can end up in a loop where one is constantly spliting a given leaf and the other is constantly merging it back with the adjacent nodes. There is a better fix for this, but in the interest of something small, this patch just changes btrfs_del_items back to balancing less often. Signed-off-by: Chris Mason <chris.mason@xxxxxxxxxx> commit 0a4eefbb745ec0e8a5b694ae3f40cc34082d8f61 Author: Yan Zheng <zheng.yan@xxxxxxxxxx> Date: Fri Jul 24 11:06:53 2009 -0400 Btrfs: Fix ordering of key field checks in btrfs_previous_item Check objectid of item before checking the item type, otherwise we may return zero for a key that is actually too low. Signed-off-by: Yan Zheng <zheng.yan@xxxxxxxxxx> Signed-off-by: Chris Mason <chris.mason@xxxxxxxxxx> commit 1fcbac581be375ca0a686f72ee2b7fd1dbf386e7 Author: Yan Zheng <zheng.yan@xxxxxxxxxx> Date: Fri Jul 24 11:06:53 2009 -0400 Btrfs: find_free_dev_extent doesn't handle holes at the start of the device find_free_dev_extent does not properly handle the case where the device is not complete free, and there is a free extent at the beginning of the device. Signed-off-by: Yan Zheng <zheng.yan@xxxxxxxxxx> Signed-off-by: Chris Mason <chris.mason@xxxxxxxxxx> commit 20736abaa361bea488df6a1f66f6b37fb01107b9 Author: Diego Calleja <diegocg@xxxxxxxxx> Date: Fri Jul 24 11:06:52 2009 -0400 Btrfs: Remove code duplication in comp_keys comp_keys is duplicating what is done in btrfs_comp_cpu_keys, so just call it. Signed-off-by: Diego Calleja <diegocg@xxxxxxxxx> Signed-off-by: Chris Mason <chris.mason@xxxxxxxxxx> commit 8de56b7deb2534a586839eda52843c1dae680dc5 Author: Takashi Iwai <tiwai@xxxxxxx> Date: Fri Jul 24 16:51:47 2009 +0200 ALSA: hda - Fix mute control with some ALC262 models The master mute switch is wrongly implemented as checking the pointer instead of its value, thus it can be never muted. This patch fixes the issue. Reference: Novell bnc#404873 https://bugzilla.novell.com/show_bug.cgi?id=404873 Signed-off-by: Takashi Iwai <tiwai@xxxxxxx> Cc: <stable@xxxxxxxxxx> commit 817d52f8dba26d0295c26035531c30ce5f1e3c3e Author: Josef Bacik <josef@xxxxxxxxxx> Date: Mon Jul 13 21:29:25 2009 -0400 Btrfs: async block group caching This patch moves the caching of the block group off to a kthread in order to allow people to allocate sooner. Instead of blocking up behind the caching mutex, we instead kick of the caching kthread, and then attempt to make an allocation. If we cannot, we wait on the block groups caching waitqueue, which the caching kthread will wake the waiting threads up everytime it finds 2 meg worth of space, and then again when its finished caching. This is how I tested the speedup from this mkfs the disk mount the disk fill the disk up with fs_mark unmount the disk mount the disk time touch /mnt/foo Without my changes this took 11 seconds on my box, with these changes it now takes 1 second. Another change thats been put in place is we lock the super mirror's in the pinned extent map in order to keep us from adding that stuff as free space when caching the block group. This doesn't really change anything else as far as the pinned extent map is concerned, since for actual pinned extents we use EXTENT_DIRTY, but it does mean that when we unmount we have to go in and unlock those extents to keep from leaking memory. I've also added a check where when we are reading block groups from disk, if the amount of space used == the size of the block group, we go ahead and mark the block group as cached. This drastically reduces the amount of time it takes to cache the block groups. Using the same test as above, except doing a dd to a file and then unmounting, it used to take 33 seconds to umount, now it takes 3 seconds. This version uses the commit_root in the caching kthread, and then keeps track of how many async caching threads are running at any given time so if one of the async threads is still running as we cross transactions we can wait until its finished before handling the pinned extents. Thank you, Signed-off-by: Josef Bacik <jbacik@xxxxxxxxxx> Signed-off-by: Chris Mason <chris.mason@xxxxxxxxxx> commit 963030817060e4f109be1993b9ae8f81dbf5e11a Author: Josef Bacik <josef@xxxxxxxxxx> Date: Mon Jul 13 21:29:25 2009 -0400 Btrfs: use hybrid extents+bitmap rb tree for free space Currently btrfs has a problem where it can use a ridiculous amount of RAM simply tracking free space. As free space gets fragmented, we end up with thousands of entries on an rb-tree per block group, which usually spans 1 gig of area. Since we currently don't ever flush free space cache back to disk this gets to be a bit unweildly on large fs's with lots of fragmentation. This patch solves this problem by using PAGE_SIZE bitmaps for parts of the free space cache. Initially we calculate a threshold of extent entries we can handle, which is however many extent entries we can cram into 16k of ram. The maximum amount of RAM that should ever be used to track 1 gigabyte of diskspace will be 32k of RAM, which scales much better than we did before. Once we pass the extent threshold, we start adding bitmaps and using those instead for tracking the free space. This patch also makes it so that any free space thats less than 4 * sectorsize we go ahead and put into a bitmap. This is nice since we try and allocate out of the front of a block group, so if the front of a block group is heavily fragmented and then has a huge chunk of free space at the end, we go ahead and add the fragmented areas to bitmaps and use a normal extent entry to track the big chunk at the back of the block group. I've also taken the opportunity to revamp how we search for free space. Previously we indexed free space via an offset indexed rb tree and a bytes indexed rb tree. I've dropped the bytes indexed rb tree and use only the offset indexed rb tree. This cuts the number of tree operations we were doing previously down by half, and gives us a little bit of a better allocation pattern since we will always start from a specific offset and search forward from there, instead of searching for the size we need and try and get it as close as possible to the offset we want. I've given this a healthy amount of testing pre-new format stuff, as well as post-new format stuff. I've booted up my fedora box which is installed on btrfs with this patch and ran with it for a few days without issues. I've not seen any performance regressions in any of my tests. Since the last patch Yan Zheng fixed a problem where we could have overlapping entries, so updating their offset inline would cause problems. Thanks, Signed-off-by: Josef Bacik <jbacik@xxxxxxxxxx> Signed-off-by: Chris Mason <chris.mason@xxxxxxxxxx> commit 8d406c6de2e67b5bae3c43b62b492c4ff63afb92 Author: Felix Beck <felix.beck@xxxxxxxxxx> Date: Fri Jul 24 12:39:53 2009 +0200 [S390] zcrypt: fix scheduling of hrtimer ap_poll_timer Every time a request is enqueued or there is some work outstanding from the ap_tasklet, the ap_poll_timer is scheduled again. Unfortunately it was permanently called. It looked as if it was started in the past and thus imediately expired. This has been changed. First it is checked if the hrtimer is already expired. Then the expiring time is forwarded and the timer restarted. Signed-off-by: Felix Beck <felix.beck@xxxxxxxxxx> Signed-off-by: Martin Schwidefsky <schwidefsky@xxxxxxxxxx> commit 1277580fe5dfb5aef84854bdb7983657df00b920 Author: Martin Schwidefsky <schwidefsky@xxxxxxxxxx> Date: Fri Jul 24 12:39:52 2009 +0200 [S390] vdso: clock_gettime of CLOCK_THREAD_CPUTIME_ID with noexec=on The combination of noexec=on and a clock_gettime call with clock id CLOCK_THREAD_CPUTIME_ID is broken. The vdso code switches to the access register mode to get access to the per-cpu data structure to execute the magic ectg instruction. After the ectg instruction the code always switches back to the primary mode but for noexec=on the correct mode is the secondary mode. The effect of the bug is that the user space program looses the access to all mappings without PROT_EXEC, e.g. the stack. The problem is fixed by restoring the mode that has been active before the switch to the access register mode. Signed-off-by: Martin Schwidefsky <schwidefsky@xxxxxxxxxx> commit 3a6ba4600d6fb913ddb0dd08843ad75405795883 Author: Heiko Carstens <heiko.carstens@xxxxxxxxxx> Date: Fri Jul 24 12:39:51 2009 +0200 [S390] vdso: fix per cpu area allocation vdso per cpu area allocation in smp_prepare_cpus() happens with GFP_KERNEL but irqs disabled. Triggers this one: Badness at kernel/lockdep.c:2280 Modules linked in: CPU: 0 Not tainted 2.6.30 #2 Process swapper (pid: 1, task: 000000003fe88000, ksp: 000000003fe87eb8) Krnl PSW : 0400c00180000000 0000000000083360 (lockdep_trace_alloc+0xec/0xf8) [...] Call Trace: ([<00000000000832b6>] lockdep_trace_alloc+0x42/0xf8) [<00000000000b1880>] __alloc_pages_internal+0x3e8/0x5c4 [<00000000000b1b4a>] __get_free_pages+0x3a/0xb0 [<0000000000026546>] vdso_alloc_per_cpu+0x6a/0x18c [<00000000005eff82>] smp_prepare_cpus+0x322/0x594 [<00000000005e8232>] kernel_init+0x76/0x398 [<000000000001bb1e>] kernel_thread_starter+0x6/0xc [<000000000001bb18>] kernel_thread_starter+0x0/0xc Fix this by moving the allocation out of the irqs disabled section. Reported-by: Christian Borntraeger <borntraeger@xxxxxxxxxx> Signed-off-by: Heiko Carstens <heiko.carstens@xxxxxxxxxx> Signed-off-by: Martin Schwidefsky <schwidefsky@xxxxxxxxxx> commit c63b196afcf22405527abe4c2c57926a5bbd6fc9 Author: Heiko Carstens <heiko.carstens@xxxxxxxxxx> Date: Fri Jul 24 12:39:50 2009 +0200 [S390] hibernation: fix register corruption on machine checks swsusp_arch_suspend() actually saves all cpu register contents on hibernation. Machine checks must be disabled since swsusp_arch_suspend() stores register contents to their lowcore save areas. That's the same place where register contents on machine checks would be saved. To avoid register corruption disable machine checks. We must also disable machine checks in the new psw mask for program checks, since swsusp_arch_suspend() may generate program checks. Signed-off-by: Heiko Carstens <heiko.carstens@xxxxxxxxxx> Signed-off-by: Martin Schwidefsky <schwidefsky@xxxxxxxxxx> commit 5f954c3426190f7ae432a09abd62164d5d14c709 Author: Heiko Carstens <heiko.carstens@xxxxxxxxxx> Date: Fri Jul 24 12:39:49 2009 +0200 [S390] hibernation: fix lowcore handling Our swsusp_arch_suspend() backend implementation disables prefixing by setting the contents of the prefix register to 0. However afterwards common code functions are called which might access percpu data structures. Since the lowcore contains e.g. the percpu base pointer this isn't a good idea. So fix this by copying the hibernating cpu's lowcore to absolute address zero. Signed-off-by: Heiko Carstens <heiko.carstens@xxxxxxxxxx> Signed-off-by: Martin Schwidefsky <schwidefsky@xxxxxxxxxx> commit d6c585a4342a2ff627a29f9aea77c5ed4cd76023 Author: Thomas Gleixner <tglx@xxxxxxxxxxxxx> Date: Fri Jul 24 08:34:59 2009 +0200 x86: geode: Mark mfgpt irq IRQF_TIMER to prevent resume failure Timer interrupts are excluded from being disabled during suspend. The clock events code manages the disabling of clock events on its own because the timer interrupt needs to be functional before the resume code reenables the device interrupts. The mfgpt timer request its interrupt without setting the IRQF_TIMER flag so suspend_device_irqs() disables it as well which results in a fatal resume failure. Adding IRQF_TIMER to the interupt flags when requesting the mrgpt timer interrupt solves the problem. Signed-off-by: Thomas Gleixner <tglx@xxxxxxxxxxxxx> LKML-Reference: <new-submission> Cc: Andres Salomon <dilinger@xxxxxxxxxx> Cc: stable@xxxxxxxxxx commit 5dea271b6d87bd1d79a59c1d5baac2596a841c37 Author: Mike Snitzer <snitzer@xxxxxxxxxx> Date: Thu Jul 23 20:30:42 2009 +0100 dm table: pass correct dev area size to device_area_is_valid Incorrect device area lengths are being passed to device_area_is_valid(). The regression appeared in 2.6.31-rc1 through commit 754c5fc7ebb417b23601a6222a6005cc2e7f2913. With the dm-stripe target, the size of the target (ti->len) was used instead of the stripe_width (ti->len/#stripes). An example of a consequent incorrect error message is: device-mapper: table: 254:0: sdb too small for target Signed-off-by: Mike Snitzer <snitzer@xxxxxxxxxx> Signed-off-by: Alasdair G Kergon <agk@xxxxxxxxxx> commit a732c207d19e899845ae47139708af898daaf9fd Author: Mike Snitzer <snitzer@xxxxxxxxxx> Date: Thu Jul 23 20:30:40 2009 +0100 dm: remove queue next_ordered workaround for barriers This patch removes DM's bio-based vs request-based conditional setting of next_ordered. For bio-based DM the next_ordered check is no longer a concern (as that check is now in the __make_request path). For request-based DM the default of QUEUE_ORDERED_NONE is now appropriate. bio-based DM was changed to work-around the previously misplaced next_ordered check with this commit: 99360b4c18f7675b50d283301d46d755affe75fd request-based DM does not yet support barriers but reacted to the above bio-based DM change with this commit: 5d67aa2366ccb8257d103d0b43df855605c3c086 The above changes are no longer needed given Neil Brown's recent fix to put the next_ordered check in the __make_request path: db64f680ba4b5c56c4be59f0698000df89ff0281 Signed-off-by: Mike Snitzer <snitzer@xxxxxxxxxx> Cc: Jun'ichi Nomura <j-nomura@xxxxxxxxxxxxx> Cc: NeilBrown <neilb@xxxxxxx> Acked-by: Kiyoshi Ueda <k-ueda@xxxxxxxxxxxxx> Acked-by: Mikulas Patocka <mpatocka@xxxxxxxxxx> Signed-off-by: Alasdair G Kergon <agk@xxxxxxxxxx> commit 69885683d22d8c05910fd808c01fdce1322739b4 Author: Mikulas Patocka <mpatocka@xxxxxxxxxx> Date: Thu Jul 23 20:30:37 2009 +0100 dm raid1: wake kmirrord when requeueing delayed bios after remote recovery The recent commit 7513c2a761d69d2a93f17146b3563527d3618ba0 (dm raid1: add is_remote_recovering hook for clusters) changed do_writes() to update the ms->writes list but forgot to wake up kmirrord to process it. The rule is that when anything is being added on ms->reads, ms->writes or ms->failures and the list was empty before we must call wakeup_mirrord (for immediate processing) or delayed_wake (for delayed processing). Otherwise the bios could sit on the list indefinitely. Signed-off-by: Mikulas Patocka <mpatocka@xxxxxxxxxx> CC: stable@xxxxxxxxxx Signed-off-by: Alasdair G Kergon <agk@xxxxxxxxxx> commit ffafa60d496f80c250f2ae0340ae94434c0b0b4d Author: Andy Gospodarek <andy@xxxxxxxxxxxxx> Date: Wed Jul 22 09:34:00 2009 +0000 ixgbe: remove unnecessary call to device_init_wakeup Calls to device_init_wakeup should not be necessary in drivers that use device_set_wakeup_enable since pci_pm_init will set the can_wakeup flag for the device when initialized. Signed-off-by: Andy Gospodarek <andy@xxxxxxxxxxxxx> Acked-by: Peter P Waskiewicz Jr <peter.p.waskiewicz.jr@xxxxxxxxx> Signed-off-by: David S. Miller <davem@xxxxxxxxxxxxx> commit 601278659d5717b4f7a14fbc9f2b9d559bba6aef Author: Lucy Liu <lucy.liu@xxxxxxxxx> Date: Wed Jul 22 14:07:33 2009 +0000 ixgbe: Don't priority tag control frames in DCB mode Certain types of control packets (LLDP, LACP, etc.) are not supposed to have a priority tag or vlan tag inserted. Ixgbe driver is currently priority tagging everything (if packet is not on a VLAN interface). This patch modifies DCB mode, so that packets marked with skb priority TC_PRIO_CONTROL are not priority tagged. It also transmits these packets on the highest priority traffic class. Programs (like dcbd) can set the skb priority using a socket option. Or, a tc filter can be configured to set the priority value. Using the value TC_PRIO_CONTROL (7) has the benefit that it is already defined in the kernel, and the bonding LACP code already sets the skb->priority field to this value. Signed-off-by: Lucy Liu <lucy.liu@xxxxxxxxx> Acked-by: Peter P Waskiewicz Jr <peter.p.waskiewicz.jr@xxxxxxxxx> Signed-off-by: Jeff Kirsher <jeffrey.t.kirsher@xxxxxxxxx> Signed-off-by: David S. Miller <davem@xxxxxxxxxxxxx> commit 0d5515894fd5b9e9402ef76e9a7e704fd26e0e5f Author: Yi Zou <yi.zou@xxxxxxxxx> Date: Wed Jul 22 14:07:12 2009 +0000 ixgbe: Enable FCoE offload when DCB is enabled for 82599 Currently, FCoE offload feature is turned on when the kernel config has CONFIG_FCOE or CONFIG_FCOE_MODULE set. However, we really want to turn FCoE offload on when there is FCoE traffic passing and turn it off when it's just LAN traffic. Since FCoE depends on a lossless network provided by DCB, this allows us to have FCoE turned on/off when user turns on DCB using dcbtool. Signed-off-by: Yi Zou <yi.zou@xxxxxxxxx> Acked-by: Peter P Waskiewicz Jr <peter.p.waskiewicz.jr@xxxxxxxxx> Signed-off-by: Jeff Kirsher <jeffrey.t.kirsher@xxxxxxxxx> Signed-off-by: David S. Miller <davem@xxxxxxxxxxxxx> commit 0584974a77796581eb3a64b6c5005edac4a95128 Author: Jan Kara <jack@xxxxxxx> Date: Wed Jul 22 13:17:21 2009 +0200 ocfs2: Define credit counts for quota operations Numbers of needed credits for some quota operations were written as raw numbers. Create appropriate defines instead. Signed-off-by: Jan Kara <jack@xxxxxxx> Signed-off-by: Joel Becker <joel.becker@xxxxxxxxxx> commit 4539f1df25bcd0fdf0d8a5e2c92de6bece83c7a0 Author: Jan Kara <jack@xxxxxxx> Date: Wed Jul 22 13:17:20 2009 +0200 ocfs2: Remove syncjiff field from quota info syncjiff is just a converted value of syncms. Some places which are updating syncms forgot to update syncjiff as well. Since the conversion is just a simple division / multiplication and it does not happen frequently, just remove the syncjiff field to avoid forgotten conversions. Signed-off-by: Jan Kara <jack@xxxxxxx> Signed-off-by: Joel Becker <joel.becker@xxxxxxxxxx> commit 1c1d9793ff6720531c0125a28d321f283716e32f Author: Jan Kara <jack@xxxxxxx> Date: Wed Jul 22 13:17:19 2009 +0200 ocfs2: Fix initialization of blockcheck stats We just set blockcheck stats to zeros but we should also properly initialize the spinlock there. Signed-off-by: Jan Kara <jack@xxxxxxx> Signed-off-by: Joel Becker <joel.becker@xxxxxxxxxx> commit 7669f54c55df225cbb2db939a6c9f111445ffc1c Author: Jan Kara <jack@xxxxxxx> Date: Wed Jul 22 13:17:18 2009 +0200 ocfs2: Zero out padding of on disk dquot structure Padding fields of on-disk dquot structure were not zeroed. Zero them so that it's easier to use them later. Signed-off-by: Jan Kara <jack@xxxxxxx> Signed-off-by: Joel Becker <joel.becker@xxxxxxxxxx> commit 0e7f387bf386c99e8ee322649fe4fc23b9cccc6c Author: Jan Kara <jack@xxxxxxx> Date: Wed Jul 22 13:17:17 2009 +0200 ocfs2: Initialize blocks allocated to local quota file When we extend local quota file, we should initialize data in newly allocated block. Firstly because on recovery we could parse bogus data, secondly so that block checksums are properly computed. Signed-off-by: Jan Kara <jack@xxxxxxx> Signed-off-by: Joel Becker <joel.becker@xxxxxxxxxx> commit 4b3fa1904c0d192461ebba692e4940a334b74353 Author: Jan Kara <jack@xxxxxxx> Date: Wed Jul 22 13:17:16 2009 +0200 ocfs2: Mark buffer uptodate before calling ocfs2_journal_access_dq() In a code path extending local quota files we marked new header buffer uptodate only after calling ocfs2_journal_access_dq() which triggers a bug. Fix it and also call ocfs2 variant of the function marking buffer uptodate. Signed-off-by: Jan Kara <jack@xxxxxxx> Signed-off-by: Joel Becker <joel.becker@xxxxxxxxxx> commit b57ac2c43e66cb4aa76c9d2d0e9e0e04f19cc5a6 Author: Jan Kara <jack@xxxxxxx> Date: Wed Jul 22 13:17:15 2009 +0200 ocfs2: Make global quota files blocksize aligned Change i_size of global quota files so that it always remains aligned to block size. This is mainly because the end of quota block may contain checksum (if checksumming is enabled) and it's a bit awkward for it to be "outside" of quota file (and it makes life harder for ocfs2-tools). Signed-off-by: Jan Kara <jack@xxxxxxx> Signed-off-by: Joel Becker <joel.becker@xxxxxxxxxx> commit 82e12644cf5227dab15201fbcaf0ca6330ebd70f Author: Tao Ma <tao.ma@xxxxxxxxxx> Date: Thu Jul 23 08:12:58 2009 +0800 ocfs2: Use ocfs2_rec_clusters in ocfs2_adjust_adjacent_records. In ocfs2_adjust_adjacent_records, we will adjust adjacent records according to the extent_list in the lower level. But actually the lower level tree will either be a leaf or a branch. If we only use ocfs2_is_empty_extent we will meet with some problem if the lower tree is a branch (tree_depth > 1). So use !ocfs2_rec_clusters instead. And actually only the leaf record can have holes. So add a BUG_ON for non-leaf branch. Signed-off-by: Tao Ma <tao.ma@xxxxxxxxxx> Signed-off-by: Joel Becker <joel.becker@xxxxxxxxxx> commit dacac4da5290ee3f3f413bd6980af2befb813e28 Author: Mark Ware <mware@xxxxxxxxxxxxxxx> Date: Thu Jul 23 10:56:48 2009 -0700 net: Rework mdio-ofgpio driver to use of_mdio infrastructure Changes to the fs_enet driver aa73832c5a80d6c52c69b18af858d88fa595dd3c ("net: Rework fs_enet driver to use of_mdio infrastructure") cause kernel crashes when using the mdio-ofgpio driver. This patch replicates similar changes made to the fs_enet mii-bitbang drivers. It has been tested on a custom mpc8280 based board using an NFS mounted root. Signed-off-by: Mark Ware <mware@xxxxxxxxxxxxxxx> Acked-by: Grant Likely <grant.likely@xxxxxxxxxxxx> Signed-off-by: David S. Miller <davem@xxxxxxxxxxxxx> commit bd171d5ffc5cb2ba471e8205c679ee9d12b90116 Author: Matt Fleming <matt@xxxxxxxxxxxxxxxxx> Date: Thu Jul 23 17:16:15 2009 +0100 ftrace: Only update $offset when we update $ref_func The value of $offset should be the offset of $ref_func from the beginning of the object file. Therefore, we should set both variables together. This fixes a bug I was hitting on sh where $offset (which is used to calcualte the addends for the __mcount_loc entries) was being set multiple times and didn't correspond to $ref_func's offset in the object file. The addends in __mcount_loc were calculated incorrectly, resulting in ftrace dynamically modifying addresses that weren't mcount call sites. Signed-off-by: Matt Fleming <matt@xxxxxxxxxxxxxxxxx> LKML-Reference: <1248365775-25196-2-git-send-email-matt@xxxxxxxxxxxxxxxxx> Signed-off-by: Steven Rostedt <rostedt@xxxxxxxxxxx> commit fc4c73554c9d93b3e495f2f7acae1323b0d5db84 Author: Matt Fleming <matt@xxxxxxxxxxxxxxxxx> Date: Thu Jul 23 17:16:14 2009 +0100 ftrace: Fix the conditional that updates $ref_func Fix the conditional that checks if we already have a $ref_func and that the new function is weak. The code as previously checking whether either condition was false, and we really need to only update $ref_func is both cconditions are false. Signed-off-by: Matt Fleming <matt@xxxxxxxxxxxxxxxxx> LKML-Reference: <1248365775-25196-1-git-send-email-matt@xxxxxxxxxxxxxxxxx> Signed-off-by: Steven Rostedt <rostedt@xxxxxxxxxxx> commit 4a19fb11a90fdbbcb3bc02effa036230d035ca28 Author: Stefan Bader <stefan.bader@xxxxxxxxxxxxx> Date: Thu Jul 23 11:26:05 2009 +0200 jfs: Fix early release of acl in jfs_get_acl BugLink: http://bugs.launchpad.net/ubuntu/+bug/396780 Commit 073aaa1b142461d91f83da66db1184d7c1b1edea "helpers for acl caching + switch to those" introduced new helper functions for acl handling but seems to have introduced a regression for jfs as the acl is released before returning it to the caller, instead of leaving this for the caller to do. This causes the acl object to be used after freeing it, leading to kernel panics in completely different places. Thanks to Christophe Dumez for reporting and bisecting into this. Reported-by: Christophe Dumez <dchris@xxxxxxxxx> Tested-by: Christophe Dumez <dchris@xxxxxxxxx> Signed-off-by: Stefan Bader <stefan.bader@xxxxxxxxxxxxx> Acked-by: Andy Whitcroft <apw@xxxxxxxxxxxxx> Signed-off-by: Dave Kleikamp <shaggy@xxxxxxxxxxxxxxxxxx> commit b30c4947735f9d76da3d194923efd38ed18ad651 Author: Daniel Mack <daniel@xxxxxxxx> Date: Wed Jul 22 14:13:35 2009 +0200 ALSA: snd_usb_caiaq: add support for Audio2DJ This adds support for Native Instrument's freshly announced Audio2DJ sound device hardware. Version number bumped to 1.3.19. Signed-off-by: Daniel Mack <daniel@xxxxxxxx> Signed-off-by: Takashi Iwai <tiwai@xxxxxxx> commit 947ca210f1df7656e19890832cb71fc3bdd88707 Author: Takashi Iwai <tiwai@xxxxxxx> Date: Thu Jul 23 16:21:08 2009 +0200 ALSA: pcm - Fix hwptr buffer-size overlap bug The fix 79452f0a28aa5a40522c487b42a5fc423647ad98 introduced another bug due to the missing offset for the overlapped hwptr. When the hwptr goes back to zero, the delta value has to be corrected with the buffer size. Otherwise this causes looping sounds. Signed-off-by: Takashi Iwai <tiwai@xxxxxxx> commit 8650ae32ef7045e763825dee6256dde7f331bb85 Author: Steven Rostedt <srostedt@xxxxxxxxxx> Date: Wed Jul 22 23:29:30 2009 -0400 tracing: only truncate ftrace files when O_TRUNC is set The current code will truncate the ftrace files contents if O_APPEND is not set and the file is opened in write mode. This is incorrect. It should only truncate the file if O_TRUNC is set. Otherwise if one of these files is opened by a C program with fopen "r+", it will incorrectly truncate the file. Reported-by: Jiri Olsa <jolsa@xxxxxxxxxx> Signed-off-by: Steven Rostedt <rostedt@xxxxxxxxxxx> commit 4c739ff043e5787d97c9691d62cabf7a29e75a9d Author: Steven Rostedt <srostedt@xxxxxxxxxx> Date: Wed Jul 22 23:11:03 2009 -0400 tracing: show proper address for trace-printk format Since the trace_printk may use pointers to the format fields in the buffer, they are exported via debugfs/tracing/printk_formats. This is used by utilities that read the ring buffer in binary format. It helps the utilities map the address of the format in the binary buffer to what the printf format looks like. Unfortunately, the way the output code works, it exports the address of the pointer to the format address, and not the format address itself. This makes the file totally useless in trying to figure out what format string a binary address belongs to. Signed-off-by: Steven Rostedt <rostedt@xxxxxxxxxxx> commit 636eacee3b0c76915151db37203cc624becb6d7b Author: Li Zefan <lizf@xxxxxxxxxxxxxx> Date: Thu Jul 23 11:29:47 2009 +0800 tracing/stat: Fix seqfile memory leak Every time we cat a trace_stat file, we leak memory allocated by seq_open(). Also fix memory leak in a failure path in tracing_stat_open(). Signed-off-by: Li Zefan <lizf@xxxxxxxxxxxxxx> LKML-Reference: <4A67D92B.4060704@xxxxxxxxxxxxxx> Signed-off-by: Steven Rostedt <rostedt@xxxxxxxxxxx> commit 87827111a5538633b18e5c641ced673c4c2bb6ce Author: Li Zefan <lizf@xxxxxxxxxxxxxx> Date: Thu Jul 23 11:29:11 2009 +0800 function-graph: Fix seqfile memory leak Every time we cat set_graph_function, we leak memory allocated by seq_open(). Signed-off-by: Li Zefan <lizf@xxxxxxxxxxxxxx> LKML-Reference: <4A67D907.2010500@xxxxxxxxxxxxxx> Signed-off-by: Steven Rostedt <rostedt@xxxxxxxxxxx> commit d8cc1ab793993c886c62abf77c93287df33ffd8b Author: Li Zefan <lizf@xxxxxxxxxxxxxx> Date: Thu Jul 23 11:28:40 2009 +0800 trace_stack: Fix seqfile memory leak Every time we cat stack_trace, we leak memory allocated by seq_open(). Signed-off-by: Li Zefan <lizf@xxxxxxxxxxxxxx> LKML-Reference: <4A67D8E8.3020500@xxxxxxxxxxxxxx> Signed-off-by: Steven Rostedt <rostedt@xxxxxxxxxxx> commit 89350640439e0160056de26995d52deb18202b3e Author: Takashi Iwai <tiwai@xxxxxxx> Date: Thu Jul 23 14:28:37 2009 +0200 ALSA: pcm - Fix warnings in debug loggings Add proper cast. Signed-off-by: Takashi Iwai <tiwai@xxxxxxx> commit 3174c88af4b6b2e81cacfaa2bb90cc7abe36f1cc Author: Hartley Sweeten <hartleys@xxxxxxxxxxxxxxxxxxx> Date: Mon Jul 20 18:12:23 2009 +0100 [ARM] 5611/1: ep93xx: update ts72xx nor flash support Update the NOR flash support for TS-7200. The TS-7200 models all have 16-bit NOR flash. Update the platform init to support this. Remove the private TS72XX_NOR_* defines and use the common ep93xx defines for the external chip select physical base address instead. Move the NOR flash registration into a static __init function. When the NAND flash support is updated this function will also be used to register the NAND flash for the TS-7250 and TS-7260. Tested-by: Matthieu Crapet <mcrapet@xxxxxxxxx> Signed-off-by: H Hartley Sweeten <hsweeten@xxxxxxxxxxxxxxxxxxx> Signed-off-by: Russell King <rmk+kernel@xxxxxxxxxxxxxxxx> commit cedb8118e8cef21a2b73fd9cb70660ac19124c16 Author: Takashi Iwai <tiwai@xxxxxxx> Date: Thu Jul 23 11:04:13 2009 +0200 ALSA: pcm - Add logging of hwptr updates and interrupt updates Added the logging functionality to xrun_debug to record the hwptr updates via snd_pcm_update_hw_ptr() and snd_pcm_update_hwptr_interrupt(), corresponding to 16 and 8, respectively. For example, # echo 9 > /proc/asound/card0/pcm0p/xrun_debug will record the position and other parameters at each period interrupt together with the normal XRUN debugging. Signed-off-by: Takashi Iwai <tiwai@xxxxxxx> commit 06c71282a90470184a78f7f0ab0f7ce0fc1f69c8 Author: Chaithrika U S <chaithrika@xxxxxx> Date: Wed Jul 22 07:45:04 2009 -0400 ASoC: tlv320aic3x: Enable PLL when not bypassed PLL was not being enabled when it was not bypassed. This patch enables the PLL when it is used. Additionally, it disables the PLL when it is bypassed. Without this patch, the audio on TI DM646x EVM and DM355 EVM does not work properly. The bit clocks and the frame sync signals from the codec are not correct and hence the playback/record are faster than usual for most sample rates. The reason for this was that the PLL was not enabled when it was not bypassed. Tested on DM6467 EVM, playback tested on DM355 EVM. Signed-off-by: Chaithrika U S <chaithrika@xxxxxx> Signed-off-by: Mark Brown <broonie@xxxxxxxxxxxxxxxxxxxxxxxxxxx> commit 808347f6a31792079e345ec865e9cfcb6e8ae6b2 Author: Nicolas Ferre <nicolas.ferre@xxxxxxxxx> Date: Wed Jul 22 20:04:45 2009 +0200 dmaengine: at_hdmac: add DMA slave transfers This patch for at_hdmac adds the slave transfers capability to the Atmel DMA controller available on some AT91 SOCs. This allow peripheral to memory and memory to peripheral transfers with hardware handshaking. Slave structure for controller specific information is passed through channel private data. This at_dma_slave structure is defined in at_hdmac.h header file and relative hardware definition are moved to this file from at_hdmac_regs.h. Doing this we allow the channel configuration from platform definition code. This work is intensively based on dw_dmac and several slave implementations. Signed-off-by: Nicolas Ferre <nicolas.ferre@xxxxxxxxx> Signed-off-by: Dan Williams <dan.j.williams@xxxxxxxxx> commit dc78baa2b90b289590911b40b6800f77d0dc935a Author: Nicolas Ferre <nicolas.ferre@xxxxxxxxx> Date: Fri Jul 3 19:24:33 2009 +0200 dmaengine: at_hdmac: new driver for the Atmel AHB DMA Controller This AHB DMA Controller (aka HDMA or DMAC on AT91 systems) is availlable on at91sam9rl chip. It will be used on other products in the future. This first release covers only the memory-to-memory tranfer type. This is the only tranfer type supported by this chip. On other products, it will be used also for peripheral DMA transfer (slave API support to come). I used dmatest client without problem in different configurations to test it. Full documentation for this controller can be found in the SAM9RL datasheet: http://www.atmel.com/dyn/products/product_card.asp?part_id=4243 Signed-off-by: Nicolas Ferre <nicolas.ferre@xxxxxxxxx> Acked-by: Maciej Sosnowski <maciej.sosnowski@xxxxxxxxx> Signed-off-by: Dan Williams <dan.j.williams@xxxxxxxxx> commit f1aef8b6e6abf32a3a269542f95a19e2cb319f6c Author: Nicolas Ferre <nicolas.ferre@xxxxxxxxx> Date: Mon Jul 6 18:19:44 2009 +0200 dmaengine: dmatest: correct thread_count while using multiple thread per channel It seems that thread_count is not properly calculated in dmatest. In fact the thread count number that is returned from dmatest_add_threads() is not correctly added to the thread_count and thus not properly printed. Signed-off-by: Nicolas Ferre <nicolas.ferre@xxxxxxxxx> Acked-by: Haavard Skinnemoen <haavard.skinnemoen@xxxxxxxxx> Acked-by: Maciej Sosnowski <maciej.sosnowski@xxxxxxxxx> Signed-off-by: Andrew Morton <akpm@xxxxxxxxxxxxxxxxxxxx> Signed-off-by: Dan Williams <dan.j.williams@xxxxxxxxx> commit 0a2ff57d6fba92842272889b4bca447344cd9d36 Author: Nicolas Ferre <nicolas.ferre@xxxxxxxxx> Date: Fri Jul 3 19:26:51 2009 +0200 dmaengine: dmatest: add a maximum number of test iterations The dmatest usually waits for the killing of its kthreads to stop running tests. This patch adds a parameter that sets a maximum number of test iterations. This feature is quite interesting for debugging when you set a lot of traces in your dmaengine controller driver. Signed-off-by: Nicolas Ferre <nicolas.ferre@xxxxxxxxx> Cc: Haavard Skinnemoen <haavard.skinnemoen@xxxxxxxxx> Acked-by: Maciej Sosnowski <maciej.sosnowski@xxxxxxxxx> Signed-off-by: Andrew Morton <akpm@xxxxxxxxxxxxxxxxxxxx> Signed-off-by: Dan Williams <dan.j.williams@xxxxxxxxx> commit c019894efc9c9ba5939948caa78c133b1ec8ae63 Author: Joe Perches <joe@xxxxxxxxxxx> Date: Sun Jun 28 09:26:21 2009 -0700 drivers/dma: Remove unnecessary semicolons Signed-off-by: Joe Perches <joe@xxxxxxxxxxx> Signed-off-by: Dan Williams <dan.j.williams@xxxxxxxxx> commit e3d433040ee6077e33d4ad22e2f60a38b085786d Author: Joe Perches <joe@xxxxxxxxxxx> Date: Sun Jun 28 09:26:20 2009 -0700 drivers/dma/fsldma.c: Remove unnecessary semicolons Signed-off-by: Joe Perches <joe@xxxxxxxxxxx> Signed-off-by: Dan Williams <dan.j.williams@xxxxxxxxx> commit 1d3e216f1d303878d7204de94dee251bc2702175 Author: Mike Rapoport <mike@xxxxxxxxxxxxxx> Date: Tue Jul 21 17:09:52 2009 +0300 [ARM] pxa/em-x270: fix compile failure when CONFIG_APM_EMULATION=n If CONFIG_APM_EMULATION=n em-x270 build fails with linker error: arch/arm/mach-pxa/built-in.o: In function `em_x270_battery_critical': em-x270.c:(.text+0x12c0): undefined reference to `apm_queue_event' arch/arm/mach-pxa/built-in.o: In function `em_x270_battery_low': em-x270.c:(.text+0x12c8): undefined reference to `apm_queue_event' make: *** [.tmp_vmlinux1] Error 1 Fix it. Signed-off-by: Mike Rapoport <mike@xxxxxxxxxxxxxx> Signed-off-by: Eric Miao <eric.y.miao@xxxxxxxxx> commit 4be3bd7849165e7efa6b0b35a23d6a3598d97465 Author: Linus Torvalds <torvalds@xxxxxxxxxxxxxxxxxxxx> Date: Wed Jul 22 19:32:59 2009 -0700 Linux 2.6.31-rc4 commit 2ded9e2747d0a390d281bb5b16ff7f640ec85f78 Author: ling.ma@xxxxxxxxx <ling.ma@xxxxxxxxx> Date: Thu Jul 16 17:23:09 2009 +0800 drm/i915: hdmi detection according by reading edid According to investigations from windows team ,hw team, and our test results on all 4x platofrms available (gm45, g45b, q45, g45a, g45c, g41a, and g41), we find currently Hot plug live status and Hot plug interrupt detection are not reliable, sometime the results from the two approaches are contradicts. So we chose edid detection for hdmi output. Signed-off-by: Ma Ling <ling.ma@xxxxxxxxx> Reviewed-by: Ian Romanick <ian.d.romanick@xxxxxxxxx> Signed-off-by: Eric Anholt <eric@xxxxxxxxxx> commit b600ffaebcc4791add19e04306f0478a963abe71 Merge: 81cbf6d0555d77b2a4235c03f24167e2d792ccf5 61f3826133dc07142935fb5712fc738e19eb5575 Author: Linus Torvalds <torvalds@xxxxxxxxxxxxxxxxxxxx> Date: Wed Jul 22 16:44:33 2009 -0700 Merge branch 'irq-fixes-for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/tip/linux-2.6-tip * 'irq-fixes-for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/tip/linux-2.6-tip: genirq: Fix UP compile failure caused by irq_thread_check_affinity commit 81cbf6d0555d77b2a4235c03f24167e2d792ccf5 Merge: 3c3301083e3bea4d14c597106c7b20b4b85fc03d 023d43c7b5a23a81fe8afa9f37296f8ed4be11fb Author: Linus Torvalds <torvalds@xxxxxxxxxxxxxxxxxxxx> Date: Wed Jul 22 16:44:18 2009 -0700 Merge branch 'lockdep-for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/peterz/linux-2.6-lockdep * 'lockdep-for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/peterz/linux-2.6-lockdep: lockdep: Fix lockdep annotation for pipe_double_lock() commit f1230c97978f52268d8c66e6f88e54c3d2092a75 Author: Steve French <sfrench@xxxxxxxxxx> Date: Wed Jul 22 23:13:01 2009 +0000 [CIFS] fix sparse warning Signed-off-by: Steve French <sfrench@xxxxxxxxxx> commit 61f3826133dc07142935fb5712fc738e19eb5575 Author: Bruno Premont <bonbons@xxxxxxxxxxxxxxxxx> Date: Wed Jul 22 22:22:32 2009 +0200 genirq: Fix UP compile failure caused by irq_thread_check_affinity Since genirq: Delegate irq affinity setting to the irq thread (591d2fb02ea80472d846c0b8507007806bdd69cc) compilation with CONFIG_SMP=n fails with following error: /usr/src/linux-2.6/kernel/irq/manage.c: In function 'irq_thread_check_affinity': /usr/src/linux-2.6/kernel/irq/manage.c:475: error: 'struct irq_desc' has no member named 'affinity' make[4]: *** [kernel/irq/manage.o] Error 1 That commit adds a new function irq_thread_check_affinity() which uses struct irq_desc.affinity which is only available for CONFIG_SMP=y. Move that function under #ifdef CONFIG_SMP. [ tglx@brownpaperbag: compile and boot tested on UP and SMP ] Signed-off-by: Bruno Premont <bonbons@xxxxxxxxxxxxxxxxx> LKML-Reference: <20090722222232.2eb3e1c4@xxxxxxxxxxxx> Signed-off-by: Thomas Gleixner <tglx@xxxxxxxxxxxxx> commit 03aa3a49ad3592a9e4e1ab19c6da3e852288caf1 Author: Jeff Layton <jlayton@xxxxxxxxxx> Date: Tue Jul 21 19:42:03 2009 -0400 cifs: fix sb->s_maxbytes so that it casts properly to a signed value This off-by-one bug causes sendfile() to not work properly. When a task calls sendfile() on a file on a CIFS filesystem, the syscall returns -1 and sets errno to EOVERFLOW. do_sendfile uses s_maxbytes to verify the returned offset of the file. The problem there is that this value is cast to a signed value (loff_t). When this is done on the s_maxbytes value that cifs uses, it becomes negative and the comparisons against it fail. Even though s_maxbytes is an unsigned value, it seems that it's not OK to set it in such a way that it'll end up negative when it's cast to a signed value. These casts happen in other codepaths besides sendfile too, but the VFS is a little hard to follow in this area and I can't be sure if there are other bugs that this will fix. It's not clear to me why s_maxbytes isn't just declared as loff_t in the first place, but either way we still need to fix these values to make sendfile work properly. This is also an opportunity to replace the magic bit-shift values here with the standard #defines for this. This fixes the reproducer program I have that does a sendfile and will probably also fix the situation where apache is serving from a CIFS share. Acked-by: Johannes Weiner <hannes@xxxxxxxxxxx> Signed-off-by: Jeff Layton <jlayton@xxxxxxxxxx> Signed-off-by: Steve French <sfrench@xxxxxxxxxx> commit ce6e7fcd43aab1f77e56aa36936dd7d2d05a1ffa Author: Jeff Layton <jlayton@xxxxxxxxxx> Date: Wed Jul 22 15:08:58 2009 -0400 cifs: disable serverino if server doesn't support it A recent regression when dealing with older servers. This bug was introduced when we made serverino the default... When the server can't provide inode numbers, disable it for the mount. Signed-off-by: Jeff Layton <jlayton@xxxxxxxxxx> Signed-off-by: Steve French <sfrench@xxxxxxxxxx> commit 83121942b28daffc9526b14b7843d8cdbd3db641 Author: David Woodhouse <dwmw2@xxxxxxxxxxxxx> Date: Wed Jul 22 16:52:13 2009 -0400 Btrfs: Fix crash on read failures at mount If the tree roots hit read errors during mount, btrfs is not properly erroring out. We need to check the uptodate bits after reading in the tree root node. Signed-off-by: David Woodhouse <David.Woodhouse@xxxxxxxxx> Signed-off-by: Chris Mason <chris.mason@xxxxxxxxxx> commit c271b492419a18908ba19ee02b231fb305a27023 Author: Daniel Cadete <danielcadete10@xxxxxxxxx> Date: Wed Jul 22 16:52:13 2009 -0400 Btrfs: remove of redundant btrfs_header_level This removes the continues call's of btrfs_header_level. One call of btrfs_header_level(c) its enough. Signed-off-by Daniel Cadete <danielncadete10@xxxxxxxxx> Signed-off-by: Chris Mason <chris.mason@xxxxxxxxxx> commit 33c17ad5717c887568c1de61f15e5d58ed66d189 Author: Julia Lawall <julia@xxxxxxx> Date: Wed Jul 22 16:49:01 2009 -0400 Btrfs: adjust NULL test Move the call to BUG_ON to before the dereference of the tested value. Signed-off-by: Julia Lawall <julia@xxxxxxx> Signed-off-by: Chris Mason <chris.mason@xxxxxxxxxx> commit 3acada49c2794c5aac21849e2ea05790c6dd2faa Author: David Woodhouse <dwmw2@xxxxxxxxxxxxx> Date: Wed Jul 22 16:49:01 2009 -0400 Btrfs: Remove broken sanity check from btrfs_rmap_block() It was never actually doing anything anyway (see the loop condition), and it would be difficult to make it work for RAID[56]. Even if it was actually working, it's checking for the wrong thing anyway. Instead of checking whether we list a block which _doesn't_ land at the relevant physical location, it should be checking that we _have_ listed all the logical blocks which refer to the required physical location on all devices. This function is only called from remove_sb_from_cache() to ensure that we reserve the logical blocks which would reside at the same physical location as the superblock copies. So listing more blocks than we need is actually OK. With RAID[56] we're going to throw away an entire stripe for each block we have to ignore, so we _are_ going to list blocks other than the ones which actually contain the superblock. Signed-off-by: David Woodhouse <David.Woodhouse@xxxxxxxxx> Signed-off-by: Chris Mason <chris.mason@xxxxxxxxxx> commit 29c5e8ce01f9dad7e24b99c21e4f836d6b0289e0 Author: Julia Lawall <julia@xxxxxxx> Date: Wed Jul 22 16:49:00 2009 -0400 Btrfs: convert nested spin_lock_irqsave to spin_lock If spin_lock_irqsave is called twice in a row with the same second argument, the interrupt state at the point of the second call overwrites the value saved by the first call. Indeed, the second call does not need to save the interrupt state, so it is changed to a simple spin_lock. Signed-off-by: Julia Lawall <julia@xxxxxxx> Signed-off-by: Chris Mason <chris.mason@xxxxxxxxxx> commit 023d43c7b5a23a81fe8afa9f37296f8ed4be11fb Author: Peter Zijlstra <peterz@xxxxxxxxxxxxx> Date: Tue Jul 21 10:09:23 2009 +0200 lockdep: Fix lockdep annotation for pipe_double_lock() The presumed use of the pipe_double_lock() routine is to lock 2 locks in a deadlock free way by ordering the locks by their address. However it fails to keep the specified lock classes in order and explicitly annotates a deadlock. Rectify this. Signed-off-by: Peter Zijlstra <a.p.zijlstra@xxxxxxxxx> Acked-by: Miklos Szeredi <mszeredi@xxxxxxx> LKML-Reference: <1248163763.15751.11098.camel@twins> commit 3c3301083e3bea4d14c597106c7b20b4b85fc03d Merge: 612e900c286a9535cc17da5171b0d8dcf8f3a12f 0fdc7e67dd312986e30b861adff48732bd33eb3f Author: Linus Torvalds <torvalds@xxxxxxxxxxxxxxxxxxxx> Date: Wed Jul 22 11:41:56 2009 -0700 Merge branch 'perf-counters-for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/peterz/linux-2.6-perf * 'perf-counters-for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/peterz/linux-2.6-perf: (31 commits) perf_counter tools: Give perf top inherit option perf_counter tools: Fix vmlinux symbol generation breakage perf_counter: Detect debugfs location perf_counter: Add tracepoint support to perf list, perf stat perf symbol: C++ demangling perf: avoid structure size confusion by using a fixed size perf_counter: Fix throttle/unthrottle event logging perf_counter: Improve perf stat and perf record option parsing perf_counter: PERF_SAMPLE_ID and inherited counters perf_counter: Plug more stack leaks perf: Fix stack data leak perf_counter: Remove unused variables perf_counter: Make call graph option consistent perf_counter: Add perf record option to log addresses perf_counter: Log vfork as a fork event perf_counter: Synthesize VDSO mmap event perf_counter: Make sure we dont leak kernel memory to userspace perf_counter tools: Fix index boundary check perf_counter: Fix the tracepoint channel to perfcounters perf_counter, x86: Extend perf_counter Pentium M support ... commit 78a9c9c97455d0f8d2d2098b2252eb4bf65be799 Author: Uwe Kleine-König <u.kleine-koenig@xxxxxxxxxxxxxx> Date: Tue Jul 21 10:11:39 2009 +0000 register at91_ether using platform_driver_probe at91ether_probe lives in .init.text, so using platform_driver_register to register it is wrong because binding a device after the init memory is discarded (e.g. via sysfs) results in an oops. As requested by David Brownell platform_driver_probe is used instead of moving the probe function to .devinit.text as proposed initially. This saves some memory, but devices registered after the driver is probed are not bound (probably there are none) and binding via sysfs isn't possible. Signed-off-by: Uwe Kleine-König <u.kleine-koenig@xxxxxxxxxxxxxx> Acked-by: David Brownell <dbrownell@xxxxxxxxxxxxxxxxxxxxx> Acked-by: Andrew Victor <linux@xxxxxxxxxxxx> Signed-off-by: David S. Miller <davem@xxxxxxxxxxxxx> commit 7b55a4a3f761db7daba1ac526ef60f64f5c53689 Author: Rafael J. Wysocki <rjw@xxxxxxx> Date: Wed Jul 22 02:58:55 2009 +0000 skge: Enable WoL by default if supported If skge hardware is capable of waking up the system from sleep, enable magic packet WoL during driver initialisation. This makes WoL work without calling 'ethtool -s ethX wol g' for each adapter. Signed-off-by: Rafael J. Wysocki <rjw@xxxxxxx> Tested-by: Michael Guntsche <mike@xxxxxxxxxxxx> Acked-by: Stephen Hemminger <shemminger@xxxxxxxxxx> Signed-off-by: David S. Miller <davem@xxxxxxxxxxxxx> commit d14a7679ae9b7d4eb4b92e81f5039b719fd98c4d Merge: de72e5de062e48a992d6cafe2291a82fe498d641 154839962a582b8eb661cde94ef3af0e03b374d7 Author: David S. Miller <davem@xxxxxxxxxxxxx> Date: Wed Jul 22 11:18:40 2009 -0700 Merge branch 'master' of git://git.kernel.org/pub/scm/linux/kernel/git/linville/wireless-2.6 commit 612e900c286a9535cc17da5171b0d8dcf8f3a12f Merge: c57c3743784e08d8ceaaea928a8c84ad8b403aed 9ba5f005c994ad28e266a0cd14ef29354be382c9 Author: Linus Torvalds <torvalds@xxxxxxxxxxxxxxxxxxxx> Date: Wed Jul 22 10:12:18 2009 -0700 Merge branch 'core-fixes-for-linus-2' of git://git.kernel.org/pub/scm/linux/kernel/git/tip/linux-2.6-tip * 'core-fixes-for-linus-2' of git://git.kernel.org/pub/scm/linux/kernel/git/tip/linux-2.6-tip: softirq: introduce tasklet_hrtimer infrastructure commit c57c3743784e08d8ceaaea928a8c84ad8b403aed Merge: 5b26776bd9253931097a85dcb1b9da1bac554c02 79ef2bb01445400def20c7993b27fbcad27ca95f Author: Linus Torvalds <torvalds@xxxxxxxxxxxxxxxxxxxx> Date: Wed Jul 22 10:11:47 2009 -0700 Merge branch 'timers-fixes-for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/tip/linux-2.6-tip * 'timers-fixes-for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/tip/linux-2.6-tip: clocksource: Prevent NULL pointer dereference timer: Avoid reading uninitialized data commit 5b26776bd9253931097a85dcb1b9da1bac554c02 Merge: 356d1b52eb2445d94c6781f15346f00f4a675fda 591d2fb02ea80472d846c0b8507007806bdd69cc Author: Linus Torvalds <torvalds@xxxxxxxxxxxxxxxxxxxx> Date: Wed Jul 22 10:11:24 2009 -0700 Merge branch 'irq-fixes-for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/tip/linux-2.6-tip * 'irq-fixes-for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/tip/linux-2.6-tip: genirq: Delegate irq affinity setting to the irq thread commit 356d1b52eb2445d94c6781f15346f00f4a675fda Merge: bb184d11ffd015e67e5334e5a88bec2e00be5c20 6301cb95c119ebf324bb96ee226fa9ddffad80a7 Author: Linus Torvalds <torvalds@xxxxxxxxxxxxxxxxxxxx> Date: Wed Jul 22 10:10:36 2009 -0700 Merge branch 'sched-fixes-for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/tip/linux-2.6-tip * 'sched-fixes-for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/tip/linux-2.6-tip: sched: fix nr_uninterruptible accounting of frozen tasks really sched: fix load average accounting vs. cpu hotplug sched: Account for vruntime wrapping commit 2cb078603abb612e3bcd428fb8122c3d39e08832 Author: Jeremy Fitzhardinge <jeremy@xxxxxxxx> Date: Wed Jul 22 09:59:35 2009 -0700 x86, amd: Don't probe for extended APIC ID if APICs are disabled If we've logically disabled apics, don't probe the PCI space for the AMD extended APIC ID. [ Impact: prevent boot crash under Xen. ] Signed-off-by: Jeremy Fitzhardinge <jeremy.fitzhardinge@xxxxxxxxxx> Reported-by: Bastian Blank <bastian@xxxxxxxxxxxx> Signed-off-by: H. Peter Anvin <hpa@xxxxxxxxx> commit bb184d11ffd015e67e5334e5a88bec2e00be5c20 Merge: 1f9758d4e7b3d5db638c728b54de2faa2a01f292 4fbfff76079a5c0e1751b0ddf53160d33f7831e7 Author: Linus Torvalds <torvalds@xxxxxxxxxxxxxxxxxxxx> Date: Wed Jul 22 10:06:33 2009 -0700 Merge branch 'tj-block-for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/tj/misc * 'tj-block-for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/tj/misc: virtio_blk: mark virtio_blk with __refdata to kill spurious section mismatch block: sysfs fix mismatched queue_var_{store,show} in 64bit kernel ataflop: adjust NULL test block: fix failfast merge testing in elv_rq_merge_ok() z2ram: Small cleanup for z2ram.c commit 1f9758d4e7b3d5db638c728b54de2faa2a01f292 Merge: 49ed657356121c2a8fa1f5c2ab38496b95f6fe6a 4fed598a49c014cbc563179b25f2a4b8565e2a50 Author: Linus Torvalds <torvalds@xxxxxxxxxxxxxxxxxxxx> Date: Wed Jul 22 10:05:00 2009 -0700 Merge branch 'for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/ryusuke/nilfs2 * 'for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/ryusuke/nilfs2: fs/Kconfig: move nilfs2 out commit 49ed657356121c2a8fa1f5c2ab38496b95f6fe6a Merge: 402168cee1a0b791c54c54a68ae21bb26880f40b 2fc2111c2729462b99b6e37f39a48917054776f5 Author: Linus Torvalds <torvalds@xxxxxxxxxxxxxxxxxxxx> Date: Wed Jul 22 09:50:18 2009 -0700 Merge git://git.kernel.org/pub/scm/linux/kernel/git/davem/ide-2.6 * git://git.kernel.org/pub/scm/linux/kernel/git/davem/ide-2.6: ide-tape: Don't leak kernel stack information ide: fix memory leak when flush command is issued commit 402168cee1a0b791c54c54a68ae21bb26880f40b Merge: 12e8ffe35eaca1411afc1f3124478f8e2b65eedc a947a39d52f5b647a2fd5eca55d39e722a2fa90f Author: Linus Torvalds <torvalds@xxxxxxxxxxxxxxxxxxxx> Date: Wed Jul 22 09:49:58 2009 -0700 Merge git://git.kernel.org/pub/scm/linux/kernel/git/davem/net-2.6 * git://git.kernel.org/pub/scm/linux/kernel/git/davem/net-2.6: (37 commits) sky2: Avoid races in sky2_down drivers/net/mlx4: Adjust constant drivers/net: Move a dereference below a NULL test drivers/net: Move a dereference below a NULL test connector: maintainer/mail update. USB host CDC Phonet network interface driver macsonic, jazzsonic: fix oops on module unload macsonic: move probe function to .devinit.text can: switch carrier on if device was stopped while in bus-off state can: restart device even if dev_alloc_skb() fails can: sja1000: remove duplicated includes New device ID for sc92031 [1088:2031] 3c589_cs: re-initialize the multicast in the tc589_reset Fix error return for setsockopt(SO_TIMESTAMPING) netxen: fix thermal check and shutdown netxen: fix deadlock on dev close netxen: fix context deletion sequence net: Micrel KS8851 SPI network driver tcp: Use correct peer adr when copying MD5 keys tcp: Fix MD5 signature checking on IPv4 mapped sockets ... commit 12e8ffe35eaca1411afc1f3124478f8e2b65eedc Merge: 0d517fb1f3b297fa202c69c94af11ac60b12028e d953126a28f97ec965d23c69fd5795854c048f30 Author: Linus Torvalds <torvalds@xxxxxxxxxxxxxxxxxxxx> Date: Wed Jul 22 09:47:49 2009 -0700 Merge branch 'bugfixes' of git://git.linux-nfs.org/projects/trondmy/nfs-2.6 * 'bugfixes' of git://git.linux-nfs.org/projects/trondmy/nfs-2.6: NFSv4: Fix a problem whereby a buggy server can oops the kernel NFSv4: Fix an NFSv4 mount regression NFSv4: Fix an Oops in nfs4_free_lock_state commit de72e5de062e48a992d6cafe2291a82fe498d641 Author: Alexander Beregalov <a.beregalov@xxxxxxxxx> Date: Wed Jul 22 01:16:51 2009 +0000 net: KS8851 needs to depend on MII fix this build error when CONFIG_MII is not set drivers/net/ks8851.c:999: undefined reference to `generic_mii_ioctl' drivers/net/ks8851.c:1050: undefined reference to `mii_link_ok' drivers/net/ks8851.c:1056: undefined reference to `mii_nway_restart' drivers/net/ks8851.c:1044: undefined reference to `mii_ethtool_sset' drivers/net/ks8851.c:1038: undefined reference to `mii_ethtool_gset' Signed-off-by: Alexander Beregalov <a.beregalov@xxxxxxxxx> Acked-by: Ben Dooks <ben@xxxxxxxxxxxx> commit 0d517fb1f3b297fa202c69c94af11ac60b12028e Merge: 1fd1f285369d992950a5411139a23f0f5804727a 44f167d376aa42d59d40406036e901a5cf03567f Author: Linus Torvalds <torvalds@xxxxxxxxxxxxxxxxxxxx> Date: Wed Jul 22 09:32:12 2009 -0700 Merge branch 'for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/tiwai/sound-2.6 * 'for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/tiwai/sound-2.6: ALSA: ctxfi: Swapped SURROUND-SIDE channels on emu20k2 ALSA: ca0106 - Fix the max capture buffer size ALSA: hda - Fix pin-setup for Sony VAIO with STAC9872 codecs ALSA: hda - Add quirk for Gateway T6834c laptop ALSA: OSS sequencer should be initialized after snd_seq_system_client_init ALSA: sound/isa: convert nested spin_lock_irqsave to spin_lock ALSA: hda_codec: Check for invalid zero connections commit 1fd1f285369d992950a5411139a23f0f5804727a Merge: 0dc3d523e8bc4718e0be2e4a742367d6e4be77cd 76c317d6e5cb7f58541879006d39774596962715 Author: Linus Torvalds <torvalds@xxxxxxxxxxxxxxxxxxxx> Date: Wed Jul 22 09:30:07 2009 -0700 Merge branch 'for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/jikos/hid * 'for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/jikos/hid: HID: Move dereferences below a NULL test HID: hiddev, fix lock imbalance commit 0dc3d523e8bc4718e0be2e4a742367d6e4be77cd Author: Arjan van de Ven <arjan@xxxxxxxxxxxxxxx> Date: Tue Jul 21 00:55:05 2009 -0700 perf: fix stack data leak the "reserved" field was not initialized to zero, resulting in 4 bytes of stack data leaking to userspace.... Signed-off-by: Arjan van de Ven <arjan@xxxxxxxxxxxxxxx> Acked-by: Peter Zijlstra <a.p.zijlstra@xxxxxxxxx> Signed-off-by: Linus Torvalds <torvalds@xxxxxxxxxxxxxxxxxxxx> commit fa77406aee9d33f35c7202dcd83436feb12d9fc3 Author: Ajit Khaparde <ajitk@xxxxxxxxxxxxxxxxx> Date: Wed Jul 22 09:28:55 2009 -0700 be2net: Bug fix in the non-lro path. Size of received packet was not updated in statistics properly. This patch fixes a bug in the non-lro path. Wrong size of received packet was being passed for updating receive statistics. This patch is against the net-2.6 git. Signed-off-by: Ajit Khaparde <ajitk@xxxxxxxxxxxxxxxxx> Signed-off-by: David S. Miller <davem@xxxxxxxxxxxxx> commit 3104a6ff67e484e4dc84822b4ed0396e85bb9fb9 Author: Anton Vorontsov <avorontsov@xxxxxxxxxxxxx> Date: Thu Jul 16 21:31:47 2009 +0000 ucc_geth: Revive fixed link support Since commit 0b9da337dca972e7a4144e298ec3adb8f244d4a4 ("Rework ucc_geth driver to use of_mdio infrastructure") the fixed-link support is broken. This patch fixes the support by removing !ug_info->phy_node check, and adds a call to of_phy_connect_fixed_link() if a phy is not attached to the MAC. Also, remove an old fixed-link code that we don't use any longer. Signed-off-by: Anton Vorontsov <avorontsov@xxxxxxxxxxxxx> Signed-off-by: Grant Likely <grant.likely@xxxxxxxxxxxx> Signed-off-by: David S. Miller <davem@xxxxxxxxxxxxx> commit 1db780f8c7d361fe1b7d29b9dc849b97955ae944 Author: Anton Vorontsov <avorontsov@xxxxxxxxxxxxx> Date: Thu Jul 16 21:31:42 2009 +0000 gianfar: Revive fixed link support Since commit fe192a49118f5b1272317d60c7930ece4e13ae49 ("Rework gianfar driver to use of_mdio infrastructure") the fixed-link support is broken, the driver oopses at init_phy(): Unable to handle kernel paging request for data at address 0x000000e4 Faulting instruction address: 0xc01cf298 Oops: Kernel access of bad area, sig: 11 [#1] [...] NIP [c01cf298] init_phy+0x80/0xdc LR [c01cf250] init_phy+0x38/0xdc Call Trace: [cf81fe80] [c01d1cf8] gfar_enet_open+0x6c/0x19c [cf81fea0] [c024494c] dev_open+0xfc/0x134 [cf81fec0] [c0242edc] dev_change_flags+0x84/0x1ac [cf81fee0] [c0399ee0] ic_open_devs+0x168/0x2d8 [cf81ff20] [c039b2e8] ip_auto_config+0x90/0x2a4 [cf81ff60] [c0003884] do_one_initcall+0x34/0x1a8 This patch fixes the oops, and removes phy_node checks, and adds a call to of_phy_connect_fixed_link() if a phy isn't attached.. Also, remove an old fixed-link code that we don't use any longer. Signed-off-by: Anton Vorontsov <avorontsov@xxxxxxxxxxxxx> Signed-off-by: Grant Likely <grant.likely@xxxxxxxxxxxx> Signed-off-by: David S. Miller <davem@xxxxxxxxxxxxx> commit eedbc705f9a094560b8d08c58b6787a5420a76a1 Author: Anton Vorontsov <avorontsov@xxxxxxxxxxxxx> Date: Thu Jul 16 21:31:36 2009 +0000 fs_enet: Revive fixed link support Since commit aa73832c5a80d6c52c69b18af858d88fa595dd3c ("Rework fs_enet driver to use of_mdio infrastructure") the fixed-link support is broken in the fs_enet driver. This patch fixes the support by removing a check for phy_node, and adding a call to of_phy_connect_fixed_link(). Also set netdev parent device via SET_NETDEV_DEV() call, this is needed so that OF MDIO core could find a node pointer for a device. Plus, fix "if (IS_ERR(phydev))" check, in case of errors, of_phy_connect() returns NULL, not ERR_PTR as phy_connect(). Signed-off-by: Anton Vorontsov <avorontsov@xxxxxxxxxxxxx> Signed-off-by: Grant Likely <grant.likely@xxxxxxxxxxxx> Signed-off-by: David S. Miller <davem@xxxxxxxxxxxxx> commit 24c30dbbcdda9aeccb23b4eecb6bb8e538742ea4 Author: Anton Vorontsov <avorontsov@xxxxxxxxxxxxx> Date: Thu Jul 16 21:31:31 2009 +0000 of/mdio: Add support function for Ethernet fixed-link property Fixed-link support is broken for the ucc_eth, gianfar, and fs_enet device drivers. The "OF MDIO rework" patches removed most of the support. Instead of re-adding fixed-link stuff to the drivers, this patch adds a support function for parsing the fixed-link property and obtaining a dummy phy to match. Note: the dummy phy handling in arch/powerpc is a bit of a hack and needs to be reworked. This function is being added now to solve the regression in the Ethernet drivers, but it should be considered a temporary measure until the fixed link handling can be reworked. Signed-off-by: Anton Vorontsov <avorontsov@xxxxxxxxxxxxx> Signed-off-by: Grant Likely <grant.likely@xxxxxxxxxxxx> Signed-off-by: David S. Miller <davem@xxxxxxxxxxxxx> commit 61fe087059614226978f4d7bb36da26cb2d28f9f Merge: 71c4c8b7c3bdeccef4f478c643a9ff382ec07241 3dc948da783e713cd3dc8bbd8f293f8795af8f06 Author: Linus Torvalds <torvalds@xxxxxxxxxxxxxxxxxxxx> Date: Wed Jul 22 09:26:13 2009 -0700 Merge branch 'linux-next' of git://git.infradead.org/ubi-2.6 * 'linux-next' of git://git.infradead.org/ubi-2.6: UBI: fix bug in image sequence number handling UBI: gluebi: initialize ubi_num field commit 71c4c8b7c3bdeccef4f478c643a9ff382ec07241 Merge: 3730793d457fed79a6d49bae72996d458c8e4f2d 032e46cbf5fb1d768d7dec5631c224e22b4be46f Author: Linus Torvalds <torvalds@xxxxxxxxxxxxxxxxxxxx> Date: Wed Jul 22 09:25:31 2009 -0700 Merge branch 'for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/dtor/input * 'for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/dtor/input: Input: atkbd - add force relese key quirk for Soltech TA12 Input: fix EVIOCGNAME/JSIOCGNAME regression Input: atkbd - add forced release keys quirk for FSC Amilo Pi 3525 Input: pcspkr - switch driver to dev_pm_ops Input: xpad - don't resend successfully sent outgoing requests Input: wistron_btns - recognize Maxdata Pro 7000 notebooks commit 4012ade9338c05428162e85cc9b149dcadf1ce85 Author: Takashi Iwai <tiwai@xxxxxxx> Date: Wed Jul 22 18:15:10 2009 +0200 ALSA: hda - Restore GPIO1 properly at resume with AD1984A The commit 099db17e66294b02814dee01c81d9abbbeece93e introduced a regression at suspend/resume where the GPIO1 bit isn't properly restored, thus the speaker output gets muted initially after resume. The fix is simple, use the cached write for storing GPIO data. Reference: Novell bnc#522764 https://bugzilla.novell.com/show_bug.cgi?id=522764 Signed-off-by: Takashi Iwai <tiwai@xxxxxxx> commit 0fdc7e67dd312986e30b861adff48732bd33eb3f Author: Mike Galbraith <efault@xxxxxx> Date: Tue Jul 21 10:30:36 2009 +0200 perf_counter tools: Give perf top inherit option Currently, perf top -p only tracks the pid provided, which isn't very useful for watching forky loads, so give it an inherit option. Signed-off-by: Mike Galbraith <efault@xxxxxx> Cc: Ingo Molnar <mingo@xxxxxxx> Signed-off-by: Peter Zijlstra <a.p.zijlstra@xxxxxxxxx> LKML-Reference: <1248165036.9795.10.camel@xxxxxxxxxxxxxxxx> commit d20ff6bd6bba2e7e6681fa17565347b410c46ab3 Author: Mike Galbraith <efault@xxxxxx> Date: Mon Jul 20 14:01:38 2009 +0200 perf_counter tools: Fix vmlinux symbol generation breakage vmlinux meets the criteria for symbol adjustment, which breaks vmlinux generated symbols. Fix this by exempting vmlinux. This is a bit fragile in that someone could change the kernel dso's name, but currently that name is also hardwired. Signed-off-by: Mike Galbraith <efault@xxxxxx> Cc: Ingo Molnar <mingo@xxxxxxx> Signed-off-by: Peter Zijlstra <a.p.zijlstra@xxxxxxxxx> LKML-Reference: <1248091298.18702.18.camel@xxxxxxxxxxxxxxxx> commit 5beeded123c5befa21f1c6e16219f2a3eb7dd197 Author: Jason Baron <jbaron@xxxxxxxxxx> Date: Tue Jul 21 14:16:29 2009 -0400 perf_counter: Detect debugfs location If "/sys/kernel/debug" is not a debugfs mount point, search for the debugfs filesystem in /proc/mounts, but also allows the user to specify '--debugfs-dir=blah' or set the environment variable: 'PERF_DEBUGFS_DIR' Signed-off-by: Jason Baron <jbaron@xxxxxxxxxx> [ also made it probe "/debug" by default ] Signed-off-by: Peter Zijlstra <a.p.zijlstra@xxxxxxxxx> LKML-Reference: <20090721181629.GA3094@xxxxxxxxxx> commit f6bdafef2ab911f03321fa83d8da1df99878009e Author: Jason Baron <jbaron@xxxxxxxxxx> Date: Tue Jul 21 12:20:22 2009 -0400 perf_counter: Add tracepoint support to perf list, perf stat Add support to 'perf list' and 'perf stat' for kernel tracepoints. The implementation creates a 'for_each_subsystem' and 'for_each_event' for easy iteration over the tracepoints. Signed-off-by: Jason Baron <jbaron@xxxxxxxxxx> Signed-off-by: Peter Zijlstra <a.p.zijlstra@xxxxxxxxx> LKML-Reference: <426129bf9fcc8ee63bb094cf736e7316a7dcd77a.1248190728.git.jbaron@xxxxxxxxxx> commit 28ac909b49a155856c957d080f8a796b3c1d1f3e Author: Arnaldo Carvalho de Melo <acme@xxxxxxxxxx> Date: Mon Jul 20 14:14:12 2009 -0300 perf symbol: C++ demangling [acme@doppio ~]$ perf report -s comm,dso,symbol -C firefox -d /usr/lib64/xulrunner-1.9.1/libxul.so | grep :: | head 2.21% [.] nsDeque::Push(void*) 1.78% [.] GraphWalker::DoWalk(nsDeque&) 1.30% [.] GCGraphBuilder::AddNode(void*, nsCycleCollectionParticipant*) 1.27% [.] XPCWrappedNative::CallMethod(XPCCallContext&, XPCWrappedNative::CallMode) 1.18% [.] imgContainer::DrawFrameTo(gfxIImageFrame*, gfxIImageFrame*, nsRect&) 1.13% [.] nsDeque::PopFront() 1.11% [.] nsGlobalWindow::RunTimeout(nsTimeout*) 0.97% [.] nsXPConnect::Traverse(void*, nsCycleCollectionTraversalCallback&) 0.95% [.] nsJSEventListener::cycleCollection::Traverse(void*, nsCycleCollectionTraversalCallback&) 0.95% [.] nsCOMPtr_base::~nsCOMPtr_base() [acme@doppio ~]$ Cc: Pekka Enberg <penberg@xxxxxxxxxxxxxx> Cc: Vegard Nossum <vegard.nossum@xxxxxxxxx> Cc: Paul Mackerras <paulus@xxxxxxxxx> Cc: Frédéric Weisbecker <fweisbec@xxxxxxxxx> Suggested-by: Clark Williams <williams@xxxxxxxxxx> Signed-off-by: Arnaldo Carvalho de Melo <acme@xxxxxxxxxx> Signed-off-by: Peter Zijlstra <a.p.zijlstra@xxxxxxxxx> LKML-Reference: <20090720171412.GB10410@xxxxxxxxxxxxxxxxxx> commit dfe5a50461db90fab901cb697eff0d3d2e9fd229 Author: Arjan van de Ven <arjan@xxxxxxxxxxxxxxx> Date: Mon Jul 20 22:54:26 2009 -0700 perf: avoid structure size confusion by using a fixed size for some reason, this structure gets compiled as 36 bytes in some files (the ones that alloacte it) but 40 bytes in others (the ones that use it). The cause is an off_t type that gets a different size in different compilation units for some yet-to-be-explained reason. But the effect is disasterous; the size/offset members of the struct are at different offsets, and result in mostly complete garbage. The parser in perf is so robust that this all gets hidden, and after skipping an certain amount of samples, it recovers.... so this bug is not normally noticed. .... except when you want every sample to be exact. Fix this by just using an explicitly sized type. Signed-off-by: Arjan van de Ven <arjan@xxxxxxxxxxxxxxx> Signed-off-by: Peter Zijlstra <a.p.zijlstra@xxxxxxxxx> LKML-Reference: <4A655917.9080504@xxxxxxxxxxxxxxx> commit 966ee4d6b887c14159043ac80b8c3661d2bbe5e2 Author: Anton Blanchard <anton@xxxxxxxxx> Date: Wed Jul 22 23:05:46 2009 +1000 perf_counter: Fix throttle/unthrottle event logging Right now we only print PERF_EVENT_THROTTLE + 1 (ie PERF_EVENT_UNTHROTTLE). Fix this to print both a throttle and unthrottle event. Signed-off-by: Anton Blanchard <anton@xxxxxxxxx> Signed-off-by: Peter Zijlstra <a.p.zijlstra@xxxxxxxxx> LKML-Reference: <20090722130546.GE9029@kryten> commit a0541234f89c93f313961ce7b28676e11488a5f0 Author: Anton Blanchard <anton@xxxxxxxxx> Date: Wed Jul 22 23:04:12 2009 +1000 perf_counter: Improve perf stat and perf record option parsing perf stat and perf record currently look for all options on the command line. This can lead to some confusion: # perf stat ls -l Error: unknown switch `l' While we can work around this by adding '--' before the command, the git option parsing code can stop at the first non option: # perf stat ls -l Performance counter stats for 'ls -l': .... Signed-off-by: Anton Blanchard <anton@xxxxxxxxx> Signed-off-by: Peter Zijlstra <a.p.zijlstra@xxxxxxxxx> LKML-Reference: <20090722130412.GD9029@kryten> commit 7f453c24b95a085fc7bd35d53b33abc4dc5a048b Author: Peter Zijlstra <a.p.zijlstra@xxxxxxxxx> Date: Tue Jul 21 13:19:40 2009 +0200 perf_counter: PERF_SAMPLE_ID and inherited counters Anton noted that for inherited counters the counter-id as provided by PERF_SAMPLE_ID isn't mappable to the id found through PERF_RECORD_ID because each inherited counter gets its own id. His suggestion was to always return the parent counter id, since that is the primary counter id as exposed. However, these inherited counters have a unique identifier so that events like PERF_EVENT_PERIOD and PERF_EVENT_THROTTLE can be specific about which counter gets modified, which is important when trying to normalize the sample streams. This patch removes PERF_EVENT_PERIOD in favour of PERF_SAMPLE_PERIOD, which is more useful anyway, since changing periods became a lot more common than initially thought -- rendering PERF_EVENT_PERIOD the less useful solution (also, PERF_SAMPLE_PERIOD reports the more accurate value, since it reports the value used to trigger the overflow, whereas PERF_EVENT_PERIOD simply reports the requested period changed, which might only take effect on the next cycle). This still leaves us PERF_EVENT_THROTTLE to consider, but since that _should_ be a rare occurrence, and linking it to a primary id is the most useful bit to diagnose the problem, we introduce a PERF_SAMPLE_STREAM_ID, for those few cases where the full reconstruction is important. [Does change the ABI a little, but I see no other way out] Suggested-by: Anton Blanchard <anton@xxxxxxxxx> Signed-off-by: Peter Zijlstra <a.p.zijlstra@xxxxxxxxx> LKML-Reference: <1248095846.15751.8781.camel@twins> commit 573402db02746179b3f95f83a11a787501f52d0a Author: Peter Zijlstra <a.p.zijlstra@xxxxxxxxx> Date: Wed Jul 22 11:13:50 2009 +0200 perf_counter: Plug more stack leaks Per example of Arjan's patch, I went through and found a few more. Signed-off-by: Peter Zijlstra <a.p.zijlstra@xxxxxxxxx> commit c9f73a3dd27e03411f18a58c0814d51392d2b17a Author: Arjan van de Ven <arjan@xxxxxxxxxxxxxxx> Date: Tue Jul 21 00:55:05 2009 -0700 perf: Fix stack data leak the "reserved" field was not initialized to zero, resulting in 4 bytes of stack data leaking to userspace.... Signed-off-by: Arjan van de Ven <arjan@xxxxxxxxxxxxxxx> Signed-off-by: Peter Zijlstra <a.p.zijlstra@xxxxxxxxx> commit 9b7019ae6a542a801a80df6694c66e240e2c3e39 Author: Peter Zijlstra <a.p.zijlstra@xxxxxxxxx> Date: Wed Jul 22 16:31:36 2009 +0200 perf_counter: Remove unused variables Fix a gcc unused variables warning. Signed-off-by: Peter Zijlstra <a.p.zijlstra@xxxxxxxxx> commit 1d2f37945d1b3a14086c5ea802486778b635cf97 Merge: 1483b19f8f5e8ad0c8816de368b099322dad4db5 f1c6a58121f9846ac665b0fbd3cbab90ce8bcbac Author: Peter Zijlstra <a.p.zijlstra@xxxxxxxxx> Date: Wed Jul 22 18:05:48 2009 +0200 Merge commit 'tip/perfcounters/core' into perf-counters-for-linus commit 3730793d457fed79a6d49bae72996d458c8e4f2d Author: Linus Torvalds <torvalds@xxxxxxxxxxxxxxxxxxxx> Date: Wed Jul 22 08:49:22 2009 -0700 fbmon: work around compiler bug in gcc-2.4.2 There's some odd bug in gcc-4.2 where it miscompiles a simple loop whent he loop counter is of type 'unsigned char' and it should count to 128. The compiler will incorrectly decide that a trivial loop like this: unsigned char i, ... for (i = 0; i < 128; i++) { .. is endless, and will compile it to a single instruction that just branches to itself. This was triggered by the addition of '-fno-strict-overflow', and we could play games with compiler versions and go back to '-fwrapv' instead, but the trivial way to avoid it is to just make the loop induction variable be an 'int' instead. Thanks to Krzysztof Oledzki for reporting and testing and to Troy Moure for digging through assembler differences and finding it. Reported-and-tested-by: Krzysztof Oledzki <olel@xxxxxx> Found-by: Troy Moure <twmoure@xxxxxxxxx> Gcc-bug-acked-by: Ian Lance Taylor <iant@xxxxxxxxxx> Cc: stable@xxxxxxxxxx Signed-off-by: Linus Torvalds <torvalds@xxxxxxxxxxxxxxxxxxxx> commit 68110661e86868cd107955ec7c077e1f34519f78 Author: Takashi Iwai <tiwai@xxxxxxx> Date: Wed Jul 22 17:05:15 2009 +0200 ALSA: ctxfi - Fix uninitialized error checks Fix a few uninitialized error checks that were introduced recently mistakenlly during the clean-up: sound/pci/ctxfi/ctamixer.c: In function â??get_amixer_rscâ??: sound/pci/ctxfi/ctamixer.c:261: warning: â??errâ?? may be used uninitialized in this function sound/pci/ctxfi/ctamixer.c: In function â??get_sum_rscâ??: sound/pci/ctxfi/ctamixer.c:415: warning: â??errâ?? may be used uninitialized in this function sound/pci/ctxfi/ctsrc.c: In function â??get_srcimp_rscâ??: sound/pci/ctxfi/ctsrc.c:742: warning: â??errâ?? may be used uninitialized in this function Signed-off-by: Takashi Iwai <tiwai@xxxxxxx> commit 9ba5f005c994ad28e266a0cd14ef29354be382c9 Author: Peter Zijlstra <peterz@xxxxxxxxxxxxx> Date: Wed Jul 22 14:18:35 2009 +0200 softirq: introduce tasklet_hrtimer infrastructure commit ca109491f (hrtimer: removing all ur callback modes) moved all hrtimer callbacks into hard interrupt context when high resolution timers are active. That breaks code which relied on the assumption that the callback happens in softirq context. Provide a generic infrastructure which combines tasklets and hrtimers together to provide an in-softirq hrtimer experience. Signed-off-by: Peter Zijlstra <a.p.zijlstra@xxxxxxxxx> Cc: torvalds@xxxxxxxxxxxxxxxxxxxx Cc: kaber@xxxxxxxxx Cc: David Miller <davem@xxxxxxxxxxxxx> LKML-Reference: <1248265724.27058.1366.camel@twins> Signed-off-by: Thomas Gleixner <tglx@xxxxxxxxxxxxx> commit 4a8c9a62d7f7f058eed4b8a6f2c890a887778093 Author: Yan Zheng <zheng.yan@xxxxxxxxxx> Date: Wed Jul 22 10:07:05 2009 -0400 Btrfs: make sure all dirty blocks are written at commit time Write dirty block groups may allocate new block, and so may add new delayed back ref. btrfs_run_delayed_refs may make some block groups dirty. commit_cowonly_roots does not handle the recursion properly, and some dirty blocks can be left unwritten at commit time. This patch moves btrfs_run_delayed_refs into the loop that writes dirty block groups, and makes the code not break out of the loop until there are no dirty block groups or delayed back refs. Signed-off-by: Yan Zheng <zheng.yan@xxxxxxxxxx> Signed-off-by: Chris Mason <chris.mason@xxxxxxxxxx> commit 86de7416600e93835eeacee379aea939b6a0917a Author: Takashi Iwai <tiwai@xxxxxxx> Date: Wed Jul 22 16:02:46 2009 +0200 ALSA: hda - Use snprintf() to be safer Use snprint() for creating the jack name string instead of sprintf() in patch_sigmatel.c. Signed-off-by: Takashi Iwai <tiwai@xxxxxxx> commit 33c66f430bfa3a033e70470e4c93f967156b696d Author: Yan Zheng <zheng.yan@xxxxxxxxxx> Date: Wed Jul 22 09:59:00 2009 -0400 Btrfs: fix locking issue in btrfs_find_next_key When walking up the tree, btrfs_find_next_key assumes the upper level tree block is properly locked. This isn't always true even path->keep_locks is 1. This is because btrfs_find_next_key may advance path->slots[] several times instead of only once. When 'path->slots[level] >= btrfs_header_nritems(path->nodes[level])' is found, we can't guarantee the original value of 'path->slots[level]' is 'btrfs_header_nritems(path->nodes[level]) - 1'. If it's not, the tree block at 'level + 1' isn't locked. This patch fixes the issue by explicitly checking the locking state, re-searching the tree if it's not locked. Signed-off-by: Yan Zheng <zheng.yan@xxxxxxxxxx> Signed-off-by: Chris Mason <chris.mason@xxxxxxxxxx> commit e457afec60fdbd86b963d36f4a8a9285088c6043 Author: Yan Zheng <zheng.yan@xxxxxxxxxx> Date: Wed Jul 22 09:59:00 2009 -0400 Btrfs: fix double increment of path->slots[0] in btrfs_next_leaf if 1 is returned by btrfs_search_slot, the path already points to the first item with 'key > searching key'. So increasing path->slots[0] by one is superfluous in that case. Signed-off-by: Yan Zheng <zheng.yan@xxxxxxxxxx> Signed-off-by: Chris Mason <chris.mason@xxxxxxxxxx> commit bf1fb512a58d7aeb41aaa40d6d2d2d29e08e506a Author: Yan Zheng <zheng.yan@xxxxxxxxxx> Date: Wed Jul 22 09:59:00 2009 -0400 Btrfs: properly update space information after shrinking device. Change 'goto done' to 'break' for the case of all device extents have been freed, so that the code updates space information will be execute. Signed-off-by: Yan Zheng <zheng.yan@xxxxxxxxxx> Signed-off-by: Chris Mason <chris.mason@xxxxxxxxxx> commit 1bec1aed1e7e632b3cc43b6807c2b4dcd1572e28 Author: Yan Zheng <zheng.yan@xxxxxxxxxx> Date: Wed Jul 22 09:59:00 2009 -0400 Btrfs: fix definition of struct btrfs_extent_inline_ref use __le64 instead of u64 in on-disk structure definition. Signed-off-by: Yan Zheng <zheng.yan@xxxxxxxxxx> Signed-off-by: Chris Mason <chris.mason@xxxxxxxxxx> commit 2cf313ee75ddf6220b5d623b749b1bb79458307f Author: Alexey Fisher <bug-track@xxxxxxxxxxxxxxxxx> Date: Wed Jul 22 14:57:54 2009 +0200 ALSA: usb-audio - Volume control quirk for QuickCam E 3500 - E3500 report cval->max more than it actually can handel, so if you set 95% capture level it will be silently muted. - Betwen cval->min and cval-max(real) is 2940 control units, but real are only 7 with cval->res = 384. - Alsa can't handel less than 10 controls, so make it more and set cval->res = 192. Signed-off-by: Alexey Fisher <bug-track@xxxxxxxxxxxxxxxxx> Signed-off-by: Takashi Iwai <tiwai@xxxxxxx> commit 79452f0a28aa5a40522c487b42a5fc423647ad98 Author: Takashi Iwai <tiwai@xxxxxxx> Date: Wed Jul 22 12:51:51 2009 +0200 ALSA: pcm - Fix regressions with VMware VMware tends to report PCM positions and period updates at utterly wrong timing. This screws up the recent PCM core code that tries to correct the position based on the irq timing. Now, when a backward irq position is detected, skip the update instead of rebasing. (This is almost the old behavior before 2.6.30.) Signed-off-by: Takashi Iwai <tiwai@xxxxxxx> commit 6effa8f6fc786f00e3a23eae605e0f2e8e748faa Author: Hidehiro Kawai <hidehiro.kawai.ez@xxxxxxxxxxx> Date: Wed Jul 22 11:56:20 2009 +0900 x86, mce: Rename incorrect macro name "CONFIG_X86_THRESHOLD" CONFIG_X86_THRESHOLD used in arch/x86/kernel/irqinit.c is always undefined. Rename it to the correct name "CONFIG_X86_MCE_THRESHOLD". Signed-off-by: Hidehiro Kawai <hidehiro.kawai.ez@xxxxxxxxxxx> Reviewed-by: Hidetoshi Seto <seto.hidetoshi@xxxxxxxxxxxxxx> Cc: Andi Kleen <andi@xxxxxxxxxxxxxx> LKML-Reference: <4A667FD4.3010509@xxxxxxxxxxx> Signed-off-by: H. Peter Anvin <hpa@xxxxxxxxx> commit a947a39d52f5b647a2fd5eca55d39e722a2fa90f Author: Mike McCormack <mikem@xxxxxxxxxx> Date: Tue Jul 21 20:57:56 2009 -0700 sky2: Avoid races in sky2_down Reset rx chain before trying to drain it. Shut interrupts off last, incase there's something to report. Signed-off-by: Mike McCormack <mikem@xxxxxxxxxx> Acked-by: Stephen Hemminger <shemminger@xxxxxxxxxx> Signed-off-by: David S. Miller <davem@xxxxxxxxxxxxx> commit 2fc2111c2729462b99b6e37f39a48917054776f5 Author: Michael Buesch <mb@xxxxxxxxx> Date: Sun Jul 19 09:15:19 2009 +0000 ide-tape: Don't leak kernel stack information Don't leak kernel stack information through uninitialized structure members. Signed-off-by: Michael Buesch <mb@xxxxxxxxx> Acked-by: Borislav Petkov <petkovbb@xxxxxxxxx>. Signed-off-by: David S. Miller <davem@xxxxxxxxxxxxx> commit bc146d23d1358af43f03793c3ad8c9f16bbcffcb Author: Maxime Bizon <mbizon@xxxxxxxxxx> Date: Thu Jul 16 06:32:52 2009 +0000 ide: fix memory leak when flush command is issued I'm using ide on 2.6.30.1 with xfs filesystem. I noticed a kernel memory leak after writing lots of data, the kmalloc-96 slab cache keeps growing. It seems the struct ide_cmd kmalloced by idedisk_prepare_flush is never kfreed. Commit a09485df9cda49fbde2766c86eb18a9cae585162 ("ide: move request type specific code from ide_end_drive_cmd() to callers (v3)") and f505d49ffd25ed062e76ffd17568d3937fcd338c ("ide: fix barriers support") cause this regression, cmd->rq must now be set for ide_complete_cmd to honor the IDE_TFLAG_DYN flag. Signed-off-by: Maxime Bizon <mbizon@xxxxxxxxxx> Acked-by: Bartlomiej Zolnierkiewicz <bzolnier@xxxxxxxxx> Signed-off-by: David S. Miller <davem@xxxxxxxxxxxxx> commit d953126a28f97ec965d23c69fd5795854c048f30 Author: Trond Myklebust <Trond.Myklebust@xxxxxxxxxx> Date: Tue Jul 21 19:22:38 2009 -0400 NFSv4: Fix a problem whereby a buggy server can oops the kernel We just had a case in which a buggy server occasionally returns the wrong attributes during an OPEN call. While the client does catch this sort of condition in nfs4_open_done(), and causes the nfs4_atomic_open() to return -EISDIR, the logic in nfs_atomic_lookup() is broken, since it causes a fallback to an ordinary lookup instead of just returning the error. When the buggy server then returns a regular file for the fallback lookup, the VFS allows the open, and bad things start to happen, since the open file doesn't have any associated NFSv4 state. The fix is firstly to return the EISDIR/ENOTDIR errors immediately, and secondly to ensure that we are always careful when dereferencing the nfs_open_context state pointer. Signed-off-by: Trond Myklebust <Trond.Myklebust@xxxxxxxxxx> commit f7b1aa69be138ad9d7d3f31fa56f4c9407f56b6a Author: Jan Kara <jack@xxxxxxx> Date: Mon Jul 20 12:12:36 2009 +0200 ocfs2: Fix deadlock on umount In commit ea455f8ab68338ba69f5d3362b342c115bea8e13, we moved the dentry lock put process into ocfs2_wq. This causes problems during umount because ocfs2_wq can drop references to inodes while they are being invalidated by invalidate_inodes() causing all sorts of nasty things (invalidate_inodes() ending in an infinite loop, "Busy inodes after umount" messages etc.). We fix the problem by stopping ocfs2_wq from doing any further releasing of inode references on the superblock being unmounted, wait until it finishes the current round of releasing and finally cleaning up all the references in dentry_lock_list from ocfs2_put_super(). The issue was tracked down by Tao Ma <tao.ma@xxxxxxxxxx>. Signed-off-by: Jan Kara <jack@xxxxxxx> Signed-off-by: Joel Becker <joel.becker@xxxxxxxxxx> commit 429b2b319af3987e808c18f6b81313104caf782c Author: Andi Kleen <andi@xxxxxxxxxxxxxx> Date: Sat Jul 18 08:56:57 2009 +0200 x86-64: Fix bad_srat() to clear all state Need to clear both nodes and nodes_add state for start/end. Signed-off-by: Andi Kleen <ak@xxxxxxxxxxxxxxx> LKML-Reference: <20090718065657.GA2898@xxxxxxxxxxxxxxx> Signed-off-by: H. Peter Anvin <hpa@xxxxxxxxx> Cc: stable@xxxxxxxxxx commit 3c5e10683e684ef45614c9071847e48f633d9806 Author: Tao Ma <tao.ma@xxxxxxxxxx> Date: Tue Jul 21 15:42:05 2009 +0800 ocfs2: Add extra credits and access the modified bh in update_edge_lengths. In normal tree rotation left process, we will never touch the tree branch above subtree_index and ocfs2_extend_rotate_transaction doesn't reserve the credits for them either. But when we want to delete the rightmost extent block, we have to update the rightmost records for all the rightmost branch(See ocfs2_update_edge_lengths), so we have to allocate extra credits for them. What's more, we have to access them also. Signed-off-by: Tao Ma <tao.ma@xxxxxxxxxx> Signed-off-by: Joel Becker <joel.becker@xxxxxxxxxx> commit fccba8045537f7e840d0e7565e1989d465e488a3 Author: Trond Myklebust <Trond.Myklebust@xxxxxxxxxx> Date: Tue Jul 21 16:48:07 2009 -0400 NFSv4: Fix an NFSv4 mount regression Commit 008f55d0e019943323c20a03493a2ba5672a4cc8 (nfs41: recover lease in _nfs4_lookup_root) forces the state manager to always run on mount. This is a bug in the case of NFSv4.0, which doesn't require us to send a setclientid until we want to grab file state. In any case, this is completely the wrong place to be doing state management. Moving that code into nfs4_init_session... Signed-off-by: Trond Myklebust <Trond.Myklebust@xxxxxxxxxx> commit b64aec8d1e1d8482a7b6cca60c8105c756bf1fe4 Author: Trond Myklebust <Trond.Myklebust@xxxxxxxxxx> Date: Tue Jul 21 16:47:46 2009 -0400 NFSv4: Fix an Oops in nfs4_free_lock_state The oops http://www.kerneloops.org/raw.php?rawid=537858&msgid= appears to be due to the nfs4_lock_state->ls_state field being uninitialised. This happens if the call to nfs4_free_lock_state() is triggered at the end of nfs4_get_lock_state(). The fix is to move the initialisation of ls_state into the allocator. Signed-off-by: Trond Myklebust <Trond.Myklebust@xxxxxxxxxx> commit 86669530d966ca21f4245b9990e7ae188d433d1e Author: Julia Lawall <julia@xxxxxxx> Date: Sun Jul 19 06:09:25 2009 +0000 drivers/net/mlx4: Adjust constant The values in the advertising field are typically ADVERTISED_xxx, not SUPPORTED_xxx. Both SUPPORTED_10000baseT_Full and ADVERTISED_1000baseT_Full have the same value. The semantic match that finds this problem is as follows: (http://www.emn.fr/x-info/coccinelle/) // <smpl> @@ struct ethtool_cmd E; @@ *E.advertising = SUPPORTED_10000baseT_Full // </smpl> Signed-off-by: Julia Lawall <julia@xxxxxxx> Signed-off-by: David S. Miller <davem@xxxxxxxxxxxxx> commit 0376d5b25ef11e9b6450ebae20781a32d8985170 Author: Julia Lawall <julia@xxxxxxx> Date: Sun Jul 19 05:26:35 2009 +0000 drivers/net: Move a dereference below a NULL test If the NULL test is necessary, then the dereference should be moved below the NULL test. The semantic patch that makes this change is as follows: (http://www.emn.fr/x-info/coccinelle/) // <smpl> @@ type T; expression E,E1; identifier i,fld; statement S; @@ - T i = E->fld; + T i; ... when != E=E1 when != i if (E == NULL||...) S + i = E->fld; // </smpl> Signed-off-by: Julia Lawall <julia@xxxxxxx> Signed-off-by: David S. Miller <davem@xxxxxxxxxxxxx> commit 0021195c40326ac4702faf28c32accd91b331641 Author: Julia Lawall <julia@xxxxxxx> Date: Sun Jul 19 06:13:04 2009 +0000 drivers/net: Move a dereference below a NULL test If the NULL test is necessary, then the dereferences should be moved below the NULL test. The semantic patch that makes this change is as follows: (http://www.emn.fr/x-info/coccinelle/) // <smpl> @@ type T; expression E,E1; identifier i,fld; statement S; @@ - T i = E->fld; + T i; ... when != E=E1 when != i BUG_ON (E == NULL||...); + i = E->fld; // </smpl> Signed-off-by: Julia Lawall <julia@xxxxxxx> Signed-off-by: David S. Miller <davem@xxxxxxxxxxxxx> commit 154839962a582b8eb661cde94ef3af0e03b374d7 Author: Marek Vasut <marek.vasut@xxxxxxxxx> Date: Thu Jul 16 19:19:53 2009 +0200 libertas: Fix problem with broken V4 firmware on CF8381 Firmware V4 on CF8381 reports region code shifted by 1 byte to left. The following patch checks for this and handles it properly. Signed-off-by: Marek Vasut <marek.vasut@xxxxxxxxx> Signed-off-by: John W. Linville <linville@xxxxxxxxxxxxx> commit 5d2214ac5e7f72c9ae70b2444649e8d1d3e1086d Author: Luis R. Rodriguez <lrodriguez@xxxxxxxxxxx> Date: Mon Jul 20 08:32:47 2009 -0700 ath: add support for special 0x8000 regulatory domain Two users of ar9170 devices have now reported their cards have been programmed with a regulatory domain of 0x8000. This is not a valid regulatory domain as such these users were unable to use these devices. Since this doesn't seem to be a device EEPROM corruption we must treat it specially. It may have been possible the manufacturer intended to use 0x0 as the regulatory domain and that would ultimately yield to US but since we cannot get confirmationf or this we default this special case to one of our world regulatory domains, specifically 0x64. Reported-by: DavidFreeman on #linux-wireless Reported-by: Joerg Albert <jal2@xxxxxx> Cc: Christian Lamparter <chunkeey@xxxxxx>, Cc: Stephen Chen <stephen.chen@xxxxxxxxxxx> Cc: David Quan <david.quan@xxxxxxxxxxx> Cc: Tony Yang <tony.yang@xxxxxxxxxxx> Signed-off-by: Luis R. Rodriguez <lrodriguez@xxxxxxxxxxx> Signed-off-by: John W. Linville <linville@xxxxxxxxxxxxx> commit bfa99bfdda1ce8a60f1f0fba7a04162a66d4ecfa Author: Dan Carpenter <error27@xxxxxxxxx> Date: Sun Jul 19 21:26:13 2009 +0200 p54spi: fix potential null deref in p54spi.c Fix a potential NULL dereference bug during error handling in p54spi_probe. This bug was discovered by smatch: (http://repo.or.cz/w/smatch.git). Signed-off-by: Dan Carpenter <error27@xxxxxxxxx> Signed-off-by: Christian Lamparter <chunkeey@xxxxxx> Signed-off-by: John W. Linville <linville@xxxxxxxxxxxxx> commit ed5c8ef3bb2de277b7885072e0e981c41a022be5 Author: Alan Jenkins <alan-jenkins@xxxxxxxxxxxxxx> Date: Sun Jul 19 09:48:28 2009 +0100 acer-wmi: fix rfkill conversion Fix another polarity error introduced by the rfkill rewrite, this time in acer_rfkill_set(). Signed-off-by: Alan Jenkins <alan-jenkins@xxxxxxxxxxxxxx> Signed-off-by: John W. Linville <linville@xxxxxxxxxxxxx> commit acb9c1b2f406d25c381de2b429f65706cc04d3b5 Author: Evgeniy Polyakov <zbr@xxxxxxxxxxx> Date: Tue Jul 21 12:43:51 2009 -0700 connector: maintainer/mail update. Signed-off-by: Evgeniy Polyakov <zbr@xxxxxxxxxxx> Signed-off-by: David S. Miller <davem@xxxxxxxxxxxxx> commit 87cf65601e1709e57f7e28f0f7b3eb0a992c1782 Author: Rémi Denis-Courmont <remi.denis-courmont@xxxxxxxxx> Date: Tue Jul 21 01:58:35 2009 +0000 USB host CDC Phonet network interface driver Many Nokia handsets support a Phonet interface to the cellular modem via a vendor-specific USB interface. CDC Phonet follows the Communications Device Class model, with one control interface, and and a pair of inactive and active data alternative interface. The later has two bulk endpoint, one per direction. This was tested against Nokia E61, Nokia N95, and the existing Phonet gadget function for the Linux composite USB gadget framework. Signed-off-by: Rémi Denis-Courmont <remi.denis-courmont@xxxxxxxxx> Signed-off-by: David S. Miller <davem@xxxxxxxxxxxxx> commit f44aebcc566d1d6275f7191867b9633dc11de2ee Author: Eric Paris <eparis@xxxxxxxxxx> Date: Wed Jul 15 15:49:52 2009 -0400 inotify: use GFP_NOFS under potential memory pressure inotify can have a watchs removed under filesystem reclaim. ================================= [ INFO: inconsistent lock state ] 2.6.31-rc2 #16 --------------------------------- inconsistent {IN-RECLAIM_FS-W} -> {RECLAIM_FS-ON-W} usage. khubd/217 [HC0[0]:SC0[0]:HE1:SE1] takes: (iprune_mutex){+.+.?.}, at: [<c10ba899>] invalidate_inodes+0x20/0xe3 {IN-RECLAIM_FS-W} state was registered at: [<c10536ab>] __lock_acquire+0x2c9/0xac4 [<c1053f45>] lock_acquire+0x9f/0xc2 [<c1308872>] __mutex_lock_common+0x2d/0x323 [<c1308c00>] mutex_lock_nested+0x2e/0x36 [<c10ba6ff>] shrink_icache_memory+0x38/0x1b2 [<c108bfb6>] shrink_slab+0xe2/0x13c [<c108c3e1>] kswapd+0x3d1/0x55d [<c10449b5>] kthread+0x66/0x6b [<c1003fdf>] kernel_thread_helper+0x7/0x10 [<ffffffff>] 0xffffffff Two things are needed to fix this. First we need a method to tell fsnotify_create_event() to use GFP_NOFS and second we need to stop using one global IN_IGNORED event and allocate them one at a time. This solves current issues with multiple IN_IGNORED on a queue having tail drop problems and simplifies the allocations since we don't have to worry about two tasks opperating on the IGNORED event concurrently. Signed-off-by: Eric Paris <eparis@xxxxxxxxxx> commit c05594b62125c528d93af3a78229793aae36df7f Author: Eric Paris <eparis@xxxxxxxxxx> Date: Mon Jul 13 15:56:55 2009 -0400 fsnotify: fix inotify tail drop check with path entries fsnotify drops new events when they are the same as the tail event on the queue to be sent to userspace. The problem is that if the event comes with a path we forget to break out of the switch statement and fall into the code path which matches on events that do not have any type of file backed information (things like IN_UNMOUNT and IN_Q_OVERFLOW). The problem is that this code thinks all such events should be dropped. Fix is to add a break. Signed-off-by: Eric Paris <eparis@xxxxxxxxxx> commit 4a148ba988988b9c400ad0f2cbccc155289b954b Author: Eric Paris <eparis@xxxxxxxxxx> Date: Mon Jul 13 15:56:55 2009 -0400 inotify: check filename before dropping repeat events inotify drops events if the last event on the queue is the same as the current event. But it does 2 things wrong. First it is comparing old->inode with new->inode. But after an event if put on the queue the ->inode is no longer allowed to be used. It's possible between the last event and this new event the inode could be reused and we would falsely match the inode's memory address between two differing events. The second problem is that when a file is removed fsnotify is passed the negative dentry for the removed object rather than the postive dentry from immediately before the removal. This mean the (broken) inotify tail drop code was matching the NULL ->inode of differing events. The fix is to check the file name which is stored with events when doing the tail drop instead of wrongly checking the address of the stored ->inode. Reported-by: Scott James Remnant <scott@xxxxxxxxxx> Signed-off-by: Eric Paris <eparis@xxxxxxxxxx> commit 520dc2a526fd681337883b6ff1ddcf7c23b1b063 Author: Eric Paris <eparis@xxxxxxxxxx> Date: Mon Jul 13 15:56:54 2009 -0400 fsnotify: use def_bool in kconfig instead of letting the user choose fsnotify doens't give the user anything. If someone chooses inotify or dnotify it should build fsnotify, if they don't select one it shouldn't be built. This patch changes fsnotify to be a def_bool=n and makes everything else select it. Also fixes the issue people complained about on lwn where gdm hung because they didn't have inotify and they didn't get the inotify build option..... Signed-off-by: Eric Paris <eparis@xxxxxxxxxx> commit 7e790dd5fc937bc8d2400c30a05e32a9e9eef276 Author: Eric Paris <eparis@xxxxxxxxxx> Date: Tue Jul 7 10:28:24 2009 -0400 inotify: fix error paths in inotify_update_watch inotify_update_watch could leave things in a horrid state on a number of error paths. We could try to remove idr entries that didn't exist, we could send an IN_IGNORED to userspace for watches that don't exist, and a bit of other stupidity. Clean these up by doing the idr addition before we put the mark on the inode since we can clean that up on error and getting off the inode's mark list is hard. Signed-off-by: Eric Paris <eparis@xxxxxxxxxx> commit 75fe2b26394c59c8e16bd7b76f4be5d048103ad1 Author: Eric Paris <eparis@xxxxxxxxxx> Date: Tue Jul 7 10:28:23 2009 -0400 inotify: do not leak inode marks in inotify_add_watch inotify_add_watch had a couple of problems. The biggest being that if inotify_add_watch was called on the same inode twice (to update or change the event mask) a refence was taken on the original inode mark by fsnotify_find_mark_entry but was not being dropped at the end of the inotify_add_watch call. Thus if inotify_rm_watch was called although the mark was removed from the inode, the refcnt wouldn't hit zero and we would leak memory. Reported-by: Catalin Marinas <catalin.marinas@xxxxxxx> Signed-off-by: Eric Paris <eparis@xxxxxxxxxx> commit 5549f7cdf84c02939fd368d0842aa2f472bb6e98 Author: Eric Paris <eparis@xxxxxxxxxx> Date: Tue Jul 7 10:28:23 2009 -0400 inotify: drop user watch count when a watch is removed The inotify rewrite forgot to drop the inotify watch use cound when a watch was removed. This means that a single inotify fd can only ever register a maximum of /proc/sys/fs/max_user_watches even if some of those had been freed. Signed-off-by: Eric Paris <eparis@xxxxxxxxxx> commit 4564cba71637d3b4ea3730f5637b21a9eb3c8999 Author: Finn Thain <fthain@xxxxxxxxxxxxxxxxxxx> Date: Tue Jul 21 12:21:49 2009 -0700 macsonic, jazzsonic: fix oops on module unload Set the driver data before using it. Fixes an oops when doing rmmod. Signed-off-by: Finn Thain <fthain@xxxxxxxxxxxxxxxxxxx> Signed-off-by: David S. Miller <davem@xxxxxxxxxxxxx> commit 25177476675142d3ebd60849e0cebc46bd1eef8e Author: Uwe Kleine-König <u.kleine-koenig@xxxxxxxxxxxxxx> Date: Sat Jul 11 20:52:48 2009 +0000 macsonic: move probe function to .devinit.text A pointer to mac_sonic_probe is passed to the core via platform_driver_register and so the function must not disappear when the .init sections are discarded. Otherwise (if also having HOTPLUG=y) unbinding and binding a device to the driver via sysfs will result in an oops as does a device being registered late. Various other functions that are called by mac_sonic_probe need to move to .devinit.text, too. An alternative to this patch is using platform_driver_probe instead of platform_driver_register plus removing the pointer to the probe function from the struct platform_driver. Signed-off-by: Uwe Kleine-König <u.kleine-koenig@xxxxxxxxxxxxxx> Tested-by: Finn Thain <fthain@xxxxxxxxxxxxxxxxxxx> Signed-off-by: David S. Miller <davem@xxxxxxxxxxxxx> commit e9084ec98bb9aa3abc6cf73181177780ce7546f8 Author: Jan Beulich <JBeulich@xxxxxxxxxx> Date: Thu Jul 16 09:45:11 2009 +0100 x86, mce: Fix set_trigger() accessor Fix the condition checking the result of strchr() (which previously could result in an oops), and make the function return the number of bytes actively used. [ Impact: fix oops ] Signed-off-by: Jan Beulich <jbeulich@xxxxxxxxxx> Cc: Andi Kleen <andi@xxxxxxxxxxxxxx> LKML-Reference: <4A5F04B7020000780000AB59@xxxxxxxxxxxxxxxxxx> Signed-off-by: H. Peter Anvin <hpa@xxxxxxxxx> commit 44f167d376aa42d59d40406036e901a5cf03567f Merge: a9d90c81b536cc0567bdf22a8aaefe180a5b0f7a 34fdeb2d07102e07ecafe79dec170bd6733f2e56 Author: Takashi Iwai <tiwai@xxxxxxx> Date: Tue Jul 21 19:03:22 2009 +0200 Merge branch 'fix/misc' into for-linus * fix/misc: ALSA: ca0106 - Fix the max capture buffer size ALSA: OSS sequencer should be initialized after snd_seq_system_client_init ALSA: sound/isa: convert nested spin_lock_irqsave to spin_lock commit a9d90c81b536cc0567bdf22a8aaefe180a5b0f7a Merge: 36766835ed17f0a10039272693d3c17e8f8a5142 b04add956616b6d89ff21da749b46ad2bd58ef32 Author: Takashi Iwai <tiwai@xxxxxxx> Date: Tue Jul 21 19:03:20 2009 +0200 Merge branch 'fix/hda' into for-linus * fix/hda: ALSA: hda - Fix pin-setup for Sony VAIO with STAC9872 codecs ALSA: hda - Add quirk for Gateway T6834c laptop ALSA: hda_codec: Check for invalid zero connections commit 36766835ed17f0a10039272693d3c17e8f8a5142 Merge: 15c2ac051c730210b7ef2c93807b576e89e129d2 55fe27f7e2c9d24ce870136bd99ae67b020122d1 Author: Takashi Iwai <tiwai@xxxxxxx> Date: Tue Jul 21 19:03:19 2009 +0200 Merge branch 'fix/ctxfi' into for-linus * fix/ctxfi: ALSA: ctxfi: Swapped SURROUND-SIDE channels on emu20k2 commit 9e81eccf199d910e5ea8db377a43478e4eccd033 Author: Christian Lamparter <chunkeey@xxxxxx> Date: Sun Jul 19 05:05:37 2009 +0200 cfg80211: double free in __cfg80211_scan_done This patch fixes a double free corruption in __cfg80211_scan_done: ================================================ BUG kmalloc-512: Object already free ------------------------------------------------ INFO: Allocated in load_elf_binary+0x18b/0x19af age=6 INFO: Freed in load_elf_binary+0x104e/0x19af age=5 INFO: Slab 0xffffea0001bae4c0 objects=14 used=7 INFO: Object 0xffff88007e8a9918 @offset=6424 fp=0xffff88007e8a9488 Bytes b4 0xffff88007e8a9908: 00 00 00 00 00 00 00 00 5a 5a [...] Pid: 28705, comm: rmmod Tainted: P C 2.6.31-rc2-wl #1 Call Trace: [<ffffffff810da9f4>] print_trailer+0x14e/0x16e [<ffffffff810daa56>] object_err+0x42/0x61 [<ffffffff810dbcd9>] __slab_free+0x2af/0x396 [<ffffffffa0ec9694>] ? wiphy_unregister+0x92/0x142 [cfg80211] [<ffffffff810dd5e3>] kfree+0x13c/0x17a [<ffffffffa0ec9694>] ? wiphy_unregister+0x92/0x142 [cfg80211] [<ffffffffa0ec9694>] wiphy_unregister+0x92/0x142 [cfg80211] [<ffffffffa0eed163>] ieee80211_unregister_hw+0xc8/0xff [mac80211] [<ffffffffa0f3fbc8>] p54_unregister_common+0x31/0x66 [p54common] [...] FIX kmalloc-512: Object at 0xffff88007e8a9918 not freed The code path which leads to the *funny* double free: request = rdev->scan_req; dev = dev_get_by_index(&init_net, request->ifidx); /* * the driver was unloaded recently and * therefore dev_get_by_index will return NULL! */ if (!dev) goto out; [...] rdev->scan_req = NULL; /* not executed... */ [...] out: kfree(request); Signed-off-by: Christian Lamparter <chunkeey@xxxxxx> Signed-off-by: John W. Linville <linville@xxxxxxxxxxxxx> commit e56f0975360369347725c49654ecfe3792710429 Author: Alan Jenkins <alan-jenkins@xxxxxxxxxxxxxx> Date: Sat Jul 18 19:20:20 2009 +0100 rfkill: remove too-strict __must_check Some drivers don't need the return value of rfkill_set_hw_state(), so it should not be marked as __must_check. Signed-off-by: Alan Jenkins <alan-jenkins@xxxxxxxxxxxxxx> Acked-by: Johannes Berg <johannes@xxxxxxxxxxxxxxxx> Signed-off-by: John W. Linville <linville@xxxxxxxxxxxxx> commit c66284f2a421f6aebbafd56cb8b90b8e6a9cb2de Author: Luis R. Rodriguez <lrodriguez@xxxxxxxxxxx> Date: Thu Jul 16 10:17:35 2009 -0700 ath9k: Tune ANI function processing on AP mode during ANI reset For AP mode we must tune ANI specially for 2 GHz and for 5 GHz. We mask in only the flags we want to toggle on ath9k_hw_ani_control() through the ah->ani_function bitmask, this will take care of ignoring changes during ANI reset which we were disabling before. Testedy-by: Steven Luo <steven@xxxxxxxxxxxxx> Cc: Bennyam Malavazi <bennyam.malavazi@xxxxxxxxxxx> Cc: Jouni Malinen <jouni.malinen@xxxxxxxxxxx> Signed-off-by: Luis R. Rodriguez <lrodriguez@xxxxxxxxxxx> Signed-off-by: John W. Linville <linville@xxxxxxxxxxxxx> commit 7adfd5c71693b81e995283805b17aa4a2ee0ecd9 Author: Andy Whitcroft <apw@xxxxxxxxxxxxx> Date: Thu Jul 16 16:28:11 2009 +0100 rt2x00: Fix chipset detection for rt2500usb The commit below changed the semantics of rt2x00_check_rev so that it no longer checked the bottom 4 bits of the rev were non-zero. During that conversion this part of the check was not propogated to the rt2500usb initialisation. commit 358623c22c9fd837b3b1b444377037f72553dc9f Author: Ivo van Doorn <ivdoorn@xxxxxxxxx> Date: Tue May 5 19:46:08 2009 +0200 rt2x00: Simplify rt2x00_check_rev Without this check rt73 devices are miss recognised as rt2500 devices and two drivers are loaded. Preventing the device being used. Reinstate this check. Signed-off-by: Andy Whitcroft <apw@xxxxxxxxxxxxx> Signed-off-by: John W. Linville <linville@xxxxxxxxxxxxx> commit 6c95e2a2f0f0bf4c8880d5b74b2f7f359d352d03 Author: Niko Jokinen <ext-niko.k.jokinen@xxxxxxxxx> Date: Wed Jul 15 11:00:53 2009 +0300 nl80211: Memory leak fixed Potential memory leak via msg pointer in nl80211_get_key() function. Signed-off-by: Niko Jokinen <ext-niko.k.jokinen@xxxxxxxxx> Signed-off-by: Luciano Coelho <luciano.coelho@xxxxxxxxx> Signed-off-by: John W. Linville <linville@xxxxxxxxxxxxx> commit 3da7429ce92abd79b14e2275a28be144ce2c3013 Author: Larry Finger <Larry.Finger@xxxxxxxxxxxx> Date: Tue Jul 14 15:55:16 2009 -0500 rtl8187: Fix for kernel oops when unloading with LEDs enabled When rtl8187 is unloaded and CONFIG_RTL8187_LEDS is set, the kernel may oops when the module is unloaded as the workqueue for led_on was not being cancelled. This patch fixes the problem reported in http://marc.info/?l=linux-wireless&m=124742957615781&w=2. Reported-by: Gábor Stefanik <netrolller.3d@xxxxxxxxx> Signed-off-by: Larry Finger <Larry.Finger@lwfinger> Signed-off-by: John W. Linville <linville@xxxxxxxxxxxxx> commit 65b5a69860ed3bc4224368b804d381cd9cafa90a Author: Bob Copeland <me@xxxxxxxxxxxxxxx> Date: Mon Jul 13 21:57:39 2009 -0400 ath5k: temporarily disable crypto for AP mode Pavel Roskin reported some issues with using AP mode without nohwcrypt=1. Most likely this is similar to the problem fixed some time ago in ath9k by 3f53dd64f192450cb331c0fecfc26ca952fb242f, "ath9k: Fix hw crypto configuration for TKIP in AP mode." That only affects TKIP but it's easiest to just disable that and WEP too until we get a proper fix in. Signed-off-by: Bob Copeland <me@xxxxxxxxxxxxxxx> Signed-off-by: John W. Linville <linville@xxxxxxxxxxxxx> commit 35946a571099a50d2595c8866f07617d29558f53 Author: Javier Cardona <javier@xxxxxxxxxxx> Date: Mon Jul 13 17:00:10 2009 -0700 mac80211: use correct address for mesh Path Error For forwarded frames, we save the precursor address in addr1 in case it needs to be used to send a Path Error. mesh_path_discard_frame, however, was using addr2 instead of addr1 to send Path Error frames, so correct that and also make the comment regarding this more clear. Signed-off-by: Andrey Yurovsky <andrey@xxxxxxxxxxx> Signed-off-by: John W. Linville <linville@xxxxxxxxxxxxx> commit e603d9d824ff0eda98a65708a7e82112becf2dca Author: Johannes Berg <johannes@xxxxxxxxxxxxxxxx> Date: Mon Jul 13 13:25:58 2009 +0200 mac80211_hwsim: fix use after free Once the "data" pointer is freed, we can't be iterating to the next item in the list any more so we need to use list_for_each_entry_safe with a temporary variable. Signed-off-by: Johannes Berg <johannes@xxxxxxxxxxxxxxxx> Signed-off-by: John W. Linville <linville@xxxxxxxxxxxxx> commit 5d41635195c06fc3116ef3921fe85a9a3ea5ab20 Author: Johannes Berg <johannes@xxxxxxxxxxxxxxxx> Date: Mon Jul 13 13:04:30 2009 +0200 mac80211_hwsim: fix unregistration If you rmmod the module while associated, frames might be transmitted during unregistration -- which will crash if the hwsim%d interface is unregistered first, so only do that after all the virtual wiphys are gone. Signed-off-by: Johannes Berg <johannes@xxxxxxxxxxxxxxxx> Signed-off-by: John W. Linville <linville@xxxxxxxxxxxxx> commit 48ab3578a65c5168ecaaa3b21292b643b7bcc2d5 Author: Alan Jenkins <alan-jenkins@xxxxxxxxxxxxxx> Date: Sun Jul 12 17:03:13 2009 +0100 rfkill: fix rfkill_set_states() to set the hw state The point of this function is to set the software and hardware state at the same time. When I tried to use it, I found it was only setting the software state. Signed-off-by: Alan Jenkins <alan-jenkins@xxxxxxxxxxxxxx> Reviewed-by: Johannes Berg <johannes@xxxxxxxxxxxxxxxx> Signed-off-by: John W. Linville <linville@xxxxxxxxxxxxx> commit 8ef86c7bfac5b44529b73b84bc50d3cf574bfb4b Author: Pavel Roskin <proski@xxxxxxx> Date: Fri Jul 10 16:42:29 2009 -0400 mac80211: fix injection in monitor mode The location of the 802.11 header is calculated incorrectly due to a wrong placement of parentheses. Found by kmemcheck. Signed-off-by: Pavel Roskin <proski@xxxxxxx> Signed-off-by: John W. Linville <linville@xxxxxxxxxxxxx> commit f54c142725ad2ba33c3ee627873cb6966bf05447 Author: Johannes Berg <johannes@xxxxxxxxxxxxxxxx> Date: Fri Jul 10 21:41:39 2009 +0200 rfkill: allow toggling soft state in sysfs again Apparently there actually _are_ tools that try to set this in sysfs even though it wasn't supposed to be used this way without claiming first. Guess what: now that I've cleaned it all up it doesn't matter and we can simply allow setting the soft-block state in sysfs. Signed-off-by: Johannes Berg <johannes@xxxxxxxxxxxxxxxx> Tested-By: Darren Salt <linux@xxxxxxxxxxxxxxxxxxxxxxxxxxx> Signed-off-by: John W. Linville <linville@xxxxxxxxxxxxx> commit e2e414d92397c366396d13f627a98a20be92e509 Author: Johannes Berg <johannes@xxxxxxxxxxxxxxxx> Date: Fri Jul 10 11:38:14 2009 +0200 mac80211: disable mesh My kvm instance was complaining a lot about sleeping in atomic contexts in the mesh code, and it turns out that both mesh_path_add() and mpp_path_add() need to be able to sleep (they even use synchronize_rcu()!). I put in a might_sleep() to annotate that, but I see no way, at least right now, of actually making sure those functions are only called from process context since they are both called during TX and RX and the mesh code itself even calls them with rcu_read_lock() "held". Therefore, let's disable it completely for now. It's possible that I'm only seeing this because the hwsim's beaconing is broken and thus the peers aren't discovered right away, but it is possible that this happens even if beaconing is working, for a peer that doesn't exist or so. It should be possible to solve this by deferring the freeing of the tables to call_rcu() instead of using synchronize_rcu(), and also using atomic allocations, but maybe it makes more sense to rework the code to not call these from atomic contexts and defer more of the work to the workqueue. Right now, I can't work on either of those solutions though. Signed-off-by: Johannes Berg <johannes@xxxxxxxxxxxxxxxx> Signed-off-by: John W. Linville <linville@xxxxxxxxxxxxx> commit 7b80ece41aea0b73283c6df5a8f25d40aa13135d Author: Reinette Chatre <reinette.chatre@xxxxxxxxx> Date: Thu Jul 9 10:33:39 2009 -0700 iwlwifi: only update byte count table during aggregation The byte count table is only used for aggregation. Updating it in other cases caused fragmented frames to be dropped. This fixes http://www.intellinuxwireless.org/bugzilla/show_bug.cgi?id=2004 Signed-off-by: Reinette Chatre <reinette.chatre@xxxxxxxxx> Signed-off-by: John W. Linville <linville@xxxxxxxxxxxxx> commit 872ed1902f511a8947021c562f5728a5bf0640b5 Author: Reinette Chatre <reinette.chatre@xxxxxxxxx> Date: Thu Jul 9 10:33:37 2009 -0700 iwlwifi: only show active power level via sysfs This changes the power_level file to adhere to the "one value per file" sysfs rule. The user will know which power level was requested as it will be the number just written to this file. It is thus not necessary to create a new sysfs file for this value. In addition it fixes a problem where powertop's parsing expects this value to be the first value in this file without any descriptions. Signed-off-by: Reinette Chatre <reinette.chatre@xxxxxxxxx> cc: stable@xxxxxxxxxx Signed-off-by: John W. Linville <linville@xxxxxxxxxxxxx> commit 513a2396d8e8327aff1ce50bea3fb4f16ff3455b Author: Zhu Yi <yi.zhu@xxxxxxxxx> Date: Thu Jul 9 17:24:15 2009 +0800 iwmc3200wifi: fix NULL pointer dereference in iwm_if_free The driver private data is now based on wiphy. So we should not touch the private data after wiphy_free() is called. The patch fixes the potential NULL pointer dereference by making the iwm_wdev_free() the last one on the interface removal path. Signed-off-by: Zhu Yi <yi.zhu@xxxxxxxxx> Signed-off-by: John W. Linville <linville@xxxxxxxxxxxxx> commit 591d2fb02ea80472d846c0b8507007806bdd69cc Author: Thomas Gleixner <tglx@xxxxxxxxxxxxx> Date: Tue Jul 21 11:09:39 2009 +0200 genirq: Delegate irq affinity setting to the irq thread irq_set_thread_affinity() calls set_cpus_allowed_ptr() which might sleep, but irq_set_thread_affinity() is called with desc->lock held and can be called from hard interrupt context as well. The code has another bug as it does not hold a ref on the task struct as required by set_cpus_allowed_ptr(). Just set the IRQTF_AFFINITY bit in action->thread_flags. The next time the thread runs it migrates itself. Solves all of the above problems nicely. Add kerneldoc to irq_set_thread_affinity() while at it. Signed-off-by: Thomas Gleixner <tglx@xxxxxxxxxxxxx> LKML-Reference: <new-submission> commit f1015c447781729060c415f5133164c638561f25 Author: dingdinghua <dingdinghua85@xxxxxxxxx> Date: Wed Jul 15 21:42:05 2009 +0200 jbd: fix race between write_metadata_buffer and get_write_access The function journal_write_metadata_buffer() calls jbd_unlock_bh_state(bh_in) too early; this could potentially allow another thread to call get_write_access on the buffer head, modify the data, and dirty it, and allowing the wrong data to be written into the journal. Fortunately, if we lose this race, the only time this will actually cause filesystem corruption is if there is a system crash or other unclean shutdown of the system before the next commit can take place. Signed-off-by: dingdinghua <dingdinghua85@xxxxxxxxx> Acked-by: "Theodore Ts'o" <tytso@xxxxxxx> Signed-off-by: Jan Kara <jack@xxxxxxx> commit ebe119cd0929df4878f758ebf880cb435e4dcaaf Author: H. Peter Anvin <hpa@xxxxxxxxx> Date: Mon Jul 20 23:27:39 2009 -0700 x86: Fix movq immediate operand constraints in uaccess.h The movq instruction, generated by __put_user_asm() when used for 64-bit data, takes a sign-extended immediate ("e") not a zero-extended immediate ("Z"). Signed-off-by: H. Peter Anvin <hpa@xxxxxxxxx> Cc: Uros Bizjak <ubizjak@xxxxxxxxx> Cc: stable@xxxxxxxxxx commit 032e46cbf5fb1d768d7dec5631c224e22b4be46f Author: Jerone Young <jerone.young@xxxxxxxxxxxxx> Date: Mon Jul 20 22:14:59 2009 -0700 Input: atkbd - add force relese key quirk for Soltech TA12 Netbooks based on the Soltech TA12 do not send a key release for volume keys causing Linux to think the key is constantly being pressed forever. Added quirk data for forced release keys. BugLink: https://bugs.launchpad.net//bugs/397499 Signed-off-by: Jerone Young <jerone.young@xxxxxxxxxxxxx> Signed-off-by: Tim Gardner <tim.gardner@xxxxxxxxxxxxx> Signed-off-by: Dmitry Torokhov <dtor@xxxxxxx> commit 155b73529583c38f30fd394d692b15a893960782 Author: Uros Bizjak <ubizjak@xxxxxxxxx> Date: Sun Jul 19 18:06:35 2009 +0200 x86: Fix movq immediate operand constraints in uaccess_64.h arch/x86/include/asm/uaccess_64.h uses wrong asm operand constraint ("ir") for movq insn. Since movq sign-extends its immediate operand, "er" constraint should be used instead. Attached patch changes all uses of __put_user_asm in uaccess_64.h to use "er" when "q" insn suffix is involved. Patch was compile tested on x86_64 with defconfig. Signed-off-by: Uros Bizjak <ubizjak@xxxxxxxxx> Signed-off-by: H. Peter Anvin <hpa@xxxxxxxxx> Cc: stable@xxxxxxxxxx commit 77f32dfdd97857280ae1ebac64382ff082cd7ea0 Author: Denis Turischev <denis@xxxxxxxxxxxxxx> Date: Mon Jul 20 18:48:17 2009 +0300 x86: Add reboot fixup for SBC-fitPC2 The CompuLab SBC-fitPC2 board needs to reboot via BIOS. Signed-off-by: Denis Turischev <denis@xxxxxxxxxxxxxx> Signed-off-by: Mike Rapoport <mike@xxxxxxxxxxxxxx> Signed-off-by: H. Peter Anvin <hpa@xxxxxxxxx> commit 1f4cea3790bf44137192f441ee84af256e3bf809 Author: Wengang Wang <wen.gang.wang@xxxxxxxxxx> Date: Mon Jul 13 11:38:58 2009 +0800 ocfs2: Fail ocfs2_get_block() immediately when a block needs allocation ocfs2_get_block() does no allocation. Hole filling for writes should have happened farther up in the call chain. We detect this case and print an error, but we then continue with the function. We should be exiting immediately. Signed-off-by: Wengang Wang <wen.gang.wang@xxxxxxxxxx> Signed-off-by: Joel Becker <joel.becker@xxxxxxxxxx> commit cbfa9639aea5007313b75ec43b689d5f9e0c037d Author: Wengang Wang <wen.gang.wang@xxxxxxxxxx> Date: Mon Jul 13 11:38:23 2009 +0800 ocfs2: Fix error return in ocfs2_write_cluster() A typo caused ocfs2_write_cluster() to return 0 in some error cases. Fix it. Signed-off-by: Wengang Wang <wen.gang.wang@xxxxxxxxxx> Signed-off-by: Joel Becker <joel.becker@xxxxxxxxxx> commit aea1f7964ae6cba5eb419a958956deb9016b3341 Merge: 457f82bac659745f6d5052e4c493d92d62722c9c 04e448d9a386640a79a4aa71251aa1cdd314f662 Author: Linus Torvalds <torvalds@xxxxxxxxxxxxxxxxxxxx> Date: Mon Jul 20 16:49:45 2009 -0700 Merge git://git.kernel.org/pub/scm/linux/kernel/git/sam/kbuild-fixes * git://git.kernel.org/pub/scm/linux/kernel/git/sam/kbuild-fixes: vmlinux.lds.h: restructure BSS linker script macros kconfig: initialize the screen before using curses(3) functions kconfig: variable argument lists needs `stdarg.h' kbuild, deb-pkg: fix install scripts for posix sh commit 457f82bac659745f6d5052e4c493d92d62722c9c Merge: eb872c159f15a7d1b3aa2be9ac4cd66abaac6874 9c9ad6162e2aa1e528ed687ccab87fe681ebbef1 Author: Linus Torvalds <torvalds@xxxxxxxxxxxxxxxxxxxx> Date: Mon Jul 20 16:48:31 2009 -0700 Merge branch 'for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/ericvh/v9fs * 'for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/ericvh/v9fs: 9p: Fix incorrect parameters to v9fs_file_readn. 9p: Possible regression in p9_client_stat 9p: default 9p transport module fix commit eb872c159f15a7d1b3aa2be9ac4cd66abaac6874 Merge: ae42b9e1ca8969d52e51f5e461b2e89e180943dd 90a98b2f3f3647fb17667768a348b2b219f2a9f7 Author: Linus Torvalds <torvalds@xxxxxxxxxxxxxxxxxxxx> Date: Mon Jul 20 16:47:30 2009 -0700 Merge git://git.kernel.org/pub/scm/linux/kernel/git/sfrench/cifs-2.6 * git://git.kernel.org/pub/scm/linux/kernel/git/sfrench/cifs-2.6: cifs: free nativeFileSystem field before allocating a new one [CIFS] Distinguish posix opens and mkdirs from legacy mkdirs in stats commit ae42b9e1ca8969d52e51f5e461b2e89e180943dd Merge: 6cdbf734493d6e8f5afc6f539b82897772809d43 6843f405da9d0adf734d8f695311e29cc92a220c Author: Linus Torvalds <torvalds@xxxxxxxxxxxxxxxxxxxx> Date: Mon Jul 20 16:46:49 2009 -0700 Merge branch 'for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/vapier/blackfin * 'for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/vapier/blackfin: (21 commits) Blackfin: define HARDIRQ_BITS again for now arch/blackfin: Add kmalloc NULL tests Blackfin: add CPLB entries for Core B on-chip L1 SRAM regions Blackfin: work around anomaly 05000189 Blackfin: drop per-cpu loops_per_jiffy tracking Blackfin: fix bugs in GPIO resume code Blackfin: bf537-stamp: fix irq decl for AD7142 Blackfin: fix handling of IPEND in interrupt context save Blackfin: drop duplicate runtime checking of anomaly 05000448 Blackfin: fix incomplete renaming of the bfin-twi-lcd driver Blackfin: fix wrong CTS inversion Blackfin: update handling of anomaly 364 (wrong rev id in BF527-0.1) Blackfin: fix early_dma_memcpy() handling of busy channels Blackfin: handle BF561 Core B memory regions better when SMP=n Blackfin: fix miscompilation in lshrdi3 Blackfin: fix silent crash when no uClinux MTD filesystem exists Blackfin: restore exception banner when dumping crash info Blackfin: work around anomaly 05000281 Blackfin: update anomaly lists to match latest sheets/usage Blackfin: drop dead flash_probe call ... commit 6cdbf734493d6e8f5afc6f539b82897772809d43 Author: Nicolas Pitre <nico@xxxxxxx> Date: Sat Jul 18 20:34:37 2009 -0400 mvsdio: fix handling of partial word at the end of PIO transfer Standard data flow for MMC/SD/SDIO cards requires that the mvsdio controller be set for big endian operation. This is causing problems with buffers which length is not a multiple of 4 bytes as the last partial word doesn't get shifted all the way and stored properly in memory. Let's compensate for this. Signed-off-by: Nicolas Pitre <nico@xxxxxxxxxxx> CC: stable@xxxxxxxxxx Signed-off-by: Linus Torvalds <torvalds@xxxxxxxxxxxxxxxxxxxx> commit 0ecf24ef49d4f46ff5d6af357c3b9ec8d798160d Author: Sonic Zhang <sonic.zhang@xxxxxxxxxx> Date: Mon Jul 20 16:05:37 2009 +0100 blackfin: fix wrong CTS inversion The Blackfin serial headers were inverting the CTS value leading to wrong handling of the CTS line which broke CTS/RTS handling completely. Signed-off-by: Sonic Zhang <sonic.zhang@xxxxxxxxxx> Signed-off-by: Mike Frysinger <vapier@xxxxxxxxxx> Signed-off-by: Alan Cox <alan@xxxxxxxxxxxxxxx> Signed-off-by: Linus Torvalds <torvalds@xxxxxxxxxxxxxxxxxxxx> commit 23198fda7182969b619613a555f8645fdc3dc334 Author: Alan Cox <alan@xxxxxxxxxxxxxxx> Date: Mon Jul 20 16:05:27 2009 +0100 tty: fix chars_in_buffers This function does not have an error return and returning an error is instead interpreted as having a lot of pending bytes. Reported by Jeff Harris who provided a list of some of the remaining offenders. Signed-off-by: Alan Cox <alan@xxxxxxxxxxxxxxx> Signed-off-by: Linus Torvalds <torvalds@xxxxxxxxxxxxxxxxxxxx> commit 254702568da63ce6f5ad68e77d83b427da693654 Author: Julia Lawall <julia@xxxxxxx> Date: Mon Jul 20 16:05:07 2009 +0100 specialix.c: convert nested spin_lock_irqsave to spin_lock If spin_lock_irqsave is called twice in a row with the same second argument, the interrupt state at the point of the second call overwrites the value saved by the first call. Indeed, the second call does not need to save the interrupt state, so it is changed to a simple spin_lock. The semantic match that finds this problem is as follows: (http://www.emn.fr/x-info/coccinelle/) // <smpl> @@ expression lock1,lock2; expression flags; @@ *spin_lock_irqsave(lock1,flags) ... when != flags *spin_lock_irqsave(lock2,flags) // </smpl> Signed-off-by: Julia Lawall <julia@xxxxxxx> Signed-off-by: Alan Cox <alan@xxxxxxxxxxxxxxx> Signed-off-by: Linus Torvalds <torvalds@xxxxxxxxxxxxxxxxxxxx> commit c46a7aec556ffdbdb7357db0b05904b176cb3375 Author: Kay Sievers <kay.sievers@xxxxxxxx> Date: Mon Jul 20 16:04:55 2009 +0100 vc: create vcs(a) devices for consoles The buffer for the consoles are unconditionally allocated at con_init() time, which miss the creation of the vcs(a) devices. Since 2.6.30 (commit 4995f8ef9d3aac72745e12419d7fbaa8d01b1d81, 'vcs: hook sysfs devices into object lifetime instead of "binding"' to be exact) these devices are no longer created at open() and removed on close(), but controlled by the lifetime of the buffers. Reported-by: Gerardo Exequiel Pozzi <vmlinuz386@xxxxxxxxxxxx> Tested-by: Gerardo Exequiel Pozzi <vmlinuz386@xxxxxxxxxxxx> Cc: stable@xxxxxxxxxx Signed-off-by: Kay Sievers <kay.sievers@xxxxxxxx> Signed-off-by: Alan Cox <alan@xxxxxxxxxxxxxxx> Signed-off-by: Linus Torvalds <torvalds@xxxxxxxxxxxxxxxxxxxx> commit 44d8e4e1e9b941065eb7578669fe51eb65c73e63 Author: Subrata Modak <subrata@xxxxxxxxxxxxxxxxxx> Date: Tue Jul 14 01:19:31 2009 +0530 ocfs2: Fix compilation warning for fs/ocfs2/xattr.c gcc 4.4.1 generates the following build warning on i386: CC [M] fs/ocfs2/xattr.o fs/ocfs2/xattr.c: In function â??ocfs2_xattr_block_getâ??: fs/ocfs2/xattr.c:1055: warning: â??block_offâ?? may be used uninitialized in this function The following fix is based on a similar approach by David Howells few days back: http://lkml.org/lkml/2009/7/9/109, Signed-off-by: Subrata Modak<subrata@xxxxxxxxxxxxxxxxxx>, Signed-off-by: Joel Becker <joel.becker@xxxxxxxxxx> commit cefcb800fa9536bb6f29485c53e6c82a65b0c022 Author: Goldwyn Rodrigues <rgoldwyn@xxxxxxxxx> Date: Sat Jul 11 10:57:27 2009 -0500 ocfs2: Initialize count in aio_write before generic_write_checks generic_write_checks() expects count to be initialized to the size of the write. Writes to files open with O_DIRECT|O_LARGEFILE write 0 bytes because count is uninitialized. Signed-off-by: Goldwyn Rodrigues <rgoldwyn@xxxxxxx> Signed-off-by: Joel Becker <joel.becker@xxxxxxxxxx> commit 1b0d92244ff2434a98272f6d2525da32fc230f19 Author: Wolfgang Grandegger <wg@xxxxxxxxxxxxxx> Date: Mon Jul 20 04:06:41 2009 +0000 can: switch carrier on if device was stopped while in bus-off state This patch fixes a problem when a device is stopped while in the bus-off state. Then the carrier remains off forever. Signed-off-by: Kurt Van Dijck <kurt.van.dijck@xxxxxxxxx> Signed-off-by: Wolfgang Grandegger <wg@xxxxxxxxxxxxxx> Signed-off-by: David S. Miller <davem@xxxxxxxxxxxxx> commit b3d0df7ca35018ebbc24fd102ed7021cf593ba74 Author: Wolfgang Grandegger <wg@xxxxxxxxxxxxxx> Date: Mon Jul 20 04:06:40 2009 +0000 can: restart device even if dev_alloc_skb() fails If dev_alloc_skb() failed in can_restart(), the device was left behind in the bus-off state. This patch restarts the device nevertheless. Signed-off-by: Kurt Van Dijck <kurt.van.dijck@xxxxxx> Signed-off-by: Wolfgang Grandegger <wg@xxxxxxxxxxxxxx> Signed-off-by: David S. Miller <davem@xxxxxxxxxxxxx> commit e2372902d84af3443d421a984d812ec87eeb0758 Author: Wolfgang Grandegger <wg@xxxxxxxxxxxxxx> Date: Mon Jul 20 04:06:39 2009 +0000 can: sja1000: remove duplicated includes Remove duplicated #include('s) in drivers/net/can/sja1000/sja1000.c Signed-off-by: Huang Weiyi <weiyi.huang@xxxxxxxxx> Signed-off-by: Wolfgang Grandegger <wg@xxxxxxxxxxxxxx> Signed-off-by: David S. Miller <davem@xxxxxxxxxxxxx> commit 90a98b2f3f3647fb17667768a348b2b219f2a9f7 Author: Jeff Layton <jlayton@xxxxxxxxxx> Date: Mon Jul 20 13:40:52 2009 -0400 cifs: free nativeFileSystem field before allocating a new one ...otherwise, we'll leak this memory if we have to reconnect (e.g. after network failure). Signed-off-by: Jeff Layton <jlayton@xxxxxxxxxx> CC: Stable <stable@xxxxxxxxxx> Signed-off-by: Steve French <sfrench@xxxxxxxxxx> commit 90cb665937a2aab16d9aa60f22908195c16dcffd Author: Cesar Eduardo Barros <cesarb@xxxxxxxxxx> Date: Sun Jul 19 08:03:32 2009 +0000 New device ID for sc92031 [1088:2031] rain_maker@xxxxxxxxxxxxxx wrote: > Hello cesar, > > In a recent thread in a german linux forum, a user reported his PIC > NIC not being recognized by the kernel. > > Fortunately he provided enough information and I was able to help him > and get the device working with the sc92031 driver. > > The device ID is [1088:2031] (Vendor is called "Microcomputer Systems > (M) Son"), here is the respective thread in "ubuntuusers.de" > > http://forum.ubuntuusers.de/topic/lankarte-unter-xubuntu-wird-nicht-erkannt/ > > (Although you might not speak german, the code provided will show > you, that the device is actually working with your driver). > > It would be nice, if you include this new device ID to the > sc92031-driver. > > Regards, > > Axel Köllhofer (aka Rain_Maker) Cc: rain_maker@xxxxxxxxxxxxxx Signed-off-by: Cesar Eduardo Barros <cesarb@xxxxxxxxxx> Signed-off-by: David S. Miller <davem@xxxxxxxxxxxxx> commit e445bb4ed677f8df0d4f8c1abc15c668bd182f28 Author: Ken Kawasaki <ken_kawasaki@xxxxxxxxxxxxxxx> Date: Sun Jul 19 13:08:12 2009 +0000 3c589_cs: re-initialize the multicast in the tc589_reset 3c589_cs: re-initialize the multicast in the tc589_reset, and spin_lock the set_multicast_list function. Signed-off-by: Ken Kawasaki <ken_kawasaki@xxxxxxxxxxxxxxx> Signed-off-by: David S. Miller <davem@xxxxxxxxxxxxx> commit f249fb783092471a4808e5fc5bda071d2724810d Author: Rémi Denis-Courmont <remi.denis-courmont@xxxxxxxxx> Date: Mon Jul 20 00:47:04 2009 +0000 Fix error return for setsockopt(SO_TIMESTAMPING) I guess it should be -EINVAL rather than EINVAL. I have not checked when the bug came in. Perhaps a candidate for -stable? Signed-off-by: Rémi Denis-Courmont <remi.denis-courmont@xxxxxxxxx> Signed-off-by: David S. Miller <davem@xxxxxxxxxxxxx> commit e4135c2da11c337e3759f98727c4819ba2a849fa Author: Dhananjay Phadke <dhananjay@xxxxxxxxxx> Date: Fri Jul 17 15:27:08 2009 +0000 netxen: fix thermal check and shutdown Check temperature for all PCI functions, that can allow graceful shutdown of all interfaces on the overheated card. Old code was only monitoring temperature for function 0 only. Signed-off-by: Dhananjay Phadke <dhananjay@xxxxxxxxxx> Signed-off-by: David S. Miller <davem@xxxxxxxxxxxxx> commit b2af9cb06d4de1b507ec0fd779ec2ecedee1480a Author: Dhananjay Phadke <dhananjay@xxxxxxxxxx> Date: Fri Jul 17 15:27:07 2009 +0000 netxen: fix deadlock on dev close netxen: fix deadlock on dev close The tx ring accounting fix in commit cb2107be43d2fc5eadec58b92b ("netxen: fix tx ring accounting") introduced intermittent deadlock when inteface is going down. This was possibly combined effect of speculative tx pause, calling netif_tx_lock instead of queue lock and unclean synchronization with napi which could end up unmasking interrupt. Signed-off-by: Dhananjay Phadke <dhananjay@xxxxxxxxxx> Signed-off-by: David S. Miller <davem@xxxxxxxxxxxxx> commit cf981ffb31e8f41f4899a56560f81322f94f22d1 Author: Dhananjay Phadke <dhananjay@xxxxxxxxxx> Date: Fri Jul 17 15:27:06 2009 +0000 netxen: fix context deletion sequence o Use D3 reset context deletion for NX2031, it cleans up more resources in the firmware. o Release rx buffers after hardware context has been reset. o Delete tx context after rx context, some firmware control commands are sent on tx context, so it should be the last to go. Signed-off-by: Dhananjay Phadke <dhananjay@xxxxxxxxxx> Signed-off-by: David S. Miller <davem@xxxxxxxxxxxxx> commit 3ba81f3ece3cfa4ffb06d21ac93b8cad7fbe6a73 Author: Ben Dooks <ben@xxxxxxxxxxxx> Date: Thu Jul 16 05:24:08 2009 +0000 net: Micrel KS8851 SPI network driver Network driver for the SPI version of the Micrel KS8851 network chip. Signed-off-by: Ben Dooks <ben@xxxxxxxxxxxx> Signed-off-by: David S. Miller <davem@xxxxxxxxxxxxx> commit 55fe27f7e2c9d24ce870136bd99ae67b020122d1 Author: Frank Roth <frashman@xxxxxxxxxx> Date: Mon Jul 20 17:00:14 2009 +0200 ALSA: ctxfi: Swapped SURROUND-SIDE channels on emu20k2 On Soundblaster X-FI Titanium with emu20k2 the SIDE and SURROUND channels were swapped and wrong. I double checked it with connector colors and creative soundblaster windows drivers. So I swapped them to the true order. Now "speaker-test -c6" and "speaker-test -c8" are working fine. Signed-off-by: Frank Roth <frashman@xxxxxxxxxx> Signed-off-by: Takashi Iwai <tiwai@xxxxxxx> commit e547bc1eccf539b7403138d8ded913ffd2b7fd0d Author: John Dykstra <john.dykstra1@xxxxxxxxx> Date: Fri Jul 17 09:23:22 2009 +0000 tcp: Use correct peer adr when copying MD5 keys When the TCP connection handshake completes on the passive side, a variety of state must be set up in the "child" sock, including the key if MD5 authentication is being used. Fix TCP for both address families to label the key with the peer's destination address, rather than the address from the listening sock, which is usually the wildcard. Reported-by: Stephen Hemminger <shemminger@xxxxxxxxxx> Signed-off-by: John Dykstra <john.dykstra1@xxxxxxxxx> Signed-off-by: David S. Miller <davem@xxxxxxxxxxxxx> commit e3afe7b75ed8f809c1473ea9b39267487c187ccb Author: John Dykstra <john.dykstra1@xxxxxxxxx> Date: Thu Jul 16 05:04:51 2009 +0000 tcp: Fix MD5 signature checking on IPv4 mapped sockets Fix MD5 signature checking so that an IPv4 active open to an IPv6 socket can succeed. In particular, use the correct address family's signature generation function for the SYN/ACK. Reported-by: Stephen Hemminger <shemminger@xxxxxxxxxx> Signed-off-by: John Dykstra <john.dykstra1@xxxxxxxxx> Signed-off-by: David S. Miller <davem@xxxxxxxxxxxxx> commit a50a97d415d839e6db9df288ff0205528e52c03e Author: Wan ZongShun <mcuos.com@xxxxxxxxx> Date: Thu Jul 16 02:55:05 2009 +0000 Add mac driver for w90p910 Add mac driver support for evaluation board based on w90p910. Signed-off-by: Wan ZongShun <mcuos.com@xxxxxxxxx> Signed-off-by: David S. Miller <davem@xxxxxxxxxxxxx> commit 34fdeb2d07102e07ecafe79dec170bd6733f2e56 Author: Takashi Iwai <tiwai@xxxxxxx> Date: Mon Jul 20 15:42:51 2009 +0200 ALSA: ca0106 - Fix the max capture buffer size The capture buffer size with 64kB seems broken with CA0106. At least, either the update timing or the DMA position is wrong, and this screws up pulseaudio badly. This patch restricts the max buffer size less than that to make life a bit easier. Signed-off-by: Takashi Iwai <tiwai@xxxxxxx> Cc: <stable@xxxxxxxxxx> commit b04add956616b6d89ff21da749b46ad2bd58ef32 Author: Takashi Iwai <tiwai@xxxxxxx> Date: Mon Jul 20 08:01:36 2009 +0200 ALSA: hda - Fix pin-setup for Sony VAIO with STAC9872 codecs The recent rewrite of the codec parser for STAC9872 caused a regression for some Sony VAIO models that don't give proper pin default configs by BIOS. Even using model=vaio doesn't work because the pin definitions are set after the pin overrides. This patch fixes the pin definitions in patch_stac9872() to be put in the right place before the pin overrides. Also the patch adds the new quirk entry for VAIO F/S to have the correct pin default configs. Signed-off-by: Takashi Iwai <tiwai@xxxxxxx> Cc: <stable@xxxxxxxxxx> commit 42b95f0c6b524b5a670dd17533a3522db368f600 Author: Hao Song <baritono.tux@xxxxxxxxx> Date: Mon Jul 20 15:01:16 2009 +0800 ALSA: hda - Add quirk for Gateway T6834c laptop Gateway T6834c laptops need EAPD always on while the default behavior for the STAC9205 reference board is to turn it off upon every HP plug. By using the special "eapd" model, which is first introduced for Gateway T1616 laptops for this same reason, this peculiarity can be properly handled. Signed-off-by: Hao Song <baritono.tux@xxxxxxxxx> Cc: <stable@xxxxxxxxxx> Signed-off-by: Takashi Iwai <tiwai@xxxxxxx> commit 76c317d6e5cb7f58541879006d39774596962715 Author: Julia Lawall <julia@xxxxxxx> Date: Sun Jul 19 17:26:13 2009 +0200 HID: Move dereferences below a NULL test If the NULL test is necessary, then the dereferences should be moved below the NULL test. The semantic patch that makes this change is as follows: (http://www.emn.fr/x-info/coccinelle/) // <smpl> @@ type T; expression E,E1; identifier i,fld; statement S; @@ - T i = E->fld; + T i; ... when != E=E1 when != i if (E == NULL||...) S + i = E->fld; // </smpl> Signed-off-by: Julia Lawall <julia@xxxxxxx> Signed-off-by: Jiri Kosina <jkosina@xxxxxxx> commit f96e0808212ca284cc9398d7cd3f573786c1d890 Author: Jaswinder Singh Rajput <jaswinder@xxxxxxxxxx> Date: Sun Jul 19 21:58:34 2009 +0530 ALSA: OSS sequencer should be initialized after snd_seq_system_client_init When build SND_SEQUENCER in kernel then OSS sequencer(alsa_seq_oss_init) is initialized before System (snd_seq_system_client_init) which leads to memory leak : unreferenced object 0xf6b0e680 (size 256): comm "swapper", pid 1, jiffies 4294670753 backtrace: [<c108ac5c>] create_object+0x135/0x204 [<c108adfe>] kmemleak_alloc+0x26/0x4c [<c1087de2>] kmem_cache_alloc+0x72/0xff [<c126d2ac>] seq_create_client1+0x22/0x160 [<c126e3b6>] snd_seq_create_kernel_client+0x72/0xef [<c1485a05>] snd_seq_oss_create_client+0x86/0x142 [<c1485920>] alsa_seq_oss_init+0xf6/0x155 [<c1001059>] do_one_initcall+0x4f/0x111 [<c14655be>] kernel_init+0x115/0x166 [<c10032af>] kernel_thread_helper+0x7/0x10 [<ffffffff>] 0xffffffff unreferenced object 0xf688a580 (size 64): comm "swapper", pid 1, jiffies 4294670753 backtrace: [<c108ac5c>] create_object+0x135/0x204 [<c108adfe>] kmemleak_alloc+0x26/0x4c [<c1087de2>] kmem_cache_alloc+0x72/0xff [<c126f964>] snd_seq_pool_new+0x1c/0xb8 [<c126d311>] seq_create_client1+0x87/0x160 [<c126e3b6>] snd_seq_create_kernel_client+0x72/0xef [<c1485a05>] snd_seq_oss_create_client+0x86/0x142 [<c1485920>] alsa_seq_oss_init+0xf6/0x155 [<c1001059>] do_one_initcall+0x4f/0x111 [<c14655be>] kernel_init+0x115/0x166 [<c10032af>] kernel_thread_helper+0x7/0x10 [<ffffffff>] 0xffffffff unreferenced object 0xf6b0e480 (size 256): comm "swapper", pid 1, jiffies 4294670754 backtrace: [<c108ac5c>] create_object+0x135/0x204 [<c108adfe>] kmemleak_alloc+0x26/0x4c [<c1087de2>] kmem_cache_alloc+0x72/0xff [<c12725a0>] snd_seq_create_port+0x51/0x21c [<c126de50>] snd_seq_ioctl_create_port+0x57/0x13c [<c126d07a>] snd_seq_do_ioctl+0x4a/0x69 [<c126d0de>] snd_seq_kernel_client_ctl+0x33/0x49 [<c1485a74>] snd_seq_oss_create_client+0xf5/0x142 [<c1485920>] alsa_seq_oss_init+0xf6/0x155 [<c1001059>] do_one_initcall+0x4f/0x111 [<c14655be>] kernel_init+0x115/0x166 [<c10032af>] kernel_thread_helper+0x7/0x10 [<ffffffff>] 0xffffffff The correct order should be : System (snd_seq_system_client_init) should be initialized before OSS sequencer(alsa_seq_oss_init) which is equivalent to : 1. insmod sound/core/seq/snd-seq-device.ko 2. insmod sound/core/seq/snd-seq.ko 3. insmod sound/core/seq/snd-seq-midi-event.ko 4. insmod sound/core/seq/oss/snd-seq-oss.ko Including sound/core/seq/oss/Makefile after other seq modules fixes the ordering and memory leak. Signed-off-by: Jaswinder Singh Rajput <jaswinderrajput@xxxxxxxxx> Signed-off-by: Takashi Iwai <tiwai@xxxxxxx> commit 79ef2bb01445400def20c7993b27fbcad27ca95f Author: Thomas Gleixner <tglx@xxxxxxxxxxxxx> Date: Sun Jul 19 17:09:12 2009 +0200 clocksource: Prevent NULL pointer dereference Writing a zero length string to sys/.../current_clocksource will cause a NULL pointer dereference if the clock events system is in one shot (highres or nohz) mode. Pointed-out-by: Dan Carpenter <error27@xxxxxxxxx> LKML-Reference: <alpine.DEB.2.00.0907191545580.12306@bicker> Signed-off-by: Thomas Gleixner <tglx@xxxxxxxxxxxxx> commit fcb2954b9621dfeaca92f6a11dac69cfdfaa6705 Author: Julia Lawall <julia@xxxxxxx> Date: Sat Jul 18 17:26:14 2009 +0200 ALSA: sound/isa: convert nested spin_lock_irqsave to spin_lock If spin_lock_irqsave is called twice in a row with the same second argument, the interrupt state at the point of the second call overwrites the value saved by the first call. Indeed, the second call does not need to save the interrupt state, so it is changed to a simple spin_lock. The semantic match that finds this problem is as follows: (http://www.emn.fr/x-info/coccinelle/) // <smpl> @@ expression lock1,lock2; expression flags; @@ *spin_lock_irqsave(lock1,flags) ... when != flags *spin_lock_irqsave(lock2,flags) // </smpl> Signed-off-by: Julia Lawall <julia@xxxxxxx> Signed-off-by: Takashi Iwai <tiwai@xxxxxxx> commit 2e9bf247066a293ebcd4672ddd487808ab5f2d1b Author: Jaroslav Kysela <perex@xxxxxxxx> Date: Sat Jul 18 11:48:19 2009 +0200 ALSA: hda_codec: Check for invalid zero connections To prevent "Too many connections" message and the error path for some HDMI codecs (which makes onboard audio unusable), check for invalid zero connections for CONNECT_LIST verb. Signed-off-by: Jaroslav Kysela <perex@xxxxxxxx> Signed-off-by: Takashi Iwai <tiwai@xxxxxxx> commit 4fbfff76079a5c0e1751b0ddf53160d33f7831e7 Author: Rakib Mullick <rakib.mullick@xxxxxxxxx> Date: Fri Jul 17 20:13:22 2009 +0600 virtio_blk: mark virtio_blk with __refdata to kill spurious section mismatch The variable virtio_blk references the function virtblk_probe() (which is in .devinit section) and also references the function virtblk_remove() ( which is in .devexit section). So, virtio_blk simultaneously refers .devinit and .devexit section. To avoid this messup, we mark virtio_blk as __refdata. We were warned by the following warning: LD drivers/block/built-in.o WARNING: drivers/block/built-in.o(.data+0xc8dc): Section mismatch in reference from the variable virtio_blk to the function .devinit.text:virtblk_probe() The variable virtio_blk references the function __devinit virtblk_probe() If the reference is valid then annotate the variable with __init* or __refdata (see linux/init.h) or name the variable: *driver, *_template, *_timer, *_sht, *_ops, *_probe, *_probe_one, *_console, WARNING: drivers/block/built-in.o(.data+0xc8e0): Section mismatch in reference from the variable virtio_blk to the function .devexit.text:virtblk_remove() The variable virtio_blk references the function __devexit virtblk_remove() If the reference is valid then annotate the variable with __exit* (see linux/init.h) or name the variable: *driver, *_template, *_timer, *_sht, *_ops, *_probe, *_probe_one, *_console, Signed-off-by: Rakib Mullick <rakib.mullick@xxxxxxxxx> Signed-off-by: Tejun Heo <tj@xxxxxxxxxx> commit 4841158b26e28e1476eed84c7347c18f11317750 Author: Pavel Roskin <proski@xxxxxxx> Date: Sat Jul 18 16:46:02 2009 -0400 timer: Avoid reading uninitialized data timer->expires may be uninitialized, so check timer_pending() before touching timer->expires to pacify kmemcheck. Signed-off-by: Pavel Roskin <proski@xxxxxxx> LKML-Reference: <20090718204602.5191.360.stgit@xxxxxxxxxxxxx> Signed-off-by: Thomas Gleixner <tglx@xxxxxxxxxxxxx> commit a7571a5c8887b328c0e036fe8cdb60d56809c120 Merge: 78af08d90b8f745044b1274430bc4bc6b2b27aca 64e8be6ebdb8212898781fff7722ff2b0eb76131 Author: Linus Torvalds <torvalds@xxxxxxxxxxxxxxxxxxxx> Date: Sat Jul 18 11:59:33 2009 -0700 Merge master.kernel.org:/home/rmk/linux-2.6-arm * master.kernel.org:/home/rmk/linux-2.6-arm: ARM: Realview & Versatile: Fix i2c_board_info definitions [ARM] 5608/1: Updated U300 defconfig [ARM] 5606/1: Fix ep93xx watchdog driver headers [ARM] 5594/1: Correct U300 VIC init PM setting [ARM] 5595/1: ep93xx: missing header in dma-m2p.c [ARM] Kirkwood: Correct header define [ARM] pxa: fix ULPI_{DIR,NXT,STP} MFP defines backlight: fix pwm_bl.c to notify platform code when suspending [ARM] pxa: use kzalloc() in pxa_init_gpio_chip() [ARM] pxa: correct I2CPWR clock for pxa3xx pxamci: correct DMA flow control ARM: add support for the EET board, based on the i.MX31 pcm037 module pcm037: add MT9T031 camera support Armadillo 500 add NAND flash device support (resend). ARM MXC: Armadillo 500 add NOR flash device support (resend). mx31: remove duplicated #include commit 64e8be6ebdb8212898781fff7722ff2b0eb76131 Author: Russell King <rmk@xxxxxxxxxxxxxxxxxxxxxxx> Date: Sat Jul 18 15:51:55 2009 +0100 ARM: Realview & Versatile: Fix i2c_board_info definitions Fix i2c_board_info definitions - we were defining the 'type' field of these structures twice since the first argument of I2C_BOARD_INFO sets this field. Move the second definition into I2C_BOARD_INFO(). Signed-off-by: Russell King <rmk+kernel@xxxxxxxxxxxxxxxx> Acked-by: Jean Delvare <khali@xxxxxxxxxxxx> Acked-by: Ben Dooks <ben-linux@xxxxxxxxx> commit 6301cb95c119ebf324bb96ee226fa9ddffad80a7 Author: Thomas Gleixner <tglx@xxxxxxxxxxxxx> Date: Fri Jul 17 14:15:47 2009 +0200 sched: fix nr_uninterruptible accounting of frozen tasks really commit e3c8ca8336 (sched: do not count frozen tasks toward load) broke the nr_uninterruptible accounting on freeze/thaw. On freeze the task is excluded from accounting with a check for (task->flags & PF_FROZEN), but that flag is cleared before the task is thawed. So while we prevent that the task with state TASK_UNINTERRUPTIBLE is accounted to nr_uninterruptible on freeze we decrement nr_uninterruptible on thaw. Use a separate flag which is handled by the freezing task itself. Set it before calling the scheduler with TASK_UNINTERRUPTIBLE state and clear it after we return from frozen state. Cc: <stable@xxxxxxxxxx> Signed-off-by: Thomas Gleixner <tglx@xxxxxxxxxxxxx> commit a468d389349a7560249b355cdb6d2097ea1616c9 Author: Thomas Gleixner <tglx@xxxxxxxxxxxxx> Date: Fri Jul 17 14:15:46 2009 +0200 sched: fix load average accounting vs. cpu hotplug The new load average code clears rq->calc_load_active on CPU_ONLINE. That's wrong as the new onlined CPU might have got a scheduler tick already and accounted the delta to the stale value of the time we offlined the CPU. Clear the value when we cleanup the dead CPU instead. Also move the update of the calc_load_update time for the newly online CPU to CPU_UP_PREPARE to avoid that the CPU plays catch up with the stale update time value. Signed-off-by: Thomas Gleixner <tglx@xxxxxxxxxxxxx> commit 8bcdbe427924a1e4b4e4cf68020e92e9f93fe011 Author: Catalin Marinas <catalin.marinas@xxxxxxx> Date: Tue Jul 14 10:52:55 2009 +0100 x86: Include all of .data.* sections in _edata on 64-bit The .data.read_mostly and .data.cacheline_aligned sections aren't covered by the _sdata .. _edata range on x86-64. This affects kmemleak reporting leading to possible false positives by not scanning the whole data section. Signed-off-by: Catalin Marinas <catalin.marinas@xxxxxxx> Tested-by: Alexey Fisher <bug-track@xxxxxxxxxxxxxxxxx> Acked-by: Sam Ravnborg <sam@xxxxxxxxxxxx> Cc: Pekka Enberg <penberg@xxxxxxxxxxxxxx> LKML-Reference: <1247565175.28240.37.camel@xxxxxxxxxxxxxxxxxxxxxxxx> Signed-off-by: Ingo Molnar <mingo@xxxxxxx> Cc: Sam Ravnborg <sam@xxxxxxxxxxxx> commit 6aa542a694dc9ea4344a8a590d2628c33d1b9431 Author: Alexey Fisher <bug-track@xxxxxxxxxxxxxxxxx> Date: Wed Jul 15 14:16:09 2009 +0200 x86: Add quirk for Intel DG45ID board to avoid low memory corruption AMI BIOS with low memory corruption was found on Intel DG45ID board (Bug 13710). Add this board to the blacklist - in the (somewhat optimistic) hope of future boards/BIOSes from Intel not having this bug. Also see: http://bugzilla.kernel.org/show_bug.cgi?id=13736 Signed-off-by: Alexey Fisher <bug-track@xxxxxxxxxxxxxxxxx> Cc: ykzhao <yakui.zhao@xxxxxxxxx> Cc: alan@xxxxxxxxxxxxxxxxxxx Cc: <stable@xxxxxxxxxx> LKML-Reference: <1247660169-4503-1-git-send-email-bug-track@xxxxxxxxxxxxxxxxx> Signed-off-by: Ingo Molnar <mingo@xxxxxxx> commit e5d490b252423605a77c54b2e35b10ea663763df Author: Mel Gorman <mel@xxxxxxxxx> Date: Wed Jul 15 12:23:11 2009 +0100 profile: Suppress warning about large allocations when profile=1 is specified When profile= is used, a large buffer is allocated early at boot. This can be larger than what the page allocator can provide so it prints a warning. However, the caller is able to handle the situation so this patch suppresses the warning. Signed-off-by: Mel Gorman <mel@xxxxxxxxx> Reviewed-by: KOSAKI Motohiro <kosaki.motohiro@xxxxxxxxxxxxxx> Cc: Linux Memory Management List <linux-mm@xxxxxxxxx> Cc: Heinz Diehl <htd@xxxxxxxxxxxxxxxxx> Cc: David Miller <davem@xxxxxxxxxxxxx> Cc: Arnaldo Carvalho de Melo <acme@xxxxxxxxxx> Cc: Mel Gorman <mel@xxxxxxxxx> Cc: Andrew Morton <akpm@xxxxxxxxxxxxxxxxxxxx> LKML-Reference: <1247656992-19846-3-git-send-email-mel@xxxxxxxxx> Signed-off-by: Ingo Molnar <mingo@xxxxxxx> commit 1483b19f8f5e8ad0c8816de368b099322dad4db5 Author: Anton Blanchard <anton@xxxxxxxxx> Date: Thu Jul 16 15:44:29 2009 +0200 perf_counter: Make call graph option consistent perf record uses -g for logging call graph data but perf report uses -c to print call graph data. Be consistent and use -g everywhere for call graph data. Also update the help text to reflect the current default - fractal,0.5 Signed-off-by: Anton Blanchard <anton@xxxxxxxxx> Acked-by: Frederic Weisbecker <fweisbec@xxxxxxxxx> Signed-off-by: Peter Zijlstra <a.p.zijlstra@xxxxxxxxx> LKML-Reference: <20090716104817.803604373@xxxxxxxxx> Signed-off-by: Ingo Molnar <mingo@xxxxxxx> commit 4bba828dd9bb950ad1fe340ef148a5436a10f131 Author: Anton Blanchard <anton@xxxxxxxxx> Date: Thu Jul 16 15:44:29 2009 +0200 perf_counter: Add perf record option to log addresses Add the -d or --data option to log event addresses (eg page faults). Signed-off-by: Anton Blanchard <anton@xxxxxxxxx> Signed-off-by: Peter Zijlstra <a.p.zijlstra@xxxxxxxxx> LKML-Reference: <20090716104817.697698033@xxxxxxxxx> Signed-off-by: Ingo Molnar <mingo@xxxxxxx> commit ed900c054b541254f0ce5cedaf75206e29bd614e Author: Anton Blanchard <anton@xxxxxxxxx> Date: Thu Jul 16 15:44:29 2009 +0200 perf_counter: Log vfork as a fork event Right now we don't output vfork events. Even though we should always see an exec after a vfork, we may get perfcounter samples between the vfork and exec. These samples can lead to some confusion when parsing perfcounter data. To keep things consistent we should always log a fork event. It will result in a little more log data, but is less confusing to trace parsing tools. Signed-off-by: Anton Blanchard <anton@xxxxxxxxx> Signed-off-by: Peter Zijlstra <a.p.zijlstra@xxxxxxxxx> LKML-Reference: <20090716104817.589309391@xxxxxxxxx> Signed-off-by: Ingo Molnar <mingo@xxxxxxx> commit 11b5f81e1b0ea0bc84fe32f0a27054e052b2bf84 Author: Anton Blanchard <anton@xxxxxxxxx> Date: Thu Jul 16 15:44:29 2009 +0200 perf_counter: Synthesize VDSO mmap event perf record synthesizes mmap events for the running process. Right now it just catches file mappings, but we can check for the vdso symbol and add that too. Signed-off-by: Anton Blanchard <anton@xxxxxxxxx> Signed-off-by: Peter Zijlstra <a.p.zijlstra@xxxxxxxxx> LKML-Reference: <20090716104817.517264409@xxxxxxxxx> Signed-off-by: Ingo Molnar <mingo@xxxxxxx> commit 413ee3b48ab582ffea33e7e140c7a2c5ea657e9a Author: Anton Blanchard <anton@xxxxxxxxx> Date: Thu Jul 16 15:15:52 2009 +0200 perf_counter: Make sure we dont leak kernel memory to userspace There are a few places we are leaking tiny amounts of kernel memory to userspace. This happens when writing out strings because we always align the end to 64 bits. To avoid this we should always use an appropriately sized temporary buffer and ensure it is zeroed. Since d_path assembles the string from the end of the buffer backwards, we need to add 64 bits after the buffer to allow for alignment. We also need to copy arch_vma_name to the temporary buffer, because if we use it directly we may end up copying to userspace a number of bytes after the end of the string constant. Signed-off-by: Anton Blanchard <anton@xxxxxxxxx> Signed-off-by: Peter Zijlstra <a.p.zijlstra@xxxxxxxxx> LKML-Reference: <20090716104817.273972048@xxxxxxxxx> Signed-off-by: Ingo Molnar <mingo@xxxxxxx> commit 54fdc5816631b43ba55fc3206d7add2d85850bc6 Author: Fabio Checconi <fabio@xxxxxxxxxxxxxxxx> Date: Thu Jul 16 12:32:27 2009 +0200 sched: Account for vruntime wrapping I spotted two sites that didn't take vruntime wrap-around into account. Fix these by creating a comparison helper that does do so. Signed-off-by: Fabio Checconi <fabio@xxxxxxxxxxxxxxxx> Signed-off-by: Peter Zijlstra <a.p.zijlstra@xxxxxxxxx> LKML-Reference: <new-submission> Signed-off-by: Ingo Molnar <mingo@xxxxxxx> commit 78af08d90b8f745044b1274430bc4bc6b2b27aca Merge: a1cc1ba7aec1ba41317d227b1fe8d0f8c0cec232 ecca0683230b83e8f830ff157911fad20bc43015 Author: Linus Torvalds <torvalds@xxxxxxxxxxxxxxxxxxxx> Date: Fri Jul 17 21:19:50 2009 -0700 Merge branch 'drm-fixes' of git://git.kernel.org/pub/scm/linux/kernel/git/airlied/drm-2.6 * 'drm-fixes' of git://git.kernel.org/pub/scm/linux/kernel/git/airlied/drm-2.6: drm: Move a dereference below a NULL test fb/intelfb: conflict with DRM_I915 and hide by default drm/ttm: fix misplaced parentheses drm/via: Fix vblank IRQ on VIA hardware. drm: drm_gem, check kzalloc retval drm: drm_debugfs, check kmalloc retval drm/radeon: add some missing pci ids commit 287638b2c533165c3c03dfa15196c2ba583cd287 Merge: f6c43385435640e056424034caac0d765c45e370 a1cc1ba7aec1ba41317d227b1fe8d0f8c0cec232 Author: Steve French <sfrench@xxxxxxxxxx> Date: Sat Jul 18 03:13:38 2009 +0000 Merge branch 'master' of /pub/scm/linux/kernel/git/torvalds/linux-2.6 commit ecf763c5677faee04d47333e6ed8e9539a427770 Author: Marek Vasut <marek.vasut@xxxxxxxxx> Date: Thu Jul 16 19:37:29 2009 +0200 [ARM] pxa: add STUART MFP config for PalmTX,T5,LD Signed-off-by: Marek Vasut <marek.vasut@xxxxxxxxx> Signed-off-by: Eric Miao <eric.y.miao@xxxxxxxxx> commit eb9069119d1c4bc856b4c1339abcad0105691e71 Author: Haojian Zhuang <haojian.zhuang@xxxxxxxxxxx> Date: Wed Jul 15 19:47:24 2009 +0800 [ARM] pxa: fix gpio issue in zylonite WARNING: at drivers/gpio/gpiolib.c:83 gpio_ensure_requested+0x58/0xbc() autorequest GPIO-71 Modules linked in: [<c0028bd0>] (unwind_backtrace+0x0/0xe8) from [<c003c328>] (warn_slowpath_common+0x48/0x78) [<c003c328>] (warn_slowpath_common+0x48/0x78) from [<c003c394>] (warn_slowpath_fmt+0x28/0x38) [<c003c394>] (warn_slowpath_fmt+0x28/0x38) from [<c0146128>] (gpio_ensure_requested+0x58/0xbc) [<c0146128>] (gpio_ensure_requested+0x58/0xbc) from [<c0146308>] (gpio_direction_input+0x80/0xf4) [<c0146308>] (gpio_direction_input+0x80/0xf4) from [<c000c668>] (zylonite_pxa300_init+0x108/0x214) [<c000c668>] (zylonite_pxa300_init+0x108/0x214) from [<c000c4e4>] (zylonite_init+0x8/0x84) [<c000c4e4>] (zylonite_init+0x8/0x84) from [<c00097cc>] (customize_machine+0x18/0x24) [<c00097cc>] (customize_machine+0x18/0x24) from [<c00222e0>] (do_one_initcall+0x30/0x1b0) [<c00222e0>] (do_one_initcall+0x30/0x1b0) from [<c00083f4>] (kernel_init+0xa4/0x11c) [<c00083f4>] (kernel_init+0xa4/0x11c) from [<c0023f3c>] (kernel_thread_exit+0x0/0x8) ---[ end trace 1b75b31a2719ed1c ]--- This issue is caused by using gpio pin without request. Add gpio_request() into zylonite. To simplify the code, error checking is omitted since this is being performed early. Signed-off-by: Haojian Zhuang <haojian.zhuang@xxxxxxxxxxx> Signed-off-by: Eric Miao <eric.y.miao@xxxxxxxxx> commit 04e448d9a386640a79a4aa71251aa1cdd314f662 Author: Tim Abbott <tabbott@xxxxxxxxxxx> Date: Sun Jul 12 18:23:33 2009 -0400 vmlinux.lds.h: restructure BSS linker script macros The BSS section macros in vmlinux.lds.h currently place the .sbss input section outside the bounds of [__bss_start, __bss_end]. On all architectures except for microblaze that handle both .sbss and __bss_start/__bss_end, this is wrong: the .sbss input section is within the range [__bss_start, __bss_end]. Relatedly, the example code at the top of the file actually has __bss_start/__bss_end defined twice; I believe the right fix here is to define them in the BSS_SECTION macro but not in the BSS macro. Another problem with the current macros is that several architectures have an ALIGN(4) or some other small number just before __bss_stop in their linker scripts. The BSS_SECTION macro currently hardcodes this to 4; while it should really be an argument. It also ignores its sbss_align argument; fix that. mn10300 is the only user at present of any of the macros touched by this patch. It looks like mn10300 actually was incorrectly converted to use the new BSS() macro (the alignment of 4 prior to conversion was a __bss_stop alignment, but the argument to the BSS macro is a start alignment). So fix this as well. I'd like acks from Sam and David on this one. Also CCing Paul, since he has a patch from me which will need to be updated to use BSS_SECTION(0, PAGE_SIZE, 4) once this gets merged. Signed-off-by: Tim Abbott <tabbott@xxxxxxxxxxx> Cc: Paul Mundt <lethal@xxxxxxxxxxxx> Cc: David Howells <dhowells@xxxxxxxxxx> Signed-off-by: Sam Ravnborg <sam@xxxxxxxxxxxx> commit d0e1e09568507ac771072d97f0781af82c935b3e Author: Arnaud Lacombe <lacombar@xxxxxxxxx> Date: Mon Jul 6 00:07:28 2009 -0400 kconfig: initialize the screen before using curses(3) functions This is needed on non ncurses based implementation to get a properly initialized `stdscr' in main(). Cc: Roman Zippel <zippel@xxxxxxxxxxxxxx> Signed-off-by: Sam Ravnborg <sam@xxxxxxxxxxxx> commit 668cdedfdb2eb00d8efe127618bead4d46d9e942 Author: Arnaud Lacombe <lacombar@xxxxxxxxx> Date: Mon Jul 6 00:07:14 2009 -0400 kconfig: variable argument lists needs `stdarg.h' Fix build on non GNU based platforms. Cc: Roman Zippel <zippel@xxxxxxxxxxxxxx> Signed-off-by: Sam Ravnborg <sam@xxxxxxxxxxxx> commit 241ad11f2d2542723136ffa81cd5db61d590156c Author: maximilian attems <max@xxxxxxx> Date: Sun Jul 5 20:17:34 2009 +0200 kbuild, deb-pkg: fix install scripts for posix sh bash versus dash and posh disagree on expanding $@ within double quotes: export x="$@" see http://bugs.debian.org/381091 for details just use the arglist with $*. dpkg: error processing linux-image-2.6.31-rc1_2.6.31-rc1-18_i386.deb (--install): subprocess pre-installation script returned error exit status 2 export: 6: 2.6.31-rc1-18: bad variable name fixes http://bugzilla.kernel.org/show_bug.cgi?id=13567 seen on Ubuntu as there dash is the default sh, versus bash on Debian. Reported-by: Pauli <suokkos@xxxxxxxxx> Cc: Frans Pop <elendil@xxxxxxxxx> Signed-off-by: maximilian attems <max@xxxxxxx> Acked-By: Andres Salomon <dilinger@xxxxxxxxxxxxxxx> commit a1cc1ba7aec1ba41317d227b1fe8d0f8c0cec232 Merge: 499ee0710f9881423d807c6ecc451c5e1bd5ff62 18282b36d742347abd9a4bc74fe9fd2432a8335b Author: Linus Torvalds <torvalds@xxxxxxxxxxxxxxxxxxxx> Date: Fri Jul 17 11:15:00 2009 -0700 Merge branch 'release' of git://git.kernel.org/pub/scm/linux/kernel/git/fyu/linux-2.6 * 'release' of git://git.kernel.org/pub/scm/linux/kernel/git/fyu/linux-2.6: Revert "Neither asm/types.h nor linux/types.h is required for arch/ia64/include/asm/fpu.h" Add dma_debug_init() for ia64 Fix ia64 compilation IS_ERR and PTE_ERR errors. commit 499ee0710f9881423d807c6ecc451c5e1bd5ff62 Merge: 8e3b3bb5e5ac064f83a8556100f10b7dfa1c719b 857fdc53a0a90c3ba7fcf5b1fb4c7a62ae03cf82 Author: Linus Torvalds <torvalds@xxxxxxxxxxxxxxxxxxxx> Date: Fri Jul 17 10:51:55 2009 -0700 Merge branch 'for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/jbarnes/pci-2.6 * 'for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/jbarnes/pci-2.6: x86/pci: insert ioapic resource before assigning unassigned resources commit 14d87e6c399f3942d63dff41447ff08a615d9a6b Author: David S. Miller <davem@xxxxxxxxxxxxx> Date: Fri Jul 17 10:28:19 2009 -0700 sparc: Fix cleanup crash in bbc_envctrl_cleanup() If kthread_run() fails or never gets to run we'll have NULL or a pointer encoded error in kenvctrld_task, rather than a legitimate task pointer. So this makes bbc_envctrl_cleanup() crash as it passed this bogus pointer into kthread_stop(). Reported-by: BERTRAND Joël <joel.bertrand@xxxxxxxxxxx> Signed-off-by: David S. Miller <davem@xxxxxxxxxxxxx> commit 673325951ef440ebace311bd542a9378d1b3025b Author: Ralf Baechle <ralf@xxxxxxxxxxxxxx> Date: Fri Jul 17 04:47:19 2009 +0000 Update Andreas Koensgen's email address The kernel has used a stale email address of Andreas for a few years. Signed-off-by: Ralf Baechle <ralf@xxxxxxxxxxxxxx> Signed-off-by: David S. Miller <davem@xxxxxxxxxxxxx> commit 54a8fa62c94d74a8f2d18f99cff95953e5c623b7 Author: Ralf Baechle <ralf@xxxxxxxxxxxxxx> Date: Fri Jul 17 04:42:28 2009 +0000 MAINTAINERS entry for STRIP driver The web server does no longer exist, it's not on archive.org nor does there seem to be any mirror. MAINTAINERS | 1 - 1 files changed, 0 insertions(+), 1 deletions(-) Signed-off-by: David S. Miller <davem@xxxxxxxxxxxxx> commit 8e3b3bb5e5ac064f83a8556100f10b7dfa1c719b Merge: 301d95c4dade09388f94258ee797d2d650dc00b5 15c2ac051c730210b7ef2c93807b576e89e129d2 Author: Linus Torvalds <torvalds@xxxxxxxxxxxxxxxxxxxx> Date: Fri Jul 17 08:53:56 2009 -0700 Merge branch 'for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/tiwai/sound-2.6 * 'for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/tiwai/sound-2.6: ALSA: riptide - proper handling of pci_register_driver for joystick sound: usb-audio: add workaround for Blue Microphones devices ALSA: hda_intel: more strict alc880_parse_auto_config dig_nid checking ASoC: Fix NULL pointer dereference in __pxa2xx_pcm_hw_free commit 301d95c4dade09388f94258ee797d2d650dc00b5 Merge: b983d0deb0e28f8880cdea79def575d96a27e603 e79f07e2925b10f09a2621650c16f3d6ea778747 Author: Linus Torvalds <torvalds@xxxxxxxxxxxxxxxxxxxx> Date: Fri Jul 17 08:53:41 2009 -0700 Merge git://git.kernel.org/pub/scm/linux/kernel/git/rusty/linux-2.6-for-linus * git://git.kernel.org/pub/scm/linux/kernel/git/rusty/linux-2.6-for-linus: virtio_net: Sync header with qemu virtio-pci: correctly unregister root device on error virtio_blk: ioctl return value fix virtio_blk: don't bounce highmem requests lguest: restrict CPUID to avoid perf counter wrmsr lguest: remove unnecessary forward struct declaration lguest: fix journey commit b983d0deb0e28f8880cdea79def575d96a27e603 Merge: ecc2e05e739c30870c8e4f252b63a0c4041f2724 04aef32d39cc4ef80087c0ce8ed113c6d64f1a6b Author: Linus Torvalds <torvalds@xxxxxxxxxxxxxxxxxxxx> Date: Fri Jul 17 08:53:14 2009 -0700 Merge branch 'tracing-fixes-for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/tip/linux-2.6-tip * 'tracing-fixes-for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/tip/linux-2.6-tip: tracing/function: Fix the return value of ftrace_trace_onoff_callback() commit ecc2e05e739c30870c8e4f252b63a0c4041f2724 Author: Alan Cox <alan@xxxxxxxxxxxxxxx> Date: Fri Jul 17 16:17:26 2009 +0100 tty_port: Fix return on interrupted use Whoops.. fortunately not many people use this yet. Signed-off-by: Alan Cox <alan@xxxxxxxxxxxxxxx> Signed-off-by: Linus Torvalds <torvalds@xxxxxxxxxxxxxxxxxxxx> commit 18282b36d742347abd9a4bc74fe9fd2432a8335b Author: Aurelien Jarno <aurelien@xxxxxxxxxxx> Date: Fri Jul 17 06:35:05 2009 -0700 Revert "Neither asm/types.h nor linux/types.h is required for arch/ia64/include/asm/fpu.h" asm/fpu.h uses the __IA64_UL macro which is declared in asm/types.h, so this include is really required. Without it, GNU libc fails to build. This reverts commit 2678c07b07ac2076675e5d57653bdf02e9af1950. Signed-off-by: Aurelien Jarno <aurelien@xxxxxxxxxxx> Acked-by: Fenghua Yu <fenghua.yu@xxxxxxxxx> commit 390bd132b2831a2ad0268e84bffbfc0680debfe5 Author: fujita <fujita@xxxxxxxxxxxxxx> Date: Thu Jul 9 21:25:05 2009 -0700 Add dma_debug_init() for ia64 The commit 9916219579d078c80377dd3988c2cc213536d868 was supposed to add CONFIG_DMA_API_DEBUG support to IA64 however I forgot to add dma_debug_init(). Signed-off-by: fujita <fujita@xxxxxxxxxxxxxx> Acked-by: Fenghua Yu <fenghua.yu@xxxxxxxxx> commit 6f409461210baf76ade1bfdd9470fd5b98378b36 Author: Fenghua Yu <fenghua.yu@xxxxxxxxx> Date: Thu Jul 9 21:23:39 2009 -0700 Fix ia64 compilation IS_ERR and PTE_ERR errors. When building ia64 kernel with CONFIG_XEN_SYS_HYPERVISOR, compiler reports errors: drivers/xen/sys-hypervisor.c: In function â??uuid_showâ??: drivers/xen/sys-hypervisor.c:125: error: implicit declaration of function â??IS_ERRâ?? drivers/xen/sys-hypervisor.c:126: error: implicit declaration of function â??PTR_ERRâ?? This patch fixes the errors. Signed-off-by: Fenghua Yu <fenghua.yu@xxxxxxxxx> Acked-by: Isaku Yamahata <yamahata@xxxxxxxxxxxxx> commit d740d347f856f0fd8baf2f63d8daa600ed135bfd Author: Linus Walleij <linus.walleij@xxxxxxxxxxxxxx> Date: Thu Jul 16 22:40:26 2009 +0100 [ARM] 5608/1: Updated U300 defconfig Removed the LBD support that isn't of any use right now at least, then remove remnants of the TCM config flags that somehow crept in by mistake (not yet merged patch for 2.6.32) and then the usual defconfig noise from updated menus. Signed-off-by: Linus Walleij <linus.walleij@xxxxxxxxxxxxxx> Signed-off-by: Russell King <rmk+kernel@xxxxxxxxxxxxxxxx> commit 2653d1d7f0284f3b68f25dafa208d0a013f7e9db Author: Ryan Mallon <ryan@xxxxxxxxxxxxxxxx> Date: Wed Jul 15 21:33:22 2009 +0100 [ARM] 5606/1: Fix ep93xx watchdog driver headers Fix a number of build errors in the ep93xx watchdog driver due to missing io.h Signed-off-by: Ryan Mallon <ryan@xxxxxxxxxxxxxxxx> Acked-by: H Hartley Sweeten <hsweeten@xxxxxxxxxxxxxxxxxxx> Signed-off-by: Russell King <rmk+kernel@xxxxxxxxxxxxxxxx> commit e79f07e2925b10f09a2621650c16f3d6ea778747 Author: Alex Williamson <alex.williamson@xxxxxx> Date: Tue Jul 7 08:47:10 2009 -0600 virtio_net: Sync header with qemu Qemu added support for a few extra RX modes that Linux doesn't currently make use of. Sync the headers to maintain consistency. Signed-off-by: Alex Williamson <alex.williamson@xxxxxx> Signed-off-by: Rusty Russell <rusty@xxxxxxxxxxxxxxx> commit 4b892e6582e3a4fe01f623aea386907270d5bf83 Author: Mark McLoughlin <markmc@xxxxxxxxxx> Date: Tue Jul 7 08:26:45 2009 +0100 virtio-pci: correctly unregister root device on error If pci_register_driver() fails we're incorrectly unregistering the root device with device_unregister() rather than root_device_unregister(). Reported-by: Don Zickus <dzickus@xxxxxxxxxx> Signed-off-by: Mark McLoughlin <markmc@xxxxxxxxxx> Signed-off-by: Rusty Russell <rusty@xxxxxxxxxxxxxxx> commit d9ecdea7ed7467db32ec160f4eca46c279255606 Author: Christoph Hellwig <hch@xxxxxx> Date: Sat Jun 20 21:29:41 2009 +0200 virtio_blk: ioctl return value fix Block driver ioctl methods must return ENOTTY and not -ENOIOCTLCMD if they expect the block layer to handle generic ioctls. This triggered a BLKROSET failure in xfsqa #200. Signed-off-by: Christoph Hellwig <hch@xxxxxx> Signed-off-by: Rusty Russell <rusty@xxxxxxxxxxxxxxx> commit 4eff3cae9c9809720c636e64bc72f212258e0bd5 Author: Christoph Hellwig <hch@xxxxxx> Date: Fri Jul 17 21:47:45 2009 -0600 virtio_blk: don't bounce highmem requests By default a block driver bounces highmem requests, but virtio-blk is perfectly fine with any request that fit into it's 64 bit addressing scheme, mapped in the kernel virtual space or not. Besides improving performance on highmem systems this also makes the reproducible oops in __bounce_end_io go away (but hiding the real cause). Signed-off-by: Christoph Hellwig <hch@xxxxxx> Signed-off-by: Rusty Russell <rusty@xxxxxxxxxxxxxxx> commit 7a5049205f7265620c48781814155f2763e70abb Author: Rusty Russell <rusty@xxxxxxxxxxxxxxx> Date: Fri Jul 17 21:47:44 2009 -0600 lguest: restrict CPUID to avoid perf counter wrmsr Avoid the following: [ 0.012093] WARNING: at arch/x86/kernel/apic/apic.c:249 native_apic_write_dummy+0x2f/0x40() Rather than chase each new cpuid-detected feature, just lie about the highest valid CPUID so this code is never run. Signed-off-by: Rusty Russell <rusty@xxxxxxxxxxxxxxx> commit 27de22d03d6808a82bbe9bd7e3cc75d60132ba9e Author: Davide Libenzi <davidel@xxxxxxxxxxxxxxx> Date: Fri Jul 17 21:47:44 2009 -0600 lguest: remove unnecessary forward struct declaration While fixing lg.h to drop the fwd declaration, I noticed there's another one ;) Signed-off-by: Rusty Russell <rusty@xxxxxxxxxxxxxxx> commit 5780888bcac316508eb5f4dd23bbea8b5057647c Author: Matias Zabaljauregui <zabaljauregui@xxxxxxxxx> Date: Thu Jun 18 11:44:06 2009 -0300 lguest: fix journey fix: "make Guest" was complaining about duplicated G:032 Signed-off-by: Matias Zabaljauregui <zabaljauregui@xxxxxxxxx> Signed-off-by: Rusty Russell <rusty@xxxxxxxxxxxxxxx> commit 9cb308ce8d32a1fb3600acab6034e19a90228743 Author: Xiaotian Feng <dfeng@xxxxxxxxxx> Date: Fri Jul 17 15:26:26 2009 +0800 block: sysfs fix mismatched queue_var_{store,show} in 64bit kernel In blk-sysfs.c, queue_var_store uses unsigned long to store data, but queue_var_show uses unsigned int to show data. This causes, # echo 70000000000 > /sys/block/<dev>/queue/read_ahead_kb # cat /sys/block/<dev>/queue/read_ahead_kb => get wrong value Fix it by using unsigned long. While at it, convert queue_rq_affinity_show() such that it uses bool variable instead of explicit != 0 testing. Signed-off-by: Xiaotian Feng <dfeng@xxxxxxxxxx> Signed-off-by: Tejun Heo <tj@xxxxxxxxxx> commit 8f47428704c2fd6f787a6f340071b9c338b65803 Author: Julia Lawall <julia@xxxxxxx> Date: Mon Jul 13 22:43:41 2009 +0200 ataflop: adjust NULL test dtp is derefenced on the lines above the test !dtp, and so it cannot be NULL at this point. A simplified version of the semantic match that finds this problem is as follows: (http://www.emn.fr/x-info/coccinelle/) // <smpl> @r@ expression x,E,E1; identifier f,l; position p1,p2; @@ *x@p1->f = E1; ... when != x = E when != goto l; ( *x@p2 == NULL | *x@p2 != NULL ) // </smpl> Signed-off-by: Julia Lawall <julia@xxxxxxx> Signed-off-by: Tejun Heo <tj@xxxxxxxxxx> commit 0a09f4319c6d88c732ed46735f8584bbb95cac65 Author: Tejun Heo <tj@xxxxxxxxxx> Date: Thu Jul 16 15:26:55 2009 +0900 block: fix failfast merge testing in elv_rq_merge_ok() Commit ab0fd1debe730ec9998678a0c53caefbd121ed10 tries to prevent merge of requests with different failfast settings. In elv_rq_merge_ok(), it compares new bio's failfast flags against the merge target request's. However, the flag testing accessors for bio and blk don't return boolean but the tested bit value directly and FAILFAST on bio and blk don't match, so directly comparing them with == results in false negative unnecessary preventing merge of readahead requests. This patch convert the results to boolean by negating them before comparison. Signed-off-by: Tejun Heo <tj@xxxxxxxxxx> Cc: Jens Axboe <jens.axboe@xxxxxxxxxx> Cc: Boaz Harrosh <bharrosh@xxxxxxxxxxx> Cc: FUJITA Tomonori <fujita.tomonori@xxxxxxxxxxxxx> Cc: James Bottomley <James.Bottomley@xxxxxxxxxxxxxxxxxxxxx> Cc: Jeff Garzik <jeff@xxxxxxxxxx> commit 04aef32d39cc4ef80087c0ce8ed113c6d64f1a6b Author: Xiao Guangrong <xiaoguangrong@xxxxxxxxxxxxxx> Date: Wed Jul 15 12:29:06 2009 +0800 tracing/function: Fix the return value of ftrace_trace_onoff_callback() ftrace_trace_onoff_callback() will return an error even if we do the right operation, for example: # echo _spin_*:traceon:10 > set_ftrace_filter -bash: echo: write error: Invalid argument # cat set_ftrace_filter #### all functions enabled #### _spin_trylock_bh:traceon:count=10 _spin_unlock_irq:traceon:count=10 _spin_unlock_bh:traceon:count=10 _spin_lock_irq:traceon:count=10 _spin_unlock:traceon:count=10 _spin_trylock:traceon:count=10 _spin_unlock_irqrestore:traceon:count=10 _spin_lock_irqsave:traceon:count=10 _spin_lock_bh:traceon:count=10 _spin_lock:traceon:count=10 We want to set _spin_*:traceon:10 to set_ftrace_filter, it complains with "Invalid argument", but the operation is successful. This is because ftrace_process_regex() returns the number of functions that matched the pattern. If the number is not 0, this value is returned by ftrace_regex_write() whereas we want to return the number of bytes virtually written. Also the file offset pointer is not updated in this case. If the number of matched functions is lower than the number of bytes written by the user, this results to a reprocessing of the string given by the user with a lower size, leading to a malformed ftrace regex and then a -EINVAL returned. So, this patch fixes it by returning 0 if no error occured. The fix also applies on 2.6.30 Signed-off-by: Xiao Guangrong <xiaoguangrong@xxxxxxxxxxxxxx> Reviewed-by: Li Zefan <lizf@xxxxxxxxxxxxxx> Cc: stable@xxxxxxxxxx Signed-off-by: Frederic Weisbecker <fweisbec@xxxxxxxxx> commit 7fefe6a88494b00b151b5ca7bb84daaa781bbca7 Author: Vincent CUISSARD <vincent.cuissard@xxxxxxxxx> Date: Thu Jul 16 06:08:58 2009 +0000 cdc-eem: bad crc checking When the driver received an EEM packet with CRC option enabled, driver must compute and check the CRC of the Ethernet data. Previous version computes CRC on Ethernet data plus the original CRC value. Skbuff is correctly trimed but the old length is used when CRC is computed. Signed-off-by: Vincent CUISSARD <vincent.cuissard@xxxxxxxxx> Signed-off-by: David S. Miller <davem@xxxxxxxxxxxxx> commit 869f1c54e9aecde1dfd4349832ce9415a596be8e Author: Lucy Liu <lucy.liu@xxxxxxxxx> Date: Thu Jul 16 13:43:31 2009 +0000 ixgbe: Remove DPRINTK messages in DCB mode Remove debug DPRINTK in DCB mode netlink interface. Signed-off-by: Lucy Liu <lucy.liu@xxxxxxxxx> Acked-by: Peter P Waskiewicz Jr <peter.p.waskiewicz.jr@xxxxxxxxx> Signed-off-by: Jeff Kirsher <jeffrey.t.kirsher@xxxxxxxxx> Signed-off-by: David S. Miller <davem@xxxxxxxxxxxxx> commit 86e713a06ab3e5b15a3189485ce33aa21b9e52ca Author: Lucy Liu <lucy.liu@xxxxxxxxx> Date: Thu Jul 16 13:43:10 2009 +0000 ixgbe: clear mac address data block in DCB mode This change clears the address data block memory space, which is needed for the 82598 which does not have a SAN MAC. Signed-off-by: Lucy Liu <lucy.liu@xxxxxxxxx> Acked-by: Peter P Waskiewicz Jr <peter.p.waskiewicz.jr@xxxxxxxxx> Signed-off-by: Jeff Kirsher <jeffrey.t.kirsher@xxxxxxxxx> Signed-off-by: David S. Miller <davem@xxxxxxxxxxxxx> commit 3d1454dd93e84ad1394b6b1646f13795e9f6928e Author: Stephen Hemminger <shemminger@xxxxxxxxxx> Date: Thu Jul 16 13:20:57 2009 +0000 sky2: revert shutdown changes The commit changes to shutdown path broke startup on some systems. revert commit c0bad0f2e4366d5bbfe0c4a7a80bca8f4b05272b Signed-off-by: Stephen Hemminger <shemminger@xxxxxxxxxx> Signed-off-by: David S. Miller <davem@xxxxxxxxxxxxx> commit 4dc6dc7162c08b9965163c9ab3f9375d4adff2c7 Author: Eric Dumazet <eric.dumazet@xxxxxxxxx> Date: Wed Jul 15 23:13:10 2009 +0000 net: sock_copy() fixes Commit e912b1142be8f1e2c71c71001dc992c6e5eb2ec1 (net: sk_prot_alloc() should not blindly overwrite memory) took care of not zeroing whole new socket at allocation time. sock_copy() is another spot where we should be very careful. We should not set refcnt to a non null value, until we are sure other fields are correctly setup, or a lockless reader could catch this socket by mistake, while not fully (re)initialized. This patch puts sk_node & sk_refcnt to the very beginning of struct sock to ease sock_copy() & sk_prot_alloc() job. We add appropriate smp_wmb() before sk_refcnt initializations to match our RCU requirements (changes to sock keys should be committed to memory before sk_refcnt setting) Signed-off-by: Eric Dumazet <eric.dumazet@xxxxxxxxx> Signed-off-by: David S. Miller <davem@xxxxxxxxxxxxx> commit 303d67c288319768b19ed8dbed429fef7eb7c275 Author: Krzysztof Halasa <khc@xxxxxxxxx> Date: Tue Jul 14 11:01:54 2009 +0000 E100: work around the driver using streaming DMA mapping for RX descriptors. E100 places it's RX packet descriptors inside skb->data and uses them with bidirectional streaming DMA mapping. Unfortunately it fails to transfer skb->data ownership to the device after it reads the descriptor's status, breaking on non-coherent (e.g., ARM) platforms. This have to be converted to use coherent memory for the descriptors. Signed-off-by: Krzysztof Halasa <khc@xxxxxxxxx> Acked-by: Jeff Kirsher <jeffrey.t.kirsher@xxxxxxxxx> Signed-off-by: David S. Miller <davem@xxxxxxxxxxxxx> commit e36b9d16c6a6d0f59803b3ef04ff3c22c3844c10 Author: Moni Shoua <monis@xxxxxxxxxxxx> Date: Wed Jul 15 04:56:31 2009 +0000 bonding: clean muticast addresses when device changes type Bonding device forbids slave device of different types under the same master. However, it is possible for a bonding master to change type during its lifetime. This can be either from ARPHRD_ETHER to ARPHRD_INFINIBAND or the other way arround. The change of type requires device level multicast address cleanup because device level multicast addresses depend on the device type. The patch adds a call to dev_close() before the bonding master changes type and dev_open() just after that. In the example below I enslaved an IPoIB device (ib0) under bond0. Since each bonding master starts as device of type ARPHRD_ETHER by default, a change of type occurs when ib0 is enslaved. This is how /proc/net/dev_mcast looks like without the patch 5 bond0 1 0 00ffffffff12601bffff000000000001ff96ca05 5 bond0 1 0 01005e000116 5 bond0 1 0 01005e7ffffd 5 bond0 1 0 01005e000001 5 bond0 1 0 333300000001 6 ib0 1 0 00ffffffff12601bffff000000000001ff96ca05 6 ib0 1 0 333300000001 6 ib0 1 0 01005e000001 6 ib0 1 0 01005e7ffffd 6 ib0 1 0 01005e000116 6 ib0 1 0 00ffffffff12401bffff00000000000000000001 6 ib0 1 0 00ffffffff12601bffff00000000000000000001 and this is how it looks like after the patch. 5 bond0 1 0 00ffffffff12601bffff000000000001ff96ca05 5 bond0 1 0 00ffffffff12601bffff00000000000000000001 5 bond0 1 0 00ffffffff12401bffff0000000000000ffffffd 5 bond0 1 0 00ffffffff12401bffff00000000000000000116 5 bond0 1 0 00ffffffff12401bffff00000000000000000001 6 ib0 1 0 00ffffffff12601bffff000000000001ff96ca05 6 ib0 1 0 00ffffffff12401bffff00000000000000000116 6 ib0 1 0 00ffffffff12401bffff0000000000000ffffffd 6 ib0 2 0 00ffffffff12401bffff00000000000000000001 6 ib0 2 0 00ffffffff12601bffff00000000000000000001 Signed-off-by: Moni Shoua <monis@xxxxxxxxxxxx> Signed-off-by: Jay Vosburgh <fubar@xxxxxxxxxx> Signed-off-by: David S. Miller <davem@xxxxxxxxxxxxx> commit 37b76c697f4ac082e9923dfa8e8aecc8bc54a8e1 Author: roel kluin <roel.kluin@xxxxxxxxx> Date: Sun Jul 12 12:57:38 2009 +0000 atl1c: misplaced parenthesis Fix misplaced parenthesis Signed-off-by: Roel Kluin <roel.kluin@xxxxxxxxx> Signed-off-by: David S. Miller <davem@xxxxxxxxxxxxx> commit c5ad4f592e27d782faea0a787d9181f192a69ef0 Author: roel kluin <roel.kluin@xxxxxxxxx> Date: Sun Jul 12 11:40:34 2009 +0000 atl1c: add missing parentheses Parentheses are required or the comparison occurs before the bitand. Signed-off-by: Roel Kluin <roel.kluin@xxxxxxxxx> Signed-off-by: David S. Miller <davem@xxxxxxxxxxxxx> commit 95aa1fe4abfc8d75dcd110bb285b09740214d053 Merge: b13bb2e9933b9dfa25c81d959d847c843481111e 941297f443f871b8c3372feccf27a8733f6ce9e9 Author: David S. Miller <davem@xxxxxxxxxxxxx> Date: Thu Jul 16 17:34:50 2009 -0700 Merge branch 'master' of git://git.kernel.org/pub/scm/linux/kernel/git/kaber/nf-2.6 commit 2a2430f4542467502d39660bfd66b0004fd8d6a9 Author: Jesse Barnes <jbarnes@xxxxxxxxxxxxxxxx> Date: Thu Jul 16 13:01:02 2009 -0700 drm/i915: correct self-refresh calculation in "everything off" case If no planes are enabled, the self-refresh calculation may end up doing a divide by zero. This patch should prevent that by making sure at least one of the CRTCs had a valid hdisplay value. Reported-by: Eric Anholt <eric@xxxxxxxxxx> Tested-by: Eric Anholt <eric@xxxxxxxxxx> Signed-off-by: Jesse Barnes <jbarnes@xxxxxxxxxxxxxxxx> Signed-off-by: Eric Anholt <eric@xxxxxxxxxx> commit 390c4dd448b1a5f04ea497c20f5ff664f8eeed01 Author: Jesse Barnes <jbarnes@xxxxxxxxxxxxxxxx> Date: Thu Jul 16 13:01:01 2009 -0700 drm/i915: handle FIFO oversubsription correctly If you're pushing a plane hard (i.e. you need most or all of the FIFO entries just to cover your frame refresh latency), the watermark level may end up being negative. So fix up the signed vs. unsigned math in the calculation function to handle this correctly, giving all available FIFO entries to such a configuration. Reported-by: Eric Anholt <eric@xxxxxxxxxx> Tested-by: Eric Anholt <eric@xxxxxxxxxx> Signed-off-by: Jesse Barnes <jbarnes@xxxxxxxxxxxxxxxx> Signed-off-by: Eric Anholt <eric@xxxxxxxxxx> commit 6843f405da9d0adf734d8f695311e29cc92a220c Author: Mike Frysinger <vapier@xxxxxxxxxx> Date: Thu Jul 16 13:53:37 2009 -0400 Blackfin: define HARDIRQ_BITS again for now The default values of HARDIRQ_BITS and PREEMPT_BITS in common code leads to build failure: In file included from include/linux/interrupt.h:12, from include/linux/kernel_stat.h:8, from arch/blackfin/kernel/asm-offsets.c:32: include/linux/hardirq.h:66:2: error: #error PREEMPT_ACTIVE is too low! So until that gets resolved, just declare our own default value again. Signed-off-by: Mike Frysinger <vapier@xxxxxxxxxx> commit 5381837f125cc62ad703fbcdfcd7566fc81fd404 Author: Tom Peng <tom_peng@xxxxxxxxx> Date: Wed Jul 1 20:37:26 2009 +0800 [SCSI] libsas: reuse the original port when hotplugging phys in wide ports There's a hotplug problem in the way libsas allocates ports: it loops over the available ports first trying to add to an existing for a wide port and otherwise allocating the next free port. This scheme only works if the port array is packed from zero, which fails if a port gets hot unplugged and the array becomes sparse. In that case, a new port is formed even if there's a wide port it should be part of. Fix this by creating two loops over all the ports: the first to see if the phy should be part of a wide port and the second to form a new port in an empty port slot. Signed-off-by: Tom Peng <tom_peng@xxxxxxxxx> Signed-off-by: Jack Wang <jack_wang@xxxxxxxxx> Signed-off-by: Lindar Liu <lindar_liu@xxxxxxxxx> Cc: Stable Tree <stable@xxxxxxxxxx> Signed-off-by: James Bottomley <James.Bottomley@xxxxxxxxxxxxxxxxxxxxx> commit 4b0a84043e0c14088958fddb62f416d050368011 Merge: 63f7a330014ad29b662638caabd8e96fe945b9ed d07387b490b1c43bfcb9f3900faf96f2dafb2630 Author: Linus Torvalds <torvalds@xxxxxxxxxxxxxxxxxxxx> Date: Thu Jul 16 10:18:29 2009 -0700 Merge branch 'sched-fixes-for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/peterz/linux-2.6-sched * 'sched-fixes-for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/peterz/linux-2.6-sched: sched: Fix bug in SCHED_IDLE interaction with group scheduling sched: Fix rt_rq->pushable_tasks initialization in init_rt_rq() sched: Reset sched stats on fork() sched_rt: Fix overload bug on rt group scheduling sched: Documentation/sched-rt-group: Fix style issues & bump version commit 63f7a330014ad29b662638caabd8e96fe945b9ed Merge: a132ebcb454568cc06fbdf3a5629eb9d64c9d578 f9f868dbcca961ed62f1df1d114abd0c38c47dce Author: Linus Torvalds <torvalds@xxxxxxxxxxxxxxxxxxxx> Date: Thu Jul 16 10:07:37 2009 -0700 Merge branch 'timers-fixes-for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/tip/linux-2.6-tip * 'timers-fixes-for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/tip/linux-2.6-tip: timer stats: fix quick check optimization commit a132ebcb454568cc06fbdf3a5629eb9d64c9d578 Merge: 807708844979ba8c6d5717345a8608454992696d 0115cb544b0a6709e9cf3de615e150d22e7d9d10 Author: Linus Torvalds <torvalds@xxxxxxxxxxxxxxxxxxxx> Date: Thu Jul 16 10:05:34 2009 -0700 Merge branch 'merge' of git://git.kernel.org/pub/scm/linux/kernel/git/benh/powerpc * 'merge' of git://git.kernel.org/pub/scm/linux/kernel/git/benh/powerpc: powerpc: Fix another bug in move of altivec code to vector.S powerpc: Fix booke user_disable_single_step() commit 807708844979ba8c6d5717345a8608454992696d Author: Alan Cox <alan@xxxxxxxxxxxxxxx> Date: Thu Jul 16 16:07:03 2009 +0100 n_tty: Fix echo race If a tty in N_TTY mode with echo enabled manages to get itself into a state where - echo characters are pending - FASYNC is enabled - tty_write_wakeup is called from either - a device write path (pty) - an IRQ (serial) then it either deadlocks or explodes taking a mutex in the IRQ path. On the serial side it is almost impossible to reproduce because you have to go from a full serial port to a near empty one with echo characters pending. The pty case happens to have become possible to trigger using emacs and ptys, the pty changes having created a scenario which shows up this bug. The code path is n_tty:process_echoes() (takes mutex) tty_io:tty_put_char() pty:pty_write (or serial paths) tty_wakeup (from pty_write or serial IRQ) n_tty_write_wakeup() process_echoes() *KABOOM* Signed-off-by: Alan Cox <alan@xxxxxxxxxxxxxxx> Signed-off-by: Linus Torvalds <torvalds@xxxxxxxxxxxxxxxxxxxx> commit 9237a81a1468d0aca1cc4e244bba2362d6f81b35 Author: Jiri Slaby <jirislaby@xxxxxxxxx> Date: Thu Jul 16 16:06:18 2009 +0100 tty: nozomi, fix tty refcounting bug Don't forget to drop a tty refererence on fail paths in receive_data(). Signed-off-by: Jiri Slaby <jirislaby@xxxxxxxxx> Signed-off-by: Alan Cox <alan@xxxxxxxxxxxxxxx> Signed-off-by: Linus Torvalds <torvalds@xxxxxxxxxxxxxxxxxxxx> commit 5c9228f0cfb09a098a8a380116b42ae099e967b6 Author: Johannes Weiner <hannes@xxxxxxxxxxx> Date: Thu Jul 16 16:06:09 2009 +0100 vt: drop bootmem/slab memory distinction Bootmem is not used for the vt screen buffer anymore as slab is now available at the time the console is initialized. Get rid of the now superfluous distinction between slab and bootmem, it's always slab. This also fixes a kmalloc leak which Catalin described thusly: Commit a5f4f52e ("vt: use kzalloc() instead of the bootmem allocator") replaced the alloc_bootmem() with kzalloc() but didn't set vc_kmalloced to 1 and the memory block is later leaked. The corresponding kmemleak trace: unreferenced object 0xdf828000 (size 8192): comm "swapper", pid 0, jiffies 4294937296 backtrace: [<c006d473>] __save_stack_trace+0x17/0x1c [<c000d869>] log_early+0x55/0x84 [<c01cfa4b>] kmemleak_alloc+0x33/0x3c [<c006c013>] __kmalloc+0xd7/0xe4 [<c00108c7>] con_init+0xbf/0x1b8 [<c0010149>] console_init+0x11/0x20 [<c0008797>] start_kernel+0x137/0x1e4 Signed-off-by: Johannes Weiner <hannes@xxxxxxxxxxx> Reviewed-by: Pekka Enberg <penberg@xxxxxxxxxxxxxx> Tested-by: Catalin Marinas <catalin.marinas@xxxxxxx> Signed-off-by: Andrew Morton <akpm@xxxxxxxxxxxxxxxxxxxx> Signed-off-by: Alan Cox <alan@xxxxxxxxxxxxxxxxxxx> Signed-off-by: Linus Torvalds <torvalds@xxxxxxxxxxxxxxxxxxxx> commit ff5392d77bbb0746d1a034e955231f03ffc30b61 Author: Andrew Morton <akpm@xxxxxxxxxxxxxxxxxxxx> Date: Thu Jul 16 16:05:53 2009 +0100 drivers/serial/bfin_sport_uart.c: remove wrong and unneeded memset dcb314@xxxxxxxxxxx notes that this memset has its args reversed. It's unneeded anyway, so remove it. Addresses http://bugzilla.kernel.org/show_bug.cgi?id=13587 Signed-off-by: Andrew Morton <akpm@xxxxxxxxxxxxxxxxxxxx> Signed-off-by: Alan Cox <alan@xxxxxxxxxxxxxxxxxxx> Signed-off-by: Linus Torvalds <torvalds@xxxxxxxxxxxxxxxxxxxx> commit 8f4256b22c554f713ffdd395c1f2bfd53746cfc9 Author: Uwe Kleine-König <u.kleine-koenig@xxxxxxxxxxxxxx> Date: Thu Jul 16 16:05:43 2009 +0100 serial: don't add msm_serial's probe function to the driver struct msm_serial_driver is registered using platform_driver_probe which takes care for the probe function itself. So don't pass it in the driver struct, too. Signed-off-by: Uwe Kleine-König <u.kleine-koenig@xxxxxxxxxxxxxx> Signed-off-by: Alan Cox <alan@xxxxxxxxxxxxxxx> Signed-off-by: Linus Torvalds <torvalds@xxxxxxxxxxxxxxxxxxxx> commit c8d50041734534e0a4b0ea13df36ed5857fccd56 Author: Alan Cox <alan@xxxxxxxxxxxxxxx> Date: Thu Jul 16 16:05:08 2009 +0100 tty: fix close/hangup race We can get a situation where a hangup occurs during or after a close. In that case the ldisc gets disposed of by the close and the hangup then explodes. Signed-off-by: Alan Cox <alan@xxxxxxxxxxxxxxx> Signed-off-by: Linus Torvalds <torvalds@xxxxxxxxxxxxxxxxxxxx> commit a3ca86aea507904148870946d599e07a340b39bf Author: Eugene Teo <eteo@xxxxxxxxxx> Date: Wed Jul 15 14:59:10 2009 +0800 Add '-fno-delete-null-pointer-checks' to gcc CFLAGS Turning on this flag could prevent the compiler from optimising away some "useless" checks for null pointers. Such bugs can sometimes become exploitable at compile time because of the -O2 optimisation. See http://gcc.gnu.org/onlinedocs/gcc-4.1.2/gcc/Optimize-Options.html An example that clearly shows this 'problem' is commit 6bf67672. static void __devexit agnx_pci_remove(struct pci_dev *pdev) { struct ieee80211_hw *dev = pci_get_drvdata(pdev); - struct agnx_priv *priv = dev->priv; + struct agnx_priv *priv; AGNX_TRACE; if (!dev) return; + priv = dev->priv; By reverting this patch, and compile it with and without -fno-delete-null-pointer-checks flag, we can see that the check for dev is compiled away. call printk # - testq %r12, %r12 # dev - je .L94 #, movq %r12, %rdi # dev, Clearly the 'fix' is to stop using dev before it is tested, but building with -fno-delete-null-pointer-checks flag at least makes it harder to abuse. Signed-off-by: Eugene Teo <eugeneteo@xxxxxxxxx> Acked-by: Eric Paris <eparis@xxxxxxxxxx> Acked-by: Wang Cong <amwang@xxxxxxxxxx> Signed-off-by: Linus Torvalds <torvalds@xxxxxxxxxxxxxxxxxxxx> commit 4a21b8cb3550f19f838f7c48345fbbf6a0e8536b Author: Linus Torvalds <torvalds@xxxxxxxxxxxxxxxxxxxx> Date: Thu Jul 16 09:14:23 2009 -0700 Revert "ppp: Fix throttling bugs" This reverts commit a6540f731d506d9e82444cf0020e716613d4c46c, as requested by Alan: "... as it was wrong, the pty code is now fixed and the fact this isn't reverted is breaking pptp setups." Requested-by: Alan Cox <alan@xxxxxxxxxxxxxxxxxxx> Signed-off-by: Linus Torvalds <torvalds@xxxxxxxxxxxxxxxxxxxx> commit 15c2ac051c730210b7ef2c93807b576e89e129d2 Merge: 9d79b136910de2cf9e4f0e37c3048c0fc7d9eab3 8886f33f25083a47d5fa24ad7b57bb708c5c5403 Author: Takashi Iwai <tiwai@xxxxxxx> Date: Thu Jul 16 16:35:50 2009 +0200 Merge branch 'fix/usb-audio' into for-linus * fix/usb-audio: sound: usb-audio: add workaround for Blue Microphones devices commit 9d79b136910de2cf9e4f0e37c3048c0fc7d9eab3 Merge: 26887793b64ae93342c1e2548595d4c6f7dce694 cb65c8732a50f8a145d36dbdac026a1789ad1587 Author: Takashi Iwai <tiwai@xxxxxxx> Date: Thu Jul 16 16:35:48 2009 +0200 Merge branch 'fix/misc' into for-linus * fix/misc: ALSA: riptide - proper handling of pci_register_driver for joystick commit 26887793b64ae93342c1e2548595d4c6f7dce694 Merge: 9d5b28d530000aa5a256046f0dd42a3787687cc9 9d30937accf2c01e8b0bd59787409a7348cbbcb7 Author: Takashi Iwai <tiwai@xxxxxxx> Date: Thu Jul 16 16:35:47 2009 +0200 Merge branch 'fix/hda' into for-linus * fix/hda: ALSA: hda_intel: more strict alc880_parse_auto_config dig_nid checking commit 9d5b28d530000aa5a256046f0dd42a3787687cc9 Merge: 6847e154e3cd74fca6084124c097980a7634285a b7d4de7ff03085fda8310b2983b907166dd40f43 Author: Takashi Iwai <tiwai@xxxxxxx> Date: Thu Jul 16 16:35:46 2009 +0200 Merge branch 'fix/asoc' into for-linus * fix/asoc: ASoC: Fix NULL pointer dereference in __pxa2xx_pcm_hw_free commit 941297f443f871b8c3372feccf27a8733f6ce9e9 Author: Eric Dumazet <eric.dumazet@xxxxxxxxx> Date: Thu Jul 16 14:03:40 2009 +0200 netfilter: nf_conntrack: nf_conntrack_alloc() fixes When a slab cache uses SLAB_DESTROY_BY_RCU, we must be careful when allocating objects, since slab allocator could give a freed object still used by lockless readers. In particular, nf_conntrack RCU lookups rely on ct->tuplehash[xxx].hnnode.next being always valid (ie containing a valid 'nulls' value, or a valid pointer to next object in hash chain.) kmem_cache_zalloc() setups object with NULL values, but a NULL value is not valid for ct->tuplehash[xxx].hnnode.next. Fix is to call kmem_cache_alloc() and do the zeroing ourself. As spotted by Patrick, we also need to make sure lookup keys are committed to memory before setting refcount to 1, or a lockless reader could get a reference on the old version of the object. Its key re-check could then pass the barrier. Signed-off-by: Eric Dumazet <eric.dumazet@xxxxxxxxx> Signed-off-by: Patrick McHardy <kaber@xxxxxxxxx> commit aa6a03eb0ae859c1371555ef381de4c96ca1e4e6 Author: Patrick McHardy <kaber@xxxxxxxxx> Date: Thu Jul 16 14:01:54 2009 +0200 netfilter: xt_osf: fix nf_log_packet() arguments The first argument is the address family, the second one the hook number. Signed-off-by: Patrick McHardy <kaber@xxxxxxxxx> commit 994e9a2e01f47f7ce24dec7edc45d70401468370 Author: Julia Lawall <julia@xxxxxxx> Date: Tue Jul 14 03:15:19 2009 +0000 arch/blackfin: Add kmalloc NULL tests Check that the result of kmalloc is not NULL before passing it to other functions. In the first two cases, the new code returns -ENOMEM, which seems compatible with what is done for similar functions for other architectures. In the last two cases, the new code fails silently, ie just returns, because the function has void return type. The semantic match that finds this problem is as follows: (http://www.emn.fr/x-info/coccinelle/) // <smpl> @@ expression *x; identifier f; constant char *C; @@ x = \(kmalloc\|kcalloc\|kzalloc\)(...); ... when != x == NULL when != x != NULL when != (x || ...) ( kfree(x) | f(...,C,...,x,...) | *f(...,x,...) | *x->f ) // </smpl> Signed-off-by: Julia Lawall <julia@xxxxxxx> Signed-off-by: Sonic Zhang <sonic.zhang@xxxxxxxxxx> Signed-off-by: Mike Frysinger <vapier@xxxxxxxxxx> commit 5bc6e3cfe6db5f33c60f042a9ba203431f334756 Author: Graf Yang <graf.yang@xxxxxxxxxx> Date: Fri Jul 10 11:34:51 2009 +0000 Blackfin: add CPLB entries for Core B on-chip L1 SRAM regions The Blackfin SMP port was missing CPLB entries for Core B on-chip L1 SRAM regions. Any code that attempted to use these would wrongly crash due to a CPLB miss. Signed-off-by: Graf Yang <graf.yang@xxxxxxxxxx> Signed-off-by: Mike Frysinger <vapier@xxxxxxxxxx> commit f574a76a3b19848ac61814756716e26f85f2c3f7 Author: Robin Getz <robin.getz@xxxxxxxxxx> Date: Thu Jul 9 15:11:52 2009 +0000 Blackfin: work around anomaly 05000189 Similar to anomaly 05000281 but not as bad, we cannot return to the instruction causing a fault otherwise we'll trigger a second false exception. The system can still recover, but it isn't correct. Signed-off-by: Robin Getz <robin.getz@xxxxxxxxxx> Signed-off-by: Mike Frysinger <vapier@xxxxxxxxxx> commit c70c754ff916cedd969a73549799d2167ffefcd6 Author: Michael Hennerich <michael.hennerich@xxxxxxxxxx> Date: Thu Jul 9 09:58:52 2009 +0000 Blackfin: drop per-cpu loops_per_jiffy tracking On Blackfin SMP, a per-cpu loops_per_jiffy is pointless since both cores always run at the same CCLK. In addition, the current implementation has flaws since the main consumer for loops_per_jiffy (asm/delay.h) uses the global kernel loops_per_jiffy and not the per_cpu one. So punt all of the per-cpu handling and go back to the global shared one. Signed-off-by: Michael Hennerich <michael.hennerich@xxxxxxxxxx> Signed-off-by: Mike Frysinger <vapier@xxxxxxxxxx> commit c03c2a87347b849ec927d7d2ea79a6955e19f492 Author: Michael Hennerich <michael.hennerich@xxxxxxxxxx> Date: Wed Jul 8 12:04:43 2009 +0000 Blackfin: fix bugs in GPIO resume code Change the bfin_gpio_pm_hibernate_restore() function to: 1) AND restored DATA with DIR (not OR) to get correct final state 2) Restore DATA before setting DIR to avoid glitches Signed-off-by: Michael Hennerich <michael.hennerich@xxxxxxxxxx> Signed-off-by: Mike Frysinger <vapier@xxxxxxxxxx> commit 4c94c3e09adba9718218d6e3d35b2dfae81f3911 Author: Barry Song <barry.song@xxxxxxxxxx> Date: Tue Jul 7 07:41:50 2009 +0000 Blackfin: bf537-stamp: fix irq decl for AD7142 The AD7142 add-on card hooks the IRQ line up to PG5, not PF5. Signed-off-by: Barry Song <barry.song@xxxxxxxxxx> Signed-off-by: Mike Frysinger <vapier@xxxxxxxxxx> commit ad863a9dc9887330b2ab753323063865c59d8db6 Author: Robin Getz <robin.getz@xxxxxxxxxx> Date: Tue Jul 7 02:47:14 2009 +0000 Blackfin: fix handling of IPEND in interrupt context save The interrupt context save logic incorrectly stored the address of the IPEND register rather than its value due to a missing dereference. While we're here, also enable this code for all kernel debugging scenarios and not just when KGDB is enabled. Signed-off-by: Robin Getz <robin.getz@xxxxxxxxxx> Signed-off-by: Mike Frysinger <vapier@xxxxxxxxxx> commit 3a920accbb5f88d753ab5a6a47d0dd48b6269f84 Author: Robin Getz <robin.getz@xxxxxxxxxx> Date: Mon Jul 6 14:29:08 2009 +0000 Blackfin: drop duplicate runtime checking of anomaly 05000448 We already catch this anomaly at compile time, and the runtime version is such that it ends up checking on all parts rather than just the ones that might actually have it. Signed-off-by: Robin Getz <robin.getz@xxxxxxxxxx> Signed-off-by: Mike Frysinger <vapier@xxxxxxxxxx> commit ebd5833327e3fb46eb55553d8f5432b5226bf897 Author: Michael Hennerich <michael.hennerich@xxxxxxxxxx> Date: Thu Jul 2 11:00:38 2009 +0000 Blackfin: fix incomplete renaming of the bfin-twi-lcd driver The sed used to rename the bfin-twi-lcd only replaced the first instance rather than all which led to the resources not being enabled when the driver was built as a module. Signed-off-by: Michael Hennerich <michael.hennerich@xxxxxxxxxx> Signed-off-by: Mike Frysinger <vapier@xxxxxxxxxx> commit f1c717fbf89f5a24d539ecf4baa5d4c3888e3bf9 Author: Sonic Zhang <sonic.zhang@xxxxxxxxxx> Date: Wed Jul 1 07:43:23 2009 +0000 Blackfin: fix wrong CTS inversion The Blackfin serial headers were inverting the CTS value leading to wrong handling of the CTS line which broke CTS/RTS handling completely. Signed-off-by: Sonic Zhang <sonic.zhang@xxxxxxxxxx> Signed-off-by: Mike Frysinger <vapier@xxxxxxxxxx> commit 10a5ecd03f9f5c374f954cf50a4f85d73f8ce338 Author: Graf Yang <graf.yang@xxxxxxxxxx> Date: Wed Jul 1 04:08:01 2009 +0000 Blackfin: update handling of anomaly 364 (wrong rev id in BF527-0.1) This anomaly only applies to the BF527-0.1, not the BF526-0.1, and not any other revision of the BF527. So make sure we don't go returning 0xffff for other cases. Signed-off-by: Graf Yang <graf.yang@xxxxxxxxxx> Signed-off-by: Mike Frysinger <vapier@xxxxxxxxxx> commit 532f07ca04c6f8ab0555b00cf5d42dc6f72b802f Author: Mike Frysinger <vapier@xxxxxxxxxx> Date: Mon Jun 29 22:45:50 2009 +0000 Blackfin: fix early_dma_memcpy() handling of busy channels The early logic to locate a free DMA channel and then set it up was broken in a few ways that only manifested itself when we needed to set up more than 2 on chip SRAM regions (most board defaults setup 1 or 2). First, we checked the wrong status register (the destination gets updated, not the source) and second, we did the ssync before rather than after resetting a DMA config register. Signed-off-by: Mike Frysinger <vapier@xxxxxxxxxx> commit fb4b5d3a379824d94fd71fc1aa78e9dbcb15b948 Author: Mike Frysinger <vapier@xxxxxxxxxx> Date: Mon Jun 29 14:20:10 2009 -0400 Blackfin: handle BF561 Core B memory regions better when SMP=n Rather than assume Core B is always run with caches turned on, let people load into any of the on-chip memory regions. It is their business how the SRAM/Cache regions are utilized, so don't prevent them from being able to load into them. Signed-off-by: Mike Frysinger <vapier@xxxxxxxxxx> commit 8399a74f61c69c7d233924de3dd314ca0effa16a Author: Jie Zhang <jie.zhang@xxxxxxxxxx> Date: Sun Jun 28 13:19:36 2009 +0000 Blackfin: fix miscompilation in lshrdi3 The code used in the Blackfin lshrdi3 utilizes gcc constructs. However, the structures declared don't line up with the code gcc generates, so under certain optimizations, we get bad code and things crap out in fun random ways. So rather than trying to maintain different gcc definitions ourselves, just use the ones available in gcclib.h. URL: http://blackfin.uclinux.org/gf/tracker/5286 Signed-off-by: Jie Zhang <jie.zhang@xxxxxxxxxx> Signed-off-by: Mike Frysinger <vapier@xxxxxxxxxx> commit dc437b1b596e310bb583de3868c3d61a6798c81c Author: Robin Getz <robin.getz@xxxxxxxxxx> Date: Fri Jun 26 12:23:51 2009 +0000 Blackfin: fix silent crash when no uClinux MTD filesystem exists Since we need to relocate the attached filesystem with the uClinux MTD map (to handle some anomalies), we need to know its real filesize. If we boot a kernel without a filesystem actually attached, we end up blindly reading and copying garbage (since there is no magic value to detect validity). Often times this results in an early crash and no output. So add a few basic sanity checks before operating on things to catch the majority of cases. Signed-off-by: Robin Getz <robin.getz@xxxxxxxxxx> Signed-off-by: Mike Frysinger <vapier@xxxxxxxxxx> commit 15627bd35c6f02d159e0cb41d287dcba3a23a135 Author: Mike Frysinger <vapier@xxxxxxxxxx> Date: Tue Jun 23 11:21:34 2009 +0000 Blackfin: restore exception banner when dumping crash info Previous unification code put the exception banner behind the "is oops" logic when it should have been printed all the time. Signed-off-by: Mike Frysinger <vapier@xxxxxxxxxx> commit 0e4edcf0b0f7d96c4be7788b13bee82e4d3ba0ce Author: Robin Getz <robin.getz@xxxxxxxxxx> Date: Mon Jun 22 20:23:48 2009 +0000 Blackfin: work around anomaly 05000281 Add missing anomaly workaround for anomaly 05000281 - we can't return to instructions which cause hardware errors otherwise we trigger the error again which means we go into an infinite loop of handling, returning, and retriggering. This work around confuses gdb when the error occurs as the PC will seemed to have moved, so a better long term fix will need to be figured out, but for now this is better than an infinite crash loop. Signed-off-by: Robin Getz <robin.getz@xxxxxxxxxx> Signed-off-by: Mike Frysinger <vapier@xxxxxxxxxx> commit 976119bc5d2253bb47f3255ee178ce1ee605fd3c Author: Graf Yang <graf.yang@xxxxxxxxxx> Date: Wed Jul 1 07:05:40 2009 +0000 Blackfin: update anomaly lists to match latest sheets/usage Signed-off-by: Graf Yang <graf.yang@xxxxxxxxxx> Signed-off-by: Cliff Cai <cliff.cai@xxxxxxxxxx> Signed-off-by: Robin Getz <robin.getz@xxxxxxxxxx> Signed-off-by: Mike Frysinger <vapier@xxxxxxxxxx> commit b2dc0a08845af9d6ea990a1a28d4545998707570 Author: Mike Frysinger <vapier@xxxxxxxxxx> Date: Sat Jun 20 15:36:09 2009 -0400 Blackfin: drop dead flash_probe call There are no CONFIG_{BLK,CHR}_DEV_FLASH Kconfig options, and there is no flash_probe() function, so not really sure what this code is all about. Seems to be dead code that stretches way back to the start of the Blackfin port. Signed-off-by: Mike Frysinger <vapier@xxxxxxxxxx> commit 1997660cea28202ece0956cd44f332ac57700138 Author: Robin Getz <robin.getz@xxxxxxxxxx> Date: Wed Jun 17 15:18:18 2009 +0000 Blackfin: cleanup code a bit with comments and defines Improve the assembly with a few explanatory comments and use symbolic defines rather than numeric values for bit positions. Signed-off-by: Robin Getz <robin.getz@xxxxxxxxxx> Signed-off-by: Mike Frysinger <vapier@xxxxxxxxxx> commit f6c43385435640e056424034caac0d765c45e370 Merge: 65bc98b0059360e458aebd208587be44641227c1 35b5c55fee08e6e4001ba98060a2d0b82f70b5f4 Author: Steve French <sfrench@xxxxxxxxxx> Date: Thu Jul 16 04:21:39 2009 +0000 Merge branch 'master' of /pub/scm/linux/kernel/git/torvalds/linux-2.6 commit 43237b5490e8f2f4679decd660064ff35ce490cc Author: Jan Kara <jack@xxxxxxx> Date: Wed May 20 18:41:58 2009 +0200 ext3: Get rid of extenddisksize parameter of ext3_get_blocks_handle() Get rid of extenddisksize parameter of ext3_get_blocks_handle(). This seems to be a relict from some old days and setting disksize in this function does not make much sence. Currently it was set only by ext3_getblk(). Since the parameter has some effect only if create == 1, it is easy to check that the three callers which end up calling ext3_getblk() with create == 1 (ext3_append, ext3_quota_write, ext3_mkdir) do the right thing and set disksize themselves. Signed-off-by: Jan Kara <jack@xxxxxxx> commit 1e9fd53b783ea646de3ee09a4574afeb6778d504 Author: Jan Kara <jack@xxxxxxx> Date: Wed Jun 24 17:31:40 2009 +0200 jbd: Fix a race between checkpointing code and journal_get_write_access() The following race can happen: CPU1 CPU2 checkpointing code checks the buffer, adds it to an array for writeback do_get_write_access() ... lock_buffer() unlock_buffer() flush_batch() submits the buffer for IO __jbd_journal_file_buffer() So a buffer under writeout is returned from do_get_write_access(). Since the filesystem code relies on the fact that journaled buffers cannot be written out, it does not take the buffer lock and so it can modify buffer while it is under writeout. That can lead to a filesystem corruption if we crash at the right moment. The similar problem can happen with the journal_get_create_access() path. We fix the problem by clearing the buffer dirty bit under buffer_lock even if the buffer is on BJ_None list. Actually, we clear the dirty bit regardless the list the buffer is in and warn about the fact if the buffer is already journalled. Thanks for spotting the problem goes to dingdinghua <dingdinghua85@xxxxxxxxx>. Reported-by: dingdinghua <dingdinghua85@xxxxxxxxx> Signed-off-by: Jan Kara <jack@xxxxxxx> commit 9eaaa2d5759837402ec5eee13b2a97921808c3eb Author: Jan Kara <jack@xxxxxxx> Date: Mon Jul 13 20:26:52 2009 +0200 ext3: Fix truncation of symlinks after failed write Contents of long symlinks is written via standard write methods. So when the write fails, we add inode to orphan list. But symlinks don't have .truncate method defined so nobody properly removes them from the orphan list (both on disk and in memory). Fix this by calling ext3_truncate() directly instead of calling vmtruncate() (which is saner anyway since we don't need anything vmtruncate() does except from calling .truncate in these paths). We also add inode to orphan list only if ext3_can_truncate() is true (currently, it can be false for symlinks when there are no blocks allocated) - otherwise orphan list processing will complain and ext3_truncate() will not remove inode from on-disk orphan list. Signed-off-by: Jan Kara <jack@xxxxxxx> commit 7447a668a3860b66b3c9db86fdea91e355ba59ac Author: Jan Kara <jack@xxxxxxx> Date: Wed Jul 15 20:36:08 2009 +0200 jbd: Fail to load a journal if it is too short Due to on disk corruption, it can happen that journal is too short. Fail to load it in such case so that we don't oops somewhere later. Reported-by: Nageswara R Sastry <rnsastry@xxxxxxxxxxxxxxxxxx> Signed-off-by: Jan Kara <jack@xxxxxxx> commit b13bb2e9933b9dfa25c81d959d847c843481111e Author: Lothar WaÃ?mann <LW@xxxxxxxxxxxxxxxxxxx> Date: Tue Jul 14 23:12:25 2009 +0000 net/can: add module alias to can protocol drivers Add appropriate MODULE_ALIAS() to facilitate autoloading of can protocol drivers Signed-off-by: Lothar Wassmann <LW@xxxxxxxxxxxxxxxxxxx> Acked-by: Oliver Hartkopp <oliver@xxxxxxxxxxxx> Signed-off-by: David S. Miller <davem@xxxxxxxxxxxxx> commit f7e5cc0c40dff92bad2894153f675c6c542ba2f0 Author: Lothar WaÃ?mann <LW@xxxxxxxxxxxxxxxxxxx> Date: Tue Jul 14 23:10:21 2009 +0000 net/can bugfix: use after free bug in can protocol drivers Fix a use after free bug in can protocol drivers The release functions of the can protocol drivers lack a call to sock_orphan() which leads to referencing freed memory under certain circumstances. This patch fixes a bug reported here: https://lists.berlios.de/pipermail/socketcan-users/2009-July/000985.html Signed-off-by: Lothar Wassmann <LW@xxxxxxxxxxxxxxxxxxx> Acked-by: Oliver Hartkopp <oliver@xxxxxxxxxxxx> Signed-off-by: David S. Miller <davem@xxxxxxxxxxxxx> commit 35b5c55fee08e6e4001ba98060a2d0b82f70b5f4 Merge: e9e961c9a818a2f24711af493b907a8e40a69efc b2dde6afe5d29212d521e69492ebc299db235001 Author: Linus Torvalds <torvalds@xxxxxxxxxxxxxxxxxxxx> Date: Wed Jul 15 10:29:09 2009 -0700 Merge branch 'upstream-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/jgarzik/libata-dev * 'upstream-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/jgarzik/libata-dev: ahci: add device ID for 82801JI sata controller drivers/ata: Move a dereference below a NULL test libata: implement and use HORKAGE_NOSETXFER, take#2 libata: fix follow-up SRST failure path commit cb65c8732a50f8a145d36dbdac026a1789ad1587 Author: Jaswinder Singh Rajput <jaswinder@xxxxxxxxxx> Date: Wed Jul 15 16:45:40 2009 +0530 ALSA: riptide - proper handling of pci_register_driver for joystick We need to check returning error for pci_register_driver(&joystick_driver) On failure, we should unregister formerly registered audio drivers This also fixed the compiler warning : CC [M] sound/pci/riptide/riptide.o sound/pci/riptide/riptide.c: In function â??alsa_card_riptide_initâ??: sound/pci/riptide/riptide.c:2200: warning: ignoring return value of â??__pci_register_driverâ??, declared with attribute warn_unused_result Signed-off-by: Jaswinder Singh Rajput <jaswinderrajput@xxxxxxxxx> Signed-off-by: Takashi Iwai <tiwai@xxxxxxx> commit 8886f33f25083a47d5fa24ad7b57bb708c5c5403 Author: Clemens Ladisch <clemens@xxxxxxxxxx> Date: Mon Jul 13 13:21:58 2009 +0200 sound: usb-audio: add workaround for Blue Microphones devices Blue Microphones USB devices have an alternate setting that sends two channels of data to the computer. Unfortunately, the descriptors of that altsetting have a wrong channel setting, which means that any recorded data from such a device has twice the sample rate from what would be expected. This patch adds a workaround to ignore that altsetting. Since these devices have only one actual channel, no data is lost. Signed-off-by: Clemens Ladisch <clemens@xxxxxxxxxx> Cc: <stable@xxxxxxxxxx> Signed-off-by: Takashi Iwai <tiwai@xxxxxxx> commit 3dc948da783e713cd3dc8bbd8f293f8795af8f06 Author: Holger Brunck <holger.brunck@xxxxxxxxxxx> Date: Mon Jul 13 16:47:57 2009 +0200 UBI: fix bug in image sequence number handling This patch fixes a bug in the image seq. number handling in the scanning level. The assignment of the image_seq was incorrect. Signed-off-by: Holger Brunck <holger.brunck@xxxxxxxxxxx> Signed-off-by: Artem Bityutskiy <Artem.Bityutskiy@xxxxxxxxx> commit c8cc452501572d4a81331179b00a9bdd5d2bfada Author: Artem Bityutskiy <Artem.Bityutskiy@xxxxxxxxx> Date: Fri Jul 10 16:59:36 2009 +0300 UBI: gluebi: initialize ubi_num field Do not forget to initialize 'gluebi->ubi_num' because otherwise it will stay 0 even for ubi1 device, and gluebi will open wrong UBI device when 'gluebi_get_device()' is called. Signed-off-by: Artem Bityutskiy <Artem.Bityutskiy@xxxxxxxxx> commit 0115cb544b0a6709e9cf3de615e150d22e7d9d10 Author: Andreas Schwab <schwab@xxxxxxxxxxxxxx> Date: Fri Jul 10 11:17:36 2009 +0000 powerpc: Fix another bug in move of altivec code to vector.S When moving load_up_altivec to vector.S a typo in a comment caused a thinko setting the wrong variable. Signed-off-by: Andreas Schwab <schwab@xxxxxxxxxxxxxx> Signed-off-by: Benjamin Herrenschmidt <benh@xxxxxxxxxxxxxxxxxxx> commit 28477fb1ed1a00c67b382ae8f37f35708e3bf5dd Author: Dave Kleikamp <shaggy@xxxxxxxxxxxxxxxxxx> Date: Wed Jul 8 13:46:18 2009 +0000 powerpc: Fix booke user_disable_single_step() On booke processors, gdb is seeing spurious SIGTRAPs when setting a watchpoint. user_disable_single_step() simply quits when the DAC is non-zero. It should be clearing the DBCR0_IC and DBCR0_BT bits from the dbcr0 register and TIF_SINGLESTEP from the thread flag. Signed-off-by: Dave Kleikamp <shaggy@xxxxxxxxxxxxxxxxxx> Signed-off-by: Benjamin Herrenschmidt <benh@xxxxxxxxxxxxxxxxxxx> commit c836e862803b2aa2bd9a354e151316d2b42c44ec Author: Alex Deucher <alexdeucher@xxxxxxxxx> Date: Mon Jul 13 13:51:03 2009 -0400 drm/radeon/kms: fix hotspot handling on pre-avivo chips Need to adjust CUR_OFFSET for yorigin Signed-off-by: Alex Deucher <alexdeucher@xxxxxxxxx> Signed-off-by: Dave Airlie <airlied@xxxxxxxxxx> commit eb1300bcd70b3bffbefb6ae0eab13a571255ee93 Author: Alex Deucher <alexdeucher@xxxxxxxxx> Date: Mon Jul 13 11:09:56 2009 -0400 drm/radeon/kms: enable frac fb divs on rs600/rs690/rs740 Allows us to hit dot clocks much closer, especially on chips with non-27 Mhz reference clocks like most IGP chips. This fixes most flickering and blanking problems with non-exact dot clocks on these chips. Signed-off-by: Alex Deucher <alexdeucher@xxxxxxxxx> Signed-off-by: Dave Airlie <airlied@xxxxxxxxxx> commit d0e275a90a81b37409a0cfbca77581e3d235f5cf Author: Alex Deucher <alexdeucher@xxxxxxxxx> Date: Mon Jul 13 11:08:18 2009 -0400 drm/radeon/kms: add PLL flag to prefer frequencies <= the target freq This is needed when using fractional feedback dividers on some IGP chips. Signed-off-by: Alex Deucher <alexdeucher@xxxxxxxxx> Signed-off-by: Dave Airlie <airlied@xxxxxxxxxx> commit b995e4330de0d8b1b8b9e49ce10cc6dc78e2cbba Author: Dave Airlie <airlied@xxxxxxxx> Date: Tue Jul 14 02:02:32 2009 +1000 drm/radeon/kms: block RN50 from using 3D engine. RN50/ES1000 is a cut-down rv100 chip used in the server market. The 3D engine on these is either not there or unverified so refuse any attempt to configure registers on it. Signed-off-by: Dave Airlie <airlied@xxxxxxxxxx> commit 2a0f8918fc34713ecaeb900ffb9afa61df4cb08e Author: Dave Airlie <airlied@xxxxxxxx> Date: Sat Jul 11 04:44:47 2009 +1000 drm/radeon/kms: fix VRAM sizing like DDX does it. Doing this like the DDX seems like the most sure fire way to avoid having to reinvent it slowly and painfully. At the moment we keep getting things wrong with aper vs vram, so we know the DDX does it right. booted on PCI r100, PCIE rv370, IGP rs400. Signed-off-by: Dave Airlie <airlied@xxxxxxxxxx> commit ad49f501867cba87e1e45e5ebae0b12435d68bf1 Author: Dave Airlie <airlied@xxxxxxxx> Date: Fri Jul 10 22:36:26 2009 +1000 drm/ttm/radeon: add dma32 support. This add support for using dma32 memory on gpus that really need it. Currently IGPs are left without DMA32 but we might need to change that unless we can fix rs690. Signed-off-by: Dave Airlie <airlied@xxxxxxxxxx> commit 61b576dbbe6a19d102c025ebc102a0749e2d3c80 Author: Michel Dänzer <daenzer@xxxxxxxxxx> Date: Wed Jun 24 00:12:55 2009 +1000 drm/radeon: Endianness fixes for radeondrmfb. For now handle it via r/g/b offsets and disallow 16 bpp modes on big endian machines. Signed-off-by: Michel Dänzer <daenzer@xxxxxxxxxx> Signed-off-by: Dave Airlie <airlied@xxxxxxxxxx> commit 77bd36f014bc5a3f28507a4e86a81b2b3d2439c3 Author: Dave Airlie <airlied@xxxxxxxxxx> Date: Fri Jul 10 09:33:00 2009 +1000 drm/radeon/kms: don't swap PCIEGART PTEs in VRAM. On powerpc, since we aren't using any hw swappers, this will get flipped around by default in hw. tested on a G5 + rv515. Signed-off-by: Dave Airlie <airlied@xxxxxxxxxx> commit 5176fdc4c5873e52f9cb6e166d80e843847e7eb4 Author: Dave Airlie <airlied@xxxxxxxxxx> Date: Tue Jun 30 11:47:14 2009 +1000 drm/radeon/kms: drop zero length CS indirect buffers. If userspace sends a zero length IB, it really shouldn't have bothered so EINVAL it. Signed-off-by: Dave Airlie <airlied@xxxxxxxxxx> commit e7168cab5bbac0a0e5413fd55ba0e92555bf860d Author: Dave Airlie <airlied@xxxxxxxxxx> Date: Thu Jul 9 16:01:42 2009 +1000 drm/radeon/kms: fix vram vs aper size check. Fix this to be correct like the DDX code, looks like a typo on transfer to the kernel. Signed-off-by: Dave Airlie <airlied@xxxxxxxxxx> commit 2007d633d639c896396e4c4b53b38068f3831307 Author: Alex Deucher <alexdeucher@xxxxxxxxx> Date: Wed Jul 8 16:17:23 2009 -0400 drm/radeon/kms: get lvds info for DIG LVTMA and UNIPHY encoders Noticed by RafaÅ? MiÅ?ecki on dri-devel. On r6xx/r7xx hardware, laptop panels can be driven by KLDSCP_LVTMA or UNIPHY. Signed-off-by: Alex Deucher <alexdeucher@xxxxxxxxx> Signed-off-by: Dave Airlie <airlied@xxxxxxxxxx> commit 848577ee27f704231b1860ae987a1be78b88b06e Author: Alex Deucher <alexdeucher@xxxxxxxxx> Date: Wed Jul 8 16:15:30 2009 -0400 drm/radeon/kms: fix quirk for MSI laptop The line mux for the connector in the bios tables is used for enumerating drm connectors. Since this laptop has a quirk where the same line much is listed for both VGA and LVDS, the connectors get combined. Setting the line mux on LVDS to an unused value prevents both encoders from being combined into the same connector. This should fix bko bug 13720. Signed-off-by: Alex Deucher <alexdeucher@xxxxxxxxx> Signed-off-by: Dave Airlie <airlied@xxxxxxxxxx> commit ae3e8122cbf8f9301369f276f4179aa6ec1b5b9c Author: Thomas Hellstrom <thellstrom@xxxxxxxxxx> Date: Wed Jun 24 19:57:34 2009 +0200 ttm: Fix caching mode selection. A bug caused a new caching state to be selected on each buffer object validation regardless of the current caching state. Moreover, a caching state could be selected that wasn't supported by the memory type. Signed-off-by: Thomas Hellstrom <thellstrom@xxxxxxxxxx> Signed-off-by: Dave Airlie <airlied@xxxxxxxxxx> commit d1724078d6a01177c1db4ea0b75fda1ca8a73d57 Author: Thomas Hellstrom <thellstrom@xxxxxxxxxx> Date: Wed Jun 24 19:57:35 2009 +0200 ttm: Make messages more readable. Signed-off-by: Thomas Hellstrom <thellstrom@xxxxxxxxxx> Signed-off-by: Dave Airlie <airlied@xxxxxxxxxx> commit 531369e62649bb8f31217cc0bf33ee6f89f1dff6 Author: Dave Airlie <airlied@xxxxxxxxxx> Date: Mon Jun 29 11:21:25 2009 +1000 drm/radeon: fix support for vline relocations. Userspace sends us a special relocation type to sync video/exa to vlines to avoid tearing, this deals with the relocation in the kernel, it picks the correct crtc and avoids issues where crtcs are disabled. This version also parses the wait until to make sure it isn't trying to do anything evil. Signed-off-by: Dave Airlie <airlied@xxxxxxxxxx> commit 3e43d82125952826202a8cd20ba84a66f3ff8808 Author: Dave Airlie <airlied@xxxxxxxxxx> Date: Thu Jul 9 15:04:18 2009 +1000 drm/radeon/kms: respect TOM on rs100->rs480 IGP variants. Normally we are free to place VRAM where we want in the GPUs memory address space, however on IGP chips the VRAM is actual RAM, and no special translation or aperture is used inside the GPU MC. So when you move the VRAM aperture away from the TOM register, you actually move it into main memory and can trash things quite badly. This commit makes the code respect the TOM location for MC_FB_LOCATION. Signed-off-by: Dave Airlie <airlied@xxxxxxxxxx> commit 4162338a1dab388474d4115289d1d7071623f04d Author: Dave Airlie <airlied@xxxxxxxxxx> Date: Thu Jul 9 15:04:19 2009 +1000 drm/radeon/kms: set crtc and cursor offsets correctly on legacy chips. The crtc and cursor offsets on the legacy chips are offset from DISPLAY_BASE_ADDR. The code worked if display base addr was at 0, but otherwise falls to pieces. Signed-off-by: Dave Airlie <airlied@xxxxxxxxxx> commit 6cdf65855cf884712532fc72770baaef7bdf1b9a Author: Dave Airlie <airlied@xxxxxxxxxx> Date: Mon Jun 29 18:29:13 2009 +1000 drm/radeon/kms: remove IB flushing trick. If there is a problem then this is hiding it, we shouldn't ever need to flush the IB. Either the buffers are: WB - caching just works. WC - no need to do explicit flush, the MB + readback will do it Signed-off-by: Dave Airlie <airlied@xxxxxxxxxx> commit 4c9bc75cbc6f2f447a38a123aa6e0605fab3cb7a Author: Dave Airlie <airlied@xxxxxxxxxx> Date: Mon Jun 29 18:29:12 2009 +1000 drm/radeon/kms: mmio base/size should be resource_size_t. Unsigned long is incorrect for 64-bit resources on 32-bit hw. Signed-off-by: Dave Airlie <airlied@xxxxxxxxxx> commit ed10f95d60d41033d356fdcf88c240d7065bd5b4 Author: Dave Airlie <airlied@xxxxxxxxxx> Date: Mon Jun 29 18:29:11 2009 +1000 drm/radeon/kms: fix some GART table entry bugs. 1. rv370 can accept 40-bit addresses - also at 24-bit shift not 4 bits 2. rs480 table can be in 40-bit space. - 4 bit shift for top 8 bits 3. rs480 table entries can be in 40-bit space. Signed-off-by: Dave Airlie <airlied@xxxxxxxxxx> commit ecca0683230b83e8f830ff157911fad20bc43015 Author: Julia Lawall <julia@xxxxxxx> Date: Sat Jul 11 09:50:09 2009 +0200 drm: Move a dereference below a NULL test If the NULL test is necessary, then the dereference should be moved below the NULL test. The semantic patch that makes this change is as follows: (http://www.emn.fr/x-info/coccinelle/) // <smpl> @@ type T; expression E; identifier i,fld; statement S; @@ - T i = E->fld; + T i; ... when != E when != i if (E == NULL) S + i = E->fld; // </smpl> Signed-off-by: Julia Lawall <julia@xxxxxxx> Signed-off-by: Dave Airlie <airlied@xxxxxxxx> commit ba0ab82358a12e7a7f2872d6b65c437157c6888f Author: Jesse Barnes <jbarnes@xxxxxxxxxxxxxxxx> Date: Fri Jul 3 11:24:46 2009 -0700 fb/intelfb: conflict with DRM_I915 and hide by default Users get confused by this driver. It's really a special purpose embedded driver, and causes a lot of problems if enabled. So hide it under EMBEDDED by default, and make sure it doesn't get enabled with the i915 DRM driver. Dave, I'm hoping you can feed this to Linus through your tree. It's appropriate for 2.6.31 I think. Signed-off-by: Jesse Barnes <jbarnes@xxxxxxxxxxxxxxxx> Signed-off-by: Dave Airlie <airlied@xxxxxxxx> commit 916635bfcae5fec170ccd36f4b451cf7c5d23b9d Author: Roel Kluin <roel.kluin@xxxxxxxxx> Date: Wed Jul 15 16:00:37 2009 +1000 drm/ttm: fix misplaced parentheses Signed-off-by: Roel Kluin <roel.kluin@xxxxxxxxx> Signed-off-by: Andrew Morton <akpm@xxxxxxxxxxxxxxxxxxxx> Signed-off-by: Dave Airlie <airlied@xxxxxxxx> commit 42dd8619940a153e950c4d2301cd5e49f7342f99 Author: Simon Farnsworth <simon.farnsworth@xxxxxxxxxx> Date: Fri Jul 10 11:25:16 2009 +0100 drm/via: Fix vblank IRQ on VIA hardware. via_enable_vblank wasn't setting the VBlank enable bit - instead, it was masking out the rest of the register. At the same time, fix via_disable_vblank to clear the VBlank enable bit. Signed-off-by: Dave Airlie <airlied@xxxxxxxx> commit 845792d940f5755b7a7837c450a71d9e831a13e2 Author: Jiri Slaby <jirislaby@xxxxxxxxx> Date: Mon Jul 13 23:20:21 2009 +0200 drm: drm_gem, check kzalloc retval Check kzalloc retval against NULL in drm_gem_object_alloc and bail out appropriately. While at it merge the fail paths and jump to them by gotos at the end of the function. Signed-off-by: Jiri Slaby <jirislaby@xxxxxxxxx> Signed-off-by: Dave Airlie <airlied@xxxxxxxx> commit d25e3a6faa82eeaa6e5487c2d2e27cfd938ed108 Author: Jiri Slaby <jirislaby@xxxxxxxxx> Date: Mon Jul 13 23:20:20 2009 +0200 drm: drm_debugfs, check kmalloc retval Check kmalloc return value in drm_debugfs_create_files and bail out appropriately if the pointer is NULL. Signed-off-by: Jiri Slaby <jirislaby@xxxxxxxxx> Signed-off-by: Dave Airlie <airlied@xxxxxxxx> commit 069a9dce384e211784ce6fdfaf1f13921327480d Author: Alex Deucher <alexdeucher@xxxxxxxxx> Date: Wed Jul 1 13:03:52 2009 -0400 drm/radeon: add some missing pci ids Also, fix ordering for a couple others Signed-off-by: Alex Deucher <alexdeucher@xxxxxxxxx> Signed-off-by: Dave Airlie <airlied@xxxxxxxx> commit b2dde6afe5d29212d521e69492ebc299db235001 Author: Mark Goodwin <mgoodwin@xxxxxxxxxx> Date: Fri Jun 26 10:44:11 2009 -0500 ahci: add device ID for 82801JI sata controller Add device ID for Intel 82801JI SATA AHCI controller. Signed-off-by: David Milburn <dmilburn@xxxxxxxxxx> Signed-off-by: Jeff Garzik <jgarzik@xxxxxxxxxx> commit 1e1f421a8137824127a41303a30493356b5da638 Author: Julia Lawall <julia@xxxxxxx> Date: Sat Jul 11 09:49:48 2009 +0200 drivers/ata: Move a dereference below a NULL test If the NULL test is necessary, then the dereference should be moved below the NULL test. The semantic patch that makes this change is as follows: (http://www.emn.fr/x-info/coccinelle/) // <smpl> @@ type T; expression E; identifier i,fld; statement S; @@ - T i = E->fld; + T i; ... when != E when != i if (E == NULL) S + i = E->fld; // </smpl> Signed-off-by: Julia Lawall <julia@xxxxxxx> Signed-off-by: Jeff Garzik <jgarzik@xxxxxxxxxx> commit d0cb43b35d64877b2944bd37719708be5d7bbf99 Author: Tejun Heo <tj@xxxxxxxxxx> Date: Thu Jul 9 09:27:50 2009 +0900 libata: implement and use HORKAGE_NOSETXFER, take#2 PIONEER DVD-RW DVRTD08 times out SETXFER if no media is present. The device is SATA and simply skipping SETXFER works around the problem. Implement ATA_HORKAGE_NOSETXFER and apply it to the device. Reported by Moritz Rigler in the following thread. http://thread.gmane.org/gmane.linux.ide/36790 and by Lars in bko#9540. Updated to whine and ignore NOSETXFER if PATA component is detected as suggested by Alan Cox. Signed-off-by: Tejun Heo <tj@xxxxxxxxxx> Reported-by: Moritz Rigler <linux-ide@xxxxxxxxxxxxxxxxx> Reported-by: Lars <lars21ce@xxxxxx> Cc: Alan Cox <alan@xxxxxxxxxxxxxxxxxxx> Signed-off-by: Jeff Garzik <jgarzik@xxxxxxxxxx> commit fe2c4d018fc6127610fef677e020b3bb41cfaaaf Author: Tejun Heo <tj@xxxxxxxxxx> Date: Wed Jul 8 12:16:37 2009 +0900 libata: fix follow-up SRST failure path ata_eh_reset() was missing error return handling after follow-up SRST allowing EH to continue the normal probing path after reset failure. This was discovered while testing new WD 2TB drives which take longer than 10 secs to spin up and cause the first follow-up SRST to time out. Signed-off-by: Tejun Heo <tj@xxxxxxxxxx> Signed-off-by: Jeff Garzik <jgarzik@xxxxxxxxxx> commit c9d4bc289cd1cd43c3cff97b73efe2b0b5098a92 Author: Zhaolei <zhaolei@xxxxxxxxxxxxxx> Date: Tue Jul 14 17:59:05 2009 +0800 z2ram: Small cleanup for z2ram.c We should use Z2MINOR_COUNT as range argument in blk_unregister_region() Signed-off-by: Zhao Lei <zhaolei@xxxxxxxxxxxxxx> Signed-off-by: Tejun Heo <tj@xxxxxxxxxx> commit e9e961c9a818a2f24711af493b907a8e40a69efc Merge: 8aa651e23e2835b6d64381ce17447c995040ab30 593308259bbd335eda9c5280cdd1f7883c746211 Author: Linus Torvalds <torvalds@xxxxxxxxxxxxxxxxxxxx> Date: Tue Jul 14 18:40:15 2009 -0700 Merge branch 'i2c-for-2631-rc3' of git://aeryn.fluff.org.uk/bjdooks/linux * 'i2c-for-2631-rc3' of git://aeryn.fluff.org.uk/bjdooks/linux: i2c: Use resource_size i2c-davinci: behave with i2cdetect i2c-davinci: convert clock usage after clkdev conversion commit 8aa651e23e2835b6d64381ce17447c995040ab30 Merge: d878fe2331219ff8518192b67f66699cb6d164e2 a89d63a159b1ba5833be2bef00adf8ad8caac8be Author: Linus Torvalds <torvalds@xxxxxxxxxxxxxxxxxxxx> Date: Tue Jul 14 18:37:24 2009 -0700 Merge branch 'for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/teigland/dlm * 'for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/teigland/dlm: dlm: free socket in error exit path dlm: fix plock use-after-free dlm: Fix uninitialised variable warning in lock.c commit d878fe2331219ff8518192b67f66699cb6d164e2 Merge: 62f49052ac4b68152ddf742b78b2151ba20dbc28 92bd3bbfbe644ea0860cfe84cf175fffa5246423 Author: Linus Torvalds <torvalds@xxxxxxxxxxxxxxxxxxxx> Date: Tue Jul 14 18:37:09 2009 -0700 Merge branch 'for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/roland/infiniband * 'for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/roland/infiniband: mlx4_core: Add new ConnectX EN PCI ID 0x6764 mlx4_core: Handle multi-physical function devices commit 62f49052ac4b68152ddf742b78b2151ba20dbc28 Merge: 5be6717e0d2493a20791d592e2d20fd2b2f62d44 6ff7041dbfeb3bd7dfe9aa67275c21199ef760d6 Author: Linus Torvalds <torvalds@xxxxxxxxxxxxxxxxxxxx> Date: Tue Jul 14 18:35:24 2009 -0700 Merge branch 'timers-fixes-for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/tip/linux-2.6-tip * 'timers-fixes-for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/tip/linux-2.6-tip: hrtimer: Fix migration expiry check hrtimer: migration: do not check expiry time on current CPU commit 5be6717e0d2493a20791d592e2d20fd2b2f62d44 Merge: 989fa940961faa9d51f073bafa58c2b5653d5969 2ad76643ff58bb8841f391ea8327c14abe273ea3 Author: Linus Torvalds <torvalds@xxxxxxxxxxxxxxxxxxxx> Date: Tue Jul 14 18:35:11 2009 -0700 Merge branch 'x86-fixes-for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/tip/linux-2.6-tip * 'x86-fixes-for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/tip/linux-2.6-tip: x86: Fix warning in pvclock.c x86, apic: Fix false positive section mismatch in numaq_32.c x86: Fix false positive section mismatch in es7000_32.c x86: Remove spurious printk level from segfault message commit 989fa940961faa9d51f073bafa58c2b5653d5969 Merge: c0c50b541a4b147c5c2572ed051420238c47f57a ce2ae53b750abfaa012ce408e93da131a5b5649b Author: Linus Torvalds <torvalds@xxxxxxxxxxxxxxxxxxxx> Date: Tue Jul 14 18:35:00 2009 -0700 Merge branch 'core-fixes-for-linus-2' of git://git.kernel.org/pub/scm/linux/kernel/git/tip/linux-2.6-tip * 'core-fixes-for-linus-2' of git://git.kernel.org/pub/scm/linux/kernel/git/tip/linux-2.6-tip: futexes: Fix infinite loop in get_futex_key() on huge page commit c0c50b541a4b147c5c2572ed051420238c47f57a Merge: a376d446771710790f5f3425172b467bf8578e22 6ab5d668b131d3c5416f6df1d3ca95b82d4fe8a2 Author: Linus Torvalds <torvalds@xxxxxxxxxxxxxxxxxxxx> Date: Tue Jul 14 18:34:32 2009 -0700 Merge branch 'tracing-fixes-for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/tip/linux-2.6-tip * 'tracing-fixes-for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/tip/linux-2.6-tip: tracing/function-profiler: do not free per cpu variable stat tracing/events: Move TRACE_SYSTEM outside of include guard commit a376d446771710790f5f3425172b467bf8578e22 Merge: 6847e154e3cd74fca6084124c097980a7634285a 252aa9d94a04252046f3a382e6aca1b5c95921d8 Author: Linus Torvalds <torvalds@xxxxxxxxxxxxxxxxxxxx> Date: Tue Jul 14 18:33:54 2009 -0700 Merge git://git.kernel.org/pub/scm/linux/kernel/git/davem/net-2.6 * git://git.kernel.org/pub/scm/linux/kernel/git/davem/net-2.6: Revert "NET: Fix locking issues in PPP, 6pack, mkiss and strip line disciplines." skbuff.h: Fix comment for NET_IP_ALIGN drivers/net: using spin_lock_irqsave() in net_send_packet() NET: phy_device, fix lock imbalance gre: fix ToS/DiffServ inherit bug igb: gcc-3.4.6 fix atlx: duplicate testing of MCAST flag NET: Fix locking issues in PPP, 6pack, mkiss and strip line disciplines. netdev: restore MTU change operation netdev: restore MAC address set and validate operations sit: fix regression: do not release skb->dst before xmit net: ip_push_pending_frames() fix net: sk_prot_alloc() should not blindly overwrite memory commit 593308259bbd335eda9c5280cdd1f7883c746211 Author: Julia Lawall <julia@xxxxxxx> Date: Sun Jul 5 08:37:50 2009 +0200 i2c: Use resource_size Use the function resource_size, which reduces the chance of introducing off-by-one errors in calculating the resource size. The semantic patch that makes this change is as follows: (http://www.emn.fr/x-info/coccinelle/) // <smpl> @@ struct resource *res; @@ - (res->end - res->start) + 1 + resource_size(res) // </smpl> Signed-off-by: Julia Lawall <julia@xxxxxxx> Signed-off-by: Ben Dooks <ben-linux@xxxxxxxxx> commit 7605fa3b0aedbb6c77471517ba16753f276156d9 Author: David Brownell <dbrownell@xxxxxxxxxxxxxxxxxxxxx> Date: Mon Jul 6 15:48:36 2009 -0700 i2c-davinci: behave with i2cdetect Make i2c-davinci cope properly with "i2cdetect": don't spew syslog spam on perfectly normal behaviors, or respond to any address other than the one reserved for the SMBus host. Signed-off-by: David Brownell <dbrownell@xxxxxxxxxxxxxxxxxxxxx> Signed-off-by: Kevin Hilman <khilman@xxxxxxxxxxxxxxxxxxx> Signed-off-by: Ben Dooks <ben-linux@xxxxxxxxx> commit e164ddeeb82920c5b1470b6585767a000c8b0e45 Author: Kevin Hilman <khilman@xxxxxxxxxxxxxxxxxxx> Date: Mon Jul 6 15:48:35 2009 -0700 i2c-davinci: convert clock usage after clkdev conversion DaVinci core code has converted to the new clkdev API so clock name strings are not needed. Instead, just the a 'struct device' pointer is needed. Signed-off-by: Kevin Hilman <khilman@xxxxxxxxxxxxxxxxxxx> Signed-off-by: Ben Dooks <ben-linux@xxxxxxxxx> commit dff33cfcefa31c30b72c57f44586754ea9e8f3e2 Author: Jesse Barnes <jbarnes@xxxxxxxxxxxxxxxx> Date: Tue Jul 14 10:15:56 2009 -0700 drm/i915: FIFO watermark calculation fixes I discovered several bugs in the FIFO code that was recently applied. Some of them fell into the "how did this ever work" category, since in some cases we were using the wrong FIFO size values, and the calculations ended up being way off. This patch fixes all the bugs I found, and works well on my GM45, 915GM and 855GM test machines; but as usual with these sorts of patches broader testing is definitely requested (in particular this patch affects 830, 845 and 865 for which I don't have test hardware). Overall, the patch clarifies the watermark calculation function by adding some comments and debug info, and making the variable names a bit clearer. The "get FIFO size" portion of the code has also been corrected, so we should be able to properly detect the FIFO allocations for each pipe, for use in the watermark calculation. Signed-off-by: Jesse Barnes <jbarnes@xxxxxxxxxxxxxxxx> Signed-off-by: Eric Anholt <eric@xxxxxxxxxx> commit 9c9ad6162e2aa1e528ed687ccab87fe681ebbef1 Author: Abhishek Kulkarni <adkulkar@xxxxxxxxxxxx> Date: Tue Jul 14 13:26:52 2009 -0500 9p: Fix incorrect parameters to v9fs_file_readn. Fix v9fs_vfs_readpage. The offset and size parameters to v9fs_file_readn were interchanged and hence passed incorrectly. Signed-off-by: Abhishek Kulkarni <adkulkar@xxxxxxxxxxxx> Signed-off-by: Eric Van Hensbergen <ericvh@xxxxxxxxx> commit eedfe1c4289216af5a0a7f38e6b2c4d3f07c087f Author: Abhishek Kulkarni <adkulkar@xxxxxxxxxxxx> Date: Tue Jul 14 13:25:41 2009 -0500 9p: Possible regression in p9_client_stat Fix a possible regression with p9_client_stat where it can try to kfree an ERR_PTR after an erroneous p9pdu_readf. Also remove an unnecessary data buffer increment in p9_client_read. Signed-off-by: Abhishek Kulkarni <adkulkar@xxxxxxxxxxxx> Signed-off-by: Eric Van Hensbergen <ericvh@xxxxxxxxx> commit a17d1720aa35623a9bef3707b36242706714bca5 Author: Abhishek Kulkarni <adkulkar@xxxxxxxxxxxx> Date: Tue Jul 14 13:24:10 2009 -0500 9p: default 9p transport module fix The default 9p transport module is not chosen unless an option parameter (any) is passed to mount, which thus returns a ENOPROTOSUPPORT. This fix moves the check out of parse_opts into p9_client_create. Signed-off-by: Abhishek Kulkarni <adkulkar@xxxxxxxxxxxx> Signed-off-by: Eric Van Hensbergen <ericvh@xxxxxxxxx> commit 252aa9d94a04252046f3a382e6aca1b5c95921d8 Author: David S. Miller <davem@xxxxxxxxxxxxx> Date: Tue Jul 14 13:13:41 2009 -0700 Revert "NET: Fix locking issues in PPP, 6pack, mkiss and strip line disciplines." This reverts commit adeab1afb7de89555c69aab5ca21300c14af6369. As Alan Cox explained, the TTY layer changes that went recently to get rid of the tty->low_latency stuff fixes this already, and even for -stable it's the ->low_latency changes that should go in to fix this, rather than this patch. Signed-off-by: David S. Miller <davem@xxxxxxxxxxxxx> commit 8660c1240ec6016522b882c88751cb4ce40bf0e8 Author: Tobias Klauser <klto@xxxxxxx> Date: Mon Jul 13 22:48:16 2009 +0000 skbuff.h: Fix comment for NET_IP_ALIGN Use the correct function call for skb_reserve in the comment for NET_IP_ALIGN. Signed-off-by: Tobias Klauser <klto@xxxxxxx> Signed-off-by: David S. Miller <davem@xxxxxxxxxxxxx> commit 79fbe134832ebb70a49d8802cfeb2401dc35bb38 Author: Dongdong Deng <dongdong.deng@xxxxxxxxxxxxx> Date: Sun Jul 12 20:27:06 2009 +0000 drivers/net: using spin_lock_irqsave() in net_send_packet() spin_unlock_irq() will enable interrupt in net_send_packet(), this patch changes it to spin_lock_irqsave/spin_lock_irqrestore, so that it doesn't enable interrupts when already disabled, and netconsole would work properly over cs89x0/isa-skeleton. Call trace: netconsole write_msg() { ... -> spin_lock_irqsave(); -> netpoll_send_udp() -> netpoll_send_skb() -> net_send_packet() ->... -> spin_unlock_irqrestore(); ... } Signed-off-by: Dongdong Deng <dongdong.deng@xxxxxxxxxxxxx> Signed-off-by: David S. Miller <davem@xxxxxxxxxxxxx> commit bc23283c7bc90958927abe26eedc562701743a88 Author: Jiri Slaby <jirislaby@xxxxxxxxx> Date: Mon Jul 13 11:23:39 2009 +0000 NET: phy_device, fix lock imbalance Don't forget to unlock a mutex in phy_scan_fixups on a fail path. Signed-off-by: Jiri Slaby <jirislaby@xxxxxxxxx> Signed-off-by: David S. Miller <davem@xxxxxxxxxxxxx> commit a89d63a159b1ba5833be2bef00adf8ad8caac8be Author: Casey Dahlin <cdahlin@xxxxxxxxxx> Date: Tue Jul 14 12:17:51 2009 -0500 dlm: free socket in error exit path In the tcp_connect_to_sock() error exit path, the socket allocated at the top of the function was not being freed. Signed-off-by: Casey Dahlin <cdahlin@xxxxxxxxxx> Signed-off-by: David Teigland <teigland@xxxxxxxxxx> commit ee686ca919193d7c1f87f907e732df5e2f942523 Author: Andreas Jaggi <aj@xxxxxxx> Date: Tue Jul 14 09:35:59 2009 -0700 gre: fix ToS/DiffServ inherit bug Fixes two bugs: - ToS/DiffServ inheritance was unintentionally activated when using impair fixed ToS values - ECN bit was lost during ToS/DiffServ inheritance Signed-off-by: Andreas Jaggi <aj@xxxxxxx> Signed-off-by: David S. Miller <davem@xxxxxxxxxxxxx> commit 2ad76643ff58bb8841f391ea8327c14abe273ea3 Author: Dave Jones <davej@xxxxxxxxxx> Date: Mon Jul 13 16:14:37 2009 -0400 x86: Fix warning in pvclock.c when building 32-bit, I see this .. arch/x86/kernel/pvclock.c:63:7: warning: "__x86_64__" is not defined Signed-off-by: Dave Jones <davej@xxxxxxxxxx> LKML-Reference: <20090713201437.GA12165@xxxxxxxxxx> Signed-off-by: Thomas Gleixner <tglx@xxxxxxxxxxxxx> commit f936601471d1454dacbd3b2a961fd4d883090aeb Author: Daniel Mack <daniel@xxxxxxxx> Date: Mon Jul 13 22:22:49 2009 -0700 Input: fix EVIOCGNAME/JSIOCGNAME regression Commit 3d5cb60e ("Input: simplify name handling for certain input handles") introduced a regression for the EVIOCGNAME/JSIOCGNAME ioctl. Before this, patch, the platform device's name was given back to userspace which was good to identify devices. After this patch, the device is ("event%d", minor) which is not descriptive at all. This fixes the behaviour by taking dev->name. Reported-by: Sven Neumann <s.neumann@xxxxxxxxxxxx> Signed-off-by: Daniel Mack <daniel@xxxxxxxx> Reviewed-by: Thadeu Lima de Souza Cascardo <cascardo@xxxxxxxxxxxxxx> Signed-off-by: Dmitry Torokhov <dtor@xxxxxxx> commit 4fed598a49c014cbc563179b25f2a4b8565e2a50 Author: Ryusuke Konishi <konishi.ryusuke@xxxxxxxxxxxxx> Date: Sun Jul 12 11:13:55 2009 +0900 fs/Kconfig: move nilfs2 out fs/Kconfig file was split into individual fs/*/Kconfig files before nilfs was merged. I've found the current config entry of nilfs is tainting the work. Sorry, I didn't notice. This fixes the violation. Signed-off-by: Ryusuke Konishi <konishi.ryusuke@xxxxxxxxxxxxx> Cc: Alexey Dobriyan <adobriyan@xxxxxxxxx> commit ed8c754b292f02d0550596481527b7bf2b52d024 Author: Tormod Volden <debian.tormod@xxxxxxxxx> Date: Mon Jul 13 22:26:48 2009 +0200 drm/i915: ignore lvds on AOpen Mini PC MP-915 This motherboard thinks it has an LVDS connected, so without this patch the screen goes blank on the connected VGA monitor. More information (for the non-KMS case) in fd.o bug #18004. Signed-off-by: Tormod Volden <debian.tormod@xxxxxxxxx> Signed-off-by: Eric Anholt <eric@xxxxxxxxxx> commit 5e4d6fa72619aeea271d2ad704757717b06e291a Author: Keith Packard <keithp@xxxxxxxxxx> Date: Sun Jul 12 23:53:17 2009 -0700 drm/i915: Allow frame buffers up to 4096x4096 on 915/945 class hardware The 915 and 945 scanout engines can handle frame buffers up to 4096 pixels wide. Pre-9xx hardware has an 8192 byte stride limit, and so we leave the existing 2048 max in place. I'm not sure why we limit the height to the same value; there's no intrinsic hardware limit in the scanout engine. Signed-off-by: Keith Packard <keithp@xxxxxxxxxx> Signed-off-by: Eric Anholt <eric@xxxxxxxxxx> commit 8a90523639f49dc4b4fa7ae47bb9c8ed73ea8577 Author: Jesse Barnes <jbarnes@xxxxxxxxxxxxxxxx> Date: Sat Jul 11 16:48:03 2009 -0400 drm/i915: refactor error detection & collection This patch refactors the existing error detection and collection code, placing most of it in i915_handle_error(). Additionally, we introduce a work queue for scheduling post-crash tasks such as generating a uevent. Using the uevent facility, userspace should be able to capture a post-mortem dump for diagnostics. Signed-off-by: Jesse Barnes <jbarnes@xxxxxxxxxxxxxxxx> Signed-off-by: Ben Gamari <bgamari.foss@xxxxxxxxx> Signed-off-by: Eric Anholt <eric@xxxxxxxxxx> commit 832cc28d5bc676331e6376d940ae45d5937aa688 Author: Florian Mickler <florian@xxxxxxxxxxx> Date: Mon Jul 13 18:40:32 2009 +0800 drm/i915: Set lvds dual channel according to register from vbios Vbios will set lvds register correctly based on current algorithm for lingle/dual Channel LVDS when system boot, so we can accept this configuration directly, regardless of LVDS enable status. It fixed freedesktop.org bug #22262 Signed-off-by: Florian Mickler <florian@xxxxxxxxxxx> Signed-off-by: Eric Anholt <eric@xxxxxxxxxx> commit c8159b2db1b49f6bda4429008c85108e2da60712 Author: Eric Dumazet <eric.dumazet@xxxxxxxxx> Date: Mon Jul 13 11:11:41 2009 -0700 igb: gcc-3.4.6 fix forward declaration of inline function should be avoided, or old gcc cannot compile. Reported-by: Teck Choon Giam <giamteckchoon@xxxxxxxxx> Signed-off-by: Eric Dumazet <eric.dumazet@xxxxxxxxx> Signed-off-by: David S. Miller <davem@xxxxxxxxxxxxx> commit 41796e91a2a30fd82a0fd561022489b61f8a3188 Author: roel kluin <roel.kluin@xxxxxxxxx> Date: Sun Jul 12 13:12:37 2009 +0000 atlx: duplicate testing of MCAST flag Fix duplicate testing of MCAST flag Signed-off-by: Roel Kluin <roel.kluin@xxxxxxxxx> Acked-by: Jay Cliburn <jcliburn@xxxxxxxxx> Signed-off-by: David S. Miller <davem@xxxxxxxxxxxxx> commit 7473727be884293c8171775a148e1d174d1606e6 Author: Rakib Mullick <rakib.mullick@xxxxxxxxx> Date: Sun Jul 12 17:07:19 2009 +0600 x86, apic: Fix false positive section mismatch in numaq_32.c The variable apic_numaq placed in noninit section references the function wakeup_secondary_cpu_via_nmi(), which is in __cpuinit section. Thus causes a section mismatch warning. To avoid such mismatch we mark apic_numaq as __refdata. We were warned by the following warning: WARNING: arch/x86/kernel/built-in.o(.data+0x932c): Section mismatch in reference from the variable apic_numaq to the function .cpuinit.text:wakeup_secondary_cpu_via_nmi() Signed-off-by: Rakib Mullick <rakib.mullick@xxxxxxxxx> LKML-Reference: <b9df5fa10907120407p6b4f67dtf4d563155488188a@xxxxxxxxxxxxxx> Signed-off-by: Ingo Molnar <mingo@xxxxxxx> commit 151586d0f70405d99324d89aea13706cf6d7f993 Author: Rakib Mullick <rakib.mullick@xxxxxxxxx> Date: Sun Jul 12 17:04:12 2009 +0600 x86: Fix false positive section mismatch in es7000_32.c The variable apic_es7000_cluster references the function __cpuinit wakeup_secondary_cpu_via_mip() from a noninit section. So we've been warned by the following warning. To avoid possible collision between init/noninit, its best to mark the variable as __refdata. We were warned by the following warning: LD arch/x86/kernel/apic/built-in.o WARNING: arch/x86/kernel/apic/built-in.o(.data+0x198c): Section mismatch in reference from the variable apic_es7000_cluster to the function .cpuinit.text:wakeup_secondary_cpu_via_mip() Signed-off-by: Rakib Mullick <rakib.mullick@xxxxxxxxx> LKML-Reference: <b9df5fa10907120404k6279a10ch5e9682432272706f@xxxxxxxxxxxxxx> Signed-off-by: Ingo Molnar <mingo@xxxxxxx> commit 6ab5d668b131d3c5416f6df1d3ca95b82d4fe8a2 Author: Steven Rostedt <srostedt@xxxxxxxxxx> Date: Thu Jun 4 00:55:45 2009 -0400 tracing/function-profiler: do not free per cpu variable stat The per cpu variable stat is freeded if we fail to allocate a name on start up. This was due to stat at first being allocated in the initial design. But since then, it has become a static per cpu variable but the free on error was not removed. Also added __init annotation to the function that this is in. [ Impact: prevent possible memory corruption on low mem at boot up ] Signed-off-by: Steven Rostedt <rostedt@xxxxxxxxxxx> Signed-off-by: Ingo Molnar <mingo@xxxxxxx> commit d0b6e04a4cd8360e3c9c419f7c30a3081a0c142a Author: Li Zefan <lizf@xxxxxxxxxxxxxx> Date: Mon Jul 13 10:33:21 2009 +0800 tracing/events: Move TRACE_SYSTEM outside of include guard If TRACE_INCLDUE_FILE is defined, <trace/events/TRACE_INCLUDE_FILE.h> will be included and compiled, otherwise it will be <trace/events/TRACE_SYSTEM.h> So TRACE_SYSTEM should be defined outside of #if proctection, just like TRACE_INCLUDE_FILE. Imaging this scenario: #include <trace/events/foo.h> -> TRACE_SYSTEM == foo ... #include <trace/events/bar.h> -> TRACE_SYSTEM == bar ... #define CREATE_TRACE_POINTS #include <trace/events/foo.h> -> TRACE_SYSTEM == bar !!! and then bar.h will be included and compiled. Signed-off-by: Li Zefan <lizf@xxxxxxxxxxxxxx> Cc: Steven Rostedt <rostedt@xxxxxxxxxxx> Cc: Frederic Weisbecker <fweisbec@xxxxxxxxx> LKML-Reference: <4A5A9CF1.2010007@xxxxxxxxxxxxxx> Signed-off-by: Ingo Molnar <mingo@xxxxxxx> commit 23cdb5d5171d591ec911aada682e09d53c14a810 Author: Roel Kluin <roel.kluin@xxxxxxxxx> Date: Mon Jul 13 02:25:47 2009 +0200 perf_counter tools: Fix index boundary check Keep index within event_type_descriptors[] Signed-off-by: Roel Kluin <roel.kluin@xxxxxxxxx> Cc: Andrew Morton <akpm@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> LKML-Reference: <4A5A7F0B.4070106@xxxxxxxxx> Signed-off-by: Ingo Molnar <mingo@xxxxxxx> commit d4d7d0b9545721d3cabb19d15163bbc66b797707 Author: Chris Wilson <chris@xxxxxxxxxxxxxxxxxx> Date: Mon Jul 6 09:31:33 2009 +0100 perf_counter: Fix the tracepoint channel to perfcounters Fix a missed rename in EVENT_PROFILE support so that it gets built and allows tracepoint tracing from the 'perf' tool. Fix a typo in the (never before built & enabled) portion in perf_counter.c as well, and update that code to the attr.config changes as well. Signed-off-by: Chris Wilson <chris@xxxxxxxxxxxxxxxxxx> Cc: Ben Gamari <bgamari.foss@xxxxxxxxx> Cc: Jason Baron <jbaron@xxxxxxxxxx> Cc: Frederic Weisbecker <fweisbec@xxxxxxxxx> Cc: Mike Galbraith <efault@xxxxxx> Cc: Peter Zijlstra <a.p.zijlstra@xxxxxxxxx> Cc: Paul Mackerras <paulus@xxxxxxxxx> Cc: Steven Rostedt <rostedt@xxxxxxxxxxx> LKML-Reference: <1246869094-21237-1-git-send-email-chris@xxxxxxxxxxxxxxxxxx> Signed-off-by: Ingo Molnar <mingo@xxxxxxx> commit f1c6a58121f9846ac665b0fbd3cbab90ce8bcbac Author: Daniel Qarras <dqarras@xxxxxxxxx> Date: Sun Jul 12 04:32:40 2009 -0700 perf_counter, x86: Extend perf_counter Pentium M support I've attached a patch to remove the Pentium M special casing of EMON and as noticed at least with my Pentium M the hardware PMU now works: Performance counter stats for '/bin/ls /var/tmp': 1.809988 task-clock-msecs # 0.125 CPUs 1 context-switches # 0.001 M/sec 0 CPU-migrations # 0.000 M/sec 224 page-faults # 0.124 M/sec 1425648 cycles # 787.656 M/sec 912755 instructions # 0.640 IPC Vince suggested that this code was trying to address erratum Y17 in Pentium-M's: http://download.intel.com/support/processors/mobile/pm/sb/25266532.pdf But that erratum (related to IA32_MISC_ENABLES.7) does not affect perfcounters as we dont use this toggle to disable RDPMC and WRMSR/RDMSR access to performance counters. We keep cr4's bit 8 (X86_CR4_PCE) clear so unprivileged RDPMC access is not allowed anyway. Cc: Vince Weaver <vince@xxxxxxxxxx> Cc: Peter Zijlstra <a.p.zijlstra@xxxxxxxxx> Cc: Stephane Eranian <eranian@xxxxxxxxxxxxxx> LKML-Reference: <new-submission> Signed-off-by: Ingo Molnar <mingo@xxxxxxx> commit f0a14de2f82dd6aa13e04816da2091c7ed0f77cf Author: Simon Davie <nexx@xxxxxxxxxxxxxxxx> Date: Sun Jul 12 20:44:09 2009 -0700 Input: atkbd - add forced release keys quirk for FSC Amilo Pi 3525 This patch enables forced releasing of the Fn+Volume hotkeys on the Fujitsu Siemens Amilo Pi 3525 notebook. Signed-off-by: Simon Davie <nexx@xxxxxxxxxxxxxxxx> Signed-off-by: Dmitry Torokhov <dtor@xxxxxxx> commit 35db715bfd3805b04aa233b9933b9facfa9a3290 Author: Frans Pop <elendil@xxxxxxxxx> Date: Sun Jul 12 20:51:32 2009 -0700 Input: pcspkr - switch driver to dev_pm_ops Gets rid of the following warning: Platform driver 'pcspkr' needs updating - please use dev_pm_ops Signed-off-by: Frans Pop <elendil@xxxxxxxxx> Signed-off-by: Dmitry Torokhov <dtor@xxxxxxx> commit 70a6f2e6d6b8653d394b63210ec57b4c78f3dcd8 Author: Michael Gruber <lists.mg@xxxxxxxxxxxxxx> Date: Sun Jul 12 20:51:36 2009 -0700 Input: xpad - don't resend successfully sent outgoing requests This avoids an infinite loop. Signed-off-by: Michael Gruber <lists.mg@xxxxxxxxxxxxxx> Signed-off-by: Dmitry Torokhov <dtor@xxxxxxx> commit e705cee427e319665969ef7ac664f3612dec8899 Author: Giuseppe Mazzotta <g.mazzotta@xxxxxxxxxx> Date: Sun Jul 12 21:02:27 2009 -0700 Input: wistron_btns - recognize Maxdata Pro 7000 notebooks This patch adds DMI information to automatically load the correct layout for the Maxdata Pro 7000X/DX notebook models. Such notebooks are clones of Fujitsu Amilo V2000, the hook for the v2000 is being used and I have tested that perfectly works. The immediate result of integrating this patch is that the five special buttons will work on these specific notebook models and that the RF killswitch will not be activated after suspend. This patch definitively obsoletes the fsam7400 module which I was still needing to enable wifi and to fix the RF killswitch suspend problem; in the current 2.6.30 kernel it is necessary to load the wistron_btns module with options 'force=1 keymap=1557/MS2141', which was not anyway a complete workaround. Signed-off-by: Giuseppe Mazzotta <g.mazzotta@xxxxxxxxxx> Signed-off-by: Dmitry Torokhov <dtor@xxxxxxx> commit adeab1afb7de89555c69aab5ca21300c14af6369 Author: Ralf Baechle <ralf@xxxxxxxxxxxxxx> Date: Sun Jul 12 21:09:20 2009 -0700 NET: Fix locking issues in PPP, 6pack, mkiss and strip line disciplines. Guido Trentalancia reports: I am trying to use the kiss driver in the Linux kernel that is being shipped with Fedora 10 but unfortunately I get the following oops: mkiss: AX.25 Multikiss, Hans Albas PE1AYX mkiss: ax0: crc mode is auto. ADDRCONF(NETDEV_CHANGE): ax0: link becomes ready ------------[ cut here ]------------ WARNING: at kernel/softirq.c:77 __local_bh_disable+0x2f/0x83() (Not tainted) [...] unloaded: microcode] Pid: 0, comm: swapper Not tainted 2.6.27.25-170.2.72.fc10.i686 #1 [<c042ddfb>] warn_on_slowpath+0x65/0x8b [<c06ab62b>] ? _spin_unlock_irqrestore+0x22/0x38 [<c04228b4>] ? __enqueue_entity+0xe3/0xeb [<c042431e>] ? enqueue_entity+0x203/0x20b [<c0424361>] ? enqueue_task_fair+0x3b/0x3f [<c041f88c>] ? resched_task+0x3a/0x6e [<c06ab62b>] ? _spin_unlock_irqrestore+0x22/0x38 [<c06ab4e2>] ? _spin_lock_bh+0xb/0x16 [<c043255b>] __local_bh_disable+0x2f/0x83 [<c04325ba>] local_bh_disable+0xb/0xd [<c06ab4e2>] _spin_lock_bh+0xb/0x16 [<f8b6f600>] mkiss_receive_buf+0x2fb/0x3a6 [mkiss] [<c0572a30>] flush_to_ldisc+0xf7/0x198 [<c0572b12>] tty_flip_buffer_push+0x41/0x51 [<f89477f2>] ftdi_process_read+0x375/0x4ad [ftdi_sio] [<f8947a5a>] ftdi_read_bulk_callback+0x130/0x138 [ftdi_sio] [<c05d4bec>] usb_hcd_giveback_urb+0x63/0x93 [<c05ea290>] uhci_giveback_urb+0xe5/0x15f [<c05eaabf>] uhci_scan_schedule+0x52e/0x767 [<c05f6288>] ? psmouse_handle_byte+0xc/0xe5 [<c054df78>] ? acpi_ev_gpe_detect+0xd6/0xe1 [<c05ec5b0>] uhci_irq+0x110/0x125 [<c05d4834>] usb_hcd_irq+0x40/0xa3 [<c0465313>] handle_IRQ_event+0x2f/0x64 [<c046642b>] handle_level_irq+0x74/0xbe [<c04663b7>] ? handle_level_irq+0x0/0xbe [<c0406e6e>] do_IRQ+0xc7/0xfe [<c0405668>] common_interrupt+0x28/0x30 [<c056821a>] ? acpi_idle_enter_simple+0x162/0x19d [<c0617f52>] cpuidle_idle_call+0x60/0x92 [<c0403c61>] cpu_idle+0x101/0x134 [<c069b1ba>] rest_init+0x4e/0x50 ======================= ---[ end trace b7cc8076093467ad ]--- ------------[ cut here ]------------ WARNING: at kernel/softirq.c:136 _local_bh_enable_ip+0x3d/0xc4() [...] Pid: 0, comm: swapper Tainted: G W 2.6.27.25-170.2.72.fc10.i686 [<c042ddfb>] warn_on_slowpath+0x65/0x8b [<c06ab62b>] ? _spin_unlock_irqrestore+0x22/0x38 [<c04228b4>] ? __enqueue_entity+0xe3/0xeb [<c042431e>] ? enqueue_entity+0x203/0x20b [<c0424361>] ? enqueue_task_fair+0x3b/0x3f [<c041f88c>] ? resched_task+0x3a/0x6e [<c06ab62b>] ? _spin_unlock_irqrestore+0x22/0x38 [<c06ab4e2>] ? _spin_lock_bh+0xb/0x16 [<f8b6f642>] ? mkiss_receive_buf+0x33d/0x3a6 [mkiss] [<c04325f9>] _local_bh_enable_ip+0x3d/0xc4 [<c0432688>] local_bh_enable_ip+0x8/0xa [<c06ab54d>] _spin_unlock_bh+0x11/0x13 [<f8b6f642>] mkiss_receive_buf+0x33d/0x3a6 [mkiss] [<c0572a30>] flush_to_ldisc+0xf7/0x198 [<c0572b12>] tty_flip_buffer_push+0x41/0x51 [<f89477f2>] ftdi_process_read+0x375/0x4ad [ftdi_sio] [<f8947a5a>] ftdi_read_bulk_callback+0x130/0x138 [ftdi_sio] [<c05d4bec>] usb_hcd_giveback_urb+0x63/0x93 [<c05ea290>] uhci_giveback_urb+0xe5/0x15f [<c05eaabf>] uhci_scan_schedule+0x52e/0x767 [<c05f6288>] ? psmouse_handle_byte+0xc/0xe5 [<c054df78>] ? acpi_ev_gpe_detect+0xd6/0xe1 [<c05ec5b0>] uhci_irq+0x110/0x125 [<c05d4834>] usb_hcd_irq+0x40/0xa3 [<c0465313>] handle_IRQ_event+0x2f/0x64 [<c046642b>] handle_level_irq+0x74/0xbe [<c04663b7>] ? handle_level_irq+0x0/0xbe [<c0406e6e>] do_IRQ+0xc7/0xfe [<c0405668>] common_interrupt+0x28/0x30 [<c056821a>] ? acpi_idle_enter_simple+0x162/0x19d [<c0617f52>] cpuidle_idle_call+0x60/0x92 [<c0403c61>] cpu_idle+0x101/0x134 [<c069b1ba>] rest_init+0x4e/0x50 ======================= ---[ end trace b7cc8076093467ad ]--- mkiss: ax0: Trying crc-smack mkiss: ax0: Trying crc-flexnet The issue was, that the locking code in mkiss was assuming it was only ever being called in process or bh context. Fixed by converting the involved locking code to use irq-safe locks. Review of other networking line disciplines shows that 6pack, both sync and async PPP and STRIP have similar issues. The ppp_async one is the most interesting one as it sorts out half of the issue as far back as 2004 in commit http://git.kernel.org/?p=linux/kernel/git/tglx/history.git;a=commitdiff;h=2996d8deaeddd01820691a872550dc0cfba0c37d Signed-off-by: Ralf Baechle <ralf@xxxxxxxxxxxxxx> Reported-by: Guido Trentalancia <guido@xxxxxxxxxxxxxxxx> Signed-off-by: David S. Miller <davem@xxxxxxxxxxxxx> commit 635ecaa70e862f85f652581305fe0074810893be Author: Ben Hutchings <ben@xxxxxxxxxxxxxxx> Date: Thu Jul 9 17:59:01 2009 +0000 netdev: restore MTU change operation alloc_etherdev() used to install a default implementation of this operation, but it must now be explicitly installed in struct net_device_ops. Signed-off-by: Ben Hutchings <ben@xxxxxxxxxxxxxxx> Signed-off-by: David S. Miller <davem@xxxxxxxxxxxxx> commit 240c102d9c54fee7fdc87a4ef2fabc7eb539e00a Author: Ben Hutchings <ben@xxxxxxxxxxxxxxx> Date: Thu Jul 9 17:54:35 2009 +0000 netdev: restore MAC address set and validate operations alloc_etherdev() used to install default implementations of these operations, but they must now be explicitly installed in struct net_device_ops. Signed-off-by: Ben Hutchings <ben@xxxxxxxxxxxxxxx> Signed-off-by: David S. Miller <davem@xxxxxxxxxxxxx> commit f2ba025b2036e52a176cddcf91b15ac2b10c644a Author: Sascha Hlusiak <contact@xxxxxxxxxxxxxxxx> Date: Sat Jul 11 20:30:52 2009 -0700 sit: fix regression: do not release skb->dst before xmit The sit module makes use of skb->dst in it's xmit function, so since 93f154b594fe47 ("net: release dst entry in dev_hard_start_xmit()") sit tunnels are broken, because the flag IFF_XMIT_DST_RELEASE is not unset. This patch unsets that flag for sit devices to fix this regression. Signed-off-by: Sascha Hlusiak <contact@xxxxxxxxxxxxxxxx> Acked-by: Eric Dumazet <eric.dumazet@xxxxxxxxx> Signed-off-by: David S. Miller <davem@xxxxxxxxxxxxx> commit e51a67a9c8a2ea5c563f8c2ba6613fe2100ffe67 Author: Eric Dumazet <eric.dumazet@xxxxxxxxx> Date: Wed Jul 8 14:20:42 2009 +0000 net: ip_push_pending_frames() fix After commit 2b85a34e911bf483c27cfdd124aeb1605145dc80 (net: No more expensive sock_hold()/sock_put() on each tx) we do not take any more references on sk->sk_refcnt on outgoing packets. I forgot to delete two __sock_put() from ip_push_pending_frames() and ip6_push_pending_frames(). Reported-by: Emil S Tantilov <emils.tantilov@xxxxxxxxx> Signed-off-by: Eric Dumazet <eric.dumazet@xxxxxxxxx> Tested-by: Emil S Tantilov <emils.tantilov@xxxxxxxxx> Signed-off-by: David S. Miller <davem@xxxxxxxxxxxxx> commit e912b1142be8f1e2c71c71001dc992c6e5eb2ec1 Author: Eric Dumazet <eric.dumazet@xxxxxxxxx> Date: Wed Jul 8 19:36:05 2009 +0000 net: sk_prot_alloc() should not blindly overwrite memory Some sockets use SLAB_DESTROY_BY_RCU, and our RCU code correctness depends on sk->sk_nulls_node.next being always valid. A NULL value is not allowed as it might fault a lockless reader. Current sk_prot_alloc() implementation doesnt respect this hypothesis, calling kmem_cache_alloc() with __GFP_ZERO. Just call memset() around the forbidden field. Signed-off-by: Eric Dumazet <eric.dumazet@xxxxxxxxx> Signed-off-by: David S. Miller <davem@xxxxxxxxxxxxx> commit e3d7e183dc276df2fcaf02af173a49ad119ba9f9 Author: Arnaldo Carvalho de Melo <acme@xxxxxxxxxx> Date: Sat Jul 11 12:18:37 2009 -0300 perf report: Introduce -n/--show-nr-samples [acme@doppio pahole]$ perf report -ns comm,dso,symbol -d /lib64/libc-2.10.1.so -C pahole | head -17 21.94% 32101 [.] _int_malloc 20.10% 29402 [.] __GI_strcmp 16.77% 24533 [.] __tsearch 12.61% 18450 [.] malloc_consolidate 6.42% 9394 [.] _int_free 6.28% 9191 [.] __tfind 4.56% 6678 [.] __GI___libc_free 4.46% 6520 [.] _IO_vfprintf_internal 2.59% 3786 [.] __malloc 1.17% 1716 [.] __GI_memcpy [acme@doppio pahole]$ Signed-off-by: Arnaldo Carvalho de Melo <acme@xxxxxxxxxx> LKML-Reference: <1247325517-12272-5-git-send-email-acme@xxxxxxxxxx> Signed-off-by: Ingo Molnar <mingo@xxxxxxx> commit a25e46c46311316cd1b3f27f8bb036df1693c032 Author: Arnaldo Carvalho de Melo <acme@xxxxxxxxxx> Date: Sat Jul 11 12:18:36 2009 -0300 perf_counter tools: PLT info is stripped in -debuginfo packages So we need to get the richer .symtab from the debuginfo packages but the PLT info from the original DSO where we have just the leaner .dynsym symtab. Example: | [acme@doppio pahole]$ perf report --sort comm,dso,symbol > before | [acme@doppio pahole]$ perf report --sort comm,dso,symbol > after | [acme@doppio pahole]$ diff -U1 before after | --- before 2009-07-11 11:04:22.688595741 -0300 | +++ after 2009-07-11 11:04:33.380595676 -0300 | @@ -80,3 +80,2 @@ | 0.07% pahole ./build/pahole [.] pahole_stealer | - 0.06% pahole /usr/lib64/libdw-0.141.so [.] 0x00000000007140 | 0.06% pahole /usr/lib64/libdw-0.141.so [.] __libdw_getabbrev | @@ -91,2 +90,3 @@ | 0.06% pahole [kernel] [k] free_hot_cold_page | + 0.06% pahole /usr/lib64/libdw-0.141.so [.] tfind@plt | 0.05% pahole ./build/libdwarves.so.1.0.0 [.] ftype__add_parameter | @@ -242,2 +242,3 @@ | 0.01% pahole [kernel] [k] account_group_user_time | + 0.01% pahole /usr/lib64/libdw-0.141.so [.] strlen@plt | 0.01% pahole ./build/pahole [.] strcmp@plt | [acme@doppio pahole]$ Signed-off-by: Arnaldo Carvalho de Melo <acme@xxxxxxxxxx> LKML-Reference: <1247325517-12272-4-git-send-email-acme@xxxxxxxxxx> Signed-off-by: Ingo Molnar <mingo@xxxxxxx> commit 021191b35cdfb1b5ee6e78ed5ae010114a40902c Author: Arnaldo Carvalho de Melo <acme@xxxxxxxxxx> Date: Sat Jul 11 12:18:35 2009 -0300 perf report: Make the output more compact When we filter by column content we may end up with a column that has the same value for all the lines. So remove that column and tell its unique value on the top, as a comment. Example: [acme@doppio pahole]$ perf report --sort comm,dso,symbol -d ./build/libdwarves.so.1.0.0 -C pahole | head -15 # dso: ./build/libdwarves.so.1.0.0 # comm: pahole # Samples: 58409 # # Overhead Symbol # ........ ...... # 20.93% [.] tag__recode_dwarf_type 14.94% [.] namespace__recode_dwarf_types 10.38% [.] cu__table_add_tag 6.69% [.] __die__process_tag 5.05% [.] die__process_function 4.70% [.] list__for_all_tags 3.68% [.] tag__init 3.48% [.] die__create_new_parameter [acme@doppio pahole]$ Signed-off-by: Arnaldo Carvalho de Melo <acme@xxxxxxxxxx> LKML-Reference: <1247325517-12272-3-git-send-email-acme@xxxxxxxxxx> Signed-off-by: Ingo Molnar <mingo@xxxxxxx> commit 27d0fd410c3cee00ece2e55f4354a7a9ec1a6a6a Author: Arnaldo Carvalho de Melo <acme@xxxxxxxxxx> Date: Sat Jul 11 12:18:34 2009 -0300 strlist: Introduce strlist__entry and strlist__nr_entries methods The strlist__entry method allows accessing strlists like an array, will be used in the 'perf report' to access the first entry. We now keep the nr_entries so that we can check if we have just one entry, will be used in 'perf report' to improve the output by showing just at the top when we have just, say, one DSO. While at it use nr_entries to optimize strlist__is_empty by not using the far more costly rb_first based implementation. Signed-off-by: Arnaldo Carvalho de Melo <acme@xxxxxxxxxx> LKML-Reference: <1247325517-12272-2-git-send-email-acme@xxxxxxxxxx> Signed-off-by: Ingo Molnar <mingo@xxxxxxx> commit 60c1baf1248e00d423604f018c8af1cf750ad885 Author: Arnaldo Carvalho de Melo <acme@xxxxxxxxxx> Date: Sat Jul 11 12:18:33 2009 -0300 perf report: Tidy up reporting of symbols not found Always printing the level info about if it is in the kernel, hypervisor or userspace as that is in the hist_entry. Signed-off-by: Arnaldo Carvalho de Melo <acme@xxxxxxxxxx> LKML-Reference: <1247325517-12272-1-git-send-email-acme@xxxxxxxxxx> Signed-off-by: Ingo Molnar <mingo@xxxxxxx> commit ce2ae53b750abfaa012ce408e93da131a5b5649b Author: Sonny Rao <sonnyrao@xxxxxxxxxx> Date: Fri Jul 10 18:13:13 2009 -0500 futexes: Fix infinite loop in get_futex_key() on huge page get_futex_key() can infinitely loop if it is called on a virtual address that is within a huge page but not aligned to the beginning of that page. The call to get_user_pages_fast will return the struct page for a sub-page within the huge page and the check for page->mapping will always fail. The fix is to call compound_head on the page before checking that it's mapped. Signed-off-by: Sonny Rao <sonnyrao@xxxxxxxxxx> Acked-by: Thomas Gleixner <tglx@xxxxxxxxxxxxx> Cc: stable@xxxxxxxxxx Cc: anton@xxxxxxxxx Cc: rajamony@xxxxxxxxxx Cc: speight@xxxxxxxxxx Cc: mstephen@xxxxxxxxxx Cc: grimm@xxxxxxxxxx Cc: mikey@xxxxxxxxxxxxxxxxx LKML-Reference: <20090710231313.GA23572@xxxxxxxxxx> Signed-off-by: Ingo Molnar <mingo@xxxxxxx> commit 52d422de22b26d96bbdfbc605eb31c2994df6d0b Author: Arnaldo Carvalho de Melo <acme@xxxxxxxxxx> Date: Fri Jul 10 22:47:28 2009 -0300 perf report: Adjust column width to the values sampled Auto-adjust column width of perf report output to the longest occuring string length. Example: [acme@doppio pahole]$ perf report --sort comm,dso,symbol | head -13 12.79% pahole /usr/lib64/libdw-0.141.so [.] __libdw_find_attr 8.90% pahole /lib64/libc-2.10.1.so [.] _int_malloc 8.68% pahole /usr/lib64/libdw-0.141.so [.] __libdw_form_val_len 8.15% pahole /lib64/libc-2.10.1.so [.] __GI_strcmp 6.80% pahole /lib64/libc-2.10.1.so [.] __tsearch 5.54% pahole ./build/libdwarves.so.1.0.0 [.] tag__recode_dwarf_type [acme@doppio pahole]$ [acme@doppio pahole]$ perf report --sort comm,dso,symbol -d /lib64/libc-2.10.1.so | head -10 21.92% pahole /lib64/libc-2.10.1.so [.] _int_malloc 20.08% pahole /lib64/libc-2.10.1.so [.] __GI_strcmp 16.75% pahole /lib64/libc-2.10.1.so [.] __tsearch [acme@doppio pahole]$ Also add these extra options to control the new behaviour: -w, --field-width Force each column width to the provided list, for large terminal readability. -t, --field-separator: Use a special separator character and don't pad with spaces, replacing all occurances of this separator in symbol names (and other output) with a '.' character, that thus it's the only non valid separator. Signed-off-by: Arnaldo Carvalho de Melo <acme@xxxxxxxxxx> Cc: Frederic Weisbecker <fweisbec@xxxxxxxxx> Cc: Mike Galbraith <efault@xxxxxx> Cc: Peter Zijlstra <a.p.zijlstra@xxxxxxxxx> Cc: Paul Mackerras <paulus@xxxxxxxxx> LKML-Reference: <20090711014728.GH3452@xxxxxxxxxxxxxxxxxx> Signed-off-by: Ingo Molnar <mingo@xxxxxxx> commit d07387b490b1c43bfcb9f3900faf96f2dafb2630 Author: Paul Turner <pjt@xxxxxxxxxx> Date: Fri Jul 10 17:05:16 2009 -0700 sched: Fix bug in SCHED_IDLE interaction with group scheduling One of the isolation modifications for SCHED_IDLE is the unitization of sleeper credit. However the check for this assumes that the sched_entity we're placing always belongs to a task. This is potentially not true with group scheduling and leaves us rummaging randomly when we try to pull the policy. Signed-off-by: Paul Turner <pjt@xxxxxxxxxx> Cc: peterz@xxxxxxxxxxxxx LKML-Reference: <alpine.DEB.1.00.0907101649570.29914@xxxxxxxxxxxxxxxxxxxxxx> Signed-off-by: Ingo Molnar <mingo@xxxxxxx> commit a1a08d1cb0ab148fd74216e4c0b4d4db18fe62c6 Author: Roland Dreier <roland@xxxxxxxxxxxxxxxxxx> Date: Sat Jul 11 00:10:04 2009 -0700 x86: Remove spurious printk level from segfault message Since commit 5fd29d6c ("printk: clean up handling of log-levels and newlines"), the kernel logs segfaults like: <6>gnome-power-man[24509]: segfault at 20 ip 00007f9d4950465a sp 00007fffbb50fc70 error 4 in libgobject-2.0.so.0.2103.0[7f9d494f7000+45000] with the extra "<6>" being KERN_INFO. This happens because the printk in show_signal_msg() started with KERN_CONT and then used "%s" to pass in the real level; and KERN_CONT is no longer an empty string, and printk only pays attention to the level at the very beginning of the format string. Therefore, remove the KERN_CONT from this printk, since it is now actively causing problems (and never really made any sense). Signed-off-by: Roland Dreier <roland@xxxxxxxxxxxxxxxxxx> Cc: Linus Torvalds <torvalds@xxxxxxxxxxxxxxxxxxxx> LKML-Reference: <874otjitkj.fsf@xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx> Signed-off-by: Ingo Molnar <mingo@xxxxxxx> commit 812e7a6a43fc34bc8f70c2b80db4ea5997d66ea8 Author: Wengang Wang <wen.gang.wang@xxxxxxxxxx> Date: Fri Jul 10 13:26:04 2009 +0800 ocfs2: log the actual return value of ocfs2_file_aio_write() in ocfs2_file_aio_write(), log_exit() could don't log the value which is really returned. this patch fixes it. Signed-off-by: Wengang Wang <wen.gang.wang@xxxxxxxxxx> Signed-off-by: Joel Becker <joel.becker@xxxxxxxxxx> commit 857fdc53a0a90c3ba7fcf5b1fb4c7a62ae03cf82 Author: Yinghai Lu <yinghai@xxxxxxxxxx> Date: Fri Jul 10 09:36:20 2009 -0700 x86/pci: insert ioapic resource before assigning unassigned resources Stephen reported that his DL585 G2 needed noapic after 2.6.22 (?) Dann bisected it down to: commit 30a18d6c3f1e774de656ebd8ff219d53e2ba4029 Date: Tue Feb 19 03:21:20 2008 -0800 x86: multi pci root bus with different io resource range, on 64-bit It turns out that: 1. that AMD-based systems have two HT chains. 2. BIOS doesn't allocate resources for BAR 6 of devices under 8132 etc 3. that multi-peer-root patch will try to split root resources to peer root resources according to PCI conf of NB 4. PCI core assigns unassigned resources, but they overlap with BARs that are used by ioapic addr of io4 and 8132. The reason: at that point ioapic address are not inserted yet. Solution is to insert ioapic resources into the tree a bit earlier. Reported-by: Stephen Frost <sfrost@xxxxxxxxxxx> Reported-and-Tested-by: dann frazier <dannf@xxxxxx> Signed-off-by: Yinghai Lu <yinghai@xxxxxxxxxx> Cc: stable@xxxxxxxxxx Signed-off-by: Jesse Barnes <jbarnes@jbarnes-g45.(none)> commit f9f868dbcca961ed62f1df1d114abd0c38c47dce Author: Heiko Carstens <heiko.carstens@xxxxxxxxxx> Date: Thu Jul 9 11:24:26 2009 +0200 timer stats: fix quick check optimization git commit 507e1231 "timer stats: Optimize by adding quick check to avoid function calls" added one wrong check so that one unnecessary function call isn't elimated. time_stats_account_hrtimer() checks if timer->start_pid isn't initialized in order to find out if timer_stats_update_stats() should be called. However start_pid is initialized with -1 instead of 0, so that the function call always happens. Check timer->start_site like in timer_stats_account_timer() to fix this. Signed-off-by: Heiko Carstens <heiko.carstens@xxxxxxxxxx> Signed-off-by: Thomas Gleixner <tglx@xxxxxxxxxxxxx> commit 6ff7041dbfeb3bd7dfe9aa67275c21199ef760d6 Author: Thomas Gleixner <tglx@xxxxxxxxxxxxx> Date: Fri Jul 10 14:57:05 2009 +0200 hrtimer: Fix migration expiry check The timer migration expiry check should prevent the migration of a timer to another CPU when the timer expires before the next event is scheduled on the other CPU. Migrating the timer might delay it because we can not reprogram the clock event device on the other CPU. But the code implementing that check has two flaws: - for !HIGHRES the check compares the expiry value with the clock events device expiry value which is wrong for CLOCK_REALTIME based timers. - the check is racy. It holds the hrtimer base lock of the target CPU, but the clock event device expiry value can be modified nevertheless, e.g. by an timer interrupt firing. The !HIGHRES case is easy to fix as we can enqueue the timer on the cpu which was selected by the load balancer. It runs the idle balancing code once per jiffy anyway. So the maximum delay for the timer is the same as when we keep the tick on the current cpu going. In the HIGHRES case we can get the next expiry value from the hrtimer cpu_base of the target CPU and serialize the update with the cpu_base lock. This moves the lock section in hrtimer_interrupt() so we can set next_event to KTIME_MAX while we are handling the expired timers and set it to the next expiry value after we handled the timers under the base lock. While the expired timers are processed timer migration is blocked because the expiry time of the timer is always <= KTIME_MAX. Also remove the now useless clockevents_get_next_event() function. Signed-off-by: Thomas Gleixner <tglx@xxxxxxxxxxxxx> commit 65bc98b0059360e458aebd208587be44641227c1 Author: Steve French <sfrench@xxxxxxxxxx> Date: Fri Jul 10 15:27:25 2009 +0000 [CIFS] Distinguish posix opens and mkdirs from legacy mkdirs in stats Acked-by: Jeff Layton <jlayton@xxxxxxxxxx> Signed-off-by: Steve French <sfrench@xxxxxxxxxx> commit 7e0c5086c172ecf8b0c2ad860b02a586967d17d0 Author: Thomas Gleixner <tglx@xxxxxxxxxxxxx> Date: Thu Jul 9 13:52:32 2009 +0200 hrtimer: migration: do not check expiry time on current CPU The timer migration code needs to check whether the expiry time of the timer is before the programmed clock event expiry time when the timer is enqueued on another CPU because we can not reprogram the timer device on the other CPU. The current logic checks the expiry time even if we enqueue on the current CPU when nohz_get_load_balancer() returns current CPU. This might lead to an endless loop in the expiry check code when the expiry time of the timer is before the current programmed next event. Check whether nohz_get_load_balancer() returns current CPU and skip the expiry check if this is the case. The bug was triggered from the networking code. The patch fixes the regression http://bugzilla.kernel.org/show_bug.cgi?id=13738 (Soft-Lockup/Race in networking in 2.6.31-rc1+195) Cc: Arun Bharadwaj <arun@xxxxxxxxxxxxxxxxxx Tested-by: Joao Correia <joaomiguelcorreia@xxxxxxxxx> Tested-by: Andres Freund <andres@xxxxxxxxxxx> Signed-off-by: Thomas Gleixner <tglx@xxxxxxxxxxxxx> commit 9d30937accf2c01e8b0bd59787409a7348cbbcb7 Author: Jaroslav Kysela <perex@xxxxxxxx> Date: Fri Jul 10 12:27:31 2009 +0200 ALSA: hda_intel: more strict alc880_parse_auto_config dig_nid checking On some IbexPeak systems with ALC889A errors like "azx_get_response timeout, switching to polling mode: last cmd=0xaf9f000b" are produced, because non-existent codec #10 is wrongly accessed. The problem is that snd_hda_get_connections() returns out-of-range result for NID 0x1c (something like 0xf8f9 or 0xffff). This patch adds a check to alc880_parse_auto_config() to avoid using of this out-of-range NIDs. A better fix maybe to improve snd_hda_get_connections() routine to check for valid NID ranges if NIDs are expected as result. Signed-off-by: Jaroslav Kysela <perex@xxxxxxxx> Signed-off-by: Takashi Iwai <tiwai@xxxxxxx> commit c20b08e3986c2dbfa6df1e880bf4f7159994d199 Author: Fabio Checconi <fchecconi@xxxxxxxxx> Date: Mon Jun 15 20:56:38 2009 +0200 sched: Fix rt_rq->pushable_tasks initialization in init_rt_rq() init_rt_rq() initializes only rq->rt.pushable_tasks, and not the pushable_tasks field of the passed rt_rq. The plist is not used uninitialized since the only pushable_tasks plists used are the ones of root rt_rqs; anyway reinitializing the list on every group creation corrupts the root plist, losing its previous contents. Signed-off-by: Fabio Checconi <fabio@xxxxxxxxxxxxxxxx> Signed-off-by: Peter Zijlstra <a.p.zijlstra@xxxxxxxxx> LKML-Reference: <20090615185638.GK21741@xxxxxxxxxxxxxxxx> CC: Gregory Haskins <ghaskins@xxxxxxxxxx> Signed-off-by: Ingo Molnar <mingo@xxxxxxx> commit 7793527b90d9418211f4fe8464cc1dcb1631ea1b Author: Lucas De Marchi <lucas.de.marchi@xxxxxxxxx> Date: Thu Jul 9 13:57:20 2009 +0200 sched: Reset sched stats on fork() The sched_stat fields are currently not reset upon fork. Ingo's recent commit 6c594c21fcb02c662f11c97be4d7d2b73060a205 did reset nr_migrations, but it didn't reset any of the others. This patch resets all sched_stat fields on fork. Signed-off-by: Lucas De Marchi <lucas.de.marchi@xxxxxxxxx> Signed-off-by: Peter Zijlstra <a.p.zijlstra@xxxxxxxxx> LKML-Reference: <193b0f820907090457s7a3662f4gcdecdc22fcae857b@xxxxxxxxxxxxxx> Signed-off-by: Ingo Molnar <mingo@xxxxxxx> commit a1ba4d8ba9f06a397e97cbd67a93ee306860b40a Author: Peter Zijlstra <peterz@xxxxxxxxxxxxx> Date: Wed Apr 1 18:40:15 2009 +0200 sched_rt: Fix overload bug on rt group scheduling Fixes an easily triggerable BUG() when setting process affinities. Make sure to count the number of migratable tasks in the same place: the root rt_rq. Otherwise the number doesn't make sense and we'll hit the BUG in set_cpus_allowed_rt(). Also, make sure we only count tasks, not groups (this is probably already taken care of by the fact that rt_se->nr_cpus_allowed will be 0 for groups, but be more explicit) Tested-by: Thomas Gleixner <tglx@xxxxxxxxxxxxx> CC: stable@xxxxxxxxxx Signed-off-by: Peter Zijlstra <a.p.zijlstra@xxxxxxxxx> Acked-by: Gregory Haskins <ghaskins@xxxxxxxxxx> LKML-Reference: <1247067476.9777.57.camel@twins> Signed-off-by: Ingo Molnar <mingo@xxxxxxx> commit 71a851b4d2a815adcfac09c1adda7ef6811fde66 Author: Peter Zijlstra <a.p.zijlstra@xxxxxxxxx> Date: Fri Jul 10 09:06:56 2009 +0200 perf_counter: Stop open coding unclone_ctx Instead of open coding the unclone context thingy, put it in a common function. Signed-off-by: Peter Zijlstra <a.p.zijlstra@xxxxxxxxx> LKML-Reference: <new-submission> Signed-off-by: Ingo Molnar <mingo@xxxxxxx> commit 984b838ce69c063a91b87550598ab7f3439dd94a Author: Peter Zijlstra <a.p.zijlstra@xxxxxxxxx> Date: Fri Jul 10 09:59:56 2009 +0200 perf_counter: Clean up global vs counter enable Ingo noticed that both AMD and P6 call x86_pmu_disable_counter() on *_pmu_enable_counter(). This is because we rely on the side effect of that call to program the event config but not touch the EN bit. We change that for AMD by having enable_all() simply write the full config in, and for P6 by explicitly coding it. Signed-off-by: Peter Zijlstra <a.p.zijlstra@xxxxxxxxx> LKML-Reference: <new-submission> Signed-off-by: Ingo Molnar <mingo@xxxxxxx> commit 9c74fb50867e8fb5f3be3be06716492c0f79309e Author: Peter Zijlstra <a.p.zijlstra@xxxxxxxxx> Date: Wed Jul 8 10:21:41 2009 +0200 perf_counter: Fix up P6 PMU details The P6 doesn't seem to support cache ref/hit/miss counts, so we extend the generic hardware event codes to have 0 and -1 mean the same thing as for the generic cache events. Furthermore, it turns out the 0 event does not count (that is, its reported that on PPro it actually does count something), therefore use a event configuration that's specified not to count to disable the counters. Signed-off-by: Peter Zijlstra <a.p.zijlstra@xxxxxxxxx> LKML-Reference: <new-submission> Signed-off-by: Ingo Molnar <mingo@xxxxxxx> commit 11d1578f9454159c43499d1d8fe8a7d728c176a3 Author: Vince Weaver <vince@xxxxxxxxxx> Date: Wed Jul 8 17:46:14 2009 -0400 perf_counter: Add P6 PMU support Add basic P6 PMU support. The P6 uses the EVNTSEL0 EN bit to enable/disable both its counters. We use this for the global enable/disable, and clear all config bits (except EN) to disable individual counters. Actual ia32 hardware doesn't support lfence, so use a locked op without side-effect to implement a full barrier. perf stat and perf record seem to function correctly. [a.p.zijlstra@xxxxxxxxx: cleanups and complete the enable/disable code] Signed-off-by: Vince Weaver <vince@xxxxxxxxxx> Signed-off-by: Peter Zijlstra <a.p.zijlstra@xxxxxxxxx> LKML-Reference: <Pine.LNX.4.64.0907081718450.2715@xxxxxxxxxxxxxxxxxxxx> Signed-off-by: Ingo Molnar <mingo@xxxxxxx> commit 9590b7ba3fefdfe0c7741f5e2f61faf2ffcea19c Author: Anton Blanchard <anton@xxxxxxxxx> Date: Mon Jul 6 22:01:31 2009 +1000 perf_counter tools: Rename cache events to remove $ The cache events contain '$' which will hit shell variable expansion. To avoid confusion change this to 'cache', ie L1-d$-loads becomes L1-dcache-loads. Signed-off-by: Anton Blanchard <anton@xxxxxxxxx> Cc: Roland Dreier <rdreier@xxxxxxxxx> Cc: Jaswinder Singh Rajput <jaswinder@xxxxxxxxxx> Cc: Peter Zijlstra <peterz@xxxxxxxxxxxxx> LKML-Reference: <20090706120131.GB4391@kryten> Signed-off-by: Ingo Molnar <mingo@xxxxxxx> commit 6860107a46c8762d35eb7bf71bcf6c6510793b76 Author: Linus Walleij <linus.walleij@xxxxxxxxxxxxxx> Date: Mon Jul 6 18:04:28 2009 +0100 [ARM] 5594/1: Correct U300 VIC init PM setting This makes the VIC resume from suspend flagged IRQ:s identical to the flags indicating all possible interrupts. This is perhaps not the optimal setting but setting it to 0 makes the system suspend and never come back again (all IRQ sources masked off). Signed-off-by: Linus Walleij <linus.walleij@xxxxxxxxxxxxxx> Signed-off-by: Russell King <rmk+kernel@xxxxxxxxxxxxxxxx> commit a0b98ec87d7a293a7d9ab8e45935c53a68f3094a Author: Hartley Sweeten <hartleys@xxxxxxxxxxxxxxxxxxx> Date: Mon Jul 6 22:17:54 2009 +0100 [ARM] 5595/1: ep93xx: missing header in dma-m2p.c <linux/io.h> was getting included by <mach/ts72xx.h>, is should be included by this file. Signed-off-by: H Hartley Sweeten <hsweeten@xxxxxxxxxxxxxxxxxxx> Signed-off-by: Russell King <rmk+kernel@xxxxxxxxxxxxxxxx> commit 39bd8064ab3648bc38b1a3ef507031ee6a477966 Merge: db78450abdb88b44322c551fc2868d1b2383355b 574ec547c7771881e18e4e76ca970e323bcdc774 Author: Russell King <rmk@xxxxxxxxxxxxxxxxxxxxxxx> Date: Thu Jul 9 16:08:59 2009 +0100 Merge branch 'for-rmk' of git://git.pengutronix.de/git/imx/linux-2.6 commit db78450abdb88b44322c551fc2868d1b2383355b Merge: 4e66a0f536ad449a71de75bc81f4a830ef38d538 e2ce0e718ee72e5915d35a6f4af40fa249cd626d Author: Russell King <rmk@xxxxxxxxxxxxxxxxxxxxxxx> Date: Thu Jul 9 16:08:14 2009 +0100 Merge branch 'for-rmk' of git://git.marvell.com/orion commit 4e66a0f536ad449a71de75bc81f4a830ef38d538 Merge: 34f25476ace556263784ea2f8173e22b25557a13 22fe84394f405c673b362d23dcc2d5d095ab5f6c Author: Russell King <rmk@xxxxxxxxxxxxxxxxxxxxxxx> Date: Thu Jul 9 16:07:22 2009 +0100 Merge branch 'fix' of git://git.kernel.org/pub/scm/linux/kernel/git/ycmiao/pxa-linux-2.6 commit b7d4de7ff03085fda8310b2983b907166dd40f43 Author: Daniel Mack <daniel@xxxxxxxx> Date: Wed Jul 8 19:24:26 2009 +0200 ASoC: Fix NULL pointer dereference in __pxa2xx_pcm_hw_free Check for rtd->params->drcmr != NULL before accessing it. Signed-off-by: Daniel Mack <daniel@xxxxxxxx> Signed-off-by: Mark Brown <broonie@xxxxxxxxxxxxxxxxxxxxxxxxxxx> commit 17ae26b669886efe237b77439e43eb390fceb119 Author: Jeff Liu <jeff.liu@xxxxxxxxxx> Date: Tue Jul 7 15:51:40 2009 +0800 ocfs2: trivial fix for s/migrate/migration/ in dlmrecovery.c logging in dlmrecovery.c:1121, replace 'migrate' to 'migration' to keep the consistency by comparing to other lines with the similar log info in the same file. Signed-off-by: Jeff Liu <jeff.liu@xxxxxxxxxx> Signed-off-by: Joel Becker <joel.becker@xxxxxxxxxx> commit 8b712cd58adfe6aeeb0be4ecc011dc35620719e7 Author: Jeff Mahoney <jeffm@xxxxxxxx> Date: Tue Jul 7 17:22:12 2009 -0400 ocfs2: Fixup orphan scan cleanup after failed mount If the mount fails for any reason, ocfs2_dismount_volume calls ocfs2_orphan_scan_stop. It requires that ocfs2_orphan_scan_init be called to setup the mutex and work queues, but that doesn't happen if the mount has failed and we oops accessing an uninitialized work queue. This patch splits the init and startup of the orphan scan, eliminating the oops. Signed-off-by: Jeff Mahoney <jeffm@xxxxxxxx> Signed-off-by: Joel Becker <joel.becker@xxxxxxxxxx> commit e2ce0e718ee72e5915d35a6f4af40fa249cd626d Author: Simon Kagstrom <simon.kagstrom@xxxxxxxxxxxxxx> Date: Tue Jun 30 21:42:00 2009 -0400 [ARM] Kirkwood: Correct header define Correct define typo (. -> ,) Signed-off-by: Simon Kagstrom <simon.kagstrom@xxxxxxxxxxxxxx> Signed-off-by: Nicolas Pitre <nico@xxxxxxxxxxx> commit 92bd3bbfbe644ea0860cfe84cf175fffa5246423 Author: Yevgeny Petrilin <yevgenyp@xxxxxxxxxxxxxx> Date: Mon Jul 6 16:10:40 2009 -0700 mlx4_core: Add new ConnectX EN PCI ID 0x6764 Signed-off-by: Yevgeny Petrilin <yevgenyp@xxxxxxxxxxxxxx> Signed-off-by: Roland Dreier <rolandd@xxxxxxxxx> commit cc4ac2e7fb90dfbbbd5a42df0879733f787e4690 Author: Yevgeny Petrilin <yevgenyp@xxxxxxxxxxxxxx> Date: Mon Jul 6 16:10:03 2009 -0700 mlx4_core: Handle multi-physical function devices MT26468 (PCI ID 0x6764) devices can expose multiple physical functions. The current driver only handles the primary physical function. For other functions, the QUERY_FW firmware command will fail with the CMD_STAT_MULTI_FUNC_REQ error code. Don't try to drive such devices, but print a message saying the driver is skipping those devices rather than just "QUERY_FW command failed." Signed-off-by: Yevgeny Petrilin <yevgenyp@xxxxxxxxxxxxxx> [ Rather than keeping unsupported devices bound to the driver, simply print a more informative error message and exit - Roland ] Signed-off-by: Roland Dreier <rolandd@xxxxxxxxx> commit 22fe84394f405c673b362d23dcc2d5d095ab5f6c Author: Mike Rapoport <mike@xxxxxxxxxxxxxx> Date: Mon Jul 6 08:56:51 2009 +0300 [ARM] pxa: fix ULPI_{DIR,NXT,STP} MFP defines Attepmpt to configure ULPI pins gives the following compile error: CC arch/arm/mach-pxa/cm-x300.o arch/arm/mach-pxa/cm-x300.c:155: error: 'MFP_MFP_AF0' undeclared here (not in a function) arch/arm/mach-pxa/cm-x300.c:155: error: 'MFP_MFP_DS01X' undeclared here (not in a function) make[2]: *** [arch/arm/mach-pxa/cm-x300.o] Error 1 make[1]: *** [arch/arm/mach-pxa] Error 2 make: *** [sub-make] Error 2 Fix it. Signed-off-by: Mike Rapoport <mike@xxxxxxxxxxxxxx> Signed-off-by: Eric Miao <eric.y.miao@xxxxxxxxx> commit 82e8b54229fb121946151b82e8ff3c3284bd723f Author: Marc Zyngier <maz@xxxxxxxxxxxxxxx> Date: Fri Jun 19 10:50:54 2009 +0200 backlight: fix pwm_bl.c to notify platform code when suspending When suspending, pwm-bl sets duty cycle to 0, and shuts down the pwm device. This patch ensure that the platform code is called before that (through the notify callback_, leaving a chance for the platform code to configure GPIOs (shutting off the backlight, for example), much like it is done during normal operations. Signed-off-by: Marc Zyngier <maz@xxxxxxxxxxxxxxx> Signed-off-by: Eric Miao <eric.y.miao@xxxxxxxxx> commit 4aa78264d14bb0e87897acb90941c368248e20ce Author: Daniel Mack <daniel@xxxxxxxx> Date: Fri Jun 19 22:56:09 2009 +0200 [ARM] pxa: use kzalloc() in pxa_init_gpio_chip() As slab is available early now, use kzalloc() rather than alloc_bootmem_low() in pxa_init_gpio_chip(). This removes the following boot time warning: <4>------------[ cut here ]------------ <4>WARNING: at mm/bootmem.c:535 alloc_arch_preferred_bootmem+0x2c/0x54() <d>Modules linked in: [<c0029430>] (unwind_backtrace+0x0/0xdc) from [<c0036f64>] (warn_slowpath_common+0x4c/0x80) [<c0036f64>] (warn_slowpath_common+0x4c/0x80) from [<c000ede0>] (alloc_arch_preferred_bootmem+0x2c/0x54) [<c000ede0>] (alloc_arch_preferred_bootmem+0x2c/0x54) from [<c000f2e4>] (___alloc_bootmem_nopanic+0x34/0xd0) [<c000f2e4>] (___alloc_bootmem_nopanic+0x34/0xd0) from [<c000f6e4>] (___alloc_bootmem+0xc/0x34) [<c000f6e4>] (___alloc_bootmem+0xc/0x34) from [<c000cb20>] (pxa_init_gpio+0x48/0x228) [<c000cb20>] (pxa_init_gpio+0x48/0x228) from [<c0009794>] (init_IRQ+0x34/0x44) [<c0009794>] (init_IRQ+0x34/0x44) from [<c00089d4>] (start_kernel+0x144/0x264) [<c00089d4>] (start_kernel+0x144/0x264) from [<a0008034>] (0xa0008034) <4>---[ end trace 1b75b31a2719ed1c ]--- Signed-off-by: Daniel Mack <daniel@xxxxxxxx> Signed-off-by: Eric Miao <eric.y.miao@xxxxxxxxx> commit 5c68b09900f04c3de55af43155435b9392f03844 Author: Daniel Mack <daniel@xxxxxxxx> Date: Mon Jun 22 21:01:58 2009 +0200 [ARM] pxa: correct I2CPWR clock for pxa3xx In commit f23d4911319fd, the pwr-i2c device name changed due to the newly introduced device table. This patch fixes the clock so the driver's probe will succeed again. Signed-off-by: Daniel Mack <daniel@xxxxxxxx> Acked-by: Russell King <linux@xxxxxxxxxxxxxxxx> Signed-off-by: Eric Miao <eric.y.miao@xxxxxxxxx> commit 7eeff4814224646c896303ba2c2b7ac3c4240cd2 Author: Matt Reimer <mreimer@xxxxxxxxxxxxxx> Date: Mon Jun 15 13:21:25 2009 -0700 pxamci: correct DMA flow control The DMA flow control in pxamci_setup_data() is backwards; fix it. Signed-off-by: Matt Reimer <mreimer@xxxxxxxxxxxxxx> Acked-by: Robert Jarzmik <robert.jarzmik@xxxxxxx> Signed-off-by: Eric Miao <eric.y.miao@xxxxxxxxx> commit daf4219dbcbb2efcd638fcd3c29a622e1c18cc38 Author: Dan Williams <dan.j.williams@xxxxxxxxx> Date: Wed Jul 1 16:12:53 2009 -0700 dmaengine: move HIGHMEM64G restriction to ASYNC_TX_DMA On HIGHMEM64G systems dma_addr_t is known to be larger than (void *) which precludes async_xor from performing dma address conversions by reusing the input parameter address list. However, other parts of the dmaengine infrastructure do not suffer this constraint, so the HIGHMEM64G restriction can be down-levelled. Signed-off-by: Dan Williams <dan.j.williams@xxxxxxxxx> commit 3f1f7cf08ddf10ef7fbf06d881582c95b9747f4e Author: Joe Perches <joe@xxxxxxxxxxx> Date: Wed Jul 1 11:32:10 2009 +0200 netfilter: add netfilter git to MAINTAINERS Signed-off-by: Joe Perches <joe@xxxxxxxxxxx> Signed-off-by: Patrick McHardy <kaber@xxxxxxxxx> commit bfdb46ce8494eae30dbaae65c81e684e6db6228b Author: Ryan Mallon <ryan@xxxxxxxxxxxxxxxx> Date: Thu Jun 18 11:26:26 2009 +1200 Add ds2782 battery gas gauge driver This patch adds a driver for ds2782 battery devices. Signed-off-by: Ryan Mallon <ryan@xxxxxxxxxxxxxxxx> Signed-off-by: Anton Vorontsov <cbouatmailru@xxxxxxxxx> commit 8f7e57985fa794ab6afdcd3642581d9e1fe6de31 Author: Andres Salomon <dilinger@xxxxxxxxxxxxxxx> Date: Tue Jun 30 02:16:17 2009 -0400 olpc_battery: Ensure that the TRICKLE bit is checked There are times when the battery is present but trickle charging, and the EC sets only the TRICKLE bit. So we must check for the bit when we're checking the charging/present status. Signed-off-by: Andres Salomon <dilinger@xxxxxxxxxxxxxxx> Signed-off-by: Anton Vorontsov <cbouatmailru@xxxxxxxxx> commit 04a820ead0838c76e9c1242feb5e71048bf3e9dc Author: Andres Salomon <dilinger@xxxxxxxxxxxxxxx> Date: Tue Jun 30 02:14:00 2009 -0400 olpc_battery: Fix up eeprom read function The eeprom read function was placing values into the wrong place in 'buf'; we were starting from buf[off], rather than buf[0]. Also, the for loop that we were using was much uglier than it needed to be. This cleans it up a bit. Signed-off-by: Andres Salomon <dilinger@xxxxxxxxxxxxxxx> Signed-off-by: Anton Vorontsov <cbouatmailru@xxxxxxxxx> commit 574ec547c7771881e18e4e76ca970e323bcdc774 Author: Guennadi Liakhovetski <lg@xxxxxxx> Date: Tue Jun 23 13:26:23 2009 +0200 ARM: add support for the EET board, based on the i.MX31 pcm037 module The "EET" variant of the pcm037 board has an OLED display, using a S6E63D6 display controller on the first SPI interface, using GPIO57 as a chip-select for it. S6E63D6 is initialised in the boot-loader, so we only have to take care of the LCD. EET also adds several buttons and LEDs on GPIOs. This patch adds a "pcm037_variant=" kernel command line parameter to specify at boot-time which board the kernel is running on, default is "pcm970", specify "eet" for the EET board. Signed-off-by: Guennadi Liakhovetski <lg@xxxxxxx> Signed-off-by: Sascha Hauer <s.hauer@xxxxxxxxxxxxxx> commit 32c1ad9ab2ae4171d8f3dd0c70a611f799ad6775 Author: Guennadi Liakhovetski <lg@xxxxxxx> Date: Thu Jun 18 12:40:48 2009 +0200 pcm037: add MT9T031 camera support Add support for the MT9T031 CMOS camera sensor from Aptina to the PCM037 board. Also add two I2C iomux pin definitions, needed for pcm037. Also remove now unneeded #ifdef CONFIG_I2C_IMX. Signed-off-by: Guennadi Liakhovetski <lg@xxxxxxx> Signed-off-by: Sascha Hauer <s.hauer@xxxxxxxxxxxxxx> commit 0c8bad6a26aefbcb7b3d8d1e5d97c53076ac99af Author: Alberto Panizzo <maramaopercheseimorto@xxxxxxxxx> Date: Wed Jun 17 15:06:30 2009 +0200 Armadillo 500 add NAND flash device support (resend). Since recent mxc_nand driver fixes from linux-mtd this patch add support for ST NAND02GW3B2CN6 (2k pages flash) placed on the armadillo 500 motherboard. Signed-off-by: Alberto Panizzo <maramaopercheseimorto@xxxxxxxxx> Signed-off-by: Sascha Hauer <s.hauer@xxxxxxxxxxxxxx> commit c3a9c7f53a0eb1ec687ecf131f9cfb41bbdc26b5 Author: Alberto Panizzo <maramaopercheseimorto@xxxxxxxxx> Date: Wed Jun 17 15:05:21 2009 +0200 ARM MXC: Armadillo 500 add NOR flash device support (resend). This patch add support for NOR flash mapping through the physmap driver. The purpose is to maintain the original Atmark partition model. Signed-off-by: Alberto Panizzo <maramaopercheseimorto@xxxxxxxxx> Signed-off-by: Sascha Hauer <s.hauer@xxxxxxxxxxxxxx> commit bc33dc5ae7ed7a422ab1141d3bf81c6cee2a5050 Author: Huang Weiyi <weiyi.huang@xxxxxxxxx> Date: Tue Jun 16 16:56:09 2009 +0800 mx31: remove duplicated #include Remove duplicated #include in arch/arm/mach-mx3/devices.c. Signed-off-by: Huang Weiyi <weiyi.huang@xxxxxxxxx> Signed-off-by: Sascha Hauer <s.hauer@xxxxxxxxxxxxxx> commit 4859484b0957ddc7fe3e0fa349d98b0f1c7876bd Author: Jiri Slaby <jirislaby@xxxxxxxxx> Date: Fri Jun 19 23:24:11 2009 +0200 HID: hiddev, fix lock imbalance Add omitted BKL to one switch/case. Cc: Stable <stable@xxxxxxxxxx> Signed-off-by: Jiri Slaby <jirislaby@xxxxxxxxx> Signed-off-by: Jiri Kosina <jkosina@xxxxxxx> commit d4ec36bac3de39b7e10ec8f42fbdd20d9a9ed753 Author: Wolfram Sang <w.sang@xxxxxxxxxxxxxx> Date: Sun Jun 21 12:32:39 2009 +0200 sched: Documentation/sched-rt-group: Fix style issues & bump version - add missing closing bracket - fix two 80-chars issues (as the rest of the document adheres to it) - bump a reference to kernel version, so the document does not feel aged Signed-off-by: Wolfram Sang <w.sang@xxxxxxxxxxxxxx> Cc: Peter Zijlstra <a.p.zijlstra@xxxxxxxxx> LKML-Reference: <1245580359-4465-1-git-send-email-w.sang@xxxxxxxxxxxxxx> Signed-off-by: Ingo Molnar <mingo@xxxxxxx> commit c78a87d0a1fc885dfdbe21fd5e07787691dfb068 Author: David Teigland <teigland@xxxxxxxxxx> Date: Thu Jun 18 13:20:24 2009 -0500 dlm: fix plock use-after-free Fix a regression from the original addition of nfs lock support 586759f03e2e9031ac5589912a51a909ed53c30a. When a synchronous (non-nfs) plock completes, the waiting thread will wake up and free the op struct. This races with the user thread in dev_write() which goes on to read the op's callback field to check if the lock is async and needs a callback. This check can happen on the freed op. The fix is to note the callback value before the op can be freed. Signed-off-by: David Teigland <teigland@xxxxxxxxxx> commit a566a6b11c86147fe9fc9db7ab15f9eecca3e862 Author: Steven Whitehouse <swhiteho@xxxxxxxxxx> Date: Mon Jun 15 08:26:48 2009 +0100 dlm: Fix uninitialised variable warning in lock.c CC [M] fs/dlm/lock.o fs/dlm/lock.c: In function â??find_rsbâ??: fs/dlm/lock.c:438: warning: â??râ?? may be used uninitialized in this function Since r is used on the error path to set r_ret, set it to NULL. Signed-off-by: Steven Whitehouse <swhiteho@xxxxxxxxxx> Signed-off-by: David Teigland <teigland@xxxxxxxxxx> commit 43a1a3ed6bf5a1b9ae197b4f5f20033baf19db61 Author: Ira Snyder <iws@xxxxxxxxxxxxxxxx> Date: Thu May 28 09:26:40 2009 +0000 fsldma: do not clear bandwidth control bits on the 83xx controller The 83xx controller does not support the external pause feature. The bit in the mode register that controls external pause on the 85xx controller happens to be part of the bandwidth control settings for the 83xx controller. This patch fixes the driver so that it only clears the external pause bit if the hardware is the 85xx controller. When driving the 83xx controller, the bit is left untouched. This follows the existing convention that mode registers settings are not touched unless necessary. Signed-off-by: Ira W. Snyder <iws@xxxxxxxxxxxxxxxx> Signed-off-by: Dan Williams <dan.j.williams@xxxxxxxxx> commit be30b226f2ae618cd719e40267d9923db1db9001 Author: Ira Snyder <iws@xxxxxxxxxxxxxxxx> Date: Thu May 28 09:20:42 2009 +0000 fsldma: enable external start for the 83xx controller The 83xx controller has external start capability, but lacks external pause capability. Hook up the external start function pointer for the 83xx controller. Signed-off-by: Ira W. Snyder <iws@xxxxxxxxxxxxxxxx> Signed-off-by: Dan Williams <dan.j.williams@xxxxxxxxx> commit a7aea373b4ca428f1be2c1fedd2f26c8e3f2864d Author: Ira W. Snyder <iws@xxxxxxxxxxxxxxxx> Date: Thu Apr 23 16:17:54 2009 -0700 fsldma: use PCI Read Multiple command By default, the Freescale 83xx DMA controller uses the PCI Read Line command when reading data over the PCI bus. Setting the controller to use the PCI Read Multiple command instead allows the controller to read much larger bursts of data, which provides a drastic speed increase. The slowdown due to using PCI Read Line was only observed when a PCI-to-PCI bridge was between the devices trying to communicate. A simple test driver showed an increase from 4MB/sec to 116MB/sec when performing DMA over the PCI bus. Using DMA to transfer between blocks of local SDRAM showed no change in performance with this patch. The dmatest driver was also used to verify the correctness of the transfers, and showed no errors. Signed-off-by: Ira W. Snyder <iws@xxxxxxxxxxxxxxxx> Acked-by: Timur Tabi <timur@xxxxxxxxxxxxx> Acked-by: Kumar Gala <galak@xxxxxxxxxxxxxxxxxxx> Signed-off-by: Dan Williams <dan.j.williams@xxxxxxxxx> ----------------------------------------------------------------------- hooks/post-receive -- linux-cr
_______________________________________________ Containers mailing list Containers@xxxxxxxxxxxxxxxxxxxxxxxxxx https://lists.linux-foundation.org/mailman/listinfo/containers